/**
 * Riselify – sjednocený design systém (2026)
 * Načítá se po public.css. Nemění HTML strukturu.
 */

:root {
    /* Typografie (rebrand 2026) */
    --rl-font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    --rl-font-head: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, sans-serif;

    /* Barvy – primární paleta (WCAG 3.0 APCA Lc 75+) */
    --rl-primary: #1D4ED8;
    --rl-primary-hover: #1E40AF;
    --rl-primary-soft: #F0F3FF;
    --rl-primary-gradient: linear-gradient(135deg, #1D4ED8 0%, #2563EB 100%);
    /* Tmavý gradient jen pro finální CTA banner – NEPOUŽÍVAT pro tlačítka */
    --rl-cta-gradient: linear-gradient(135deg, #0F172A 0%, #1D4ED8 100%);
    --rl-focus: #1D4ED8;

    /* Text */
    --rl-text: #0F172A;
    --rl-text-secondary: #334155;
    --rl-text-muted: #475569;   /* 2026-08-06: #64748b mel na svetlych plochach 4,3-4,4 : 1 (limit AA 4,5) */
    --rl-text-on-primary: #ffffff;

    /* Pozadí */
    --rl-bg: #f4f7fc;
    --rl-bg-elevated: #ffffff;
    --rl-surface: rgba(255, 255, 255, 0.88);

    /* Ohraničení a stíny */
    --rl-border: #E2E8F0;
    --rl-border-strong: #CBD5E1;
    --rl-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06);
    --rl-shadow-md: 0 4px 16px rgba(15, 23, 42, 0.08);
    --rl-shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.1);

    /* Zaoblení */
    --rl-radius-sm: 8px;
    --rl-radius-md: 12px;
    --rl-radius-lg: 16px;
    --rl-radius-xl: 20px;

    /* Akcenty */
    --rl-accent-teal: #2dd4bf;
    --rl-accent-teal-soft: #ccfbf1;
    --rl-green: #4ADE80;
    --rl-green-soft: #dcfce7;
    --rl-link: #1D4ED8;

    /* Admin sidebar – doplnění chybějících proměnných */
    --sidebar-bg: #1e293b;
    --text-color-light: #e2e8f0;
    --shadow: var(--rl-shadow-md);

    /* Mapování na existující proměnné */
    --muted: var(--rl-text-secondary);
    --accent: var(--rl-primary);
    --primary-color: var(--rl-primary);
    --active-item-bg: var(--rl-primary);
    --radius: var(--rl-radius-lg);
}

/* ─── Základ ─────────────────────────────────────────────── */

body {
    background: var(--rl-bg) !important;
    color: var(--rl-text) !important;
    font-family: var(--rl-font-body);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--rl-font-head);
}

/* Formulářové prvky (button/input/select/textarea) nedědí font-family automaticky
   – bez tohohle padají na UA font (Arial) a liší se od zbytku UI. Sjednotíme je
   s tělem (Inter). Prvky s vlastním fontem (ikony, monospace kódy) mají vyšší
   specificitu a zůstávají. */
button, input, select, textarea, optgroup {
    font-family: inherit;
}

a {
    color: var(--rl-link);
}

a:hover {
    color: var(--rl-primary-hover);
}

/* ─── Přístupný focus (APCA) — globálně ──────────────────── */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3.5px solid var(--rl-focus);
    outline-offset: 4px;
    box-shadow: 0 0 0 6px rgba(29, 78, 216, 0.2);
}

/* Stejné pravidlo bez :where() – vyšší specificita než pozdější `input:focus { outline:none }`
   níže v souboru i v home.css. Bez něj neměla pole a slidery kalkulačky ŽÁDNÝ viditelný
   fokus (WCAG 2.4.7). U polí menší offset, ať prstenec nepřeskakuje přes sousední prvek. */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
    outline: 3.5px solid var(--rl-focus);
    outline-offset: 4px;
    box-shadow: 0 0 0 6px rgba(29, 78, 216, 0.2);
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3.5px solid var(--rl-focus);
    outline-offset: 2px;
    box-shadow: 0 0 0 5px rgba(29, 78, 216, 0.2);
}

/* Přeskočení navigace na obsah – viditelné jen při fokusu z klávesnice. */
.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 100000;
    padding: 12px 20px;
    background: var(--rl-primary);
    color: #fff;
    font-weight: 700;
    border-radius: 0 0 12px 0;
    text-decoration: none;
}
.skip-link:focus {
    left: 0;
}

/* Ikony ze self-hostovaného SVG sprite (náhrada za Font Awesome <i>). */
.rl-ic {
    width: 1em;
    height: 1em;
    fill: currentColor;
    display: inline-block;
    vertical-align: -0.125em;
    flex-shrink: 0;
}

/* ─── Topbar ─────────────────────────────────────────────── */

.topbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--rl-border);
    box-shadow: var(--rl-shadow-sm);
}

.topbar-inner {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 6px 20px;
    max-width: 1280px;
    margin: 0 auto;
}

.topbar .brand {
    display: inline-flex;
    align-items: center;
    line-height: 0;
    flex-shrink: 0;
}

.topbar .brand img {
    width: auto;
    max-height: 38px;
    height: auto;
    display: block;
}

.nav a {
    color: var(--rl-text-secondary);
    font-weight: 500;
    font-size: 0.9375rem;
    padding: 8px 14px;
    border-radius: var(--rl-radius-sm);
    transition: color 0.2s ease, background 0.2s ease;
    /* REG-ODKAZ-01: s tlačítkem „Vytvořit účet" se hlavička těsně nad hranicí hamburgeru
       (1101–1180 px) lámala — „Jak funguje" i tlačítka na dva řádky. Bez zalomení se položky
       vejdou do jednoho řádku i na 1101 px (změřeno: navigace 938 px z 938 px). */
    white-space: nowrap;
}

.nav a:hover {
    color: var(--rl-primary);
    background: var(--rl-primary-soft);
}

.hamburger {
    color: var(--rl-text);
    border-radius: var(--rl-radius-sm);
    padding: 4px 8px;
    font-size: 1.15rem;
    line-height: 1;
    flex-shrink: 0;
    cursor: pointer;
    transition: background 0.2s ease;
}

.hamburger:hover {
    background: var(--rl-primary-soft);
}

/* Off-canvas backdrop je aktivní jen v mobilním/tabletovém režimu (≤1100px) */
.admin-menu-backdrop {
    display: none;
}

@media (max-width: 1100px) {
    .topbar-inner {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        flex-wrap: nowrap;
    }

    .topbar .nav:not(.open) {
        display: none;
    }

    .hamburger {
        display: flex !important;
        align-items: center;
        justify-content: center;
        float: none !important;
        margin-left: auto;
    }

    .topbar .nav.open {
        display: flex;
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        flex-direction: column;
        gap: 8px;
        padding: 12px 20px;
        background: var(--rl-bg-elevated);
        border-bottom: 1px solid var(--rl-border);
        box-shadow: var(--rl-shadow-md);
        z-index: 1001;
    }

    .topbar .nav.open a:not(.btn) {
        color: var(--rl-text) !important;
    }

    .topbar .nav.open a:not(.btn):hover {
        background: var(--rl-primary-soft);
        color: var(--rl-primary) !important;
    }

    /* Přihlásit se je obrysové tlačítko s průhledným pozadím (viz .topbar .nav a.btnAdminLogin
       níž) — bílý text na něm byl v rozbaleném menu neviditelný, zbyl jen prázdný rámeček
       (tester 2026-08-14). Barvu textu na pozadí primární barvy dostávají jen plná tlačítka. */
    .topbar .nav.open a.btn:not(.btnAdminLogin),
    .topbar .nav.open a.btnNavCta {
        color: var(--rl-text-on-primary) !important;
    }

    .topbar .nav.open a.btn:not(.btnAdminLogin):hover,
    .topbar .nav.open a.btnNavCta:hover {
        color: var(--rl-text-on-primary) !important;
    }

    .topbar .nav.open a.btnAdminLogin,
    .topbar .nav.open a.btnAdminLogin:hover {
        color: var(--rl-primary) !important;
    }

    .topbar .nav.open a.btnNavCta,
    .topbar .nav.open a.btnAdminLogin {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    /* ─── Admin sidebar → off-canvas drawer ───────────────────── */
    .pageBodyKontrolerAdminMenu {
        position: fixed;
        top: var(--rl-topbar-h, 52px);
        /* -330px stačilo na 224px široký drawer; na telefonu je nově přes celou
           šířku (tester 2026-08-15), takže by zavřené menu vykukovalo. Procento
           se počítá z viewportu, takže schová drawer jakékoli šířky. */
        left: -100%;
        bottom: 0;
        /* `bottom: 0` míří na layoutový viewport, jenže mobilní prohlížeč přes jeho spodek
           kreslí vlastní lištu. Spodní položky menu (superadministrace) tak zůstaly pod ní
           a nešly vyrolovat, i když se seznam „doscrolloval na konec" (tester 2026-08-14).
           `dvh` počítá s aktuálně viditelnou výškou, `bottom` zůstává jako záloha pro
           prohlížeče bez dvh. Odsazení dole nechá poslední položku odlepit se od hrany. */
        height: calc(100dvh - var(--rl-topbar-h, 52px));
        width: min(85vw, 320px);
        transition: left 0.25s ease;
        z-index: 1200;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
        box-shadow: 4px 0 24px rgba(2, 8, 23, 0.28);
    }

    .pageBodyKontrolerAdminMenu.open {
        left: 0;
    }

    /* větší tap-targety v draveru (cíl ~44px pro prst) */
    .pageBodyKontrolerAdminMenu .left_menu_admin_side-nav a,
    .pageBodyKontrolerAdminMenu .left_menu_admin_side-nav div {
        padding: 11px 14px;
    }

    .left_menu_admin_header.collapsible-header {
        padding-top: 13px;
        padding-bottom: 13px;
    }

    /* zavírací ✕ a místo pro něj v hlavičce draveru */
    .pageBodyKontrolerAdminMenu .left_menu_admin_close {
        display: flex;
    }

    .left_menu_admin_profile {
        padding-right: 52px !important;
    }

    /* obsah přes celou šířku, když je sidebar mimo tok stránky */
    .pageBodyKontroler {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* ztmavené pozadí za draverem (klik zavře) */
    .admin-menu-backdrop {
        display: block;
        position: fixed;
        top: var(--rl-topbar-h, 52px);
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(15, 23, 42, 0.45);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.25s ease, visibility 0.25s ease;
        z-index: 1150;
    }

    .admin-menu-backdrop.open {
        opacity: 1;
        visibility: visible;
    }

    /* zámek scrollu stránky, když je menu otevřené */
    body.admin-menu-open {
        overflow: hidden;
    }
}

/* Respektuj systémovou preferenci omezeného pohybu */
@media (prefers-reduced-motion: reduce) {
    .pageBodyKontrolerAdminMenu,
    .admin-menu-backdrop {
        transition: none !important;
    }
    .left_menu_admin_header.collapsible-header::after {
        transition: none !important;
    }
}

/* ─── Tlačítka (sjednocení) ─────────────────────────────── */

.btn,
.store-btn,
.pageBodyHeadBtnUpsell,
.pay-button-invoices,
.pay-button-invoices-small {
    background: var(--rl-primary-gradient) !important;
    color: var(--rl-text-on-primary) !important;
    border: none;
    border-radius: var(--rl-radius-md);
    font-weight: 600;
    box-shadow: 0 4px 14px rgba(29, 78, 216, 0.25);
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.btn:hover,
.store-btn:hover,
.pageBodyHeadBtnUpsell:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
    box-shadow: 0 6px 20px rgba(29, 78, 216, 0.32);
    opacity: 1 !important;
}

/**
 * Tlačítko ve varovném pruhu je `<a>` v toku věty, takže se na úzkém displeji
 * zalomilo UPROSTŘED nápisu — „Co to / znamená" — a druhá půlka pilulky vyjela
 * z pruhu ven (změřeno na 390 px: dva řádkové boxy, přesah přes pravou hranu).
 * `inline-block` + `nowrap` drží nápis pohromadě.
 *
 * Pod 600 px jde tlačítko na vlastní řádek: vedle věty na něj nezbývá místo,
 * takže by se sice nezalomilo, ale vytlačilo by text do úzkého sloupce. Zároveň
 * dostane výšku ~40 px — v pruhu měřilo 23 px, tedy pod tap-target pro prst.
 */
.pageBodyHeadBtnUpsell {
    display: inline-block;
    white-space: nowrap;
}

@media (max-width: 600px) {
    .pageBodyHeadBtnUpsell {
        display: block;
        width: fit-content;
        margin: 8px 0 2px;
        padding: 9px 14px;
    }
}

.btn.primary {
    background: var(--rl-primary-gradient) !important;
}

/* Hlavní CTA v hlavičce. Dřív #22C55E s bílým textem = kontrast 2,28 : 1 (APCA Lc 49)
   → pod limitem WCAG AA. Nově primární modrá: 6,70 : 1, APCA Lc 87,2. Zelená zůstává
   vyhrazená pro kladné hodnoty (úspory, potvrzení), ne pro akce. */
.btnNavCta {
    background: var(--rl-primary) !important;
    color: var(--rl-text-on-primary) !important;
    border-radius: 999px;
    padding: 10px 20px;
    white-space: nowrap;
    box-shadow: 0 4px 14px rgba(29, 78, 216, 0.28);
}

.btnNavCta:hover {
    background: var(--rl-primary-hover) !important;
    box-shadow: 0 6px 20px rgba(29, 78, 216, 0.35);
}

/* „Přihlásit se“ je vedlejší akce – jako duhá plná modrá by soupeřila s hlavním CTA.
   Ghost varianta: text #1D4ED8 na bílé = 6,70 : 1. */
.topbar .nav a.btnAdminLogin {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--rl-primary) !important;
    border: 1.5px solid var(--rl-border-strong);
    box-shadow: none;
}

.topbar .nav a.btnAdminLogin:hover {
    background: var(--rl-primary-soft) !important;
    background-color: var(--rl-primary-soft) !important;
    border-color: var(--rl-primary);
    color: var(--rl-primary) !important;
    transform: none !important;
    opacity: 1 !important;
}

/* ─── Varovné bannery ────────────────────────────────────── */

.pageBodyHeadWarningInfo {
    border-radius: var(--rl-radius-sm);
    border-left-width: 4px;
    font-weight: 500;
    margin: 6px 12px;
}

/* UIUX-13: pozicování řeší flex v public.css — tady zůstává jen barva a průhlednost,
   jinak by `float:right` + posun o -50 % vrátily překryv textu na úzkém displeji. */
.pageBodyHeadWarningInfo_close-btn {
    color: inherit;
    opacity: 0.6;
}

.pageBodyHeadWarningInfo--nopay {
    background: #fee2e2;
    color: #991b1b;
}

.pageBodyHeadWarningInfo--impersonation {
    background: #ede9fe;
    color: #5b21b6;
}

/* ─── Hero (homepage) ─────────────────────────────────────── */

.hero {
    padding: 48px 0 32px;
}

.hero-text h1 {
    color: var(--rl-text);
    font-weight: 700;
    line-height: 1.15;
}

.hero-text p {
    color: var(--rl-text-secondary);
    font-size: 1.125rem;
    line-height: 1.6;
}

.phone-frame {
    background: linear-gradient(180deg, #1e293b, #0f172a);
    box-shadow: var(--rl-shadow-lg);
    border-radius: 32px;
}

/* ─── Sekce a nadpisy ────────────────────────────────────── */

.section-title {
    color: var(--rl-text);
    font-weight: 700;
    letter-spacing: -0.02em;
}

.features-list-head-text {
    color: var(--rl-text);
    font-weight: 700;
}

.features-list-benefits-ul {
    color: var(--rl-text-secondary);
}

/* ─── Feature karty ───────────────────────────────────────── */

.feature-card {
    background: var(--rl-primary-gradient);
    border-radius: var(--rl-radius-lg);
    box-shadow: var(--rl-shadow-md);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.feature-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--rl-shadow-lg);
}

.feature-card h3 {
    font-weight: 600;
}

/* ─── Check-box karty (homepage) ─────────────────────────── */

.feature-check-boxs_section {
    font-family: var(--rl-font-body);
    background: var(--rl-bg);
}

.feature-check-boxs_title {
    color: var(--rl-text);
    font-weight: 700;
}

.feature-check-boxs_card {
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-lg);
    background: var(--rl-bg-elevated);
    box-shadow: var(--rl-shadow-sm);
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.feature-check-boxs_card:hover {
    box-shadow: var(--rl-shadow-md);
    border-color: rgba(29, 78, 216, 0.2);
}

.feature-check-boxs_icon {
    background: var(--rl-accent-teal);
    box-shadow: 0 4px 12px rgba(45, 212, 191, 0.35);
}

.feature-check-boxs_text {
    color: var(--rl-text-secondary);
}

.feature-check-boxs_text strong {
    color: var(--rl-text);
}

/* ─── Screens / screenshoty ───────────────────────────────── */

.screens-grid img {
    box-shadow: var(--rl-shadow-lg);
    border: 1px solid var(--rl-border);
}

/* ─── Ceník – barvy karet ─────────────────────────────────────
   Původní paleta (#5665fe / #00a500 / #2e3748) nepatřila do značky a bílý text na ní
   nesplňoval kontrast: #00a500 = 3,29 : 1, #5665fe = 4,48 : 1 (limit AA je 4,5 : 1).
   Nově tmavá navy / primární modrá / tmavá zelená = 17,9 / 6,7 / 7,1 : 1. */

.price-card {
    background-color: var(--rl-primary);
}

/* 2026-08-07: barevné výplně tarifních karet (černá FREE, zelená ADVANCED)
   patřily ke starému ceníku. Nový ceník je v public-pages.css pod
   .rl-page--pricelist. Zbytek pravidel byl mrtvý kód, jen #price-card-3
   ještě přebíjel nový vzhled — ID (specificita 100) plus !important
   přerazilo třídu, takže karta ADVANCED zůstávala tmavě zelená
   s tmavým textem. Odstraněno. */

.price-card-pricing-toggle-container {
    font-family: var(--rl-font-body);
}

.price-card-pricing-toggle-container span.price-card-active {
    color: var(--rl-primary);
}

input:checked + .price-card-slider {
    background-color: var(--rl-primary);
}

/* Tlačítka na kartách ceníku. Původní #3498db mělo s bílým textem kontrast 3,15 : 1
   (pod limitem WCAG AA); primární modrá má 6,70 : 1 a sjednocuje ceník se zbytkem webu. */
.price-card .btn.price-card-ordernew-button-btn,
.price-card .price-card-orderinfo-button {
    /* Bílé tlačítko na barevné kartě: čitelné na všech třech (navy / modrá / zelená)
       a modrý text na bílé má 6,70 : 1. Modré tlačítko by na modré kartě splynulo. */
    background: #fff !important;
    background-image: none !important;
    color: var(--rl-primary) !important;
    border-radius: 12px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.35);
}

.price-card .btn.price-card-ordernew-button-btn:hover,
.price-card .price-card-orderinfo-button:hover {
    background: #F1F5F9 !important;
    color: var(--rl-primary-hover) !important;
    opacity: 1;
    transform: translateY(-1px);
    filter: none;
}

/* ─── Admin obsah (#pageBody) ─────────────────────────────── */

#pageBody {
    background: var(--rl-surface);
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-xl);
    box-shadow: var(--rl-shadow-md);
    backdrop-filter: blur(12px);
}

.pageBodyKontroler {
    color: var(--rl-text);
}

.pageHeadText {
    color: var(--rl-text-secondary);
}

/* 404 / chybová stránka */
#errorBody {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 320px);
    padding: 48px 24px;
    box-sizing: border-box;
    text-align: center;
}

.pageBodyKontroler--admin #errorBody .pageHeadText,
.pageBodyKontroler #errorBody .pageHeadText,
#errorBody .pageHeadText {
    text-align: center !important;
    margin: 0 0 12px !important;
    width: 100%;
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: var(--rl-text) !important;
    letter-spacing: -0.02em;
}

#errorBody .pageErrorText {
    text-align: center;
    width: 100%;
    margin: 0;
    font-size: 1.125rem;
    color: var(--rl-text-secondary);
}

/* ─── Admin sidebar ───────────────────────────────────────── */

.pageBodyKontrolerAdminMenu {
    background-color: var(--sidebar-bg);
}

.left_menu_admin_sidebar {
    background-color: var(--sidebar-bg);
    font-size: 0.875rem;
    line-height: 1.4;
    font-family: var(--rl-font-body);
}

.left_menu_admin_profile {
    padding: 14px 16px 12px !important;
    margin-bottom: 6px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.left_menu_admin_profile-name {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #f1f5f9;
    line-height: 1.35;
}

.left_menu_admin_profile-firm {
    font-size: 0.8125rem;
    font-weight: 400;
    color: rgba(226, 232, 240, 0.72);
    margin-top: 2px;
}

.left_menu_admin_side-nav {
    padding: 4px 10px 0;
}

.left_menu_admin_side-nav a,
.left_menu_admin_side-nav div {
    background-color: rgba(255, 255, 255, 0.06);
    box-shadow: none !important;
    border-radius: var(--rl-radius-sm);
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.35;
    margin: 2px 0;
    padding: 8px 12px;
    transition: background 0.2s ease, color 0.2s ease;
}

.left_menu_admin_side-nav a:hover,
.left_menu_admin_side-nav a.active,
.left_menu_admin_side-nav div:hover {
    background-color: var(--rl-primary);
    color: #fff !important;
    box-shadow: none !important;
}

.left_menu_admin_side-nav a.active {
    position: relative;
    padding-left: 16px;
    font-weight: 600;
}

.left_menu_admin_side-nav a.active::before {
    content: '';
    position: absolute;
    left: 7px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 50%;
    min-height: 12px;
    max-height: 20px;
    background: var(--rl-accent-teal);
    border-radius: 999px;
}

.left_menu_admin_item {
    font-size: inherit;
    padding-left: 2px;
}

.left_menu_admin_sub a {
    padding-left: 14px !important;
}

.left_menu_admin_sub .left_menu_admin_item {
    font-size: 0.8125rem;
    opacity: 0.92;
}

#logout-button-menu {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border-radius: var(--rl-radius-sm);
    box-shadow: none !important;
    font-size: 0.8125rem;
    font-weight: 500;
    margin-top: 0;
}

#logout-button-menu:hover {
    background-color: rgba(239, 68, 68, 0.85) !important;
    color: #fff !important;
}

.left_menu_admin_header {
    color: rgba(226, 232, 240, 0.65);
    font-size: 0.75rem !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    opacity: 1;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-top-color: rgba(255, 255, 255, 0.1);
    margin-top: 12px;
    padding: 10px 12px 5px 14px;
    line-height: 1.35;
}

.left_menu_admin_header i {
    font-size: 0.75rem;
    width: 14px;
    margin-right: 8px;
    opacity: 0.9;
    vertical-align: middle;
}

/* Rozbalovací šipka u sekčních hlaviček (indikuje skládací sekci) */
.left_menu_admin_header.collapsible-header {
    position: relative;
    padding-right: 30px;
}

.left_menu_admin_header.collapsible-header::after {
    content: "";
    position: absolute;
    right: 14px;
    top: 50%;
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    transition: transform 0.2s ease;
    opacity: 0.6;
}

.left_menu_admin_header.collapsible-header.is-open::after {
    transform: translateY(-50%) rotate(-135deg);
}

/* Zavírací tlačítko draveru (viditelné jen v mobilním/tabletovém režimu) */
.left_menu_admin_close {
    display: none;
    position: absolute;
    top: 8px;
    right: 10px;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.08);
    border: none;
    border-radius: var(--rl-radius-sm, 6px);
    color: #e2e8f0;
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
    z-index: 3;
    transition: background 0.2s ease;
}

.left_menu_admin_close:hover {
    background: rgba(255, 255, 255, 0.18);
}

/* AIUI-08 review: scoped `.menu-badge` tu dřív nastavovalo jen typografii.
   Oba dosavadní konzumenti (hitladmin.phtml, riselifyinternalplaybooksadmin.phtml)
   jsou v tělech stránek a spoléhali na tvar pilulky z pohledy/css/erfm-crm.css:177 —
   ten ale layout (rozlozeni.phtml) vůbec nenačítá, takže odznak v postranním menu
   zůstal holé číslo. Tohle scoped pravidlo proto MUSÍ nést tvar i barvu samo,
   ne se spoléhat na erfm-crm.css — jinak to za rok někdo "zjednoduší" zpátky na
   duplicitu a odznak v menu zase zmizí.
   Barva NENÍ převzatá z erfm-crm.css beze změny: jeho oranžová (#f97316) dává
   bílému textu kontrast jen ~2,8:1 (pod WCAG AA 4,5:1 pro malý text) a do palety
   tmavého postranního menu (--rl-primary modrá, --rl-accent-teal tyrkysová)
   nepatří — bila by se s ní. Použita stejná červená jako `.rl-bell__badge`
   v insights.css (kontrast s bílým textem ~4,8:1, nad AA) — stejné číslo
   (neprečtených upozornění) tak svítí stejnou barvou na obou místech, kde se
   ukazuje. */
.left_menu_admin_side-nav .menu-badge {
    font-size: 0.6875rem;
    font-weight: 600;
    padding: 1px 6px;
    margin-left: 6px;
    vertical-align: middle;
    display: inline-block;
    min-width: 1.25rem;
    border-radius: 999px;
    background: #dc2626;
    color: #fff;
    text-align: center;
}

/* ─── Footer ──────────────────────────────────────────────── */

.site-footer {
    color: var(--rl-text) !important;
    margin-top: 0;
    border-top: 1px solid var(--rl-border);
}

.footer-main {
    background: #f1f5f9;
    padding: 40px 0 24px;
    border-top: none !important;
}

.footer-heading {
    color: var(--rl-text) !important;
}

.footer-links a {
    color: var(--rl-text-secondary) !important;
}

.footer-links a:hover {
    color: var(--rl-primary) !important;
}

.footer-care-text {
    color: var(--rl-text-secondary) !important;
}

/*
.footer-contact-panel {
    background: #fff;
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
    box-shadow: var(--rl-shadow-sm);
}
*/

.footer-cta-btn {
    background: var(--rl-primary-gradient);
    border-radius: var(--rl-radius-md);
    box-shadow: 0 4px 14px rgba(29, 78, 216, 0.2);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.footer-cta-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(29, 78, 216, 0.28);
}

.footer-bottom-logo {
    background: #f1f5f9;
    border-top: none;
    padding: 8px 0 4px;
}

.footer-bottom {
    background: #f1f5f9;
    color: var(--rl-text-muted);
    border-top: none;
    font-size: 0.8125rem;
}

.footer-bottom .footer-inner {
    padding: 4px 0 24px;
}

/* ─── Dialogy ─────────────────────────────────────────────── */

.dialog-box {
    border-radius: var(--rl-radius-lg);
    box-shadow: var(--rl-shadow-lg);
    font-family: var(--rl-font-body);
}

.dialog-box .buttons .btn-logout {
    background: #ef4444;
    color: #fff;
    border-radius: var(--rl-radius-sm);
}

.dialog-box .buttons .btn-cancel {
    background: #f1f5f9;
    color: var(--rl-text);
    border-radius: var(--rl-radius-sm);
}

/* ─── Formuláře ───────────────────────────────────────────── */

input,
textarea,
select {
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-sm);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* :not(:focus-visible) = outline mizí jen při fokusu myší. Kdyby tu bylo holé
   `input:focus`, mělo by stejnou specificitu jako `input:focus-visible` výše, ale bylo
   by později v souboru → přebilo by ho a klávesnicový uživatel by neviděl vůbec nic. */
input:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
select:focus:not(:focus-visible) {
    outline: none;
    border-color: var(--rl-primary);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15);
}

/* ─── Stránka O nás ───────────────────────────────────────── */

:root {
    --riselify-blue: var(--rl-primary);
    --text-dark: var(--rl-text);
}

.aboutpage_section.aboutpage_mission {
    background-color: var(--rl-bg);
}

.aboutpage_team {
    background-color: var(--rl-primary-soft);
}

.aboutpage_value-item {
    background: var(--rl-primary-gradient);
    border-radius: var(--rl-radius-lg);
    box-shadow: var(--rl-shadow-md);
}

.aboutpage_value-item p {
    color: rgba(255, 255, 255, 0.92) !important;
}

.aboutpage_value-item strong {
    color: #fff !important;
}

.aboutpage_member-quote {
    border: 1px solid var(--rl-border);
    box-shadow: var(--rl-shadow-sm);
    color: var(--rl-text-secondary);
    border-radius: var(--rl-radius-md);
}

.aboutpage_team-member img {
    border-color: var(--rl-primary);
    box-shadow: var(--rl-shadow-md);
}

.aboutpage_info-icon {
    color: var(--rl-primary);
    border-color: var(--rl-primary);
}

.aboutpage_info-icon-full {
    background-color: var(--rl-primary);
    color: #fff;
}

.aboutpage_story-infographic::before {
    background: var(--rl-border-strong);
}

.aboutpage_visual-placeholder {
    background: linear-gradient(135deg, var(--rl-primary-soft) 0%, #e2e8f0 100%);
    color: var(--rl-text-muted);
    border-radius: var(--rl-radius-lg);
    border: 1px dashed var(--rl-border-strong);
}

/* ─── Kontaktní stránka ───────────────────────────────────── */

.contactpage_form-wrapper {
    background: var(--rl-bg-elevated);
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-lg);
    box-shadow: var(--rl-shadow-sm);
    padding: 24px;
}

.contactpage_submit-button {
    background: var(--rl-primary-gradient) !important;
    color: #fff !important;
    border: none;
    border-radius: var(--rl-radius-md);
    font-weight: 600;
    padding: 12px 24px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(29, 78, 216, 0.25);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.contactpage_submit-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(29, 78, 216, 0.32);
}

.contactpage_info-item {
    background: var(--rl-primary-soft);
    border: 1px solid rgba(29, 78, 216, 0.15);
    border-radius: var(--rl-radius-md);
    padding: 20px;
}

.contactpage_result_ok {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #065f46;
    border-radius: var(--rl-radius-md);
    padding: 12px 16px;
}

/* ─── Blog / Academy karty ────────────────────────────────── */

.pageBlogPageListItem,
.pageAcademyPageListItem {
    background: var(--rl-bg-elevated) !important;
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-lg);
    box-shadow: var(--rl-shadow-sm);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.pageBlogPageListItem:hover,
.pageAcademyPageListItem:hover {
    box-shadow: var(--rl-shadow-md);
    transform: translateY(-2px);
}

.pageBlogPageListItemPostReadMore,
.pageAcademyPageListItemPostReadMore {
    color: var(--rl-primary) !important;
    font-weight: 600;
}

/**
 * UIUX: nadpisy položek v seznamu akademie byly 24 px, zatímco nadpis stránky (h1)
 * má 20,5 px — vizuální hierarchie tedy říkala opak té skutečné. Položka jde pod h1.
 */
.pageAcademyPageListItemPostTitle {
    font-size: 1.125rem;
    line-height: 1.3;
    margin: 0 0 6px;
}

/* ─── Textové stránky (FAQ, Terms, Privacy) ───────────────── */

.pageBodyText {
    color: var(--rl-text-secondary);
    line-height: 1.7;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 16px 32px;
}

.pageBodyText h2 {
    color: var(--rl-text);
    font-weight: 700;
    margin-top: 32px;
}

.pageBodyText li {
    margin-bottom: 16px;
}

/* ─── Admin login ─────────────────────────────────────────── */

.pageBody--login {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    padding: 24px 16px 48px !important;
    margin-top: 12px !important;
}

.prefix_admin_login-hero {
    max-width: 420px;
    margin: 0 auto;
    padding: 0;
}

.prefix_admin_login-card {
    background: var(--rl-bg-elevated);
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-xl);
    box-shadow: var(--rl-shadow-md);
    padding: 28px 28px 24px;
}

.prefix_admin_login-card-head {
    display: block;
    padding-bottom: 20px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--rl-border);
}

/* Je to <h1> (přihlašovací stránka žádný nadpis neměla), proto explicitní margin-top. */
.prefix_admin_login-card-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--rl-text);
    margin-top: 0;
    margin-bottom: 4px;
}

.prefix_admin_login-subtitle {
    margin: 0;
    font-size: 0.875rem;
    color: var(--rl-text-muted);
    font-weight: 400;
}

.prefix_admin_login-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 16px 0 4px;
    padding: 12px 14px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: var(--rl-radius-sm);
    color: #991b1b;
    font-size: 0.875rem;
    font-weight: 500;
}

.prefix_admin_login-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-top: 20px;
}

.prefix_admin_login-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.prefix_admin_login-field-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.prefix_admin_login-label {
    font-size: 0.875rem;
    color: var(--rl-text);
    font-weight: 600;
}

.prefix_admin_login-link {
    font-size: 0.8125rem;
    color: var(--rl-primary);
    text-decoration: none;
    font-weight: 500;
    white-space: nowrap;
}

.prefix_admin_login-link:hover {
    text-decoration: underline;
}

.prefix_admin_login-input {
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-md);
}

.prefix_admin_login-input:focus {
    border-color: var(--rl-primary);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15);
}

.prefix_admin_login-btn-primary {
    width: 100%;
    background: var(--rl-primary) !important;
    background-image: none !important;
    color: #fff !important;
    font-size: 1rem;
    font-weight: 600;
    padding: 14px 20px;
    border-radius: var(--rl-radius-md);
    box-shadow: 0 4px 14px rgba(29, 78, 216, 0.25);
    text-transform: none;
    letter-spacing: normal;
}

.prefix_admin_login-btn-primary:hover {
    background: var(--rl-primary-hover) !important;
    filter: none;
    transform: translateY(-1px);
}

.prefix_admin_login-actions {
    margin-top: 4px;
}

.prefix_admin_login-footer {
    margin-top: 8px;
    padding-top: 20px;
    border-top: 1px solid var(--rl-border);
    text-align: center;
}

.prefix_admin_login-footer-text {
    margin: 0 0 12px;
    font-size: 0.875rem;
    color: var(--rl-text-secondary);
    line-height: 1.5;
}

.prefix_admin_login-secure {
    margin: 0;
    font-size: 0.75rem;
    color: var(--rl-text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.prefix_admin_login-secure i {
    font-size: 0.7rem;
    opacity: 0.8;
}

/* Skrytí starého chybového stylu – nahrazeno .prefix_admin_login-alert */
.prefix_admin_login-card-head-login-fail {
    display: none;
}

/* ═══════════════════════════════════════════════════════════
   FÁZE 3 – Veřejné stránky
   ═══════════════════════════════════════════════════════════ */

/* Blog / Academy detail */
.pageBlogPagePostContainer,
.pageAcademyPagePostContainer {
    background: var(--rl-bg-elevated);
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-lg);
    box-shadow: var(--rl-shadow-md);
}

.pageBlogPagePostHeader h1,
.pageAcademyPagePostHeader h1,
.pageBlogAdminPagePostHeader h1 {
    color: var(--rl-text);
    font-weight: 700;
}

.pageBlogPageMeta,
.pageAcademyPageMeta,
.pageBlogPageCreated,
.pageAcademyPageCreated {
    color: var(--rl-text-muted);
}

/* Ordernew – registrace */
.ordernew_header h1 {
    color: var(--rl-text);
    font-weight: 700;
}

.ordernew_subtitle {
    color: var(--rl-text-secondary);
}

.ordernew_plan-badge {
    background: var(--rl-primary-gradient);
    border-radius: var(--rl-radius-sm);
}

.ordernew_riselify-icon {
    background: var(--rl-primary-gradient);
}

.ordernew_btn-primary {
    background: var(--rl-primary-gradient) !important;
    background-image: var(--rl-primary-gradient) !important;
    border-radius: var(--rl-radius-md);
    box-shadow: 0 4px 14px rgba(29, 78, 216, 0.25);
}

.ordernew_btn-primary:hover {
    transform: translateY(-1px);
    opacity: 1;
    filter: brightness(1.05);
}

.ordernew_btn-google {
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-sm);
    transition: background 0.2s ease, border-color 0.2s ease;
}

.ordernew_btn-google:hover {
    background: var(--rl-primary-soft);
    border-color: rgba(29, 78, 216, 0.2);
}

.ordernew_input-field:focus {
    border-color: var(--rl-primary);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15);
}

.ordernew_password-requirements {
    background: var(--rl-bg);
    border-color: var(--rl-border);
    border-radius: var(--rl-radius-sm);
}

/* ═══════════════════════════════════════════════════════════
   FÁZE 4 – Admin dashboard, tabulky, formuláře
   ═══════════════════════════════════════════════════════════ */

/* Dashboard – layout a nadpisy */
.pageBody--dashboard {
    padding: 8px 20px 32px;
}

.dashboard-header {
    margin-bottom: 8px;
}

.pageDashboardTitle {
    text-align: left !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin: 0 0 4px !important;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 12px;
    color: var(--rl-text);
    line-height: 1.3;
}

/* NAZVY-01: pozdrav se z <h1> přesunul pod nadpis — nadpis nese název obrazovky. */
.dashboard-subtitle {
    margin: 0 0 4px;
    color: var(--rl-text-muted, #6b7280);
    font-size: 0.95rem;
}

.dashboard-access-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    vertical-align: middle;
}

.dashboard-access-badge--active {
    background: #dcfce7;
    color: #166534;
}

.dashboard-access-badge--trial {
    background: #fef9c3;
    color: #854d0e;
}

.dashboard-access-badge--nopay {
    background: #fee2e2;
    color: #991b1b;
}

.dashboard-access-badge--blocked {
    background: #e2e8f0;
    color: #475569;
}

/* JAN-V28b: ukončená smlouva (odstoupení schválené v HITL H-11) — FirmAccessStatusHelper::accessBadge(). */
.dashboard-access-badge--terminated {
    background: #fee2e2;
    color: #991b1b;
}

.dashboard-hub {
    margin: 0 0 28px;
}

.dashboard-hub__title {
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rl-text-muted);
    margin: 0 0 14px;
}

/**
 * UIUX-20: Rychlé akce i Top persony mají po pěti dlaždicích, ale minimum 220 px se do
 * obsahové šířky (~800 px) vešlo jen čtyřikrát — pátá karta zůstávala sama na druhém
 * řádku. Se 160 px se všech pět vejde do jednoho řádku a na užších oknech se zalomí
 * plynule. `auto-fit` navíc sbalí prázdné stopy, když je karet málo.
 */
.dashboard-hub__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 14px;
}

/* Dashboard hub karty */
.dashboard-hub__card {
    display: block;
    padding: 18px;
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
    background: var(--rl-bg-elevated);
    text-decoration: none;
    color: inherit;
    box-shadow: var(--rl-shadow-sm);
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.dashboard-hub__card:hover {
    box-shadow: var(--rl-shadow-md);
    transform: translateY(-2px);
    border-color: rgba(29, 78, 216, 0.2);
}

.dashboard-hub__card--primary {
    border-color: rgba(29, 78, 216, 0.35);
    background: linear-gradient(135deg, var(--rl-primary-soft), var(--rl-bg-elevated));
}

.dashboard-hub__card-title {
    display: block;
    color: var(--rl-text);
    font-weight: 600;
    font-size: 0.9375rem;
    margin-bottom: 6px;
}

.dashboard-hub__card-desc {
    display: block;
    color: var(--rl-text-muted);
    font-size: 0.8125rem;
    line-height: 1.45;
}

.dashboard-hub__card.is-locked {
    opacity: 0.65;
    position: relative;
}

.dashboard-hub__card.is-locked::after {
    content: '\f023';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    top: 12px;
    right: 12px;
    font-size: 0.8rem;
    color: var(--rl-text-muted);
}

.dashboard-onboarding {
    margin: 0 0 28px;
    padding: 20px;
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
    background: var(--rl-bg-elevated);
    box-shadow: var(--rl-shadow-sm);
}

.dashboard-onboarding .ofc-checklist {
    border: none;
    padding: 0;
    margin: 0;
    background: transparent;
    box-shadow: none;
}

.dashboard-onboarding .ofc-checklist__label {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--rl-text);
    text-transform: none;
    letter-spacing: normal;
}

.dashboard-onboarding .ofc-checklist__pct {
    font-size: 1rem;
    font-weight: 700;
}

.dashboard-onboarding .ofc-checklist__bar {
    height: 10px;
    margin: 10px 0 14px;
}

.dashboard-onboarding .ofc-checklist__bar-fill.ofc--warn {
    background: var(--rl-primary-gradient);
}

.dashboard-onboarding .ofc-checklist__pct.ofc--warn {
    color: var(--rl-primary);
}

.dashboard-onboarding .ofc-checklist__milestones {
    margin-top: 4px;
    font-size: 0.875rem;
    line-height: 1.6;
}

.dashboard-onboarding .ofc-checklist__milestones li {
    padding: 6px 0;
    border-bottom: 1px solid var(--rl-border);
}

.dashboard-onboarding .ofc-checklist__milestones li:last-child {
    border-bottom: none;
}

.dashboard-onboarding .ofc-checklist__milestones a {
    color: var(--rl-primary);
    font-weight: 500;
}

.dashboard-onboarding .ofc-checklist__nopay-banner {
    margin-bottom: 14px;
    border-radius: var(--rl-radius-sm);
}

.pageDashboardPageBodyStatsBody--chart {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Stat karty na dashboardu */
.pageDashboardPageBodyStats {
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
    box-shadow: var(--rl-shadow-sm) !important;
    overflow: hidden;
}

.pageDashboardPageBodyStatsHeadTitle {
    background: #f1f5f9 !important;
    color: var(--rl-text) !important;
    border-radius: 0;
    box-shadow: none !important;
    letter-spacing: 0.02em;
    font-weight: 600;
    font-size: 0.875rem;
    border-bottom: 1px solid var(--rl-border);
}

.pageDashboardPageBodyDownloadStats-card {
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
    box-shadow: var(--rl-shadow-sm);
}

/* Admin tabulky – sjednocené hlavičky (světlý styl) */
.settingsusers-table th,
.orderslistadmin-table th,
.firmsList-table th,
.table-faktury thead th,
.videolistadmin_videoListTable th,
.GDPR_table th,
#cohortRetentionTable thead th,
#notificationStatsTable thead th {
    background: #f1f5f9 !important;
    color: var(--rl-text-secondary) !important;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 0.6875rem;
    border-bottom: 1px solid var(--rl-border-strong) !important;
}

.settingsusers-table,
.orderslistadmin-table,
.firmsList-table,
.table-faktury,
.videolistadmin_videoListTable,
#cohortRetentionTable,
#notificationStatsTable {
    width: 100%;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    border-radius: var(--rl-radius-md);
    overflow: hidden;
    box-shadow: var(--rl-shadow-sm);
    border: 1px solid var(--rl-border);
    background: var(--rl-bg-elevated);
}

.settingsusers-table th,
.settingsusers-table td,
.orderslistadmin-table th,
.orderslistadmin-table td,
.firmsList-table th,
.firmsList-table td,
.table-faktury th,
.table-faktury td,
.videolistadmin_videoListTable th,
.videolistadmin_videoListTable td,
#cohortRetentionTable th,
#cohortRetentionTable td,
#notificationStatsTable th,
#notificationStatsTable td {
    padding: 12px 14px;
    font-size: 0.8125rem;
    border-bottom: 1px solid var(--rl-border);
    vertical-align: middle;
}

.settingsusers-table tbody tr:nth-child(even) td,
.orderslistadmin-table tbody tr:nth-child(even) td,
.firmsList-table tbody tr:nth-child(even) td,
.table-faktury tbody tr:nth-child(even) td,
.videolistadmin_videoListTable tbody tr:nth-child(even) td,
#notificationStatsTable tbody tr:nth-child(even) td {
    background: #fafbfc;
}

.settingsusers-table tr:hover td,
.orderslistadmin-table tr:hover td,
.firmsList-table tr:hover td,
.videolistadmin_videoListTable tr:hover td,
#notificationStatsTable tbody tr:hover td {
    background-color: var(--rl-primary-soft) !important;
}

.settingsusers-table tbody tr:last-child td,
.orderslistadmin-table tbody tr:last-child td,
.firmsList-table tbody tr:last-child td,
.table-faktury tbody tr:last-child td,
.videolistadmin_videoListTable tbody tr:last-child td,
#notificationStatsTable tbody tr:last-child td {
    border-bottom: none;
}

.settingsusers-button,
.settingsusers-invite-button {
    border-radius: var(--rl-radius-sm);
    font-weight: 600;
    transition: transform 0.15s ease, filter 0.15s ease;
}

.settingsusers-invite-button {
    background: var(--rl-primary-gradient) !important;
    color: #fff !important;
    border: none;
}

/* Notifikace admin – stránka plánování */
.pageBody--notifikace-admin {
    padding: 6px 16px 28px;
}

.pageBody--notifikace-admin .pageHeadText {
    text-align: left !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--rl-text) !important;
    margin: 0 0 14px !important;
    letter-spacing: -0.02em;
}

.pageBodyHeadWarningInfo--onboarding-tip {
    background: #eff6ff !important;
    color: #1e3a8a !important;
    border: 1px solid #bfdbfe !important;
    border-left: none !important;
    border-radius: var(--rl-radius-md) !important;
    margin: 0 0 14px !important;
    padding: 10px 14px 10px 16px !important;
    position: relative;
    overflow: hidden;
    box-shadow: var(--rl-shadow-sm);
}

.pageBodyHeadWarningInfo--onboarding-tip::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 4px;
    background: var(--rl-primary-gradient);
    border-radius: 0 4px 4px 0;
}

.pageBody--notifikace-admin .notifikace_status {
    height: auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 8px;
    margin-bottom: 14px;
}

.pageBody--notifikace-admin .notifikace_status > .clear {
    display: none;
}

.pageBody--notifikace-admin .notifikace_status_body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 14px;
    background: var(--rl-bg-elevated);
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-sm);
    box-shadow: var(--rl-shadow-sm);
}

.pageBody--notifikace-admin .notifikace_status_head {
    float: none;
    margin: 0;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--rl-text-muted);
}

.pageBody--notifikace-admin .notifikace_status_text_on,
.pageBody--notifikace-admin .notifikace_status_text_off {
    float: none;
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 999px;
    white-space: nowrap;
}

.pageBody--notifikace-admin .notifikace_status_text_on {
    color: #166534;
    background: #dcfce7;
}

.pageBody--notifikace-admin .notifikace_status_text_off {
    color: #991b1b;
    background: #fee2e2;
}

.pageBody--notifikace-admin .notifikace_pageNotificationBody {
    margin: 0;
    width: 100% !important;
    max-width: none;
    padding: 0 !important;
    background: transparent;
    backdrop-filter: none;
}

/* ═══════════════════════════════════════════════════════════════════════
   Plánování notifikací — karta kampaně (redesign 2026-08-17)

   Karta se čte zleva doprava: vlevo „co napíšu", vpravo „jak to přistane
   na telefonu". Předchozí verze skládala všechna pole pod sebe do mřížky
   popisek-vlevo / pole-vpravo s pevným sloupcem 92 px. Co to způsobovalo:
     • pravý okraj polí byl u každého řádku jinde (URL vs. název vs. text),
     • počítadla znaků (rl-counter vkládá js/admin-ux.js jako sourozence
       pole) skončila jednou vedle názvu a jednou osamocená dole vpravo,
     • smajlík se odsadil na pravý okraj obalu, tedy ~300 px od názvu,
     • náhled na telefonu ležel dole v širokém šedém pruhu, ze tří čtvrtin
       prázdném,
     • tři tlačítka měla tři různé váhy bez pořadí — destruktivní „Smazat"
       bylo na kartě opticky nejsilnější prvek.

   Rozmístění drží grid-template-areas. Pojmenované oblasti jsou tu nutnost:
   hlášky nahoře (allow_error, info-ok) jsou většinou display:none a s
   implicitními řádky by se číslování posunulo. Kvůli tomu je row-gap: 0 a
   odsazení se dělá margin-bottomem — prázdná oblast tak nezabere ani mezeru.
   ═══════════════════════════════════════════════════════════════════════ */

body.is-admin .pageBody--notifikace-admin .notifikace_list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

body.is-admin .pageBody--notifikace-admin .notifikace_item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 300px);
    grid-template-areas:
        "alert alert"
        "info  info"
        "head  head"
        "name  prev"
        "msg   prev"
        "link  deliv"
        "rich  rich"
        "komu  komu";
    align-content: start;
    column-gap: 28px;
    row-gap: 0;
    min-width: 0;
    padding: 18px 20px 20px;
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-lg);
    background: var(--rl-bg-elevated);
    box-shadow: var(--rl-shadow-sm) !important;
    overflow: visible;
}

body.is-admin .pageBody--notifikace-admin .notifikace_item > .clear {
    display: none !important;
}

/* ── Hlavička: stav a datum vlevo, akce vpravo ──────────────────────── */

body.is-admin .pageBody--notifikace-admin .notifikace_allow_error {
    grid-area: alert;
    text-align: left;
    font-size: 0.8125rem;
    color: #B91C1C;
}

body.is-admin .pageBody--notifikace-admin .notifikace_allow_error:not(:empty) {
    margin-bottom: 12px;
}

body.is-admin .pageBody--notifikace-admin .notifikace_item_info-ok {
    grid-area: info;
    margin: 0 0 12px;
    padding: 7px 12px;
    border-radius: var(--rl-radius-sm);
    font-size: 0.75rem;
}

body.is-admin .pageBody--notifikace-admin .notifikace_item-toolbar,
body.is-admin .pageBody--notifikace-admin .notifikace_item-header {
    grid-area: head;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--rl-border);
}

body.is-admin .pageBody--notifikace-admin .notifikace_item-toolbar__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 12px;
    flex: 1;
    min-width: 0;
}

body.is-admin .pageBody--notifikace-admin .notifikace_state-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 11px;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

body.is-admin .pageBody--notifikace-admin .notifikace_state-chip::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

body.is-admin .pageBody--notifikace-admin .notifikace_state-chip--draft {
    color: #475569;
    background: #F1F5F9;
}

body.is-admin .pageBody--notifikace-admin .notifikace_state-chip--scheduled {
    color: #1D4ED8;
    background: var(--rl-primary-soft);
}

/* Datum vzniku je nejméně důležitý údaj na kartě — dřív ho verzálky dělaly
   nejnápadnějším. Teď je to obyčejná tichá poznámka vedle stavu. */
body.is-admin .pageBody--notifikace-admin .notifikace_cell-created {
    margin: 0;
    padding: 0;
    border: none;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: var(--rl-text-muted);
    white-space: nowrap;
}

/* ── Akce: jedna hlavní, jedna vedlejší, mazání až nakonec ──────────── */

body.is-admin .pageBody--notifikace-admin .notifikace_actions {
    display: flex;
    flex-direction: row !important;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    flex-shrink: 0;
    width: auto !important;
    margin-left: auto;
}

body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_btn {
    width: auto !important;
    padding: 8px 15px;
    border: 1px solid transparent;
    border-radius: var(--rl-radius-sm);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.25;
    white-space: nowrap;
    cursor: pointer;
}

body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_btn:hover {
    transform: translateY(-1px);
}

body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_btn:focus-visible {
    outline: 2px solid var(--rl-focus);
    outline-offset: 2px;
}

body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_btn-primary {
    box-shadow: 0 2px 8px rgba(29, 78, 216, 0.24);
}

/* Vedlejší akce nesmí soupeřit s odesláním — obrys místo výplně. */
body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_btn-quiet {
    background: #fff !important;
    background-image: none !important;
    color: var(--rl-text-secondary) !important;
    border-color: var(--rl-border-strong);
    box-shadow: none !important;
}

body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_btn-quiet:hover {
    background: var(--rl-bg) !important;
}

/**
 * „Smazat" bylo plné červené tlačítko hned vedle „Odeslat ihned" — na kartě
 * nejsytější prvek, přestože je to nejvzácnější akce. Zůstává červený text
 * (#B91C1C na bílé má 7,0 : 1, viz UIUX-07), plocha se rozsvítí až na hover.
 */
body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_btn-secondary {
    background: transparent !important;
    background-image: none !important;
    color: #B91C1C !important;
    border-color: transparent;
    box-shadow: none !important;
}

body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_btn-secondary:hover {
    background: #FEF2F2 !important;
    border-color: #FECACA;
}

body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_btn-cancel-send {
    background: #B45309 !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: none !important;
}

body.is-admin .pageBody--notifikace-admin .notifikace_tab-content .notifikace_btn-create-new {
    margin: 16px auto 8px;
    padding: 10px 20px;
    font-size: 0.875rem;
    border-radius: var(--rl-radius-md);
    box-shadow: 0 3px 12px rgba(29, 78, 216, 0.22) !important;
}

body.is-admin .pageBody--notifikace-admin .notifikace_tab-content .notifikace_btn-create-new:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(29, 78, 216, 0.28) !important;
}

/* ── Pole: popisek nad polem, jeden levý okraj pro všechna ──────────── */

body.is-admin .pageBody--notifikace-admin .notifikace_field-row {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    min-width: 0;
    margin-bottom: 16px;
}

body.is-admin .pageBody--notifikace-admin .notifikace_field-row--name { grid-area: name; }
body.is-admin .pageBody--notifikace-admin .notifikace_field-row--message { grid-area: msg; }
body.is-admin .pageBody--notifikace-admin .notifikace_field-row--link { grid-area: link; }
/* RICH-PUSH-01: obrázek a tlačítka zprávy — vlastní oblast pod odkazem, přes celou šířku karty. */
body.is-admin .pageBody--notifikace-admin .notifikace_field-row--rich { grid-area: rich; }
.notifikace_rich-preview { display: block; max-width: 256px; aspect-ratio: 2 / 1; object-fit: cover; border-radius: 6px; margin: 6px 0; }
.notifikace_rich-button-row { display: flex; gap: 8px; margin-top: 6px; flex-wrap: wrap; }
.notifikace_rich-button-title { flex: 1 1 140px; }
.notifikace_rich-button-url { flex: 2 1 220px; }
/* Autorské display výš by přebilo UA [hidden]; skrytý náhled a tlačítko Odebrat musí zůstat skryté. */
.notifikace_field-row--rich [hidden] { display: none !important; }
body.is-admin .pageBody--notifikace-admin .notifikace_field-row--display {
    grid-area: deliv;
    margin-bottom: 0;
}

/* `!important` je tu nutnost, ne nedbalost: riselify-admin-modern.css dává všem
   <label> v administraci `font-size: 0.875rem !important`. Popisek má být tišší
   než text v poli (14 px), jinak mezi nimi není žádná hierarchie. */
body.is-admin .pageBody--notifikace-admin .notifikace_field-label {
    flex: none;
    width: auto;
    margin: 0;
    padding: 0;
    font-size: 0.75rem !important;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--rl-text-secondary);
    white-space: nowrap;
}

body.is-admin .pageBody--notifikace-admin .notifikace_field-label--inline {
    text-transform: none;
    letter-spacing: 0.01em;
    color: var(--rl-text-secondary);
}

/**
 * Počítadlo znaků vkládá js/admin-ux.js hned za pole, takže u názvu spadne
 * dovnitř .notifikace_name-wrap a u textu je přímým dítětem řádku. Obě
 * varianty se sem srovnají absolutně na řádek popisku, aby počítadlo bylo
 * vždy na pravém okraji svého pole a nikde jinde.
 */
body.is-admin .pageBody--notifikace-admin .notifikace_field-row .rl-counter {
    position: absolute;
    top: 1px;
    right: 0;
    margin: 0;
    padding: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--rl-text-muted);
    font-variant-numeric: tabular-nums;
}

body.is-admin .pageBody--notifikace-admin .notifikace_name-wrap .rl-counter {
    top: auto;
    bottom: calc(100% + 7px);
    padding-right: 0;
}

/* ── Textová pole ───────────────────────────────────────────────────── */

body.is-admin .pageBody--notifikace-admin .notifikace_textarea,
body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikaceInputUrl,
body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_cell input[type="text"] {
    box-sizing: border-box;
    width: 100% !important;
    /* Obecné admin styly (riselify-admin-modern.css) omezují textarea na 720 px,
       což tu ustřihávalo pravý okraj pole o 7 px proti popisku i počítadlu. */
    max-width: none;
    min-width: 0;
    padding: 9px 12px;
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-sm);
    background: #fff;
    color: var(--rl-text);
    font-family: inherit;
    font-size: 0.875rem;
    line-height: 1.45;
    min-height: 40px;
    overflow-y: hidden;
    resize: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.is-admin .pageBody--notifikace-admin .notifikace_textarea--message {
    min-height: 72px;
}

body.is-admin .pageBody--notifikace-admin .notifikace_textarea:focus,
body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikaceInputUrl:focus,
body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_time-input:focus,
body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_date-only-input:focus {
    outline: none;
    border-color: var(--rl-primary);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12);
}

body.is-admin .pageBody--notifikace-admin .notifikace_textarea:disabled,
body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikaceInputUrl:disabled {
    background: var(--rl-bg);
    color: var(--rl-text-secondary);
    cursor: not-allowed;
}

body.is-admin .pageBody--notifikace-admin .notifikace_name-wrap {
    position: relative;
    display: block;
    min-width: 0;
}

body.is-admin .pageBody--notifikace-admin .notifikace_name-wrap .notifikace_textarea {
    padding-right: 44px;
}

body.is-admin .pageBody--notifikace-admin .emojiBtn {
    position: absolute;
    top: 6px;
    right: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: 0 !important;
    padding: 0;
    border: 1px solid transparent;
    border-radius: var(--rl-radius-sm);
    background: transparent;
    font-size: 1.0625rem;
    line-height: 1;
    cursor: pointer;
}

body.is-admin .pageBody--notifikace-admin .emojiBtn:hover {
    background: var(--rl-primary-soft);
    border-color: rgba(29, 78, 216, 0.25);
}

body.is-admin .pageBody--notifikace-admin .emojiBtn:focus-visible {
    outline: 2px solid var(--rl-focus);
    outline-offset: 1px;
}

/* Smajlík jen u editovatelných (neuzamčených) notifikací */
body.is-admin .pageBody--notifikace-admin .notifikace_name-wrap:has(.notifikace_textarea:disabled) .emojiBtn,
body.is-admin .pageBody--notifikace-admin .notifikace_name-wrap:has(.notifikace_textarea:disabled) .emojiPickerBubble {
    display: none !important;
}

body.is-admin .pageBody--notifikace-admin .notifikace_name-wrap:has(.notifikace_textarea:disabled) .notifikace_textarea {
    padding-right: 12px;
}

body.is-admin .pageBody--notifikace-admin .notifikace_field-row--name:has(.emojiPickerBubble[style*="display: block"]) {
    z-index: 30;
}

body.is-admin .pageBody--notifikace-admin .notifikace_name-wrap .emojiPickerBubble {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    left: auto;
    z-index: 40;
    width: min(288px, calc(100vw - 48px));
    max-height: 208px;
    overflow-x: hidden;
    overflow-y: auto;
    margin-top: 0 !important;
    padding: 8px;
    background: var(--rl-bg-elevated);
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-md);
    box-shadow: var(--rl-shadow-lg);
    box-sizing: border-box;
}

body.is-admin .pageBody--notifikace-admin .notifikace_name-wrap .emojiPickerBubble .emoji {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    font-size: 1.05rem;
    line-height: 1;
    cursor: pointer;
    border-radius: 6px;
    transition: background 0.15s ease;
}

body.is-admin .pageBody--notifikace-admin .notifikace_name-wrap .emojiPickerBubble .emoji:hover {
    background: var(--rl-primary-soft);
}

/* ── Odkaz: přepínač a pod ním adresa ───────────────────────────────── */

body.is-admin .pageBody--notifikace-admin .notifikace_switch {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    align-self: flex-start;
    margin: 0;
    /* Přepínač je 38 × 22 px, celý popisek s ním měl 22 px na výšku — o dva pixely
       pod 24 × 24, které žádá WCAG 2.2 (2.5.8, AA). Klepá se do popisku, ne do
       skrytého checkboxu, takže cíl musí dorovnat on. */
    min-height: 24px;
    cursor: pointer;
    font-size: 0.8125rem !important;   /* přebíjí plošné label pravidlo, viz výše */
    font-weight: 600;
    color: var(--rl-text-secondary);
}

body.is-admin .pageBody--notifikace-admin .notifikace_switch input[type="checkbox"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
}

body.is-admin .pageBody--notifikace-admin .notifikace_switch__track {
    position: relative;
    flex: none;
    width: 38px;
    height: 22px;
    border-radius: 999px;
    background: #CBD5E1;
    transition: background 0.15s ease;
}

body.is-admin .pageBody--notifikace-admin .notifikace_switch__track::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.3);
    transition: transform 0.15s ease;
}

body.is-admin .pageBody--notifikace-admin .notifikace_switch:has(input:checked) .notifikace_switch__track {
    background: var(--rl-primary);
}

body.is-admin .pageBody--notifikace-admin .notifikace_switch:has(input:checked) .notifikace_switch__track::after {
    transform: translateX(16px);
}

body.is-admin .pageBody--notifikace-admin .notifikace_switch:has(input:disabled) {
    opacity: 0.55;
    cursor: not-allowed;
}

body.is-admin .pageBody--notifikace-admin .notifikace_switch:focus-within .notifikace_switch__track {
    outline: 2px solid var(--rl-focus);
    outline-offset: 2px;
}

/* Řádek s adresou přepíná JS inline stylem display: flex / none. */
body.is-admin .pageBody--notifikace-admin .notifikace_row-top-url {
    display: none;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

/* ── Kdy odeslat: přepínač segmentů + termín ────────────────────────── */

body.is-admin .pageBody--notifikace-admin .notifikace_delivery {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 14px;
    min-width: 0;
}

body.is-admin .pageBody--notifikace-admin .notifikace_radio-options {
    display: inline-flex;
    gap: 3px;
    margin: 0;
    padding: 3px;
    background: var(--rl-bg);
    border: 1px solid var(--rl-border);
    border-radius: 999px;
    float: none !important;
    flex-wrap: nowrap;
}

body.is-admin .pageBody--notifikace-admin .notifikace_radio-options-item {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: none !important;
    width: auto !important;
    margin: 0;
    padding: 6px 15px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

body.is-admin .pageBody--notifikace-admin .notifikace_radio-options-item input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
}

body.is-admin .pageBody--notifikace-admin .notifikace_radio-options-item-text {
    float: none !important;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    color: var(--rl-text-muted);
    white-space: nowrap;
    transition: color 0.15s ease;
}

body.is-admin .pageBody--notifikace-admin .notifikace_radio-options-item:has(input:checked) {
    background: #fff;
    box-shadow: var(--rl-shadow-sm);
}

body.is-admin .pageBody--notifikace-admin .notifikace_radio-options-item:has(input:checked) .notifikace_radio-options-item-text {
    color: var(--rl-primary);
}

body.is-admin .pageBody--notifikace-admin .notifikace_radio-options-item:has(input:disabled) {
    cursor: not-allowed;
    opacity: 0.5;
}

body.is-admin .pageBody--notifikace-admin .notifikace_radio-options-item:focus-within {
    outline: 2px solid var(--rl-focus);
    outline-offset: 2px;
}

body.is-admin .pageBody--notifikace-admin .notifikace_date-cell {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    /* public.css dává buňce nad 769 px `flex: 0 0 150px` a max-width 180 px —
       pole s časem a datem se pak zalomila pod popisek „Termín". */
    flex: 0 1 auto;
    max-width: none;
}

body.is-admin .pageBody--notifikace-admin .notifikace_date-cell.notifikace_hidden {
    display: none !important;
}

body.is-admin .pageBody--notifikace-admin .notifikace_field-label--date {
    font-size: 0.75rem;
    color: var(--rl-text-muted);
}

body.is-admin .pageBody--notifikace-admin .notifikace_schedule-fields {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
}

body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_time-input,
body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_date-only-input {
    box-sizing: border-box;
    padding: 7px 10px;
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-sm);
    background: #fff;
    color: var(--rl-text);
    font-family: inherit;
    font-size: 0.8125rem;
    min-height: 36px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* Nativní ovládací prvky času a data mají vlastní minimální šířku; necháváme je
   růst podle obsahu, jen jim bereme `width: 100 %` z obecných admin stylů. */
body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_time-input,
body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_date-only-input {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
}

body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_time-input:disabled,
body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_date-only-input:disabled {
    background: var(--rl-bg);
    color: var(--rl-text-secondary);
}

body.is-admin .pageBody--notifikace-admin .notifikace_schedule-display {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-sm);
    background: var(--rl-bg);
    color: var(--rl-text);
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
}

body.is-admin .pageBody--notifikace-admin .lock_info_free_text {
    margin-top: 8px;
    font-size: 0.75rem;
    color: var(--rl-text-muted);
    white-space: normal;
}

/* ── JAN-BOD7: „Komu poslat" — výběr skupin zákazníků (persony B2C eRFMT) ── */

body.is-admin .pageBody--notifikace-admin .notifikace_field-row--komu {
    grid-area: komu;
    margin-top: 16px;
    margin-bottom: 0;
}

body.is-admin .pageBody--notifikace-admin .notifikace_komu-skupiny {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 8px;
}

body.is-admin .pageBody--notifikace-admin .notifikace_komu-skupiny[hidden] {
    display: none;
}

body.is-admin .pageBody--notifikace-admin .notifikace_komu-persona {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-sm);
    cursor: pointer;
}

body.is-admin .pageBody--notifikace-admin .notifikace_komu-persona input {
    margin-top: 3px;
    flex: none;
}

body.is-admin .pageBody--notifikace-admin .notifikace_komu-persona__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 0.8125rem;
    min-width: 0;
}

body.is-admin .pageBody--notifikace-admin .notifikace_komu-persona__pocet,
body.is-admin .pageBody--notifikace-admin .notifikace_komu-persona__popis,
body.is-admin .pageBody--notifikace-admin .notifikace_komu-hint {
    color: var(--rl-text-muted);
    font-size: 0.75rem;
    font-weight: 400;
}

body.is-admin .pageBody--notifikace-admin .notifikace_komu-hint {
    grid-column: 1 / -1;
    margin: 4px 0 0;
}

body.is-admin .pageBody--notifikace-admin .notifikace_komu-pocet {
    font-size: 0.8125rem;
    font-weight: 600;
}

body.is-admin .pageBody--notifikace-admin .notifikace_komu-chyba {
    font-size: 0.75rem;
    color: #B91C1C;
}

body.is-admin .pageBody--notifikace-admin .notifikace_komu-chyba[hidden] {
    display: none;
}

/* ── Chybové hlášky pod poli (JS je přepíná na display: block) ──────── */

body.is-admin .pageBody--notifikace-admin .notifikace_row-top-errorname,
body.is-admin .pageBody--notifikace-admin .notifikace_row-top-errortext {
    margin: 0;
    padding: 4px 10px;
    border-radius: var(--rl-radius-sm);
    font-size: 0.75rem;
    font-weight: 600;
}

/* ── Náhled na telefonu ─────────────────────────────────────────────── */

body.is-admin .pageBody--notifikace-admin .rl-push-preview {
    grid-area: prev;
    align-self: start;
    min-width: 0;
}

/* ── Užší okna ──────────────────────────────────────────────────────── */

@media (max-width: 1080px) {
    body.is-admin .pageBody--notifikace-admin .notifikace_item {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "alert"
            "info"
            "head"
            "name"
            "msg"
            "link"
            "rich"
            "deliv"
            "komu"
            "prev";
    }

    body.is-admin .pageBody--notifikace-admin .notifikace_field-row--display {
        margin-bottom: 16px;
    }

    body.is-admin .pageBody--notifikace-admin .rl-push-preview {
        max-width: 380px;
    }
}

@media (max-width: 700px) {
    body.is-admin .pageBody--notifikace-admin {
        padding: 6px 10px 20px;
    }

    body.is-admin .pageBody--notifikace-admin .notifikace_item {
        padding: 16px 14px;
    }

    body.is-admin .pageBody--notifikace-admin .notifikace_item-toolbar,
    body.is-admin .pageBody--notifikace-admin .notifikace_item-header {
        flex-direction: column;
        align-items: stretch;
    }

    body.is-admin .pageBody--notifikace-admin .notifikace_actions {
        margin-left: 0;
        justify-content: flex-start;
    }

    body.is-admin .pageBody--notifikace-admin .notifikace_actions .notifikace_btn {
        flex: 1 1 auto;
    }

    body.is-admin .pageBody--notifikace-admin .notifikace_radio-options {
        width: 100%;
    }

    body.is-admin .pageBody--notifikace-admin .notifikace_radio-options-item {
        flex: 1 1 0;
    }

    body.is-admin .pageBody--notifikace-admin .notifikace_schedule-fields {
        flex-wrap: wrap;
    }

    body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_time-input,
    body.is-admin .pageBody--notifikace-admin .notifikace_item .notifikace_date-only-input {
        flex: 1 1 120px;
        width: auto;
        min-width: 0;
    }

    body.is-admin .pageBody--notifikace-admin .rl-push-preview {
        max-width: none;
    }
}

/* ── Záložky ────────────────────────────────────────────────────────── */

body.is-admin .pageBody--notifikace-admin .notifikace_tab-content {
    padding-left: 0 !important;
}

body.is-admin .pageBody--notifikace-admin .notifikace_tab-button {
    padding: 6px 14px !important;
    font-size: 0.8125rem !important;
    margin-top: 0 !important;
    border-radius: var(--rl-radius-sm) !important;
    box-shadow: none !important;
}

.pageBody--notifikace-scheduled .notifikace_empty-state {
    padding: 20px 16px;
    border: 1px dashed var(--rl-border-strong);
    border-radius: var(--rl-radius-md);
    background: var(--rl-bg);
    color: var(--rl-text-secondary);
    font-size: 0.875rem;
    line-height: 1.5;
    text-align: center;
}

.pageBody--notifikace-scheduled .notifikace_empty-state a {
    color: var(--rl-link);
    font-weight: 600;
    text-decoration: none;
}

.pageBody--notifikace-scheduled .notifikace_empty-state a:hover {
    text-decoration: underline;
}

/* Nastavení notifikací */
.pageBody--notifikace-settings .notifikace_settings-intro {
    margin: 0 0 14px;
    font-size: 0.875rem;
    color: var(--rl-text-secondary);
    line-height: 1.5;
}

.pageBody--notifikace-settings .notifikace_status--preview {
    margin-bottom: 16px;
}

.pageBody--notifikace-settings .notifikace_settings-form {
    margin: 0;
}

.pageBody--notifikace-settings .notifikace_settings-card {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
    background: var(--rl-bg-elevated);
    box-shadow: var(--rl-shadow-sm);
    overflow: hidden;
}

.pageBody--notifikace-settings .notifikace_settings-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px 20px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--rl-border);
}

.pageBody--notifikace-settings .notifikace_settings-item:last-child {
    border-bottom: none;
}

.pageBody--notifikace-settings .notifikace_settings-item__text {
    flex: 1;
    min-width: 0;
}

.pageBody--notifikace-settings .notifikace_settings-item__title {
    display: block;
    margin: 0 0 4px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--rl-text);
    cursor: pointer;
}

.pageBody--notifikace-settings .notifikace_settings-item__desc {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: var(--rl-text-muted);
}

/* TICHE-HODINY-01: karta tichých hodin pod formulářem nastavení — odstup, odstavce s mezerou,
   poznámka k mezím se zarovná s položkami karty. */
.pageBody--notifikace-settings .notifikace_settings-ticho {
    margin-top: 24px;
}

.pageBody--notifikace-settings .notifikace_settings-ticho .notifikace_settings-item__desc + .notifikace_settings-item__desc {
    margin-top: 8px;
}

.pageBody--notifikace-settings .notifikace_settings-ticho__form > .notifikace_settings-item__desc {
    padding: 10px 16px 0;
}

.pageBody--notifikace-settings .notifikace_settings-ticho__form .notifikace_settings-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 16px 16px;
}

.pageBody--notifikace-settings .notifikace_settings-select {
    flex: 0 0 140px;
    width: 140px;
    max-width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-sm);
    background: #fff;
    color: var(--rl-text);
    font-size: 0.8125rem;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pageBody--notifikace-settings .notifikace_settings-select:focus {
    outline: none;
    border-color: var(--rl-primary);
    box-shadow: 0 0 0 2px rgba(29, 78, 216, 0.12);
}

.pageBody--notifikace-settings .notifikace_settings-actions {
    margin-top: 14px;
}

.pageBody--notifikace-settings .notifikace_settings-submit {
    padding: 8px 18px !important;
    font-size: 0.8125rem !important;
    width: auto !important;
    border-radius: var(--rl-radius-md) !important;
    box-shadow: 0 3px 12px rgba(29, 78, 216, 0.22) !important;
}

.pageBody--notifikace-settings .notifikace_settings-submit:hover {
    transform: translateY(-1px);
}

@media (max-width: 640px) {
    .pageBody--notifikace-settings .notifikace_settings-item {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .pageBody--notifikace-settings .notifikace_settings-select {
        flex: none;
        width: 100%;
    }
}

/* Historie notifikací */
.pageBody--notifikace-history {
    padding: 6px 16px 28px;
}

.pageBody--notifikace-history .pageHeadText {
    text-align: left !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--rl-text) !important;
    margin: 0 0 14px !important;
    letter-spacing: -0.02em;
}

.pageBody--notifikace-history .notifikace_pageNotificationBody {
    margin: 0;
    width: 100% !important;
    max-width: none;
    padding: 0 !important;
    background: transparent;
}

.pageBody--notifikace-history .notifikace_history-table-wrap {
    width: 100%;
    overflow: hidden;
    border-radius: var(--rl-radius-md);
    border: 1px solid var(--rl-border);
    box-shadow: var(--rl-shadow-sm);
    background: var(--rl-bg-elevated);
}

.pageBody--notifikace-history .notifikace_history-table-wrap--scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.pageBody--notifikace-history .notifikace_empty-state {
    padding: 28px 20px;
    border: none;
    border-radius: 0;
    background: transparent;
    color: var(--rl-text-muted);
    font-size: 0.875rem;
    line-height: 1.5;
    text-align: center;
}

.pageBody--notifikace-history .notifikace_history-table {
    width: 100%;
    min-width: 920px;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0;
    background: var(--rl-bg-elevated);
    table-layout: auto;
}

.pageBody--notifikace-history-test .notifikace_history-table {
    min-width: 0;
}

.pageBody--notifikace-history .notifikace_history-table thead {
    display: table-header-group !important;
}

.pageBody--notifikace-history .notifikace_history-table tbody {
    display: table-row-group !important;
}

.pageBody--notifikace-history .notifikace_history-table tr {
    display: table-row !important;
}

.pageBody--notifikace-history .notifikace_history-table thead tr {
    position: static;
}

.pageBody--notifikace-history .notifikace_history-table th,
.pageBody--notifikace-history .notifikace_history-table td {
    display: table-cell !important;
    position: static;
    text-align: left;
    padding: 12px 14px !important;
    font-weight: 400;
    font-size: 0.8125rem;
    color: var(--rl-text);
    border: none;
    border-bottom: 1px solid var(--rl-border);
    white-space: nowrap;
    vertical-align: middle;
}

.pageBody--notifikace-history .notifikace_history-table th {
    background: #f1f5f9 !important;
    color: var(--rl-text-secondary) !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 0.6875rem !important;
    border-bottom: 1px solid var(--rl-border-strong) !important;
    padding-top: 11px !important;
    padding-bottom: 11px !important;
    white-space: nowrap;
}

.pageBody--notifikace-history .notifikace_history-table td:before {
    content: none !important;
    display: none !important;
}

.pageBody--notifikace-history .notifikace_history-table tbody tr:nth-child(even) td {
    background: #fafbfc;
}

.pageBody--notifikace-history .notifikace_history-table tbody tr:hover td {
    background: var(--rl-primary-soft) !important;
}

.pageBody--notifikace-history .notifikace_history-table tbody tr:last-child td {
    border-bottom: none;
}

.pageBody--notifikace-history .notifikace_history-col--text {
    white-space: normal !important;
    min-width: 180px;
    max-width: 340px;
    line-height: 1.45;
    word-break: break-word;
    color: var(--rl-text-secondary);
}

.pageBody--notifikace-history .notifikace_history-col--date {
    color: var(--rl-text-secondary);
    font-size: 0.75rem;
    white-space: nowrap;
}

.pageBody--notifikace-history .notifikace_history-col--num,
.pageBody--notifikace-history .notifikace_history-table th.notifikace_history-col--num {
    text-align: right !important;
    width: 4.5rem;
    font-variant-numeric: tabular-nums;
    color: var(--rl-text);
}

.pageBody--notifikace-history .notifikace_history-table th.notifikace_history-col--num {
    text-align: right !important;
    color: var(--rl-text-secondary) !important;
}

.pageBody--notifikace-history .notifikace_history-type {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.4;
    white-space: nowrap;
}

.pageBody--notifikace-history .notifikace_history-type--now {
    background: #ecfdf5;
    color: #047857;
}

.pageBody--notifikace-history .notifikace_history-type--date {
    background: #eff6ff;
    color: #1d4ed8;
}

.pageBody--notifikace-history .notifikace_history-type--other {
    background: #f1f5f9;
    color: var(--rl-text-secondary);
}

@media (max-width: 768px) {
    .pageBody--notifikace-history {
        padding: 6px 10px 20px;
    }

    .pageBody--notifikace-history .notifikace_history-table-wrap {
        border-radius: var(--rl-radius-sm);
    }
}

@media (max-width: 656px) {
    /* RESP-06 (tester 2026-08-17): karty na telefonu se nikdy nezapnuly. Základní
       pravidla výš vynucují `display: table-row !important` (a `table-cell` u buněk),
       takže z celé přestavby prošlo jen `display: block` na samotné tabulce. Řádky
       zůstaly řádky o šířce 229 px, ale zdědily z karet `overflow: hidden` — text
       notifikace se tiše uřízl o 54 px. Specificita se tu musí dorovnat. */
    .pageBody--notifikace-history .notifikace_history-table,
    .pageBody--notifikace-history .notifikace_history-table thead,
    .pageBody--notifikace-history .notifikace_history-table tbody,
    .pageBody--notifikace-history .notifikace_history-table th,
    .pageBody--notifikace-history .notifikace_history-table td,
    .pageBody--notifikace-history .notifikace_history-table tr {
        display: block !important;
    }

    .pageBody--notifikace-history .notifikace_history-table {
        min-width: 0;
    }

    .pageBody--notifikace-history .notifikace_history-table thead tr {
        position: absolute !important;
        top: -9999px !important;
        left: -9999px !important;
    }

    .pageBody--notifikace-history .notifikace_history-table tr {
        border: 1px solid var(--rl-border) !important;
        margin-bottom: 10px !important;
        border-radius: var(--rl-radius-sm) !important;
        overflow: hidden;
        background: #fff;
    }

    .pageBody--notifikace-history .notifikace_history-table td {
        text-align: right !important;
        padding-left: 46% !important;
        white-space: normal !important;
        border-bottom: 1px solid var(--rl-border);
        /* popisek sloupce (`td:before`) je absolutní — bez tohoto by se kotvil
           k celé stránce a všechny popisky by se složily na sebe */
        position: relative !important;
    }

    .pageBody--notifikace-history .notifikace_history-table td:last-child {
        border-bottom: none;
    }

    .pageBody--notifikace-history .notifikace_history-table td:before {
        content: attr(data-label) !important;
        display: block !important;
        position: absolute;
        left: 12px;
        width: 42%;
        font-weight: 600;
        font-size: 0.6875rem;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        color: var(--rl-text-muted);
        text-align: left;
    }

    .pageBody--notifikace-history .notifikace_history-col--num {
        text-align: right !important;
        width: auto;
    }
}

/* Notifikace admin – společné */
.notifikace_item {
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-sm);
    box-shadow: var(--rl-shadow-sm) !important;
}

.notifikace_button-send,
.notifikace_send-button,
.notifikace_btn-primary,
.notifikace_btn-create-new {
    background: var(--rl-primary-gradient) !important;
    border-radius: var(--rl-radius-md);
    color: #fff !important;
    border: none;
}

.notifikace_btn {
    border-radius: var(--rl-radius-md);
    font-weight: 600;
    border: none;
    transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease;
}

/**
 * UIUX-07: bílý text na #ef4444 měl při 11px (0.6875rem, viz .pageBody--notifikace-admin
 * .notifikace_btn) kontrast 3,76:1 — WCAG AA žádá u textu do 18,66px alespoň 4,5:1.
 * #b91c1c dává s bílou 7,0:1 a zůstává čitelně „červené = destruktivní“.
 */
.notifikace_btn-secondary {
    background: #b91c1c !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(185, 28, 28, 0.28);
}

.notifikace_btn-secondary:hover {
    background: #991b1b !important;
    filter: brightness(1.02);
    transform: translateY(-1px);
}

.notifikace_btn-cancel-send {
    background: #f59e0b !important;
    background-image: none !important;
    color: #fff !important;
}

.ofc-checklist {
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
    background: var(--rl-bg-elevated);
}

/* Settings / install admin */
.pageSettingsPageBodyBannerPreview,
.tabInstalladmin-nav-link.active {
    border-color: var(--rl-primary);
}

.tabInstalladmin-nav-link.active {
    background: var(--rl-primary-soft);
    color: var(--rl-primary);
}

/* Přehledové grafy */
.pageBodyStatsAdminGraphItem {
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
    box-shadow: var(--rl-shadow-sm);
}

.pageBodyOverviewAdminGraphItemHead {
    background: #f1f5f9;
    color: var(--rl-text);
    border-radius: 0;
    border-bottom: 1px solid var(--rl-border);
}

/* ═══════════════════════════════════════════════════════════
   FÁZE 6 – Sjednocený admin shell (všechny stránky)
   ═══════════════════════════════════════════════════════════ */

.pageBodyKontroler--admin {
    color: var(--rl-text);
}

.pageBodyKontroler--admin .pageBody,
.pageBodyKontroler--admin .pageBody--admin,
.pageBodyKontroler--admin #pageBody,
.pageBodyKontroler--admin .videolistadmin_pageBody,
.pageBodyKontroler--admin .pageBodyStatsAdmin,
.pageBodyKontroler--admin .pageBodyText {
    color: var(--rl-text);
}

.pageBodyKontroler--admin .pageBody,
.pageBodyKontroler--admin .pageBody--admin,
.pageBodyKontroler--admin #pageBody,
.pageBodyKontroler--admin .videolistadmin_pageBody,
.pageBodyKontroler--admin .impersonaceadminBody,
.pageBodyKontroler--admin .videodetailadmin_pageBody,
.pageBodyKontroler--admin .ordercompleteadmin_container {
    padding: 8px 16px 28px;
}

.pageBodyKontroler--admin .pageHeadText,
.pageBody--admin .pageHeadText {
    text-align: left !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--rl-text) !important;
    margin: 0 0 16px !important;
    letter-spacing: -0.02em;
    line-height: 1.35;
}

.pageBodyKontroler--admin .pageHeadText h1,
.pageBodyKontroler--admin .pageHeadText h2,
.pageBody--admin .pageHeadText h1,
.pageBody--admin .pageHeadText h2 {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    line-height: inherit;
}

.pageBodyKontroler--admin .section-title {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
}

.pageBodyKontroler--admin .pageBodyText,
.pageBody--admin .pageBodyText {
    margin-top: 0;
}

.pageBodyKontroler--admin .rl-admin-table-wrap {
    width: 100%;
    overflow: hidden;
    border-radius: var(--rl-radius-md);
    border: 1px solid var(--rl-border);
    box-shadow: var(--rl-shadow-sm);
    background: var(--rl-bg-elevated);
}

.pageBodyKontroler--admin .rl-admin-table-wrap--scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.pageBodyKontroler--admin .rl-admin-table-wrap > table {
    margin: 0;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* QA-H4: stránkovací lišta pod admin výpisy (dřív se výpisy tahaly celé, bez LIMIT). */
.rl-admin-pager {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
    font-size: 0.875rem;
    color: var(--rl-text-muted);
}

.rl-admin-pager__links {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.rl-admin-pager__links a {
    display: inline-block;
    padding: 6px 12px;
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-sm);
    background: var(--rl-bg-elevated);
    text-decoration: none;
}

.rl-admin-pager__links a:hover {
    border-color: var(--rl-primary, #1d4ed8);
}

.pageBodyKontroler--admin .rl-admin-empty {
    padding: 28px 20px;
    text-align: center;
    color: var(--rl-text-muted);
    font-size: 0.875rem;
    line-height: 1.5;
}

.pageBodyKontroler--admin .pageBodyOverviewAdminGraphItem,
.pageBodyKontroler--admin .pageBodyStatsAdminGraphItem,
.pageBodyKontroler--admin .pageDashboardPageBodyStats,
.pageBodyKontroler--admin .pageBodyInstallAdminItem {
    border: 1px solid rgba(29, 78, 216, 0.22);
    border-left: none;
    border-radius: var(--rl-radius-md);
    box-shadow: 0 4px 14px rgba(29, 78, 216, 0.12);
    overflow: hidden;
    background: var(--rl-bg-elevated);
    margin-bottom: 0;
    width: 100%;
}

.pageBodyKontroler--admin .pageBodyInstallAdminItem {
    margin-bottom: 16px;
}

/* Sjednocená hlavička rozbalovacích sekcí (grafy, nastavení, instalace) */
.pageBodyKontroler--admin .pageBodyOverviewAdminGraphItemText,
.pageBodyKontroler--admin .collapse-toggle-overview-admin-graph,
.pageBodyKontroler--admin .pageBodyStatsAdminGraphItemText,
.pageBodyKontroler--admin .collapse-toggle-stats-admin-graph,
.pageBodyKontroler--admin .pageBodyInstallAdminItemText,
.pageBodyKontroler--admin .collapse-toggle-install-admin,
.pageBodyKontroler--admin .collapse-toggle-install-ftp {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: var(--rl-primary-gradient) !important;
    color: #fff !important;
    box-shadow: none !important;
    font-weight: 700;
    font-size: 0.9375rem;
    padding: 13px 16px;
    border-bottom: none;
    border-radius: 0;
    margin: 0;
    transition: filter 0.15s ease, box-shadow 0.15s ease;
}

.pageBodyKontroler--admin .collapse-toggle-overview-admin-graph,
.pageBodyKontroler--admin .collapse-toggle-stats-admin-graph,
.pageBodyKontroler--admin .collapse-toggle-install-admin,
.pageBodyKontroler--admin .collapse-toggle-install-ftp,
.pageBodyKontroler--admin .pageBodyOverviewAdminGraphItemText,
.pageBodyKontroler--admin .pageBodyStatsAdminGraphItemText {
    cursor: pointer;
}

.pageBodyKontroler--admin .pageBodyStatsAdminGraphItemText:hover,
.pageBodyKontroler--admin .collapse-toggle-overview-admin-graph:hover,
.pageBodyKontroler--admin .collapse-toggle-stats-admin-graph:hover,
.pageBodyKontroler--admin .collapse-toggle-install-admin:hover,
.pageBodyKontroler--admin .collapse-toggle-install-ftp:hover {
    filter: brightness(1.06);
    box-shadow: inset 0 -2px 0 rgba(255, 255, 255, 0.2);
}

.pageBodyKontroler--admin .collapse-toggle-overview-admin-graph-text,
.pageBodyKontroler--admin .collapse-toggle-stats-admin-graph-text,
.pageBodyKontroler--admin .collapse-toggle-install-admin-text {
    background: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
    padding: 0;
    border-radius: 0;
    text-transform: none;
    letter-spacing: normal;
    font-size: inherit;
    font-weight: 700;
    width: auto;
    flex: 1;
    margin: 0;
}

.pageBodyKontroler--admin .collapse-toggle-overview-admin-graph-icon-down,
.pageBodyKontroler--admin .collapse-toggle-overview-admin-graph-icon-up,
.pageBodyKontroler--admin .collapse-toggle-stats-admin-graph-icon-down,
.pageBodyKontroler--admin .collapse-toggle-stats-admin-graph-icon-up,
.pageBodyKontroler--admin .collapse-toggle-install-admin-icon-down,
.pageBodyKontroler--admin .collapse-toggle-install-admin-icon-up {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    margin: 0 !important;
    padding: 0;
    box-sizing: border-box;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.28);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pageBodyKontroler--admin .collapse-toggle-overview-admin-graph-icon-down i,
.pageBodyKontroler--admin .collapse-toggle-overview-admin-graph-icon-up i,
.pageBodyKontroler--admin .collapse-toggle-stats-admin-graph-icon-down i,
.pageBodyKontroler--admin .collapse-toggle-stats-admin-graph-icon-up i,
.pageBodyKontroler--admin .collapse-toggle-install-admin-icon-down i,
.pageBodyKontroler--admin .collapse-toggle-install-admin-icon-up i,
.pageBodyKontroler--admin .collapse-toggle-overview-admin-graph-icon-down svg,
.pageBodyKontroler--admin .collapse-toggle-overview-admin-graph-icon-up svg,
.pageBodyKontroler--admin .collapse-toggle-stats-admin-graph-icon-down svg,
.pageBodyKontroler--admin .collapse-toggle-stats-admin-graph-icon-up svg,
.pageBodyKontroler--admin .collapse-toggle-install-admin-icon-down svg,
.pageBodyKontroler--admin .collapse-toggle-install-admin-icon-up svg {
    display: block !important;
    font-size: 12px;
    width: 12px;
    height: 12px;
    color: #fff !important;
    fill: currentColor;
}

.pageBodyKontroler--admin .collapse-toggle-overview-admin-graph-icon-down.is-hidden,
.pageBodyKontroler--admin .collapse-toggle-overview-admin-graph-icon-up.is-hidden,
.pageBodyKontroler--admin .collapse-toggle-stats-admin-graph-icon-down.is-hidden,
.pageBodyKontroler--admin .collapse-toggle-stats-admin-graph-icon-up.is-hidden,
.pageBodyKontroler--admin .collapse-toggle-install-admin-icon-down.is-hidden,
.pageBodyKontroler--admin .collapse-toggle-install-admin-icon-up.is-hidden {
    display: none !important;
}

.pageBodyKontroler--admin .pageSettingsAbandonedcartPageBody {
    margin: 0;
    padding: 0;
    width: 100%;
    box-shadow: var(--rl-shadow-sm);
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
    background: var(--rl-bg-elevated);
    overflow: hidden;
}

.pageBodyKontroler--admin .pageSettingsAbandonedcartHeadTitle {
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: none;
    letter-spacing: normal;
    color: var(--rl-text) !important;
    background: #f1f5f9 !important;
    padding: 12px 14px;
    border-bottom: 1px solid var(--rl-border);
    box-shadow: none !important;
    border-radius: 0;
}

.pageBodyKontroler--admin .pageSettingsAbandonedcartHeadBody {
    padding: 16px;
    box-shadow: none !important;
    border-radius: 0;
}

.pageBodyKontroler--admin .abandonedcart_settings_form {
    width: 100%;
}

.pageBodyKontroler--admin .abandonedcart_settings_field-group {
    margin-bottom: 16px;
    width: 100%;
}

.pageBodyKontroler--admin .abandonedcart_settings_label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--rl-text);
}

.pageBodyKontroler--admin .abandonedcart_settings_input:not([type="submit"]),
.pageBodyKontroler--admin .abandonedcart_settings_text_input,
.pageBodyKontroler--admin .abandonedcart_settings_notification_abandonedcart,
.pageBodyKontroler--admin .abandonedcart_settings_notification_abandonedcart_time {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    display: block;
}

/* Prodleva je od 2026-08-14 číslo, ne výběr – jednotka stojí vedle pole,
   ať uživatel nemusí hádat, jestli píše hodiny nebo minuty. */
.pageBodyKontroler--admin .abandonedcart_settings_time-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pageBodyKontroler--admin .abandonedcart_settings_time-wrap
.abandonedcart_settings_notification_abandonedcart_time {
    width: 7.5rem;
    flex: 0 0 auto;
}

.pageBodyKontroler--admin .abandonedcart_settings_time-unit {
    font-size: 0.875rem;
    color: var(--rl-text-secondary);
}

.pageBodyKontroler--admin .abandonedcart_settings_submit-btn {
    background: var(--rl-primary-gradient) !important;
    color: #fff !important;
    border: none;
    border-radius: var(--rl-radius-sm);
    padding: 10px 18px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: var(--rl-shadow-sm);
}

.pageBodyKontroler--admin .abandonedcart_settings_submit-btn:hover:not(:disabled) {
    opacity: 0.92;
}

.pageBodyKontroler--admin .pageAbandonedcartPageList {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.pageBodyKontroler--admin .pageAbandonedcartPageList > .clear {
    display: none;
}

.pageBodyKontroler--admin .pageAbandonedcartPageHead {
    margin: 0;
    box-shadow: var(--rl-shadow-sm);
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
    background: var(--rl-bg-elevated);
    overflow: hidden;
}

.pageBodyKontroler--admin .pageAbandonedcartPageHeadTitle {
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: none;
    letter-spacing: normal;
    color: var(--rl-text) !important;
    background: #f1f5f9 !important;
    padding: 12px 14px;
    border-bottom: 1px solid var(--rl-border);
    box-shadow: none !important;
    border-radius: 0;
}

.pageBodyKontroler--admin .pageBodyOverviewAdminGraphInside,
.pageBodyKontroler--admin .pageBodyStatsAdminGraphInside {
    padding: 8px 12px 10px;
    background: var(--rl-bg-elevated);
    height: auto !important;
    min-height: 0;
}

.pageBodyKontroler--admin .pageBodyStatsAdminGraphInsideBody,
.pageBodyKontroler--admin .pageBodyStatsAdminGraphItemDashboard,
.pageBodyKontroler--admin .pageDashboardPageBodyStatsBody {
    height: auto !important;
    min-height: 0 !important;
    max-height: none;
    padding: 0 !important;
    gap: 6px !important;
    margin: 0;
}

.pageBodyKontroler--admin .pageBodyStatsAdminGraphItemSelect {
    margin: 5px 0 6px !important;
    padding: 0 !important;
    background: transparent;
    border-radius: 0;
}

.pageBodyKontroler--admin .pageBodyStatsAdminGraphItemSelect select {
    margin-bottom: 0;
    max-width: 220px;
}

.pageBodyKontroler--admin .pageBodyStatsAdmin,
.pageBodyKontroler--admin .pageBodyStatsAdminGraph {
    width: 100%;
    margin: 0;
    padding: 0;
}

.pageBodyKontroler--admin .pageBodyStatsAdminGraph {
    display: grid;
    gap: 16px;
}

.pageBodyKontroler--admin .pageBodyStatsAdminGraph > .clear {
    display: none;
}

.pageBodyKontroler--admin .pageBodyStatsAdminGraphItem {
    gap: 0 !important;
}

.pageBodyKontroler--admin .pageSettingsUsersPageBody,
.pageBodyKontroler--admin .pageSettingsPageBody,
.pageBodyKontroler--admin .orderslistadmin-table,
.pageBodyKontroler--admin .settingsusers-table,
.pageBodyKontroler--admin .firmsList-table {
    margin-top: 0;
}

.pageBodyKontroler--admin input[type="text"],
.pageBodyKontroler--admin input[type="email"],
.pageBodyKontroler--admin input[type="password"],
.pageBodyKontroler--admin input[type="number"],
.pageBodyKontroler--admin input[type="date"],
.pageBodyKontroler--admin input[type="time"],
.pageBodyKontroler--admin input[type="url"],
.pageBodyKontroler--admin input[type="search"],
.pageBodyKontroler--admin select,
.pageBodyKontroler--admin textarea {
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-sm);
    padding: 9px 12px;
    font-size: 0.875rem;
    color: var(--rl-text);
    background: var(--rl-bg-elevated);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pageBodyKontroler--admin input:focus,
.pageBodyKontroler--admin select:focus,
.pageBodyKontroler--admin textarea:focus {
    outline: none;
    border-color: var(--rl-primary);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12);
}

.pageBodyKontroler--admin .settingsusers-button,
.pageBodyKontroler--admin .settingsusers-invite-button,
.pageBodyKontroler--admin .videolistadmin_btn-primary,
.pageBodyKontroler--admin .pay-button-invoices-small {
    border-radius: var(--rl-radius-sm);
    font-weight: 600;
}

.pageBodyKontroler--admin .settingsusers-invite-button,
.pageBodyKontroler--admin .videolistadmin_btn-primary {
    background: var(--rl-primary-gradient) !important;
    color: #fff !important;
    border: none;
}

.pageBodyKontroler--admin .table-container {
    overflow-x: auto;
    border-radius: var(--rl-radius-md);
    border: 1px solid var(--rl-border);
    box-shadow: var(--rl-shadow-sm);
    background: var(--rl-bg-elevated);
}

.pageBodyKontroler--admin .price-card-pageHeadText {
    text-align: left !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--rl-text) !important;
    margin: 0 0 16px !important;
}

.pageBodyKontroler--admin .price-card-pageHeadText h2 {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

.pageBodyKontroler--admin .faktury-container {
    padding: 0;
    font-family: inherit;
}

.pageBodyKontroler--admin .impersonace-analytics-hub {
    margin: 0 0 16px;
    padding: 14px 16px;
    background: var(--rl-bg-elevated);
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
    box-shadow: var(--rl-shadow-sm);
}

.pageBodyKontroler--admin .impersonace-analytics-hub ul {
    margin: 10px 0 0;
    padding-left: 20px;
    line-height: 1.9;
}

/* Utility */
.is-hidden { display: none !important; }
.rl-text-right { text-align: right; }

.rl-chart-stack {
    display: flex;
    flex-direction: column;
    height: auto !important;
    min-height: 0;
}

.rl-chart-canvas-wrap {
    position: relative;
    flex-grow: 0 !important;
    flex-shrink: 0;
    width: 100%;
    height: 260px;
    min-height: 220px;
    max-height: 320px;
    box-sizing: border-box;
}

/* Vnější panel grafu nesmí dědit pevnou výšku canvas wrapu */
.pageBodyKontroler--admin .pageBodyStatsAdminGraphInside.rl-chart-canvas-wrap,
.pageBodyKontroler--admin .pageBodyOverviewAdminGraphInside.rl-chart-canvas-wrap,
.pageBodyKontroler--admin .pageDashboardPageBodyStatsBody.rl-chart-canvas-wrap {
    height: auto !important;
    min-height: 0;
    max-height: none;
}

.pageBodyKontroler--admin .pageBodyStatsAdminGraphInside .rl-chart-canvas-wrap,
.pageBodyKontroler--admin .pageBodyOverviewAdminGraphInside .rl-chart-canvas-wrap {
    height: 260px;
    min-height: 220px;
    max-height: 320px;
}

/* Chart.js — pevná výška jen kreslící plochy */
.pageBodyKontroler--admin .pageBodyStatsAdminGraphItem.rl-chart-stack,
.pageBodyKontroler--admin .pageBodyOverviewAdminGraphItem.rl-chart-stack,
.pageBodyKontroler--admin .pageDashboardPageBodyStats {
    height: auto !important;
    min-height: 0;
}

.pageBodyKontroler--admin .chart-container {
    position: relative !important;
    flex-grow: 0 !important;
    flex-shrink: 0;
    width: 100% !important;
    height: 260px !important;
    min-height: 220px !important;
    max-height: 320px;
    box-sizing: border-box;
}

.pageBodyKontroler--admin .chart-container canvas {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-height: 100%;
}

.pageBodyKontroler--admin .rl-admin-filter-bar,
.pageBodyKontroler--admin .firms-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-end;
    margin-bottom: 16px;
}

.pageBodyKontroler--admin .firms-access-badge,
.pageBodyKontroler--admin .erfm-churn-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
}

.pageBodyKontroler--admin .firms-access-badge--active { background: #dcfce7; color: #166534; }
.pageBodyKontroler--admin .firms-access-badge--trial { background: #fef9c3; color: #854d0e; }
.pageBodyKontroler--admin .firms-access-badge--nopay { background: #fee2e2; color: #991b1b; }
.pageBodyKontroler--admin .firms-access-badge--blocked { background: #e2e8f0; color: #475569; }
.pageBodyKontroler--admin .erfm-churn-badge--low { background: #dcfce7; color: #166534; }
.pageBodyKontroler--admin .erfm-churn-badge--medium { background: #fef9c3; color: #854d0e; }
.pageBodyKontroler--admin .erfm-churn-badge--high { background: #ffedd5; color: #c2410c; }
.pageBodyKontroler--admin .erfm-churn-badge--critical { background: #fee2e2; color: #991b1b; }
/* NAST-19: prázdný stav („Zatím nevíme") — neutrální šedá, ne zelená nízkého rizika. */
.pageBodyKontroler--admin .erfm-churn-badge--unknown { background: #e2e8f0; color: #475569; }

.pageBodyKontroler--admin .clickable-row { cursor: pointer; }
.pageBodyKontroler--admin .clickable-row:hover { background: var(--rl-bg-subtle, #f8fafc); }
.pageBodyKontroler--admin .detail-row td {
    padding: 12px 20px;
    background: #f1f5f9;
}

.pageBodyKontroler--admin .impersonaceadminTable {
    width: 100%;
    border-collapse: collapse;
}

.pageBodyKontroler--admin .impersonaceadminTable th,
.pageBodyKontroler--admin .impersonaceadminTable td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--rl-border);
    text-align: left;
}

.pageBodyKontroler--admin .impersonaceadminTable th {
    background: #f1f5f9;
    color: var(--rl-text);
    font-weight: 600;
    font-size: 0.8125rem;
}

.pageBodyKontroler--admin .badge {
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
}

.pageBodyKontroler--admin .badge-success { background: #dcfce7; color: #166534; }
.pageBodyKontroler--admin .badge-danger { background: #fee2e2; color: #991b1b; }
.pageBodyKontroler--admin .cena {
    font-weight: 600;
    color: var(--rl-text);
    font-variant-numeric: tabular-nums;
}

.pageBodyKontroler--admin .faktury-actions-cell {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.pageBodyKontroler--admin .faktury-summary {
    padding: 12px 16px;
    border-radius: var(--rl-radius-sm);
    margin-bottom: 16px;
}

.pageBodyKontroler--admin .faktury-summary--ok { background: #ecfdf5; color: #166534; }
.pageBodyKontroler--admin .faktury-summary--warn { background: #fef2f2; color: #991b1b; }
.pageBodyKontroler--admin .faktury-summary--overdue { background: #ffedd5; color: #c2410c; }
.pageBodyKontroler--admin .table-faktury tr.row-overdue-warn { background: #fffbeb; }
.pageBodyKontroler--admin .table-faktury tr.row-overdue-urgent { background: #ffedd5; }
.pageBodyKontroler--admin .table-faktury tr.row-overdue-critical { background: #fee2e2; }
.pageBodyKontroler--admin .overdue-badge { font-size: 0.8rem; font-weight: 600; color: #c2410c; }
.pageBodyKontroler--admin .faktury-status--paid { color: #15803d; font-weight: 700; }
.pageBodyKontroler--admin .faktury-status--cancelled { color: #721c24; font-weight: 700; font-size: 13px; }

.pageBodyKontroler--admin .erfm-table-wrap.rl-admin-table-wrap {
    margin-bottom: 0;
}

/* Video tutoriály admin */
.pageBodyKontroler--admin .videotutorials-admin {
    max-width: 960px;
}

.pageBodyKontroler--admin .vt-admin__header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--rl-border);
}

.pageBodyKontroler--admin .vt-admin__title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--rl-text);
    line-height: 1.35;
}

.pageBodyKontroler--admin .vt-admin__alert {
    padding: 12px 16px;
    border-radius: var(--rl-radius-sm);
    margin-bottom: 16px;
    font-size: 0.875rem;
    border: 1px solid transparent;
}

.pageBodyKontroler--admin .vt-admin__alert--success {
    background: #ecfdf5;
    border-color: #86efac;
    color: #166534;
}

.pageBodyKontroler--admin .vt-admin__alert--error {
    background: #fef2f2;
    border-color: #fca5a5;
    color: #991b1b;
}

.pageBodyKontroler--admin .vt-admin__preview {
    margin-bottom: 24px;
    padding: 16px;
    background: #f8fafc;
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
}

.pageBodyKontroler--admin .vt-admin__preview-title {
    margin: 0 0 12px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--rl-text);
}

.pageBodyKontroler--admin .vt-admin__embed {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    border-radius: var(--rl-radius-sm);
    overflow: hidden;
    box-shadow: var(--rl-shadow-sm);
}

.pageBodyKontroler--admin .vt-admin__embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid var(--rl-primary);
    border-radius: var(--rl-radius-sm);
}

.pageBodyKontroler--admin .vt-admin__preview-hint {
    margin: 10px 0 0;
    font-size: 0.8125rem;
    color: var(--rl-text-muted);
}

.pageBodyKontroler--admin .vt-admin__form {
    padding: 20px;
    background: var(--rl-bg-elevated);
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
    box-shadow: var(--rl-shadow-sm);
}

.pageBodyKontroler--admin .vt-admin__field {
    margin-bottom: 18px;
}

.pageBodyKontroler--admin .vt-admin__label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--rl-text);
}

.pageBodyKontroler--admin .vt-admin__label--inline {
    margin-bottom: 2px;
}

.pageBodyKontroler--admin .vt-admin__hint {
    margin: 4px 0 0;
    font-size: 0.8125rem;
    color: var(--rl-text-muted);
}

.pageBodyKontroler--admin .vt-admin__input,
.pageBodyKontroler--admin .vt-admin__textarea {
    width: 100%;
    box-sizing: border-box;
}

.pageBodyKontroler--admin .vt-admin__url-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
}

.pageBodyKontroler--admin .vt-admin__url-row .vt-admin__input {
    flex: 1;
    min-width: 200px;
}

.pageBodyKontroler--admin .vt-admin__checkbox-row {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-bottom: 8px;
}

.pageBodyKontroler--admin .vt-admin__checkbox-row input[type="checkbox"] {
    margin-top: 3px;
    flex-shrink: 0;
}

.pageBodyKontroler--admin .vt-admin__actions {
    padding-top: 8px;
}

.pageBodyKontroler--admin .vt-admin__submit {
    width: 100%;
    padding: 12px 20px;
    border: none;
    border-radius: var(--rl-radius-sm);
    background: var(--rl-primary-gradient);
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: var(--rl-shadow-sm);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.pageBodyKontroler--admin .vt-admin__submit:hover {
    opacity: 0.92;
}

.pageBodyKontroler--admin .vt-admin__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 16px;
    border-radius: var(--rl-radius-sm);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    color: #fff;
    white-space: nowrap;
}

.pageBodyKontroler--admin .vt-admin__btn--danger {
    background: #dc2626;
}

.pageBodyKontroler--admin .vt-admin__btn--danger:hover {
    background: #b91c1c;
}

.pageBodyKontroler--admin .vt-admin__btn--warning {
    background: #d97706;
}

.pageBodyKontroler--admin .vt-admin__btn--warning:hover {
    background: #b45309;
}

.pageBodyKontroler--admin .videodetailadmin_videoDetailFormContainer {
    width: 100%;
    max-width: none;
    margin: 0;
    border: 1px solid var(--rl-border-strong);
    border-left: 4px solid #5a67d8;
    border-radius: var(--rl-radius-md);
    box-shadow: var(--rl-shadow-md);
    background: var(--rl-bg-elevated);
    overflow: hidden;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .pageHeadText {
    color: #5a67d8;
}

.pageBodyKontroler--admin .videodetailadmin_videoDetailFormContainerBody {
    padding: 16px 20px 24px;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_videoDetailForm input[type="text"],
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_videoDetailForm input[type="url"],
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_videoDetailForm textarea {
    width: 100%;
    box-sizing: border-box;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_videoDetailForm textarea {
    min-height: 100px;
    resize: vertical;
}

@media (max-width: 768px) {
    .pageBodyKontroler--admin .pageBody,
    .pageBodyKontroler--admin .pageBody--admin,
    .pageBodyKontroler--admin #pageBody,
    .pageBodyKontroler--admin .videolistadmin_pageBody,
    .pageBodyKontroler--admin .impersonaceadminBody,
    .pageBodyKontroler--admin .videodetailadmin_pageBody,
    .pageBodyKontroler--admin .ordercompleteadmin_container {
        padding: 6px 10px 20px;
    }

    .pageBodyKontroler--admin .pageHeadText,
    .pageBody--admin .pageHeadText {
        font-size: 1.125rem !important;
        margin-bottom: 12px !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   FÁZE 5 – eRFM, analytics, HITL moduly
   ═══════════════════════════════════════════════════════════ */

.erfm-page {
    --erfm-accent: var(--rl-primary);
    --erfm-accent-soft: var(--rl-primary-soft);
    --erfm-bg: var(--rl-bg);
    --erfm-text: var(--rl-text);
    --erfm-muted: var(--rl-text-muted);
    --erfm-shadow: var(--rl-shadow-md);
}

.erfm-cta {
    background: var(--rl-primary-gradient);
    border-color: transparent;
    color: #fff !important;
}

button.erfm-btn-secondary:hover,
.erfm-btn-secondary:hover:not(.erfm-cta) {
    background: #f8fafc !important;
    border-color: #94a3b8 !important;
    color: #334155 !important;
}

a.erfm-cta:hover {
    color: #fff !important;
}

.erfm-vertical-btn.is-active {
    background: var(--rl-primary);
    border-color: var(--rl-primary);
}

.erfm-crm__tab.is-active {
    border-color: var(--rl-primary);
    color: var(--rl-primary);
}

.erfm-crm__back {
    color: var(--rl-primary);
}

.pb-badge--active,
.pb-badge--published {
    background: var(--rl-primary-soft);
    color: var(--rl-primary);
}

/* Analytics dashboard */
.analytics-platform-nav {
    background: var(--rl-bg-elevated);
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
}

.analytics-platform-nav__link:hover {
    background: var(--rl-primary-soft);
    border-color: rgba(29, 78, 216, 0.2);
    color: var(--rl-primary);
}

.analytics-platform-nav__link.is-active {
    background: var(--rl-primary-gradient);
    color: #fff;
    border-color: transparent;
}

.kpi-card {
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
    box-shadow: var(--rl-shadow-sm);
    background: var(--rl-bg-elevated);
}

.analytics-chart-box {
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-md);
    box-shadow: var(--rl-shadow-sm);
}

.analytics-dashboard__title {
    color: var(--rl-text);
    font-weight: 700;
}

/* HITL modal */
.hitl-modal__backdrop {
    backdrop-filter: blur(4px);
}

.hitl-modal__dialog {
    border-radius: var(--rl-radius-lg);
    box-shadow: var(--rl-shadow-lg);
}

.hitl-modal__btn--primary {
    background: var(--rl-primary-gradient);
    border-color: transparent;
    color: #fff;
}

/* OFC checklist widget */
.ofc-checklist__bar-fill {
    background: var(--rl-primary-gradient);
}

/* ═══════════════════════════════════════════════════════════
   FÁZE 6b – Legacy admin komponenty (sjednocení zbytku)
   ═══════════════════════════════════════════════════════════ */

/* Přehledové grafy – stejný vzhled jako statistiky */
.pageBodyKontroler--admin .pageBodyOverviewAdminGraph {
    display: grid;
    gap: 16px;
    width: 100%;
    margin: 0;
    padding: 0;
}

.pageBodyKontroler--admin .pageBodyOverviewAdminGraph > .clear {
    display: none;
}

/* Dashboard stats karty (legacy pageDashboardPageBodyStats) */
.pageBodyKontroler--admin .pageDashboardPageBodyStatsHead {
    margin: 0;
    padding: 0;
}

.pageBodyKontroler--admin .pageDashboardPageBodyStatsHeadTitle {
    background: var(--rl-primary-gradient) !important;
    color: #fff !important;
    box-shadow: none !important;
    font-weight: 700;
    font-size: 0.9375rem;
    padding: 13px 16px;
    border-bottom: none;
    text-transform: none;
    letter-spacing: normal;
}

/* RESP-02 (tester 2026-08-17): `margin-left: 5px` k šířce 100 % znamenalo, že
   plátno grafu přesahovalo kartu o 5 px a ta má `overflow: hidden` — pravý okraj
   grafu se ořezával ve všech šířkách. Odsazení kartu stejně nepotřebuje. */
.pageBodyKontroler--admin .pageDashboardPageBodyStatsBody {
    padding: 0;
    height: auto !important;
    min-height: 0;
    background: transparent;
}

/* Legacy modré hlavičky → sjednocený admin styl */
.pageBodyKontroler--admin .pageSettingsPageBodyUserHead,
.pageBodyKontroler--admin .pageSettingsPageBodyUserHeadTitle,
.pageBodyKontroler--admin .pageSettingsPageBodyPwaSettingsHeadTitle,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerHeadTitle,
.pageBodyKontroler--admin .pageSettingsSlevovekuponyadminHeadTitle,
.pageBodyKontroler--admin .pageBodyMapHeadTitle {
    background: linear-gradient(90deg, var(--rl-primary-soft) 0%, #f8fafc 55%) !important;
    color: var(--rl-text) !important;
    box-shadow: none !important;
    font-weight: 700;
    font-size: 0.9375rem;
    padding: 14px 16px;
    border-bottom: 1px solid var(--rl-border-strong);
    text-transform: none;
    letter-spacing: normal;
    border-radius: 0;
}

/* Skrýt duplicitní vnitřní nadpisy, pokud stránka má pageHeadText */
.pageBodyKontroler--admin .pageBody--admin:has(> .pageHeadText) .pageSettingsPageBodyBannerHeadTitle,
.pageBodyKontroler--admin .pageBody--admin:has(> .pageHeadText) .pageSettingsPageBodyPwaSettingsHeadTitle,
.pageBodyKontroler--admin .pageBody--admin:has(> .pageHeadText) .pageSettingsSlevovekuponyadminHeadTitle,
.pageBodyKontroler--admin .pageBody--admin:has(> .pageHeadText) .pageSettingsPageBodyUserHead {
    display: none;
}

.pageBodyKontroler--admin .pageBody--admin:has(> .pageHeadText) .pageSettingsPageBodyUserHead + .clear {
    display: none;
}

/* Nastavení – karty na celou šířku */
.pageBodyKontroler--admin .pageSettingsPageBodyUser,
.pageBodyKontroler--admin .pageSettingsPageBodyPwaSettings,
.pageBodyKontroler--admin .pageSettingsSlevovekuponyadminPageBody,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner,
.pageBodyKontroler--admin .pageSettingsAbandonedcartPageBody {
    margin: 0;
    width: 100%;
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-md);
    box-shadow: var(--rl-shadow-md);
    background: var(--rl-bg-elevated);
    overflow: hidden;
}

.pageBodyKontroler--admin .pageSettingsPageBodyUserBody,
.pageBodyKontroler--admin .pageSettingsPageBodyPwaSettingsHeadBody,
.pageBodyKontroler--admin .pageSettingsSlevovekuponyadminHeadBody,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerHeadBody {
    padding: 16px;
    box-shadow: none !important;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerHead {
    padding: 0;
    background: transparent;
    box-shadow: none !important;
}

/* Formuláře nastavení – inputy na celou šířku */
.pageBodyKontroler--admin .pwa_settings_form,
.pageBodyKontroler--admin .slevovekuponyadmin_settings_form,
.pageBodyKontroler--admin .abandonedcart_settings_form {
    width: 100%;
}

.pageBodyKontroler--admin .pwa_settings_input,
.pageBodyKontroler--admin .pwa_settings_textarea,
.pageBodyKontroler--admin .pwa_settings_view_app,
.pageBodyKontroler--admin .pwa_settings_notification_view,
.pageBodyKontroler--admin .slevovekuponyadmin_settings_input,
.pageBodyKontroler--admin .slevovekuponyadmin_settings_notification_slevovekuponyadmin,
.pageBodyKontroler--admin .pageSettingsPageBodyUserBody input[type="text"],
.pageBodyKontroler--admin .pageSettingsPageBodyUserBody input[type="email"],
.pageBodyKontroler--admin .pageSettingsPageBodyUserBody select,
.pageBodyKontroler--admin .pageSettingsPageBodyUserBody textarea {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    display: block;
}

.pageBodyKontroler--admin .pwa_settings_field-group,
.pageBodyKontroler--admin .slevovekuponyadmin_settings_field-group {
    margin-bottom: 16px;
    width: 100%;
}

.pageBodyKontroler--admin .pwa_settings_label,
.pageBodyKontroler--admin .slevovekuponyadmin_settings_label,
.pageBodyKontroler--admin .pageSettingsPageBodyUserNameTitle {
    display: block;
    margin-bottom: 6px;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--rl-text);
}

.pageBodyKontroler--admin .pwa_settings_submit-btn,
.pageBodyKontroler--admin .slevovekuponyadmin_settings_submit-btn,
.pageBodyKontroler--admin .pageSettingsPageBodyUserSaveButton input[type="submit"] {
    background: var(--rl-primary-gradient) !important;
    color: #fff !important;
    border: none;
    border-radius: var(--rl-radius-sm);
    padding: 10px 18px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: var(--rl-shadow-sm);
}

/* ------------------------------------------------------------------ *
 * Vlastní stylovaný select (.rl-select)
 * Nahrazuje nativní OS picker (na mobilu bílý overlay s radio buttony,
 * který vypadává z designu). Nativní <select> zůstává v DOM skrytý –
 * odesílá se s formulářem a slouží jako fallback bez JS.
 * Progresivní vylepšení: bez JS se zobrazí normální nativní <select>.
 * ------------------------------------------------------------------ */
.rl-select { position: relative; width: 100%; }

.rl-select__native {
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
    margin: 0; padding: 0; border: 0;
    opacity: 0; pointer-events: none;
}

.rl-select__trigger {
    display: flex; align-items: center; gap: 10px;
    width: 100%; box-sizing: border-box;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 14px; line-height: 1.4;
    font-family: inherit;
    color: var(--rl-text, #0F172A);
    text-align: left; cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.rl-select__trigger:hover { border-color: var(--rl-border-strong, #CBD5E1); }
.rl-select.is-open .rl-select__trigger,
.rl-select__trigger:focus-visible {
    outline: none;
    border-color: var(--rl-primary, #1D4ED8);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12);
}

.rl-select__label {
    flex: 1 1 auto; min-width: 0;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* RESP-03 (tester 2026-08-17): české popisky voleb jsou dlouhé („Vypnuto
   (Nezobrazovat výzvu ke stažení aplikace)") a na telefonu se ořezávaly třemi
   tečkami — uživatel neviděl, co má vlastně nastavené. Pod 640 px se radši
   zalomí na víc řádků. */
@media (max-width: 640px) {
    .rl-select__trigger { align-items: flex-start; }
    .rl-select__label { overflow: visible; text-overflow: clip; white-space: normal; }
    .rl-select__chevron { margin-top: 2px; }
}
.rl-select__chevron {
    flex: 0 0 auto; display: inline-flex;
    color: var(--rl-text-muted, #64748b);
    transition: transform .18s ease;
}
.rl-select.is-open .rl-select__chevron { transform: rotate(180deg); }

.rl-select__panel {
    position: absolute; z-index: 60; top: calc(100% + 6px); left: 0; right: 0;
    background: #fff;
    border: 1px solid var(--rl-border, #E2E8F0);
    border-radius: var(--rl-radius-md, 12px);
    box-shadow: var(--rl-shadow-md, 0 4px 16px rgba(15, 23, 42, 0.08));
    padding: 6px;
    max-height: 280px; overflow-y: auto;
    opacity: 0; transform: translateY(-6px); pointer-events: none;
    transition: opacity .16s ease, transform .16s ease;
}
.rl-select.is-open .rl-select__panel { opacity: 1; transform: translateY(0); pointer-events: auto; }

.rl-select__option {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 10px 12px; border-radius: 8px;
    font-size: 14px; line-height: 1.4;
    color: var(--rl-text, #0F172A);
    cursor: pointer; user-select: none;
}
.rl-select__option:hover,
.rl-select__option.is-active { background: #f1f5f9; }
.rl-select__option.is-selected { color: var(--rl-primary, #1D4ED8); font-weight: 600; }

.rl-select__check {
    flex: 0 0 auto; display: inline-flex; margin-top: 1px;
    color: var(--rl-primary, #1D4ED8);
    opacity: 0; transition: opacity .12s ease;
}
.rl-select__option.is-selected .rl-select__check { opacity: 1; }
.rl-select__optext { flex: 1 1 auto; min-width: 0; }

/* Instalace – accordion karty (hlavička a šipky viz sjednocený accordion výše) */
.pageBodyKontroler--admin .pageBodyInstallAdminInside {
    padding: 16px;
}

.pageBodyKontroler--admin .pageBodyInstallAdminInside.is-hidden {
    display: none !important;
}

/* Mapa statistik */
.pageBodyKontroler--admin #pageBodyMap,
.pageBodyKontroler--admin .pageBodyText#pageBodyMap {
    width: 100%;
    margin: 0;
    padding: 0;
}

.pageBodyKontroler--admin #statsmapadminMapa {
    width: 100%;
    min-height: 420px;
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-md);
    box-shadow: var(--rl-shadow-md);
    margin-top: 12px;
}

/* Analytics tabulky v admin shellu */
.pageBodyKontroler--admin .analytics-health-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.pageBodyKontroler--admin .analytics-health-table th {
    background: #f1f5f9;
    color: var(--rl-text);
    font-weight: 600;
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid var(--rl-border-strong);
}

.pageBodyKontroler--admin .analytics-health-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--rl-border);
}

.pageBodyKontroler--admin .analytics-dashboard__title {
    font-size: 1.25rem;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--rl-border);
}

.pageBodyKontroler--admin .analytics-section h3,
.pageBodyKontroler--admin .analytics-section__subtitle {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--rl-text);
    margin: 16px 0 8px;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerDown,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown {
    padding: 0;
    margin: 0;
    background: transparent;
    box-shadow: none !important;
}

/* ═══════════════════════════════════════════════════════════
   FÁZE 6e – Spodní menu admin (viewsetbottommenuadmin)
   Kompaktní moderní UI bez změny HTML struktury
   ═══════════════════════════════════════════════════════════ */

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .clear {
    display: none;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodySelectBanner {
    padding: 0 0 12px;
    border-bottom: 1px solid var(--rl-border);
    margin-bottom: 14px;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .form-group label,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodySelectBanner label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--rl-text-secondary);
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodySelectBanner .form-group {
    width: 100%;
}

/* UIUX-17: viz #bannerType — zkratka `background` mazala vlastní šipku selectu. */
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown #bannerMenuDownType {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding: 8px 38px 8px 12px;
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-sm);
    font-size: 0.875rem;
    font-family: inherit;
    color: var(--rl-text);
    background-color: var(--rl-bg-elevated);
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown #bannerMenuDownType:focus {
    outline: none;
    border-color: var(--rl-primary);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15);
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodySelectBannerTypeBody {
    padding: 0;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodySelectBannerTypeBodyTextTitle {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rl-text-muted);
    margin: 0 0 8px;
    text-align: left;
    width: auto !important;
    max-width: none;
    white-space: normal;
}

/* Řádky ikon */
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .menu-banner-icon-setting {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin: 0 0 6px;
    padding: 8px 10px;
    background: #f8fafc;
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-sm);
    transition: border-color 0.15s ease, background 0.15s ease;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .menu-banner-icon-setting:hover {
    border-color: rgba(29, 78, 216, 0.22);
    background: #fff;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .menu-banner-icon-setting > label {
    flex: 1 1 140px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    float: none !important;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--rl-text);
    line-height: 1.3;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .menu-banner-icon-setting > label i {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rl-primary-soft);
    color: var(--rl-primary);
    border-radius: 7px;
    font-size: 0.75rem;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .menu-banner-icon-setting-showicon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    float: none !important;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .menu-banner-icon-setting-showicon label {
    float: none !important;
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--rl-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    user-select: none;
}

/* Přepínač místo checkboxu.
   Pravidlo bylo přivázané na `.pageSettingsPageBodyBannerMenuDown`, takže platilo jen na
   Spodním menu — na Horní liště se stejný ovládací prvek stylovat nezačal. Navíc obecné
   `body.is-admin .pageBodyKontroler--admin input[type="checkbox"]` (18×18 px, vyšší
   specificita) přebíjelo rozměry dráhy: z 34×20 zbyl čtvereček 18×18 a bílé kolečko 16 px
   z něj po zapnutí vylezlo doprava. Tak to tester 2026-08-14 vyfotil. Selektor teď míří na
   třídu bez vazby na stránku a specificitou obecné pravidlo přebíjí. */
body.is-admin .pageBodyKontroler--admin input[type="checkbox"].showIconButtonInput {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    width: 34px;
    height: 20px;
    min-width: 34px;
    min-height: 20px;
    margin: 0 !important;
    float: none !important;
    border: none;
    border-radius: 999px;
    background: #cbd5e1;
    cursor: pointer;
    transition: background 0.2s ease;
    flex-shrink: 0;
}

body.is-admin .pageBodyKontroler--admin input[type="checkbox"].showIconButtonInput::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.2);
    transition: transform 0.2s ease;
}

body.is-admin .pageBodyKontroler--admin input[type="checkbox"].showIconButtonInput:checked {
    background: var(--rl-primary);
}

body.is-admin .pageBodyKontroler--admin input[type="checkbox"].showIconButtonInput:checked::before {
    transform: translateX(14px);
}

body.is-admin .pageBodyKontroler--admin input[type="checkbox"].showIconButtonInput:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.25);
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .menu-banner-icon-setting > input[type="text"] {
    flex: 1 1 100%;
    width: 100%;
    margin: 2px 0 0;
    padding: 7px 10px;
    border: 1px solid var(--rl-border-strong);
    border-radius: 6px;
    font-size: 0.8125rem;
    font-family: inherit;
    color: var(--rl-text);
    background: var(--rl-bg-elevated);
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .menu-banner-icon-setting > input[type="text"]:focus {
    outline: none;
    border-color: var(--rl-primary);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12);
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .menu-banner-icon-setting > input[type="hidden"] {
    display: none;
}

/* Accordion – jemné, kompaktní */
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .collapseButtonAddsIconsOpen,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .collapseButtonAddsIconsClose,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .collapseButtonSocialIconsOpen,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .collapseButtonSocialIconsClose {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 7px 12px;
    margin: 8px 0 4px;
    border: 1px solid rgba(29, 78, 216, 0.18) !important;
    border-radius: var(--rl-radius-sm);
    background: var(--rl-primary-soft) !important;
    color: var(--rl-primary) !important;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
    box-shadow: none !important;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .collapseButtonAddsIconsOpen:hover,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .collapseButtonAddsIconsClose:hover,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .collapseButtonSocialIconsOpen:hover,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .collapseButtonSocialIconsClose:hover {
    background: #e0e7ff !important;
    border-color: rgba(29, 78, 216, 0.3) !important;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .collapseButtonAddsIconsOpen i,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .collapseButtonAddsIconsClose i,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .collapseButtonSocialIconsOpen i,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .collapseButtonSocialIconsClose i {
    font-size: 0.6875rem;
    opacity: 0.75;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .blockButtonsAddsIcons,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .blockButtonsSocialIcons {
    padding: 2px 0 4px;
}

/* Barvy – dvousloupcová mřížka */
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodyBannerMenuDownTextColorBody {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    clear: both;
    width: 100%;
    box-sizing: border-box;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--rl-border);
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodyBannerMenuDownTextColor,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodyBannerMenuDownBackgroundColor {
    float: none !important;
    width: auto !important;
    min-width: 0;
    box-sizing: border-box;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodySelectBannerTypeBodyTextColorInput {
    display: flex !important;
    align-items: center;
    gap: 8px;
    width: 100%;
    float: none !important;
    clear: both;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodySelectBannerTypeBodyTextColorInput input {
    float: none !important;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodySelectBannerTypeBodyTextColorInput input[type="color"] {
    flex-shrink: 0;
    width: 36px !important;
    height: 36px !important;
    padding: 2px;
    border: 2px solid var(--rl-border-strong);
    border-radius: 8px;
    cursor: pointer;
    background: var(--rl-bg-elevated);
    float: none;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .color-picker-input-text {
    flex: 1;
    min-width: 0;
    width: auto !important;
    max-width: none !important;
    height: 34px;
    margin: 0 !important;
    padding: 0 10px;
    border: 1px solid var(--rl-border-strong);
    border-radius: 6px;
    font-size: 0.8125rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    text-transform: uppercase;
    float: none;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .color-picker-input-text:focus {
    outline: none;
    border-color: var(--rl-primary);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12);
}

/* Náhled – mobilní rámeček */
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodyBannerPreviewMenu {
    margin-top: 16px;
    padding: 14px 14px 10px;
    background: linear-gradient(180deg, #f1f5f9 0%, #e8edf4 100%);
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-md);
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodyBannerMenuDownPreviewTitle {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rl-text-muted);
    margin-bottom: 10px;
    text-align: left;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown #bannerPreviewBannerMenuDown.banner-preview_banner_down {
    width: 100%;
    max-width: 360px;
    height: 48px !important;
    margin: 0 auto;
    border: none !important;
    border-radius: 0 0 14px 14px;
    box-shadow:
        0 8px 24px rgba(15, 23, 42, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.15);
    overflow: hidden;
    position: relative;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown #bannerPreviewBannerMenuDown.banner-preview_banner_down::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% + 24px);
    height: 10px;
    background: #1e293b;
    border-radius: 12px 12px 0 0;
    opacity: 0.08;
    pointer-events: none;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .banner-menu-buttons {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    width: 100%;
    height: 100%;
    padding: 0 6px;
    box-sizing: border-box;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .banner-menu-button,
.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .banner-menu-button-social {
    float: none !important;
    margin: 0 !important;
    font-size: 1.125rem !important;
    line-height: 1;
    opacity: 0.95;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodyBannerMenuDownSaveButton {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--rl-border);
}

.pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodyBannerMenuDownSaveButton .btn.primary {
    min-width: 140px;
    padding: 9px 20px;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: var(--rl-radius-sm);
    box-shadow: 0 3px 12px rgba(29, 78, 216, 0.22);
}

@media (max-width: 560px) {
    .pageBodyKontroler--admin .pageSettingsPageBodyBannerMenuDown .pageSettingsPageBodyBannerMenuDownTextColorBody {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════════════════════════════════════════
   FÁZE 6f – Horní a dolní lišta admin
   (viewsettopbaradmin, viewsetbottombaradmin)
   ═══════════════════════════════════════════════════════════ */

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .clear {
    display: none;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodySelectBanner {
    padding: 0 0 12px;
    border-bottom: 1px solid var(--rl-border);
    margin-bottom: 14px;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .form-group {
    width: 100%;
    margin: 0;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .form-group label,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodySelectBanner > label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--rl-text-secondary);
}

/**
 * UIUX-17: tenhle blok přebíjel zkratkou `background` pravidlo s vlastní šipkou
 * (riselify-admin-modern.css → `body.is-admin .pageBodyKontroler--admin select`).
 * Zkratka smázla background-image, takže selecty na Horní/Dolní liště a Spodním menu
 * neměly žádnou šipku a vypadaly jako běžné textové pole — uživatel netušil, že jde
 * rozbalit. Proto `background-color` místo `background` a šipka explicitně zpátky.
 */
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerType,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerDownType,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerMenuDownType {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding: 8px 38px 8px 12px;
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-sm);
    font-size: 0.875rem;
    font-family: inherit;
    color: var(--rl-text);
    background-color: var(--rl-bg-elevated);
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerType:focus,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerDownType:focus {
    outline: none;
    border-color: var(--rl-primary);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15);
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodySelectBannerTypeBody {
    padding: 0;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodySelectBannerTypeBodyTextTitle {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rl-text-muted);
    margin: 0 0 6px;
    text-align: left;
    width: auto !important;
    max-width: none;
    white-space: normal;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodySelectBannerTypeBodyText,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodySelectBannerTypeBodyImg,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #urlInputContainer,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #urlInputContainerDownBanner {
    margin-bottom: 12px;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodySelectBannerTypeBodyTextInput input[type="text"],
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerText,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerDownText,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerUrl,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerDownUrl {
    width: 100% !important;
    box-sizing: border-box;
    padding: 8px 12px;
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-sm);
    font-size: 0.875rem;
    font-family: inherit;
    color: var(--rl-text);
    background: var(--rl-bg-elevated);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodySelectBannerTypeBodyTextInput input[type="text"]:focus,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerText:focus,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerDownText:focus,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerUrl:focus,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerDownUrl:focus {
    outline: none;
    border-color: var(--rl-primary);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12);
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodySelectBannerTypeBodyTextInput input[type="file"],
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerImage,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerDownImage {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px dashed var(--rl-border-strong);
    border-radius: var(--rl-radius-sm);
    font-size: 0.8125rem;
    font-family: inherit;
    color: var(--rl-text-secondary);
    background: #f8fafc;
    cursor: pointer;
}

/* Přepínač „Lišta je s odkazem“ */
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerClickable,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerDownClickable {
    margin: 4px 0 10px;
    padding: 8px 10px;
    background: #f8fafc;
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-sm);
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerClickable .form-group,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerDownClickable .form-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerClickable .form-group label,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerDownClickable .form-group label {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--rl-text);
    float: none !important;
    order: 1;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #isClickable,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #isDownBannerClickable {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    width: 34px;
    height: 20px;
    margin: 0 !important;
    float: none !important;
    border: none;
    border-radius: 999px;
    background: #cbd5e1;
    cursor: pointer;
    transition: background 0.2s ease;
    flex-shrink: 0;
    order: 2;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #isClickable::before,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #isDownBannerClickable::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.2);
    transition: transform 0.2s ease;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #isClickable:checked,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #isDownBannerClickable:checked {
    background: var(--rl-primary);
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #isClickable:checked::before,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #isDownBannerClickable:checked::before {
    transform: translateX(14px);
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #isClickable:focus-visible,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #isDownBannerClickable:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.25);
}

/* Barvy – mřížka */
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerClickable,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerDownClickable,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #urlInputContainer,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #urlInputContainerDownBanner {
    clear: both;
    width: 100%;
    box-sizing: border-box;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerDownTextColorBody {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    clear: both;
    width: 100%;
    box-sizing: border-box;
    margin-top: 4px;
    padding-top: 14px;
    border-top: 1px solid var(--rl-border);
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerTextColor,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerBackgroundColor,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerDownTextColor,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerDownBackgroundColor {
    float: none !important;
    width: auto !important;
    min-width: 0;
    box-sizing: border-box;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .color-picker-container {
    display: block;
    width: 100%;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodySelectBannerTypeBodyTextColorInput {
    display: flex !important;
    align-items: center;
    gap: 8px;
    width: 100%;
    text-align: left;
    float: none !important;
    clear: both;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodySelectBannerTypeBodyTextColorInput input {
    float: none !important;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodySelectBannerTypeBodyTextColorInput input[type="color"] {
    flex-shrink: 0;
    width: 36px !important;
    height: 36px !important;
    padding: 2px;
    border: 2px solid var(--rl-border-strong);
    border-radius: 8px;
    cursor: pointer;
    background: var(--rl-bg-elevated);
    float: none;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .color-picker-input-text {
    flex: 1;
    min-width: 0;
    width: auto !important;
    max-width: none !important;
    height: 34px;
    margin: 0 !important;
    padding: 0 10px;
    border: 1px solid var(--rl-border-strong);
    border-radius: 6px;
    font-size: 0.8125rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    text-transform: uppercase;
    float: none;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .color-picker-input-text:focus {
    outline: none;
    border-color: var(--rl-primary);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.12);
}

/* Náhled lišty */
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerPreview {
    margin-top: 16px;
    padding: 14px;
    background: linear-gradient(180deg, #f1f5f9 0%, #e8edf4 100%);
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-md);
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerPreviewTitle,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerDownPreviewTitle {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rl-text-muted);
    margin-bottom: 10px;
    text-align: left;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerPreview.banner-preview,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerPreviewBannerDown.banner-preview_banner_down {
    width: 100%;
    height: 44px !important;
    border: none !important;
    border-radius: var(--rl-radius-sm);
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.1);
    overflow: hidden;
    background-color: #f0f0f0;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerPreview.banner-preview img,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody #bannerPreviewBannerDown.banner-preview_banner_down img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .banner-preview-text {
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0 12px;
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerHeadSaveButton,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerDownSaveButton {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--rl-border);
}

.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerHeadSaveButton .btn.primary,
.pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerDownSaveButton .btn.primary {
    min-width: 140px;
    padding: 9px 20px;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: var(--rl-radius-sm);
    box-shadow: 0 3px 12px rgba(29, 78, 216, 0.22);
}

@media (max-width: 560px) {
    .pageBodyKontroler--admin .pageSettingsPageBodyBanner .pageSettingsPageBodyBannerHeadBody .pageSettingsPageBodyBannerDownTextColorBody {
        grid-template-columns: 1fr;
    }
}

.pageBodyKontroler--admin .analytics-chart-box {
    border: 1px solid var(--rl-border-strong);
    border-left: 4px solid var(--rl-primary);
    border-radius: var(--rl-radius-md);
    box-shadow: var(--rl-shadow-md);
    padding: 16px;
    background: var(--rl-bg-elevated);
}

.pageBodyKontroler--admin .analytics-charts-grid {
    display: grid;
    gap: 16px;
}

.pageBodyKontroler--admin .kpi-card {
    border: 1px solid var(--rl-border-strong);
    box-shadow: var(--rl-shadow-md);
}

/* Notifikace – aktivní záložka */
.pageBodyKontroler--admin .notifikace_tab-button.notifikace_active-tab {
    background: var(--rl-primary-gradient) !important;
    color: #fff !important;
    border-color: transparent !important;
}

.pageBodyKontroler--admin .rl-admin-onboarding-block {
    margin-bottom: 16px;
}

/* ═══════════════════════════════════════════════════════════
   FÁZE 6c – Administrace videí (videolistadmin)
   ═══════════════════════════════════════════════════════════ */

.pageBodyKontroler--admin .videolistadmin_pageBody {
    --vl-btn-pill: 9999px;
}

.pageBodyKontroler--admin .videolistadmin_pageVideoListAdminPageListBody,
.pageBodyKontroler--admin .videolistadmin_pageVideoListAdminPageList {
    margin: 0;
    padding: 0;
    box-shadow: none;
    border: none;
    background: transparent;
}

.pageBodyKontroler--admin .videolistadmin_top-controls {
    margin-bottom: 16px;
}

/* Tlačítka – stejný styl jako notifikace (pilulky) */
.pageBodyKontroler--admin .videolistadmin_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 32px;
    padding: 6px 14px;
    border-radius: var(--vl-btn-pill, 9999px);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.3;
    white-space: nowrap;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.pageBodyKontroler--admin .videolistadmin_btn:hover {
    transform: translateY(-1px);
}

.pageBodyKontroler--admin .videolistadmin_btn:active {
    transform: translateY(0);
}

.pageBodyKontroler--admin .videolistadmin_btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.25);
}

.pageBodyKontroler--admin #addCategoryButton {
    padding: 8px 18px !important;
    min-height: 36px;
    font-size: 0.8125rem;
    box-shadow: 0 3px 12px rgba(29, 78, 216, 0.22) !important;
}

.pageBodyKontroler--admin .videolistadmin_btn-primary,
.pageBodyKontroler--admin .videolistadmin_btn-success {
    background: var(--rl-primary-gradient) !important;
    color: #fff !important;
    box-shadow: 0 3px 12px rgba(29, 78, 216, 0.22);
}

.pageBodyKontroler--admin .videolistadmin_btn-primary:hover,
.pageBodyKontroler--admin .videolistadmin_btn-success:hover {
    filter: brightness(1.03);
    box-shadow: 0 4px 14px rgba(29, 78, 216, 0.28);
}

.pageBodyKontroler--admin .videolistadmin_btn-secondary {
    background: #64748b !important;
    color: #fff !important;
}

.pageBodyKontroler--admin .videolistadmin_btn-secondary:hover {
    background: #475569 !important;
}

.pageBodyKontroler--admin .videolistadmin_btn-danger {
    background: #ef4444 !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.28) !important;
    padding: 6px 14px !important;
}

.pageBodyKontroler--admin .videolistadmin_btn-danger:hover {
    background: #dc2626 !important;
    filter: brightness(1.02);
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-section.card {
    margin-bottom: 16px;
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-md);
    box-shadow: var(--rl-shadow-md);
    overflow: hidden;
    background: var(--rl-bg-elevated);
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-section.is-uncategorized {
    margin-bottom: 24px;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .section-header.card-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    margin: 0;
    border-bottom: none;
    border-radius: 0;
    cursor: default;
    background: var(--rl-primary-gradient);
    color: #fff;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .section-header .section-title {
    font-size: 1rem;
    font-weight: 700;
    color: #fff !important;
    margin: 0;
    line-height: 1.35;
    /*text-shadow: 0 1px 2px rgba(15, 23, 42, 0.35);*/
}

.pageBodyKontroler--admin .videolistadmin_pageBody .section-header .section-subtitle {
    display: none;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .is-uncategorized .section-header {
    background: var(--rl-primary-gradient) !important;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .is-uncategorized h2,
.pageBodyKontroler--admin .videolistadmin_pageBody .is-uncategorized p {
    color: #fff !important;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

/* Na barevné hlavičce – bílé pilulky (čitelné na libovolné barvě) */
.pageBodyKontroler--admin .videolistadmin_pageBody .section-header .videolistadmin_btn:not(.videolistadmin_btn-danger) {
    background: #fff !important;
    background-image: none !important;
    color: var(--rl-primary) !important;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.12) !important;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .section-header .videolistadmin_btn:not(.videolistadmin_btn-danger):hover {
    filter: none;
    background: #f8fafc !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.14) !important;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .section-header .edit-category-button {
    min-width: 32px;
    padding: 6px 12px !important;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .section-header .videolistadmin_btn-danger {
    background: #ef4444 !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.35) !important;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .section-header .videolistadmin_btn-danger:hover {
    background: #dc2626 !important;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .subcategory-container {
    padding: 0 14px 14px;
    background: transparent;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .subcategory-title-header {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--rl-text-muted);
    margin: 4px 0 10px;
    padding-left: 0;
    border: none;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .sub-category-section {
    margin: 0 0 12px;
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-sm);
    box-shadow: none;
    background: #f8fafc;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .sub-category-section .section-header {
    padding: 10px 12px;
    background: #f1f5f9 !important;
    border-bottom: 1px solid var(--rl-border);
}

.pageBodyKontroler--admin .videolistadmin_pageBody .sub-category-section .section-title {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--rl-primary) !important;
}

/* Podkategorie – pilulky jako u notifikací */
.pageBodyKontroler--admin .videolistadmin_pageBody .sub-category-section .edit-category-button {
    min-width: 32px;
    padding: 6px 12px !important;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .main-category-video-section {
    padding: 12px 14px 14px;
    margin-top: 0;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 14px;
    min-height: 50px;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-item.card {
    max-width: 100%;
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-sm);
    overflow: hidden;
    background: #fff;
    box-shadow: var(--rl-shadow-sm);
    cursor: grab;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-item.card:hover {
    box-shadow: var(--rl-shadow-md);
    transform: translateY(-2px);
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-thumbnail-container {
    position: relative;
    height: 140px;
    width: 100%;
    overflow: hidden;
    background: #f1f5f9;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-thumbnail-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-thumbnail-container-emptyimg {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 2.5rem;
    color: var(--rl-primary);
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-meta-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(15, 23, 42, 0.8));
    color: #fff;
    font-size: 0.7rem;
    padding: 8px;
    display: flex;
    justify-content: space-between;
    gap: 8px;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-info {
    padding: 10px 12px 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: auto;
    min-height: 88px;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-title {
    font-size: 0.875rem;
    font-weight: 600;
    margin: 0;
    line-height: 1.4;
    height: auto;
    max-height: 2.8em;
    overflow: hidden;
    color: var(--rl-text);
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-info-buttons {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-info-button-edit,
.pageBodyKontroler--admin .videolistadmin_pageBody .video-info-button-delete {
    float: none;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-info-button-edit {
    flex: 1;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-info-button-edit .videolistadmin_btn {
    width: 100%;
    min-height: 32px;
    padding: 6px 12px;
    font-size: 0.75rem;
    background: var(--rl-primary-gradient) !important;
    color: #fff !important;
    box-shadow: 0 3px 12px rgba(29, 78, 216, 0.22) !important;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-info-button-edit .videolistadmin_btn:hover {
    filter: brightness(1.03);
    box-shadow: 0 4px 14px rgba(29, 78, 216, 0.28) !important;
}

/**
 * Tlačítko „Upravit" je `<div>` s vzhledem tlačítka a odkazem uvnitř — klikatelný
 * je jen ten odkaz, ne obarvená plocha kolem. Sám měřil 42 × 16 px (změřeno na
 * 390px displeji), takže prst mířil na tlačítko 32 px vysoké a trefoval se do
 * jeho okraje. Odkaz teď plochu tlačítka vyplní celou.
 */
.pageBodyKontroler--admin .videolistadmin_pageBody .video-info-button-edit a {
    color: #fff !important;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    margin: -6px -12px;   /* zpět přes padding tlačítka, ať nezvětší jeho výšku */
    padding: 6px 12px;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .delete-video-button {
    min-width: 32px;
    margin: 0;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .empty-placeholder {
    grid-column: 1 / -1;
    padding: 24px 16px;
    text-align: center;
    color: var(--rl-text-muted);
    font-size: 0.875rem;
    font-style: normal;
    border: 1px dashed var(--rl-border-strong);
    border-radius: var(--rl-radius-sm);
    background: #f8fafc;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .ui-sortable-placeholder {
    border: 2px dashed var(--rl-primary) !important;
    background: rgba(29, 78, 216, 0.06) !important;
    visibility: visible !important;
    height: 50px;
    margin-bottom: 12px;
    border-radius: var(--rl-radius-sm);
}

.pageBodyKontroler--admin .videolistadmin_pageBody .video-item-placeholder {
    max-width: 100%;
    background: rgba(29, 78, 216, 0.06) !important;
    border: 2px dashed var(--rl-primary) !important;
    height: 200px;
    border-radius: var(--rl-radius-sm);
}

.pageBodyKontroler--admin .videolistadmin_pageBody .section-title[contenteditable="true"],
.pageBodyKontroler--admin .videolistadmin_pageBody .section-title.is-editing-title {
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: var(--rl-radius-sm);
    padding: 2px 8px;
    margin: -2px 0;
    min-width: 150px;
    background-color: rgba(255, 255, 255, 0.15);
    outline: none;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .sub-category-section .section-title[contenteditable="true"],
.pageBodyKontroler--admin .videolistadmin_pageBody .sub-category-section .section-title.is-editing-title {
    border-color: var(--rl-primary);
    background: #fff;
    color: var(--rl-text) !important;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .header-actionsColorInput {
    display: none;
    align-items: center;
    gap: 8px;
    padding: 6px 10px 6px 8px;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.14);
}

.pageBodyKontroler--admin .videolistadmin_pageBody .header-actionsColorInput--visible {
    display: inline-flex !important;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .vl-color-picker__label {
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #5a67d8;
    line-height: 1;
    white-space: nowrap;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .vl-color-picker__controls {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .vl-color-picker__swatch {
    display: block;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid #e2e8f0;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06);
    cursor: pointer;
    flex-shrink: 0;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .vl-color-picker__swatch:hover {
    border-color: #5a67d8;
    box-shadow: 0 0 0 2px rgba(29, 78, 216, 0.2);
}

.pageBodyKontroler--admin .videolistadmin_pageBody .background_color-select {
    display: block;
    width: 40px;
    height: 40px;
    margin: -3px;
    padding: 0;
    border: none;
    cursor: pointer;
    background: transparent;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .background_color-select::-webkit-color-swatch-wrapper {
    padding: 0;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .background_color-select::-webkit-color-swatch {
    border: none;
    border-radius: 6px;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .background_color-select::-moz-color-swatch {
    border: none;
    border-radius: 6px;
}

.pageBodyKontroler--admin .videolistadmin_pageBody .vl-color-picker__hex,
.pageBodyKontroler--admin .videolistadmin_pageBody .color-picker-input-text {
    width: 76px;
    height: 32px;
    padding: 4px 8px;
    margin: 0;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: center;
    color: var(--rl-text);
    border: 1px solid #d8dcf5;
    border-radius: 8px;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.pageBodyKontroler--admin .videolistadmin_pageBody .vl-color-picker__hex:focus,
.pageBodyKontroler--admin .videolistadmin_pageBody .color-picker-input-text:focus {
    outline: none;
    border-color: #5a67d8;
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.18);
}

.pageBodyKontroler--admin #customModal.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    inset: 0;
    overflow: auto;
    background-color: rgba(15, 23, 42, 0.45);
}

.pageBodyKontroler--admin #customModal .modal-content {
    background: var(--rl-bg-elevated);
    margin: 10% auto;
    padding: 20px 24px;
    border: 1px solid var(--rl-border-strong);
    width: 90%;
    max-width: 400px;
    border-radius: var(--rl-radius-md);
    box-shadow: var(--rl-shadow-lg);
    text-align: center;
}

.pageBodyKontroler--admin #customModal #modalTitle {
    color: var(--rl-text);
    margin-top: 0;
    font-size: 1.125rem;
}

.pageBodyKontroler--admin #customModal #modalBody {
    margin-bottom: 16px;
    color: var(--rl-text-muted);
}

.pageBodyKontroler--admin #customModal #modalInput {
    width: 100%;
    padding: 10px 12px;
    margin: 10px 0;
    border: 1px solid var(--rl-border-strong);
    border-radius: var(--rl-radius-sm);
}

.pageBodyKontroler--admin #customModal .close-button {
    color: var(--rl-text-muted);
    float: right;
    font-size: 1.5rem;
    font-weight: 700;
    cursor: pointer;
    line-height: 1;
}

.pageBodyKontroler--admin #customModal .modal-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.pageBodyKontroler--admin #customModal .modal-buttons button {
    margin: 0;
}

.pageBodyKontroler--admin #customModal .vl-modal-btn--hidden {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   FÁZE 6d – Detail videa (videodetailadmin)
   ═══════════════════════════════════════════════════════════ */

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
    margin: -16px -20px 20px;
    padding: 14px 20px 16px;
    background: linear-gradient(135deg, #eef2ff 0%, #f8faff 100%);
    border-bottom: 2px solid #5a67d8;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_toolbar-actions,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_toolbar-options,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_link-action-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--rl-text-secondary);
    cursor: pointer;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_check input[type="checkbox"] {
    width: auto;
    margin: 0;
    accent-color: var(--rl-primary);
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-primary,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-secondary,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-add-link,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-save-link,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-save-title,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-upload-file,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-select-file {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    padding: 6px 14px;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.3;
    white-space: nowrap;
    border: none;
    cursor: pointer;
    text-decoration: none;
    box-shadow: var(--rl-shadow-sm);
    transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn:hover,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-primary:hover,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-secondary:hover {
    transform: translateY(-1px);
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-primary,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-save-title.videodetailadmin_btn-primary,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-save-link {
    background: #5a67d8 !important;
    background-image: var(--rl-primary-gradient) !important;
    color: #fff !important;
    box-shadow: 0 3px 12px rgba(29, 78, 216, 0.28);
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-secondary {
    background: #64748b !important;
    color: #fff !important;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-secondary:hover {
    background: #475569 !important;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-add-link {
    background: #fff !important;
    color: var(--rl-primary) !important;
    border: 1px solid #c8d0f5 !important;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-add-link:hover {
    background: var(--rl-primary-soft) !important;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-upload-file,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-select-file {
    background: var(--rl-primary) !important;
    color: #fff !important;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-remove-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    min-height: 28px;
    padding: 0;
    border-radius: 9999px;
    background: #fff;
    color: #dc2626;
    border: 1px solid #fecaca;
    cursor: pointer;
    box-shadow: none;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_btn-remove-link:hover {
    background: #fef2f2;
    color: #b91c1c;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_form-group {
    margin-bottom: 16px;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_form-group label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--rl-text);
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_alert-error {
    padding: 10px 14px;
    margin-bottom: 16px;
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
    border-radius: var(--rl-radius-sm);
    font-size: 0.875rem;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_placeholder-text {
    margin: 0;
    padding: 12px;
    font-size: 0.8125rem;
    color: var(--rl-text-muted);
    font-style: italic;
    text-align: center;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_preview-container-content {
    padding: 12px;
    background: #f8faff;
    border: 1px dashed #c5ccf5;
    border-radius: var(--rl-radius-sm);
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_current-preview-thumb {
    max-width: 100%;
    height: auto;
    border-radius: var(--rl-radius-sm);
    margin-top: 8px;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .preview-layout {
    display: grid;
    gap: 12px;
}

@media (min-width: 700px) {
    .pageBodyKontroler--admin .videodetailadmin_pageBody .preview-layout {
        grid-template-columns: 1fr 1fr;
    }
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .video-player-frame,
.pageBodyKontroler--admin .videodetailadmin_pageBody .image-preview-frame {
    padding: 12px;
    background: #fff;
    border: 1px solid var(--rl-border);
    border-radius: var(--rl-radius-sm);
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .preview-heading {
    margin: 0 0 8px;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--rl-primary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .iframe-container {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .iframe-container iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: var(--rl-radius-sm);
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_bodyCtaButton {
    padding: 14px 16px;
    margin-bottom: 16px;
    background: #f8faff;
    border: 1px solid #d8dcf5;
    border-left: 3px solid #5a67d8;
    border-radius: var(--rl-radius-sm);
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_links-container-wrapper label {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--rl-text);
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_link-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    padding: 12px;
    border: 1px solid var(--rl-border);
    border-left: 3px solid #5a67d8;
    border-radius: var(--rl-radius-sm);
    background: #f8fafc;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_link-item.videodetailadmin_has-error {
    border-color: #fecaca;
    background: #fef2f2;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_title-edit-group {
    display: flex;
    flex: 1 1 180px;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_url-action-container,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_input-container {
    display: flex;
    flex: 2 1 260px;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_link-title-input,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_link-url-input {
    flex: 1 1 120px;
    min-width: 0;
    margin: 0 !important;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_file-uploaded-name,
.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_selected-file-name {
    flex: 1 1 120px;
    min-width: 0;
    font-size: 0.8125rem;
    color: var(--rl-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_upload-success-message {
    margin: 0;
    padding: 8px 10px;
    font-size: 0.8125rem;
    background: #ecfdf3;
    color: #166534;
    border: 1px solid #bbf7d0;
    border-radius: var(--rl-radius-sm);
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_link-file-input {
    display: none;
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .videodetailadmin_loading-spinner {
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    width: 12px;
    height: 12px;
    animation: vl-spin 0.8s linear infinite;
    display: inline-block;
    margin-right: 4px;
}

@keyframes vl-spin {
    to { transform: rotate(360deg); }
}

.pageBodyKontroler--admin .videodetailadmin_pageBody .clear {
    display: none;
}

@media (max-width: 640px) {
    .pageBodyKontroler--admin .videolistadmin_pageBody .section-header.card-header {
        flex-direction: column;
        align-items: stretch;
    }

    .pageBodyKontroler--admin .videolistadmin_pageBody .header-actions {
        justify-content: flex-start;
    }

    .pageBodyKontroler--admin .videolistadmin_pageBody .color-picker-input-text {
        display: none;
    }

    .pageBodyKontroler--admin #add-video-button-full,
    .pageBodyKontroler--admin #add-subcategory-button-full {
        display: none;
    }

    .pageBodyKontroler--admin #add-subcategory-button-small {
        display: inline;
    }
}

@media (min-width: 641px) {
    .pageBodyKontroler--admin #add-video-button-full,
    .pageBodyKontroler--admin #add-subcategory-button-full {
        display: inline;
    }

    .pageBodyKontroler--admin #add-subcategory-button-small {
        display: none;
    }
}

/* ═══════════════════════════════════════════════════════════
   FÁZE 6 – Responzivita a finální QA
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 900px) {
    .hero {
        padding: 32px 0 24px;
    }

    .hero-text h1 {
        font-size: 2rem;
    }

    .features-grid {
        flex-direction: column;
        align-items: center;
    }

    .feature-card {
        width: 100%;
        max-width: 360px;
    }

    .pricing-cards {
        flex-direction: column;
        align-items: center;
    }

    .price-card {
        max-width: 360px;
    }

    #pageBody {
        margin: 12px 8px;
        padding: 16px;
        border-radius: var(--rl-radius-lg);
    }

    .footer-main {
        padding: 32px 0 24px;
    }

    .dashboard-hub__grid {
        grid-template-columns: 1fr;
    }

    .pageDashboardPageBodyStats {
        margin-bottom: 12px;
    }
}

@media (max-width: 600px) {
    .topbar-inner {
        padding: 10px 16px;
    }

    .contactpage_form-wrapper {
        padding: 16px;
    }

    .pageBlogPagePostContainer,
    .pageAcademyPagePostContainer {
        padding: 16px;
        margin: 12px;
    }

    .prefix_admin_login-hero {
        margin: 16px 12px;
    }

    .aboutpage_team-grid,
    .aboutpage_values-grid {
        gap: 20px;
    }

    .analytics-platform-nav__list {
        flex-direction: column;
        width: 100%;
    }

    .dashboard-hub__grid {
        grid-template-columns: 1fr;
    }

    .pageBody--dashboard {
        padding: 8px 12px 24px;
    }
}

/* Tisk */
@media print {
    .topbar,
    .pageBodyKontrolerAdminMenu,
    .site-footer,
    .hamburger {
        display: none !important;
    }

    #pageBody {
        box-shadow: none;
        border: none;
    }
}
