:root {
    --pulnocni-modra: #0b1730;
    --modra-svetla: #162b52;
    --zlata: #c7a253;
    --zlata-svetla: #ead8a4;
    --cerna: #05070b;
    --bila: #f7f7f5;
    --papir: #fffdf7;
    --papir-tmavy: #f1eadb;
    --text-tmavy: #15171b;
    --text-tichy: #62656b;
    --okraj: #ded8ca;
    --chyba: #8f2d2d;
    --radius: 22px;
    --stin: 0 26px 80px rgba(5, 7, 11, 0.24);
}

* {
    box-sizing: border-box;
}

html {
    font-family: Arial, Helvetica, sans-serif;
    background: var(--cerna);
    color: var(--text-tmavy);
}

body {
    margin: 0;
    min-height: 100vh;
    background:
        linear-gradient(135deg, rgba(199, 162, 83, 0.14), transparent 34%),
        linear-gradient(160deg, var(--pulnocni-modra) 0%, #091121 48%, var(--cerna) 100%);
}

.prihlaseni-stranka {
    display: grid;
    place-items: center;
    padding: 24px;
    background:
        radial-gradient(circle at top, #14284e 0%, var(--pulnocni-modra) 45%, var(--cerna) 100%);
}

.prihlaseni-panel {
    width: min(100%, 420px);
    padding: 34px;
    border: 1px solid rgba(199, 162, 83, 0.45);
    border-radius: var(--radius);
    background: rgba(247, 247, 245, 0.97);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
}

.logo-kruh {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: var(--pulnocni-modra);
    color: var(--zlata);
    font-size: 30px;
    font-weight: 700;
}

h1 {
    margin-top: 0;
}

.prihlaseni-panel h1,
.prihlaseni-panel .podnadpis {
    text-align: center;
}

.podnadpis {
    margin-top: -8px;
    margin-bottom: 28px;
    color: var(--text-tichy);
}

label {
    display: block;
    margin: 16px 0 7px;
    font-weight: 700;
}

.formular-label {
    display: block;
    margin: 16px 0 7px;
    font-weight: 700;
}

input[type="text"],
input[type="password"],
input[type="file"],
input[type="date"],
input[type="number"],
select {
    width: 100%;
    padding: 13px 15px;
    border: 1px solid #c8c9cc;
    border-radius: 14px;
    background: #fff;
    font: inherit;
    color: var(--text-tmavy);
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

input:focus,
select:focus {
    outline: 3px solid rgba(199, 162, 83, 0.25);
    border-color: var(--zlata);
}

button,
.tlacitko {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 22px;
    padding: 13px 18px;
    border: 0;
    border-radius: 999px;
    background: var(--pulnocni-modra);
    color: var(--bila);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(11, 23, 48, 0.16);
    transition: transform 160ms ease, filter 160ms ease, box-shadow 160ms ease;
}

button:hover,
.tlacitko:hover {
    filter: brightness(1.12);
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(11, 23, 48, 0.22);
}

button.sekundarni,
.sekundarni-odkaz {
    width: auto;
    background: var(--pulnocni-modra);
}

.tlacitko-male {
    width: auto;
    margin-top: 0;
    padding: 10px 16px;
}

.tlacitko-zlate {
    background: var(--zlata);
    color: var(--pulnocni-modra);
}

.tlacitko-ikona {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    min-width: 42px;
    margin-top: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--pulnocni-modra);
    color: var(--bila);
    font: inherit;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(11, 23, 48, 0.16);
}

.tlacitko-sipka span {
    display: block;
    transform: translateY(-1px);
    transition: transform 160ms ease;
}

.tlacitko-sipka.je-otevrene span {
    transform: rotate(180deg) translateY(1px);
}

.tlacitko-ikona:disabled,
.tlacitko-ikona:disabled:hover {
    background: #d1d3d8;
    color: #6f747d;
    cursor: not-allowed;
    filter: none;
    transform: none;
    box-shadow: none;
}

.chyba {
    margin: 22px 0;
    padding: 12px 14px;
    border-radius: 14px;
    background: #f7e9e9;
    color: var(--chyba);
}

.chyba p {
    margin: 0 0 8px;
}

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

.oznameni {
    margin: 20px 0;
    padding: 13px 15px;
    border-radius: 14px;
    background: #eef6ea;
    color: #275b2c;
}

.obsah {
    width: min(100% - 32px, 1120px);
    margin: 40px auto;
    padding: 30px;
    border: 1px solid rgba(234, 216, 164, 0.42);
    border-radius: var(--radius);
    background:
        linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(247, 247, 245, 0.96));
    box-shadow: var(--stin);
}

.rozcestnik {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 24px 0;
}

.rozcestnik a {
    padding: 12px 18px;
    border-radius: 999px;
    background: var(--pulnocni-modra);
    color: var(--bila);
    text-decoration: none;
}

.obsah-rozcestnik {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    grid-template-areas:
        "navigace horni"
        "navigace hlavicka";
    align-items: start;
    gap: 22px 34px;
    width: min(100% - 32px, 1120px);
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    text-align: left;
}

.obsah-rozcestnik .rozcestnik {
    grid-area: navigace;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 10px;
    margin: 0;
}

.obsah-rozcestnik .rozcestnik a {
    width: 100%;
    padding: 14px 18px;
    border: 1px solid rgba(199, 162, 83, 0.48);
    text-align: left;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
}

.rozcestnik-horni-lista {
    grid-area: horni;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-bottom: 18px;
}

.profil-odkaz {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 8px 16px 8px 8px;
    border: 1px solid rgba(199, 162, 83, 0.5);
    border-radius: 999px;
    background: #fff;
    color: var(--pulnocni-modra);
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 12px 26px rgba(11, 23, 48, 0.1);
}

.profil-odkaz .avatar {
    width: 54px;
    height: 54px;
}

.odhlaseni-inline {
    margin: 0;
}

.odhlasit-tlacitko {
    margin-top: 0;
    padding: 12px 18px;
}

.rozcestnik-hlavicka-obrazek {
    grid-area: hlavicka;
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
}

.modul-hlavicka-obrazek {
    display: block;
    width: min(100%, 1040px);
    height: auto;
    margin: 0 auto 24px;
}

.modul-akce {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 20px;
}

.recepty-panel-akci {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin: 0 0 20px;
}

.porce-ovladani {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px;
    border: 1px solid var(--okraj);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(11, 23, 48, 0.08);
}

.porce-ovladani label {
    margin: 0 4px 0 8px;
    color: var(--pulnocni-modra);
    font-weight: 800;
}

.porce-ovladani input {
    width: 68px;
    margin: 0;
    padding: 9px 10px;
    border-radius: 999px;
    text-align: center;
}

.kuchyne-rozcestnik {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 12px auto 0;
    max-width: 860px;
}

.hlavni-vedouci-rozcestnik {
    grid-template-columns: 1fr;
    max-width: 420px;
}

.kuchyne-rozcestnik a {
    display: flex;
    min-height: 76px;
    align-items: center;
    justify-content: center;
    padding: 18px;
    border: 1px solid rgba(199, 162, 83, 0.5);
    border-radius: 18px;
    background: var(--pulnocni-modra);
    color: var(--bila);
    font-size: 1.18rem;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 16px 34px rgba(11, 23, 48, 0.16);
    transition: transform 160ms ease, filter 160ms ease, box-shadow 160ms ease;
}

.kuchyne-rozcestnik a:hover {
    filter: brightness(1.12);
    transform: translateY(-1px);
    box-shadow: 0 18px 38px rgba(11, 23, 48, 0.22);
}

.stranka-hlavicka,
.profil-nahled,
.formular-spodek {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.stranka-hlavicka {
    margin-bottom: 24px;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(222, 216, 202, 0.9);
}

.stranka-hlavicka h1 {
    margin: 4px 0 0;
    font-size: 2.7rem;
    line-height: 1;
    color: var(--pulnocni-modra);
}

.hlavicka-akce {
    margin-left: auto;
}

.textovy-odkaz {
    color: var(--pulnocni-modra);
    font-weight: 700;
    text-decoration-color: rgba(199, 162, 83, 0.9);
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.eyebrow {
    margin: 18px 0 0;
    color: var(--zlata);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.podnadpis-stranky,
.napoveda {
    color: var(--text-tichy);
}

.podnadpis-stranky {
    margin: 10px 0 0;
    max-width: 620px;
    font-size: 1.04rem;
}

.tabulka-scroll {
    width: 100%;
    overflow-x: auto;
}

.uzivatele-tabulka {
    width: 100%;
    min-width: 760px;
    margin-top: 24px;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.uzivatele-tabulka th {
    padding: 0 16px 4px;
    color: var(--pulnocni-modra);
    font-size: 0.78rem;
    font-weight: 800;
    text-align: left;
    text-transform: uppercase;
}

.uzivatele-tabulka td {
    padding: 14px 16px;
    border-top: 1px solid var(--okraj);
    border-bottom: 1px solid var(--okraj);
    background: #fff;
    vertical-align: middle;
}

.uzivatele-tabulka tbody tr td:first-child {
    width: 96px;
    border-left: 1px solid var(--okraj);
    border-radius: 24px 0 0 24px;
}

.uzivatele-tabulka tbody tr td:last-child {
    width: 132px;
    border-right: 1px solid var(--okraj);
    border-radius: 0 24px 24px 0;
}

.uzivatele-tabulka tbody tr {
    filter: drop-shadow(0 12px 22px rgba(11, 23, 48, 0.08));
}

.uzivatele-tabulka tbody tr.je-neaktivni td {
    background: #f0f1f3;
    opacity: 0.78;
}

.data-tabulka {
    width: 100%;
    min-width: 760px;
    margin-top: 14px;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.data-tabulka th {
    padding: 0 16px 4px;
    color: var(--pulnocni-modra);
    font-size: 0.78rem;
    font-weight: 800;
    text-align: left;
    text-transform: uppercase;
}

.data-tabulka td {
    padding: 14px 16px;
    border-top: 1px solid var(--okraj);
    border-bottom: 1px solid var(--okraj);
    background: #fff;
    vertical-align: middle;
}

.data-tabulka tbody tr td:first-child {
    border-left: 1px solid var(--okraj);
    border-radius: 24px 0 0 24px;
}

.data-tabulka tbody tr td:last-child {
    border-right: 1px solid var(--okraj);
    border-radius: 0 24px 24px 0;
}

.data-tabulka tbody tr {
    filter: drop-shadow(0 12px 22px rgba(11, 23, 48, 0.08));
}

.recepty-tabulka {
    table-layout: fixed;
}

.recepty-tabulka th:nth-child(1),
.recepty-tabulka td:nth-child(1) {
    width: 39%;
}

.recepty-tabulka th:nth-child(2),
.recepty-tabulka td:nth-child(2) {
    width: 31%;
}

.recepty-tabulka th:nth-child(3),
.recepty-tabulka td:nth-child(3) {
    width: 30%;
}

.recepty-tabulka .stitky {
    margin-top: 0;
    align-items: center;
}

.stitek-typjidla.typ-obed {
    background: #dcecff;
    color: #17466f;
    border-color: rgba(34, 104, 168, 0.34);
}

.stitek-typjidla.typ-svacina {
    background: #e1f1e4;
    color: #245f34;
    border-color: rgba(47, 122, 69, 0.34);
}

.stitek-typjidla.typ-vecere {
    background: #f5dddd;
    color: #842b2b;
    border-color: rgba(177, 59, 59, 0.34);
}

.stitek-typjidla.typ-snidane {
    background: #f5e9c9;
    color: #6f5010;
    border-color: rgba(185, 138, 31, 0.34);
}

.stitek-typjidla.typ-piti,
.stitek-typjidla.typ-priloha {
    background: #e9eaec;
    color: #4d5158;
    border-color: rgba(111, 115, 122, 0.34);
}

.tabulkove-akce {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.tabulkove-akce .tlacitko {
    white-space: nowrap;
}

.recepty-tabulka tbody tr.je-otevreny td {
    border-bottom-color: rgba(199, 162, 83, 0.28);
}

.recepty-tabulka tbody tr.recept-detail-radek td,
.recepty-tabulka tbody tr.recept-detail-radek td:first-child,
.recepty-tabulka tbody tr.recept-detail-radek td:last-child {
    padding: 0 14px 12px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.data-tabulka tbody tr.recept-detail-radek {
    filter: none;
}

.recept-detail-panel {
    margin: -10px 0 0;
    padding: 14px 18px;
    border: 1px solid rgba(199, 162, 83, 0.34);
    border-radius: 0 0 18px 18px;
    background: #fff9ec;
}

.recept-suroviny-vypis {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.recept-suroviny-vypis li {
    display: flex;
    gap: 8px;
    align-items: baseline;
}

.recept-suroviny-vypis [data-recept-mnozstvi] {
    color: var(--pulnocni-modra);
    font-weight: 800;
    white-space: nowrap;
}

.ingredience-sekce,
.recepty-sekce {
    margin-top: 24px;
}

.ingredience-sekce h2,
.recepty-sekce h2 {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 10px;
    padding: 8px 18px 8px 8px;
    border: 1px solid var(--okraj);
    border-radius: 999px;
    background: #fff;
    color: var(--pulnocni-modra);
    font-size: 1.25rem;
    box-shadow: 0 10px 24px rgba(11, 23, 48, 0.08);
}

.ingredience-nadpis-ikona,
.recept-nadpis-ikona {
    display: inline-grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
}

.ingredience-nadpis-ikona img,
.recept-nadpis-ikona img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.sekce-pecivo .ingredience-nadpis-ikona {
    background: #7b4b2a;
}

.sekce-mrazene .ingredience-nadpis-ikona {
    background: #8fcbe7;
}

.sekce-chlazene .ingredience-nadpis-ikona {
    background: var(--pulnocni-modra);
}

.sekce-trvanlive .ingredience-nadpis-ikona {
    background: #2f7a45;
}

.sekce-ovoce-zelenina .ingredience-nadpis-ikona {
    background: #d96b93;
}

.typ-obed .recept-nadpis-ikona {
    background: #2268a8;
}

.typ-svacina .recept-nadpis-ikona {
    background: #2f7a45;
}

.typ-vecere .recept-nadpis-ikona {
    background: #b13b3b;
}

.typ-snidane .recept-nadpis-ikona {
    background: #b98a1f;
}

.typ-piti .recept-nadpis-ikona,
.typ-priloha .recept-nadpis-ikona {
    background: #6f737a;
}

.uzivatel-zahlavi {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 16px;
    align-items: center;
}

.avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--zlata);
    background: var(--pulnocni-modra);
    box-shadow: 0 10px 24px rgba(11, 23, 48, 0.22);
}

.avatar-velky {
    width: 96px;
    height: 96px;
}

.uzivatel-jmeno strong,
.uzivatel-info h2 {
    display: block;
    margin: 0;
    color: var(--pulnocni-modra);
    font-size: 1.35rem;
    line-height: 1.16;
}

.uzivatel-jmeno span {
    display: block;
    margin-top: 4px;
    color: var(--text-tichy);
    font-weight: 700;
}

.uzivatel-meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin: 0;
}

.uzivatel-meta div {
    min-width: 0;
}

.uzivatel-meta dt,
.stitky-popis {
    margin: 0 0 3px;
    color: var(--text-tichy);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.uzivatel-meta dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.uzivatel-detail {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
}

.stitky,
.role-stitky {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.stitky {
    margin-top: 10px;
}

.stitek {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;
    border: 1px solid rgba(11, 23, 48, 0.08);
    border-radius: 999px;
    background: #edf0f4;
    color: var(--text-tmavy);
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.15;
}

.stitek-zlaty {
    background: #f5ecd0;
    color: #6a4a0d;
    border-color: rgba(199, 162, 83, 0.46);
}

.stitek-modry {
    background: #e4ebf8;
    color: var(--pulnocni-modra);
    border-color: rgba(22, 43, 82, 0.18);
}

.stitek-tichy {
    background: #f1efe8;
    color: #5d6068;
}

.stitek-aktivni {
    background: #e5f4e6;
    color: #276032;
}

.stitek-neaktivni,
.stitek-varovani {
    background: #f7e9e9;
    color: var(--chyba);
}

.stitek-role {
    background: var(--pulnocni-modra);
    color: var(--bila);
    border-color: rgba(199, 162, 83, 0.52);
}

.bunka-akce {
    text-align: right;
}

.bunka-akce .tlacitko {
    margin-top: 0;
    padding: 10px 16px;
}

.formular {
    display: grid;
    gap: 18px;
    margin-top: 24px;
}

.formular-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 18px;
}

.formular-grid-odsazeny {
    margin-top: 18px;
}

fieldset {
    margin: 0;
    padding: 20px;
    border: 1px solid var(--okraj);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.55);
}

legend {
    padding: 0 8px;
    color: var(--pulnocni-modra);
    font-weight: 700;
}

.role-checkboxy,
.typy-checkboxy {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.role-checkboxy label,
.typy-checkboxy label,
.checkbox-radek {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: auto;
    margin: 8px 0;
    padding: 10px 12px;
    border: 1px solid rgba(199, 162, 83, 0.18);
    border-radius: 999px;
    background: #f0ede5;
    font-weight: 700;
}

.role-checkboxy input,
.typy-checkboxy input,
.checkbox-radek input {
    width: auto;
    accent-color: var(--pulnocni-modra);
}

.recept-suroviny {
    display: grid;
    gap: 12px;
}

.recept-surovina-akce {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.recept-surovina-akce .tlacitko {
    margin-top: 0;
}

.nova-surovina-zprava {
    width: 100%;
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    background: #eef6ea;
    color: #275b2c;
    font-weight: 700;
}

.nova-surovina-zprava.je-chyba {
    background: #f7e9e9;
    color: var(--chyba);
}

.recept-surovina-radek {
    display: grid;
    grid-template-columns: minmax(190px, 1.5fr) minmax(130px, 0.8fr) minmax(110px, 0.6fr) auto;
    gap: 12px;
    align-items: end;
    padding: 14px;
    border: 1px solid rgba(199, 162, 83, 0.24);
    border-radius: 18px;
    background: #fff;
}

.recept-surovina-radek label {
    margin-top: 0;
}

.recept-surovina-radek .tlacitko {
    margin-top: 0;
    white-space: nowrap;
}

.storna-hlavicka {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 2px 0 10px;
    color: var(--pulnocni-modra);
    font-weight: 800;
}

.storna-hlavicka .tlacitko {
    margin-top: 0;
}

.storna-radky {
    display: grid;
    gap: 12px;
}

.storno-radek {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(160px, 0.6fr) auto;
    gap: 14px;
    align-items: end;
    padding: 14px;
    border: 1px solid rgba(199, 162, 83, 0.24);
    border-radius: 18px;
    background: #fff;
}

.storno-radek label {
    margin-top: 0;
}

.storno-radek .tlacitko {
    margin-top: 0;
    white-space: nowrap;
}

.profil-nahled {
    justify-content: flex-start;
    padding: 18px;
    border: 1px solid rgba(199, 162, 83, 0.45);
    border-radius: 20px;
    background:
        linear-gradient(135deg, rgba(234, 216, 164, 0.28), rgba(255, 255, 255, 0.58));
}

.profil-panel {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 0 0 24px;
    padding: 18px;
    border: 1px solid rgba(199, 162, 83, 0.45);
    border-radius: 22px;
    background: #fff;
}

.profil-panel strong {
    color: var(--pulnocni-modra);
    font-size: 1.35rem;
}

.formular-spodek {
    margin-top: 2px;
}

.formular-spodek button {
    width: 100%;
    min-width: 0;
    margin-top: 0;
}

.je-skryte {
    display: none;
}

@media (max-width: 720px) {
    .obsah {
        margin: 20px auto;
        padding: 20px;
    }

    .formular-grid {
        grid-template-columns: 1fr;
    }

    .uzivatel-meta {
        grid-template-columns: 1fr;
    }

    .stranka-hlavicka {
        align-items: flex-start;
    }

    .stranka-hlavicka h1 {
        font-size: 2.05rem;
    }

    .hlavicka-akce,
    .hlavicka-akce .tlacitko,
    .formular-spodek button,
    .modul-akce .tlacitko,
    .recepty-panel-akci .tlacitko {
        width: 100%;
    }

    .recepty-panel-akci {
        align-items: stretch;
        flex-direction: column;
    }

    .porce-ovladani {
        justify-content: space-between;
        width: 100%;
    }

    .kuchyne-rozcestnik,
    .recept-surovina-radek,
    .storno-radek {
        grid-template-columns: 1fr;
    }

    .rozcestnik-horni-lista {
        justify-content: center;
    }

    .obsah-rozcestnik {
        grid-template-columns: 1fr;
        grid-template-areas:
            "horni"
            "hlavicka"
            "navigace";
        gap: 18px;
        padding: 0;
    }

    .obsah-rozcestnik .rozcestnik {
        width: 100%;
    }

    .obsah-rozcestnik .rozcestnik a {
        text-align: center;
    }
}


/* Jídelníček */
.obsah-jidelnicek {
    width: min(100% - 32px, 1120px);
}

.jidelnicek-volba-roku {
    display: flex;
    align-items: end;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0 0 12px;
}

.jidelnicek-volba-roku label {
    width: 100%;
    margin: 0;
    color: var(--pulnocni-modra);
}

.jidelnicek-volba-roku select {
    width: min(100%, 360px);
}

.jidelnicek-volba-roku .tlacitko {
    margin-top: 0;
}

.jidelnicek-termin {
    margin: 10px 0 22px;
    color: var(--text-tichy);
}

.jidelnicek-blok {
    margin-top: 18px;
}

.jidelnicek-tabulka {
    min-width: 1040px;
    table-layout: fixed;
}

.jidelnicek-tabulka thead th {
    text-transform: none;
    font-size: 0.8rem;
    text-align: center;
    vertical-align: middle;
}

.jidelnicek-tabulka thead th:first-child,
.jidelnicek-tabulka tbody th.jidelnicek-den-bunka {
    width: 142px;
}

.jidelnicek-tabulka tbody th.jidelnicek-den-bunka {
    padding: 14px 16px;
    border-top: 1px solid var(--okraj);
    border-bottom: 1px solid var(--okraj);
    border-left: 1px solid var(--okraj);
    border-radius: 24px 0 0 24px;
    background: var(--pulnocni-modra);
    color: var(--bila);
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.3;
    text-align: left;
    text-transform: none;
    vertical-align: top;
}

.jidelnicek-tabulka tbody td:last-child {
    border-right: 1px solid var(--okraj);
    border-radius: 0 24px 24px 0;
}

.jidelnicek-tabulka tbody tr {
    filter: drop-shadow(0 12px 22px rgba(11, 23, 48, 0.08));
}

.jidelnicek-tabulka td {
    padding: 10px 8px;
    vertical-align: top;
}

.jidelnicek-neaktivni {
    background: #f0f1f3 !important;
    text-align: center;
}

.jidelnicek-pomlcka {
    display: inline-block;
    padding-top: 8px;
    color: #9a9da3;
    font-size: 1.25rem;
    font-weight: 800;
}

.jidelnicek-bunka {
    display: grid;
    align-content: start;
    gap: 8px;
    min-height: 58px;
}

.jidelnicek-shrnuti {
    display: grid;
    gap: 5px;
    font-size: 0.92rem;
    line-height: 1.24;
}

.jidelnicek-shrnuti span {
    display: block;
    color: var(--text-tmavy);
    font-weight: 800;
}

.jidelnicek-akce,
.jidelnicek-pridat-slot,
.jidelnicek-dialog-zavrit {
    border: 0;
    background: transparent;
    color: var(--pulnocni-modra);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.jidelnicek-akce {
    display: inline-grid;
    place-items: center;
    justify-self: center;
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    border: 1px solid rgba(11, 23, 48, 0.16);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.8);
    box-shadow: 0 3px 8px rgba(11, 23, 48, 0.08);
    font-size: 1.35rem;
    line-height: 1;
    text-decoration: none;
}

.jidelnicek-akce-upravit {
    font-size: 1.16rem;
}

.jidelnicek-akce:hover,
.jidelnicek-akce:focus-visible {
    background: #ffffff;
    border-color: rgba(199, 162, 83, 0.72);
    outline: none;
}

.jidelnicek-tabulka th.jidelnicek-typ-snidane,
.jidelnicek-tabulka td.jidelnicek-typ-snidane {
    background: #f5e9c9;
}

.jidelnicek-tabulka th.jidelnicek-typ-svacina_dopoledni,
.jidelnicek-tabulka td.jidelnicek-typ-svacina_dopoledni {
    background: #e1f1e4;
}

.jidelnicek-tabulka th.jidelnicek-typ-obed,
.jidelnicek-tabulka td.jidelnicek-typ-obed {
    background: #dcecff;
}

.jidelnicek-tabulka th.jidelnicek-typ-svacina_odpoledni,
.jidelnicek-tabulka td.jidelnicek-typ-svacina_odpoledni {
    background: #e1f1e4;
}

.jidelnicek-tabulka th.jidelnicek-typ-vecere,
.jidelnicek-tabulka td.jidelnicek-typ-vecere {
    background: #f5dddd;
}

.jidelnicek-tabulka th.jidelnicek-typ-piti,
.jidelnicek-tabulka td.jidelnicek-typ-piti {
    background: #e9eaec;
}

.jidelnicek-tabulka th.jidelnicek-typ-balicek,
.jidelnicek-tabulka td.jidelnicek-typ-balicek {
    background: #e9eaec;
}

.jidelnicek-ulozit {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
}

.jidelnicek-ulozit button {
    width: auto;
    min-width: 220px;
    margin-top: 0;
}

.jidelnicek-dialog {
    width: min(92vw, 560px);
    padding: 0;
    border: 0;
    border-radius: 24px;
    background: transparent;
}

.jidelnicek-dialog::backdrop {
    background: rgba(5, 7, 11, 0.6);
    backdrop-filter: blur(2px);
}

.jidelnicek-dialog-panel {
    padding: 24px;
    border: 1px solid rgba(199, 162, 83, 0.45);
    border-radius: 24px;
    background: var(--papir);
    box-shadow: var(--stin);
}

.jidelnicek-dialog-hlavicka {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.jidelnicek-dialog-hlavicka h2 {
    margin: 0;
    color: var(--pulnocni-modra);
}

.jidelnicek-dialog-datum {
    margin: 5px 0 0;
    color: var(--text-tichy);
}

.jidelnicek-dialog-zavrit {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--pulnocni-modra);
    color: var(--bila);
    font-size: 1.4rem;
    line-height: 1;
}

.jidelnicek-dialog-pole,
.jidelnicek-dialog-skupina {
    display: grid;
    gap: 12px;
}

.jidelnicek-dialog-radek label {
    margin: 0;
}

.jidelnicek-dialog-radek select {
    margin-top: 6px;
}

.jidelnicek-pridat-slot {
    justify-self: start;
    padding: 6px 0;
    text-decoration: underline;
    text-decoration-color: rgba(199, 162, 83, 0.65);
    text-underline-offset: 3px;
}

.jidelnicek-dialog-akce {
    display: flex;
    justify-content: flex-end;
    margin-top: 22px;
}

.jidelnicek-dialog-akce .tlacitko {
    width: auto;
    min-width: 140px;
    margin-top: 0;
}

@media (max-width: 720px) {
    .jidelnicek-volba-roku {
        align-items: stretch;
    }

    .jidelnicek-volba-roku select,
    .jidelnicek-ulozit button {
        width: 100%;
    }

    .jidelnicek-dialog-panel {
        padding: 18px;
    }
}

/* =========================================================
   Levé grafické záložky administrace
   ========================================================= */
.jen-ctecce {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.prihlaseni-obal {
    width: min(100%, 760px);
}

.prihlaseni-hlavicka-obrazek {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto 16px;
}

.prihlaseni-panel {
    margin: 0 auto;
}

.obsah-domu {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.obsah-domu .rozcestnik-horni-lista {
    margin-bottom: 18px;
}

.obsah-domu .rozcestnik-hlavicka-obrazek {
    display: block;
    width: 100%;
    height: auto;
}

.klubovna-zalozky {
    --zalozka-meritko: 1.24;
    --zalozka-sirka: 72px;
    --zalozka-vyska: 144px;
    --zalozka-mezera: 14px;
    --zalozka-sloupce-mezera: 10px;
    --zalozka-zanoreni: 10px;
    position: fixed;
    top: 50%;
    left: calc(50vw - 714px);
    z-index: 90;
    display: flex;
    flex-direction: column;
    gap: var(--zalozka-mezera);
    width: calc((var(--zalozka-sirka) * 2) + var(--zalozka-sloupce-mezera));
    transform: translateY(-50%);
    pointer-events: none;
}

.klubovna-zalozky-sekce {
    position: relative;
    width: var(--zalozka-sirka);
    height: var(--zalozka-vyska);
    pointer-events: none;
}

.klubovna-zalozky-podsekce {
    position: absolute;
    top: 50%;
    left: calc(var(--zalozka-sirka) + var(--zalozka-sloupce-mezera));
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: var(--zalozka-sirka);
    transform: translateY(-50%);
    pointer-events: none;
}

.klubovna-zalozka {
    position: relative;
    display: block;
    flex: 0 0 var(--zalozka-vyska);
    width: var(--zalozka-sirka);
    height: var(--zalozka-vyska);
    margin: 0;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
    pointer-events: auto;
}

.klubovna-zalozka-obrazek {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 58px;
    height: 116px;
    background-image: url('/assets/img/zalozky-menu.png?v=20260818-2');
    background-repeat: no-repeat;
    background-position: 0 var(--zalozka-y);
    transform: translateX(var(--zalozka-zanoreni)) scale(var(--zalozka-meritko));
    transform-origin: left top;
    transition: transform 180ms ease;
    will-change: transform;
}

.klubovna-zalozka-obrazek-uzivatele {
    background-image: url('/assets/img/zalozka-uzivatele.png?v=20260818-1');
    background-position: 0 0;
}

.klubovna-zalozka:hover .klubovna-zalozka-obrazek,
.klubovna-zalozka:focus-visible .klubovna-zalozka-obrazek,
.klubovna-zalozka.je-aktivni-podsekce .klubovna-zalozka-obrazek {
    transform: translateX(0) scale(var(--zalozka-meritko));
}

.klubovna-zalozka.je-neklikaci {
    cursor: default;
}

.klubovna-zalozka:focus-visible {
    outline: 2px solid var(--zlata-svetla);
    outline-offset: -2px;
}

.klubovna-zalozka-popisek {
    display: none;
}

.klubovna-zalozka.bez-obrazku .klubovna-zalozka-popisek {
    position: absolute;
    inset: 0 auto auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 116px;
    padding: 7px;
    border: 1px solid rgba(199, 162, 83, 0.9);
    border-radius: 13px;
    background: #e4bf62;
    color: var(--pulnocni-modra);
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    writing-mode: vertical-rl;
    transform: translateX(var(--zalozka-zanoreni)) rotate(180deg) scale(var(--zalozka-meritko));
    transform-origin: left top;
    transition: transform 180ms ease;
}

.klubovna-zalozka.bez-obrazku:hover .klubovna-zalozka-popisek,
.klubovna-zalozka.bez-obrazku:focus-visible .klubovna-zalozka-popisek,
.klubovna-zalozka.bez-obrazku.je-aktivni-podsekce .klubovna-zalozka-popisek {
    transform: translateX(0) rotate(180deg) scale(var(--zalozka-meritko));
}

/* V užších oknech se obsah posune doprava, aby pravý sloupec žlutých záložek
   přesně končil na levém okraji stránky. */
@media (max-width: 1500px) {
    .klubovna-zalozky {
        left: calc(100vw - 24px - min(calc(100vw - 190px), 1120px) - 154px);
    }

    .admin-stranka .obsah,
    .admin-stranka .obsah-jidelnicek {
        width: min(calc(100% - 190px), 1120px);
        margin-right: 24px;
        margin-left: auto;
    }
}

@media (max-width: 720px) {
    .klubovna-zalozky {
        --zalozka-meritko: 1;
        --zalozka-sirka: 58px;
        --zalozka-vyska: 116px;
        --zalozka-mezera: 10px;
        --zalozka-sloupce-mezera: 8px;
        --zalozka-zanoreni: 7px;
        left: 8px;
    }

    .klubovna-zalozky-podsekce {
        gap: 8px;
    }

    .admin-stranka .obsah,
    .admin-stranka .obsah-jidelnicek {
        width: calc(100% - 144px);
        margin-right: 10px;
        margin-left: auto;
    }
}


/* ========================================================================== */
/* REDESIGN 2026-08-18: dřevo + pergamen + horní sekce + levý pás záložek   */
/* ========================================================================== */

html,
body,
button,
input,
select,
textarea {
    font-family: Georgia, "Times New Roman", serif;
}

body {
    background-color: #8a572e;
    background-image: url('/assets/img/pozadi-drevo.webp?v=20260824-perf-1');
    background-repeat: repeat;
    background-position: center top;
    background-size: 900px auto;
}

.admin-stranka {
    --ramec-max: 1150px;
    --ramec-sirka: min(calc(100vw - 64px), var(--ramec-max));
    position: relative;
    min-height: 100vh;
    padding: 24px 0 56px;
    overflow-x: hidden;
    background: transparent;
}

.admin-stranka .obsah,
.admin-stranka .obsah-jidelnicek,
.admin-stranka .obsah-domu,
.admin-stranka .obsah-rozcestnik {
    position: relative;
    isolation: isolate;
    width: var(--ramec-sirka);
    min-height: max(820px, calc(100vh - 80px));
    margin: 0 auto;
    padding: 214px 116px 190px 128px;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    background-image: url('/assets/img/pergamen-prostredek.webp?v=20260824-perf-1');
    background-repeat: repeat-y;
    background-position: center top;
    background-size: 100% auto;
    box-shadow: none;
    text-align: left;
}

.admin-stranka .obsah::before,
.admin-stranka .obsah::after,
.admin-stranka .obsah-jidelnicek::before,
.admin-stranka .obsah-jidelnicek::after,
.admin-stranka .obsah-domu::before,
.admin-stranka .obsah-domu::after,
.admin-stranka .obsah-rozcestnik::before,
.admin-stranka .obsah-rozcestnik::after {
    content: "";
    position: absolute;
    left: 0;
    z-index: 0;
    width: 100%;
    aspect-ratio: 2048 / 461;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    pointer-events: none;
}

.admin-stranka .obsah::before,
.admin-stranka .obsah-jidelnicek::before,
.admin-stranka .obsah-domu::before,
.admin-stranka .obsah-rozcestnik::before {
    top: 0;
    background-image: url('/assets/img/pergamen-hlavicka.webp?v=20260824-perf-1');
}

.admin-stranka .obsah::after,
.admin-stranka .obsah-jidelnicek::after,
.admin-stranka .obsah-domu::after,
.admin-stranka .obsah-rozcestnik::after {
    bottom: 0;
    background-image: url('/assets/img/pergamen-paticka.webp?v=20260824-perf-1');
}

.admin-stranka .obsah > *,
.admin-stranka .obsah-jidelnicek > *,
.admin-stranka .obsah-domu > *,
.admin-stranka .obsah-rozcestnik > * {
    position: relative;
    z-index: 2;
}

/* Staré obrazové hlavičky a dlaždicové rozcestníky nahrazuje nový rám a navigace. */
.admin-stranka .modul-hlavicka-obrazek,
.admin-stranka .rozcestnik-hlavicka-obrazek,
.admin-stranka .obsah-rozcestnik .rozcestnik,
.admin-stranka .kuchyne-rozcestnik,
.admin-stranka .hlavni-vedouci-rozcestnik {
    display: none !important;
}

.admin-stranka h1,
.admin-stranka h2,
.admin-stranka h3,
.admin-stranka h4,
.admin-stranka strong,
.admin-stranka label {
    color: #0c315f;
}

.admin-stranka h1 {
    margin-bottom: 24px;
    font-size: clamp(2rem, 3vw, 2.8rem);
    line-height: 1.05;
}

.admin-stranka .textovy-odkaz {
    color: #0c315f;
    font-weight: 700;
}

/* Horní menu hlavních sekcí. */
.klubovna-sekce-menu {
    position: absolute;
    top: clamp(116px, 9.5vw, 140px);
    left: 50%;
    z-index: 80;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(18px, 2.3vw, 34px);
    width: min(calc(var(--ramec-sirka) - 310px), 790px);
    transform: translateX(-50%);
    white-space: nowrap;
}

.klubovna-sekce-odkaz {
    position: relative;
    color: #0c315f;
    font-size: clamp(1.15rem, 1.8vw, 1.62rem);
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.015em;
    text-shadow: 0 1px 0 rgba(255, 244, 205, 0.75);
    transition: color 150ms ease, transform 150ms ease;
}

.klubovna-sekce-odkaz:hover,
.klubovna-sekce-odkaz:focus-visible {
    transform: translateY(-2px);
}

.klubovna-sekce-odkaz.je-aktivni {
    color: #b48a36;
}

.klubovna-sekce-odkaz.je-neklikaci {
    cursor: default;
}

.klubovna-sekce-odkaz:focus-visible {
    outline: 2px solid #b48a36;
    outline-offset: 5px;
}

/* Levý pás podstránek: položky se skládají bez mezer podle oprávnění. */
.klubovna-podstranky {
    position: absolute;
    top: clamp(158px, 12.7vw, 184px);
    left: calc(50% - (var(--ramec-sirka) / 2) - 54px);
    z-index: 75;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 7px;
    width: 68px;
}

.klubovna-podstranka {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    width: 68px;
    height: 126px;
    color: inherit;
    text-decoration: none;
    transform: translateX(0);
    transition: transform 170ms ease, filter 170ms ease;
    will-change: transform;
}

.klubovna-podstranka img {
    display: block;
    width: auto;
    height: 126px;
    max-width: none;
    filter: drop-shadow(-3px 4px 4px rgba(57, 30, 10, 0.25));
    user-select: none;
    pointer-events: none;
}

.klubovna-podstranka:hover,
.klubovna-podstranka:focus-visible,
.klubovna-podstranka.je-aktivni {
    transform: translateX(-18px);
}

.klubovna-podstranka:hover img,
.klubovna-podstranka:focus-visible img,
.klubovna-podstranka.je-aktivni img {
    filter: drop-shadow(-5px 6px 5px rgba(57, 30, 10, 0.32));
}

.klubovna-podstranka:focus-visible {
    outline: 2px solid #0c315f;
    outline-offset: 2px;
}

/* Moderní zaoblené komponenty z původního návrhu zklidníme do pergamenu. */
.admin-stranka button,
.admin-stranka .tlacitko,
.admin-stranka .sekundarni-odkaz,
.admin-stranka .rozcestnik a {
    border: 1px solid #b48a36;
    border-radius: 5px;
    background: #0c315f;
    color: #fff4cf;
    box-shadow: none;
}

.admin-stranka button:hover,
.admin-stranka .tlacitko:hover,
.admin-stranka .sekundarni-odkaz:hover {
    filter: brightness(1.08);
    box-shadow: none;
}

.admin-stranka input[type="text"],
.admin-stranka input[type="password"],
.admin-stranka input[type="file"],
.admin-stranka input[type="date"],
.admin-stranka input[type="number"],
.admin-stranka select,
.admin-stranka textarea {
    border: 1px solid rgba(94, 67, 30, 0.62);
    border-radius: 4px;
    background: rgba(255, 249, 224, 0.84);
    color: #23170b;
    box-shadow: inset 0 1px 2px rgba(76, 45, 16, 0.08);
}

.admin-stranka input:focus,
.admin-stranka select:focus,
.admin-stranka textarea:focus {
    outline: 2px solid rgba(180, 138, 54, 0.42);
    border-color: #b48a36;
}

.admin-stranka .profil-odkaz {
    border: 1px solid rgba(12, 49, 95, 0.45);
    border-radius: 6px;
    background: rgba(255, 247, 216, 0.72);
    color: #0c315f;
    box-shadow: none;
}

.admin-stranka .oznameni,
.admin-stranka .chyba {
    border-radius: 4px;
}

.admin-stranka .uzivatele-tabulka,
.admin-stranka .data-tabulka {
    background: rgba(255, 249, 224, 0.5);
}

.admin-stranka .uzivatele-tabulka th,
.admin-stranka .data-tabulka th {
    background: rgba(12, 49, 95, 0.94);
    color: #fff0bd;
}

.admin-stranka .uzivatele-tabulka td,
.admin-stranka .data-tabulka td {
    background: rgba(255, 250, 230, 0.62);
}

/* Domovská Kancelář už nepotřebuje starou speciální gridovou strukturu. */
.admin-stranka .obsah-rozcestnik {
    display: block;
}

.admin-stranka .rozcestnik-horni-lista,
.admin-stranka .obsah-domu .rozcestnik-horni-lista {
    margin: 0 0 24px;
}

@media (max-width: 980px) {
    .admin-stranka {
        --ramec-sirka: min(calc(100vw - 28px), 900px);
        padding-top: 14px;
    }

    .admin-stranka .obsah,
    .admin-stranka .obsah-jidelnicek,
    .admin-stranka .obsah-domu,
    .admin-stranka .obsah-rozcestnik {
        width: var(--ramec-sirka);
        padding: 180px 72px 155px 88px;
    }

    .klubovna-sekce-menu {
        top: 96px;
        width: min(calc(var(--ramec-sirka) - 190px), 650px);
        gap: 16px;
    }

    .klubovna-sekce-odkaz {
        font-size: clamp(0.94rem, 2.3vw, 1.22rem);
    }

    .klubovna-podstranky {
        top: 132px;
        left: calc(50% - (var(--ramec-sirka) / 2) - 38px);
        width: 52px;
    }

    .klubovna-podstranka {
        width: 52px;
        height: 102px;
    }

    .klubovna-podstranka img {
        height: 102px;
    }
}

@media (max-width: 680px) {
    .admin-stranka {
        --ramec-sirka: calc(100vw - 10px);
        padding: 5px 0 24px;
        overflow-x: hidden;
    }

    .admin-stranka .obsah,
    .admin-stranka .obsah-jidelnicek,
    .admin-stranka .obsah-domu,
    .admin-stranka .obsah-rozcestnik {
        min-height: 720px;
        padding: 150px 34px 120px 50px;
    }

    .klubovna-sekce-menu {
        top: 74px;
        gap: 10px;
        width: calc(var(--ramec-sirka) - 96px);
        overflow-x: auto;
        justify-content: flex-start;
        padding: 4px 0 8px;
        scrollbar-width: none;
    }

    .klubovna-sekce-menu::-webkit-scrollbar {
        display: none;
    }

    .klubovna-sekce-odkaz {
        flex: 0 0 auto;
        font-size: 0.88rem;
    }

    .klubovna-podstranky {
        top: 108px;
        left: -18px;
        width: 48px;
        gap: 4px;
    }

    .klubovna-podstranka,
    .klubovna-podstranka img {
        height: 90px;
    }

    .klubovna-podstranka {
        width: 48px;
    }

    .klubovna-podstranka:hover,
    .klubovna-podstranka:focus-visible,
    .klubovna-podstranka.je-aktivni {
        transform: translateX(-8px);
    }
}

/* Přihlášení zůstává samostatný panel, ale používá stejné dřevo a Georgii. */
.prihlaseni-stranka {
    background: transparent;
}

/* ========================================================================== */
/* OPRAVA RÁMU 2026-08-18 / pergamen-2                                      */
/* ========================================================================== */

/* Dřevo musí být skutečné pozadí celé stránky, ne průhledná plocha. */
html,
body.admin-stranka {
    background-color: #8a572e !important;
    background-image: url('/assets/img/pozadi-drevo.webp?v=20260824-perf-1') !important;
    background-repeat: repeat !important;
    background-position: center top !important;
    background-size: 900px auto !important;
}

body.admin-stranka {
    /* 461 / 2048 z dodané hlavičky a patičky. Při max. šířce 1150 px = cca 259 px. */
    --ramec-koncova-vyska: min(259px, calc(22.5098vw - 14.406px));
    position: relative;
    overflow-x: hidden;
}

/*
 * Prostředek pergamenu je samostatná vrstva mezi hlavičkou a patičkou.
 * Už se neopakuje pod nimi. Jednopixelový přesah odstraní případnou spáru.
 */
body.admin-stranka::before {
    content: "";
    position: absolute;
    top: calc(24px + var(--ramec-koncova-vyska) - 1px);
    bottom: calc(56px + var(--ramec-koncova-vyska) - 1px);
    left: 50%;
    z-index: 0;
    width: var(--ramec-sirka);
    background-image: url('/assets/img/pergamen-prostredek.webp?v=20260824-perf-1');
    background-repeat: repeat-y;
    background-position: center top;
    background-size: 100% auto;
    transform: translateX(-50%);
    pointer-events: none;
}

.admin-stranka .obsah,
.admin-stranka .obsah-jidelnicek,
.admin-stranka .obsah-domu,
.admin-stranka .obsah-rozcestnik {
    z-index: 1;
    min-height: max(900px, calc(100vh - 80px));
    padding-top: calc(var(--ramec-koncova-vyska) - 22px);
    padding-bottom: calc(var(--ramec-koncova-vyska) - 18px);
    background: none !important;
}

/* Hlavička a patička mají přesně stejnou škálovanou výšku a navazují na střed. */
.admin-stranka .obsah::before,
.admin-stranka .obsah-jidelnicek::before,
.admin-stranka .obsah-domu::before,
.admin-stranka .obsah-rozcestnik::before,
.admin-stranka .obsah::after,
.admin-stranka .obsah-jidelnicek::after,
.admin-stranka .obsah-domu::after,
.admin-stranka .obsah-rozcestnik::after {
    height: var(--ramec-koncova-vyska);
    aspect-ratio: auto;
    z-index: 1;
    background-size: 100% 100%;
}

.admin-stranka .obsah::before,
.admin-stranka .obsah-jidelnicek::before,
.admin-stranka .obsah-domu::before,
.admin-stranka .obsah-rozcestnik::before {
    top: 0;
    background-image: url('/assets/img/pergamen-hlavicka.webp?v=20260824-perf-1');
}

.admin-stranka .obsah::after,
.admin-stranka .obsah-jidelnicek::after,
.admin-stranka .obsah-domu::after,
.admin-stranka .obsah-rozcestnik::after {
    bottom: 0;
    background-image: url('/assets/img/pergamen-paticka.webp?v=20260824-perf-1');
}

.admin-stranka .obsah > *,
.admin-stranka .obsah-jidelnicek > *,
.admin-stranka .obsah-domu > *,
.admin-stranka .obsah-rozcestnik > * {
    z-index: 4;
}

/* Staré breadcrumby / eyebrow popisky už v novém layoutu nemají být. */
.admin-stranka .stranka-hlavicka .textovy-odkaz,
.admin-stranka .stranka-hlavicka .eyebrow {
    display: none !important;
}

/* Levý pás začíná přesně pod hlavičkou a už neleze pod pergamen. */
.klubovna-podstranky {
    top: calc(24px + var(--ramec-koncova-vyska) - 2px);
    left: calc(50% - (var(--ramec-sirka) / 2) - 90px);
    z-index: 220;
    gap: 0;
    width: 90px;
    align-items: flex-end;
}

.klubovna-podstranka {
    width: 90px;
    height: 168px;
    transform: translateX(0);
}

.klubovna-podstranka img {
    height: 168px;
    filter: drop-shadow(-4px 5px 5px rgba(57, 30, 10, 0.3));
}

.klubovna-podstranka:hover,
.klubovna-podstranka:focus-visible,
.klubovna-podstranka.je-aktivni {
    transform: translateX(-26px);
}

.klubovna-sekce-menu,
.klubovna-podstranky {
    pointer-events: auto;
}

/* U menších desktopů držíme stejné proporce rámu a záložky nezalamujeme pod něj. */
@media (max-width: 900px) {
    body.admin-stranka {
        --ramec-sirka: calc(100vw - 36px);
        --ramec-koncova-vyska: calc(22.5098vw - 8.1035px);
        padding-top: 18px;
        padding-bottom: 36px;
    }

    body.admin-stranka::before {
        top: calc(18px + var(--ramec-koncova-vyska) - 1px);
        bottom: calc(36px + var(--ramec-koncova-vyska) - 1px);
    }

    .klubovna-podstranky {
        top: calc(18px + var(--ramec-koncova-vyska) - 2px);
        left: 2px;
        width: 72px;
    }

    .klubovna-podstranka,
    .klubovna-podstranka img {
        height: 138px;
    }

    .klubovna-podstranka {
        width: 72px;
    }
}

/* ========================================================================== */
/* GEOMETRIE 2026-08-18 / pergamen-3                                         */
/* ========================================================================== */

/* Horní názvy sekcí patří do středu bočních výkrojů v hlavičce. */
.klubovna-sekce-menu {
    top: clamp(150px, 12.8vw, 178px);
}

/*
 * Prostřední díl má novou bezešvou verzi. Původní PNG mělo poslední řádek
 * výrazně průhlednější než první, proto se při repeat-y kreslila vodorovná spára.
 */
body.admin-stranka::before {
    z-index: 20;
    background-image: url('/assets/img/pergamen-prostredek.webp?v=20260824-perf-1');
}

/* Pergamen musí překrýt část zanořených záložek. */
.admin-stranka .obsah,
.admin-stranka .obsah-jidelnicek,
.admin-stranka .obsah-domu,
.admin-stranka .obsah-rozcestnik {
    z-index: 30;
}

/*
 * Skutečný viditelný levý okraj prostředního PNG začíná asi 17 px za
 * geometrickým levým okrajem rámu. Pravý konec záložky proto zasuneme ještě
 * cca 24 px pod viditelný pergamen. Záložka je pod pergamenem, ne nad ním.
 */
.klubovna-podstranky {
    left: calc(50% - (var(--ramec-sirka) / 2) - 51px);
    z-index: 15;
    width: 92px;
    gap: 0;
    align-items: flex-end;
}

.klubovna-podstranka {
    width: 92px;
    height: 180px;
    transform: translateX(0);
}

.klubovna-podstranka + .klubovna-podstranka {
    margin-top: -4px;
}

.klubovna-podstranka img {
    width: auto;
    height: 180px;
    max-width: none;
}

/* Aktivní/hover záložka se vysune, ale malý kousek zůstává zasunutý v pergamenu. */
.klubovna-podstranka:hover,
.klubovna-podstranka:focus-visible,
.klubovna-podstranka.je-aktivni {
    transform: translateX(-20px);
}

/* Staré orientační titulky už do nového rámu nepatří. */
.admin-stranka .stranka-hlavicka > div > .textovy-odkaz,
.admin-stranka .stranka-hlavicka > div > .eyebrow,
.admin-stranka .stranka-hlavicka > .textovy-odkaz,
.admin-stranka .stranka-hlavicka > .eyebrow {
    display: none !important;
}

@media (max-width: 900px) {
    .klubovna-sekce-menu {
        top: clamp(118px, 16vw, 145px);
    }

    .klubovna-podstranky {
        left: -40px;
        width: 82px;
    }

    .klubovna-podstranka,
    .klubovna-podstranka img {
        height: 158px;
    }

    .klubovna-podstranka {
        width: 82px;
    }
}

@media (max-width: 680px) {
    .klubovna-sekce-menu {
        top: 104px;
    }

    .klubovna-podstranky {
        left: -36px;
        width: 70px;
    }

    .klubovna-podstranka,
    .klubovna-podstranka img {
        height: 132px;
    }

    .klubovna-podstranka {
        width: 70px;
    }

    .klubovna-podstranka:hover,
    .klubovna-podstranka:focus-visible,
    .klubovna-podstranka.je-aktivni {
        transform: translateX(-12px);
    }
}


/* ========================================================================== */
/* PERGAMEN-5: přesná geometrie rámu, nové záložky a kompaktní jídelníček    */
/* ========================================================================== */

/* Stránka se musí prodloužit podle počtu viditelných záložek aktivní sekce. */
.admin-stranka .obsah,
.admin-stranka .obsah-jidelnicek,
.admin-stranka .obsah-domu,
.admin-stranka .obsah-rozcestnik {
    min-height: max(var(--klubovna-min-vyska, 900px), calc(100vh - 80px));
}

/* Prostřední textura pod hlavičku zajede o 12 px, aby nemohla vzniknout světlá spára. */
body.admin-stranka::before {
    top: calc(24px + var(--ramec-koncova-vyska) - 12px);
    bottom: calc(56px + var(--ramec-koncova-vyska) - 8px);
    background-image: url('/assets/img/pergamen-prostredek.webp?v=20260824-perf-1');
}

/* Hlavní názvy sekcí jsou skutečně uprostřed výkroje v hlavičce. */
.klubovna-sekce-menu {
    top: clamp(178px, 14.3vw, 204px);
    gap: clamp(24px, 2.8vw, 42px);
    width: min(calc(var(--ramec-sirka) - 300px), 820px);
}

.klubovna-sekce-odkaz {
    font-size: clamp(1.35rem, 2.25vw, 1.9rem);
    line-height: 1;
}

/* Page-level nadpisy a staré orientační texty se v pergamenovém layoutu nezobrazují. */
.admin-stranka .stranka-hlavicka h1,
.admin-stranka .stranka-hlavicka .eyebrow,
.admin-stranka .stranka-hlavicka .textovy-odkaz {
    display: none !important;
}

.admin-stranka .stranka-hlavicka {
    min-height: 0;
    margin-top: 0;
    margin-bottom: 8px;
}

/* Nové záložky z dodaného ZIPu: jejich PNG jsou ořezaná přesně na neprůhledný okraj. */
.klubovna-podstranky {
    top: calc(24px + var(--ramec-koncova-vyska) - 2px);
    left: calc(50% - (var(--ramec-sirka) / 2) - 70px);
    z-index: 15;
    width: 165px;
    gap: 0;
    align-items: flex-start;
}

.klubovna-podstranka {
    width: 165px;
    height: 190px;
    margin: 0;
    overflow: visible;
    transform: translateX(0);
}

.klubovna-podstranka + .klubovna-podstranka {
    margin-top: -1px;
}

.klubovna-podstranka img {
    display: block;
    width: auto;
    height: 190px;
    max-width: none;
    filter: drop-shadow(-4px 5px 5px rgba(57, 30, 10, 0.28));
}

/* V klidu je tab zasunutý za levý okraj pergamenu; aktivní a hover vyjedou ven. */
.klubovna-podstranka:hover,
.klubovna-podstranka:focus-visible,
.klubovna-podstranka.je-aktivni {
    transform: translateX(-44px);
}

/* JÍDELNÍČEK -------------------------------------------------------------- */
.admin-stranka .obsah-jidelnicek {
    padding-right: 84px;
    padding-left: 92px;
}

/* Žádná další plocha pod tabulkou; pozadí mají jen jednotlivé pruhy/buňky. */
.admin-stranka .jidelnicek-blok,
.admin-stranka .jidelnicek-blok .tabulka-scroll,
.admin-stranka .jidelnicek-tabulka {
    background: transparent !important;
    box-shadow: none !important;
}

.admin-stranka .jidelnicek-blok .tabulka-scroll {
    overflow-x: visible;
}

.jidelnicek-blok {
    margin-top: 10px;
}

.jidelnicek-tabulka {
    width: 100%;
    min-width: 0;
    margin-top: 8px;
    border-spacing: 0 6px;
    table-layout: fixed;
}

.jidelnicek-tabulka thead th {
    height: 54px;
    padding: 12px 4px 10px;
    background: #173f70 !important;
    color: #fff0bd !important;
    font-size: 0.72rem;
    line-height: 1.05;
    text-align: center;
    vertical-align: middle;
}

.jidelnicek-tabulka thead th:first-child,
.jidelnicek-tabulka tbody th.jidelnicek-den-bunka {
    width: 44px;
}

.jidelnicek-tabulka thead th.jidelnicek-den-nadpis {
    padding: 6px 2px;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.jidelnicek-tabulka tbody th.jidelnicek-den-bunka {
    padding: 6px 2px;
    border-radius: 10px 0 0 10px;
    background: #0c315f !important;
    text-align: center;
    vertical-align: middle;
}

.jidelnicek-den-text {
    display: inline-block;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.015em;
    white-space: nowrap;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.jidelnicek-tabulka tbody td {
    height: 104px;
    padding: 6px 4px;
    border-top: 0;
    border-bottom: 0;
    font-size: 0.78rem;
    line-height: 1.15;
    text-align: center;
    vertical-align: middle;
}

.jidelnicek-tabulka tbody td:last-child {
    border-right: 0;
    border-radius: 0 10px 10px 0;
}

.jidelnicek-tabulka tbody tr {
    filter: none;
}

.jidelnicek-bunka {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: stretch;
    gap: 5px;
    min-height: 92px;
    height: 100%;
}

.jidelnicek-shrnuti {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: 100%;
    font-size: 0.78rem;
    line-height: 1.15;
    text-align: center;
}

.jidelnicek-shrnuti span {
    width: 100%;
    color: #23170b;
    text-align: center;
}

.jidelnicek-akce {
    flex: 0 0 auto;
    align-self: center;
    width: 28px;
    height: 28px;
    min-height: 28px;
    margin-top: auto;
    padding: 0;
    border-radius: 4px;
    font-size: 0.96rem;
}

.jidelnicek-akce-upravit {
    font-size: 0.88rem;
}

.jidelnicek-pomlcka {
    padding-top: 0;
    font-size: 1rem;
}

/* Přepíšeme obecný pergamenový background tabulek jen pro jednotlivé jídelní pruhy. */
.admin-stranka .jidelnicek-tabulka td.jidelnicek-typ-snidane,
.admin-stranka .jidelnicek-tabulka th.jidelnicek-typ-snidane {
    background: #f5e9c9 !important;
}
.admin-stranka .jidelnicek-tabulka td.jidelnicek-typ-svacina_dopoledni,
.admin-stranka .jidelnicek-tabulka th.jidelnicek-typ-svacina_dopoledni,
.admin-stranka .jidelnicek-tabulka td.jidelnicek-typ-svacina_odpoledni,
.admin-stranka .jidelnicek-tabulka th.jidelnicek-typ-svacina_odpoledni {
    background: #e1f1e4 !important;
}
.admin-stranka .jidelnicek-tabulka td.jidelnicek-typ-obed,
.admin-stranka .jidelnicek-tabulka th.jidelnicek-typ-obed {
    background: #dcecff !important;
}
.admin-stranka .jidelnicek-tabulka td.jidelnicek-typ-vecere,
.admin-stranka .jidelnicek-tabulka th.jidelnicek-typ-vecere {
    background: #f5dddd !important;
}
.admin-stranka .jidelnicek-tabulka td.jidelnicek-typ-piti,
.admin-stranka .jidelnicek-tabulka th.jidelnicek-typ-piti,
.admin-stranka .jidelnicek-tabulka td.jidelnicek-typ-balicek,
.admin-stranka .jidelnicek-tabulka th.jidelnicek-typ-balicek {
    background: #e9eaec !important;
}
.admin-stranka .jidelnicek-tabulka td.jidelnicek-neaktivni {
    background: rgba(220, 220, 220, 0.42) !important;
}

@media (max-width: 900px) {
    body.admin-stranka::before {
        top: calc(18px + var(--ramec-koncova-vyska) - 10px);
        bottom: calc(36px + var(--ramec-koncova-vyska) - 7px);
    }

    .klubovna-sekce-menu {
        top: clamp(132px, 17vw, 158px);
    }

    .klubovna-sekce-odkaz {
        font-size: clamp(1rem, 2.8vw, 1.35rem);
    }

    .klubovna-podstranky {
        top: calc(18px + var(--ramec-koncova-vyska) - 2px);
        left: -54px;
        width: 145px;
    }

    .klubovna-podstranka,
    .klubovna-podstranka img {
        height: 168px;
    }

    .klubovna-podstranka {
        width: 145px;
    }

    .admin-stranka .obsah-jidelnicek {
        padding-right: 54px;
        padding-left: 68px;
    }
}

@media (max-width: 680px) {
    .klubovna-sekce-menu {
        top: 116px;
    }

    .klubovna-podstranky {
        left: -48px;
        width: 126px;
    }

    .klubovna-podstranka,
    .klubovna-podstranka img {
        height: 148px;
    }

    .klubovna-podstranka {
        width: 126px;
    }

    .klubovna-podstranka:hover,
    .klubovna-podstranka:focus-visible,
    .klubovna-podstranka.je-aktivni {
        transform: translateX(-24px);
    }

    .admin-stranka .obsah-jidelnicek {
        padding-right: 30px;
        padding-left: 44px;
    }

    .jidelnicek-tabulka {
        min-width: 720px;
    }

    .admin-stranka .jidelnicek-blok .tabulka-scroll {
        overflow-x: auto;
    }
}

/* ========================================================================== */
/* PERGAMEN-6: menší záložky + kompaktnější a správně modrá hlavička menu    */
/* ========================================================================== */

/* Záložky jsou menší, ale stále zůstávají zanořené pod levým okrajem rámu. */
.klubovna-podstranky {
    width: 128px;
}

.klubovna-podstranka {
    width: 128px;
    height: 148px;
}

.klubovna-podstranka img {
    height: 148px;
}

.klubovna-podstranka:hover,
.klubovna-podstranka:focus-visible,
.klubovna-podstranka.je-aktivni {
    transform: translateX(-32px);
}

/* Jídelníček: celý horní pruh je modrý. Barevné rozlišení patří jen datovým buňkám. */
.jidelnicek-tabulka thead th,
.admin-stranka .jidelnicek-tabulka thead th {
    height: 52px;
    padding: 10px 4px;
    background: #173f70 !important;
    color: #fff0bd !important;
    font-size: 0.72rem;
    line-height: 1.05;
    text-align: center;
    vertical-align: middle;
}

/* Ještě kompaktnější denní řádky. */
.jidelnicek-tabulka {
    border-spacing: 0 3px;
}

.jidelnicek-tabulka tbody td {
    height: 82px;
    padding: 4px 3px;
    font-size: 0.72rem;
    line-height: 1.08;
}

.jidelnicek-tabulka tbody th.jidelnicek-den-bunka {
    padding: 4px 2px;
}

.jidelnicek-den-text {
    font-size: 0.66rem;
    line-height: 1;
}

.jidelnicek-bunka {
    min-height: 74px;
    gap: 3px;
}

.jidelnicek-shrnuti {
    gap: 1px;
    font-size: 0.72rem;
    line-height: 1.08;
}

.jidelnicek-akce {
    width: 25px;
    height: 25px;
    min-height: 25px;
    border-radius: 4px;
    font-size: 0.86rem;
}

.jidelnicek-akce-upravit {
    font-size: 0.8rem;
}

/* Pastelové barvy pouze v těle tabulky, nikdy v hlavičce. */
.admin-stranka .jidelnicek-tabulka tbody td.jidelnicek-typ-snidane {
    background: #f5e9c9 !important;
}
.admin-stranka .jidelnicek-tabulka tbody td.jidelnicek-typ-svacina_dopoledni,
.admin-stranka .jidelnicek-tabulka tbody td.jidelnicek-typ-svacina_odpoledni {
    background: #e1f1e4 !important;
}
.admin-stranka .jidelnicek-tabulka tbody td.jidelnicek-typ-obed {
    background: #dcecff !important;
}
.admin-stranka .jidelnicek-tabulka tbody td.jidelnicek-typ-vecere {
    background: #f5dddd !important;
}
.admin-stranka .jidelnicek-tabulka tbody td.jidelnicek-typ-piti,
.admin-stranka .jidelnicek-tabulka tbody td.jidelnicek-typ-balicek {
    background: #e9eaec !important;
}

@media (max-width: 900px) {
    .klubovna-podstranky {
        width: 116px;
    }

    .klubovna-podstranka,
    .klubovna-podstranka img {
        height: 134px;
    }

    .klubovna-podstranka {
        width: 116px;
    }
}

@media (max-width: 680px) {
    .klubovna-podstranky {
        width: 104px;
    }

    .klubovna-podstranka,
    .klubovna-podstranka img {
        height: 120px;
    }

    .klubovna-podstranka {
        width: 104px;
    }

    .klubovna-podstranka:hover,
    .klubovna-podstranka:focus-visible,
    .klubovna-podstranka.je-aktivni {
        transform: translateX(-22px);
    }
}

/* ========================================================================== */
/* PERGAMEN-7: bezpečná vnitřní zóna, čisté tabulky a správné zanoření tabs  */
/* ========================================================================== */

/* Obsah nikdy nesmí ležet pod modrými bočními ornamenty rámu. */
body.admin-stranka {
    --ramec-obsah-levy: clamp(104px, 10.8vw, 128px);
    --ramec-obsah-pravy: clamp(104px, 10.8vw, 128px);
}

.admin-stranka .obsah,
.admin-stranka .obsah-jidelnicek,
.admin-stranka .obsah-domu,
.admin-stranka .obsah-rozcestnik {
    padding-left: var(--ramec-obsah-levy) !important;
    padding-right: var(--ramec-obsah-pravy) !important;
}

/* Po skrytí starého titulku nesmí zůstat prázdný pruh ani oddělovací čára. */
.admin-stranka .stranka-hlavicka {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Záložka má končit pod neprůhlednou částí pergamenu, ne vedle ní. */
.klubovna-podstranky {
    left: calc(50% - (var(--ramec-sirka) / 2) - 40px);
}

/* Samotná tabulka nemá vlastní krémový obdélník pod řádky. */
.admin-stranka .data-tabulka,
.admin-stranka .uzivatele-tabulka,
.admin-stranka .tabulka-scroll {
    background: transparent !important;
    box-shadow: none !important;
}

/* Recepty: hlavička je čistý modrý pruh a sloupec Úpravy je skutečně vystředěný. */
.admin-stranka .recepty-tabulka th:nth-child(3),
.admin-stranka .recepty-tabulka td:nth-child(3) {
    text-align: center;
}

/* JÍDELNÍČEK: držet celý obsah uvnitř vnitřních modrých lišt rámu. */
.admin-stranka .obsah-jidelnicek {
    padding-left: var(--ramec-obsah-levy) !important;
    padding-right: var(--ramec-obsah-pravy) !important;
}

.admin-stranka .jidelnicek-volba-roku,
.admin-stranka .jidelnicek-termin,
.admin-stranka .modul-akce,
.admin-stranka .jidelnicek-blok {
    max-width: 100%;
}

.admin-stranka .jidelnicek-tabulka {
    width: 100%;
    max-width: 100%;
}

.admin-stranka .jidelnicek-tabulka thead th:first-child,
.admin-stranka .jidelnicek-tabulka tbody th.jidelnicek-den-bunka {
    width: 46px;
}

/* Patička lehce překrývá prostředek; transparentní vlasová mezera nesmí ukázat dřevo. */
body.admin-stranka::before {
    bottom: calc(56px + var(--ramec-koncova-vyska) - 22px);
}

.admin-stranka .obsah::after,
.admin-stranka .obsah-jidelnicek::after,
.admin-stranka .obsah-domu::after,
.admin-stranka .obsah-rozcestnik::after {
    background-image: url('/assets/img/pergamen-paticka.webp?v=20260824-perf-1');
}

@media (max-width: 900px) {
    body.admin-stranka {
        --ramec-obsah-levy: clamp(72px, 9vw, 96px);
        --ramec-obsah-pravy: clamp(72px, 9vw, 96px);
    }

    .klubovna-podstranky {
        left: -28px;
    }

    body.admin-stranka::before {
        bottom: calc(36px + var(--ramec-koncova-vyska) - 18px);
    }
}

@media (max-width: 680px) {
    body.admin-stranka {
        --ramec-obsah-levy: 54px;
        --ramec-obsah-pravy: 40px;
    }

    .klubovna-podstranky {
        left: -24px;
    }
}

/* PERGAMEN 8: Jidelnicek - hlavicka tabulky musi byt vzdy jeden souvisly modry pruh. */
.admin-stranka .jidelnicek-tabulka thead th,
.admin-stranka .jidelnicek-tabulka thead th[class*="jidelnicek-typ-"],
.admin-stranka .jidelnicek-tabulka thead th.jidelnicek-den-nadpis {
    background: #173f70 !important;
    background-image: none !important;
    color: #fff0bd !important;
}

/* ========================================================================== */
/* PERGAMEN-9: čisté napojení patičky + plná hover oblast záložek            */
/* ========================================================================== */

/* Prostřední díl už nesmí hluboko podjíždět pod patičku; v průhledných
   krajích pak vznikaly dvojité boční výstupky. Zůstává jen 2px překrytí
   proti vlasové spáře. */
body.admin-stranka::before {
    bottom: calc(56px + var(--ramec-koncova-vyska) - 2px);
}

/* Průhledný obdélník samotného mainu nesmí krást hover zanořené záložce.
   Skutečný obsah stránky zůstává normálně interaktivní. */
.admin-stranka .obsah,
.admin-stranka .obsah-jidelnicek,
.admin-stranka .obsah-domu,
.admin-stranka .obsah-rozcestnik {
    pointer-events: none;
}

.admin-stranka .obsah > *,
.admin-stranka .obsah-jidelnicek > *,
.admin-stranka .obsah-domu > *,
.admin-stranka .obsah-rozcestnik > * {
    pointer-events: auto;
}

/* Navigační kontejner sám neblokuje okolí; každá záložka má vlastní plnou
   obdélníkovou hit-area přes celý viditelný obrázek včetně malého přesahu. */
.klubovna-podstranky {
    pointer-events: none;
}

.klubovna-podstranka {
    position: relative;
    pointer-events: auto;
}

.klubovna-podstranka::before {
    content: "";
    position: absolute;
    inset: -2px -6px;
    z-index: 2;
    background: transparent;
}

.klubovna-podstranka[href] {
    cursor: pointer;
}

.klubovna-podstranka.je-neklikaci {
    cursor: default;
}

@media (max-width: 900px) {
    body.admin-stranka::before {
        bottom: calc(36px + var(--ramec-koncova-vyska) - 2px);
    }
}


/* ========================================================================== */
/* PERGAMEN-10: horní profilový pás + přesné zakončení středu + sekce -5 px */
/* ========================================================================== */

/* Prostředek končí přesně v místě, kde začíná patička. V transparentních
   bočních částech patičky tak už nemůže prosvítat předchozí prostřední díl. */
body.admin-stranka::before {
    bottom: calc(56px + var(--ramec-koncova-vyska));
}

/* Horní názvy sekcí o 5 px výš oproti pergamen-5. */
.klubovna-sekce-menu {
    top: calc(clamp(178px, 14.3vw, 204px) - 5px);
}

/* Starý profilový panel z původního rozcestníku už nový layout nepoužívá. */
.admin-stranka .rozcestnik-horni-lista {
    display: none !important;
}

/* Společný uživatelský pás nad hlavičkou. */
.klubovna-uzivatel-panel {
    position: absolute;
    top: 5px;
    left: 50%;
    z-index: 420;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: var(--ramec-sirka);
    transform: translateX(-50%);
    pointer-events: none;
}

.klubovna-uzivatel-profil,
.klubovna-odhlaseni {
    pointer-events: auto;
}

.klubovna-uzivatel-profil {
    position: relative;
    display: flex;
    align-items: center;
    width: clamp(250px, 27vw, 330px);
    height: 68px;
    color: #0c315f;
    text-decoration: none;
}

.klubovna-profil-pecet {
    position: relative;
    z-index: 3;
    display: grid;
    flex: 0 0 70px;
    width: 70px;
    height: 70px;
    place-items: center;
    background: url('/assets/img/profil-pecet.png?v=20260818-pergamen-10') center / contain no-repeat;
    filter: drop-shadow(0 3px 4px rgba(51, 20, 8, 0.28));
}

.klubovna-profil-foto {
    width: 49px;
    height: 49px;
    border-radius: 50%;
    object-fit: cover;
}

.klubovna-profil-prezdivka {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    width: calc(100% - 55px);
    height: 54px;
    margin-left: -15px;
    padding: 0 34px 2px 26px;
    overflow: hidden;
    background: url('/assets/img/profil-prezdivka-pergamen.png?v=20260818-pergamen-10') center / 100% 100% no-repeat;
    color: #0c315f;
    font-size: clamp(0.92rem, 1.35vw, 1.14rem);
    font-weight: 700;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.klubovna-uzivatel-profil:hover .klubovna-profil-prezdivka,
.klubovna-uzivatel-profil:focus-visible .klubovna-profil-prezdivka {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.klubovna-uzivatel-profil:focus-visible,
.klubovna-odhlaseni-tlacitko:focus-visible {
    outline: 3px solid #d0a84e;
    outline-offset: 3px;
}

.klubovna-odhlaseni {
    margin: 0;
}

.klubovna-odhlaseni-tlacitko {
    display: block;
    width: 66px;
    height: 66px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
}

.klubovna-odhlaseni-tlacitko img {
    display: block;
    width: 66px;
    height: 66px;
    object-fit: contain;
    filter: drop-shadow(0 3px 4px rgba(51, 20, 8, 0.25));
    transition: transform 140ms ease;
}

.klubovna-odhlaseni-tlacitko:hover img,
.klubovna-odhlaseni-tlacitko:focus-visible img {
    transform: translateY(-2px) scale(1.04);
}

@media (max-width: 900px) {
    .klubovna-uzivatel-panel {
        top: 7px;
        width: calc(100% - 34px);
    }

    .klubovna-uzivatel-profil {
        width: min(280px, calc(100vw - 120px));
        height: 58px;
    }

    .klubovna-profil-pecet {
        flex-basis: 60px;
        width: 60px;
        height: 60px;
    }

    .klubovna-profil-foto {
        width: 42px;
        height: 42px;
    }

    .klubovna-profil-prezdivka {
        height: 46px;
        margin-left: -13px;
        padding-right: 28px;
        font-size: 0.9rem;
    }

    .klubovna-odhlaseni-tlacitko,
    .klubovna-odhlaseni-tlacitko img {
        width: 56px;
        height: 56px;
    }
}

@media (max-width: 620px) {
    .klubovna-profil-prezdivka {
        width: 150px;
    }

    .klubovna-uzivatel-profil {
        width: 205px;
    }
}


/* ========================================================================== */
/* PERGAMEN-11: profil nad hlavičkou, formulářové titulky, čisté seznamy     */
/* ========================================================================== */

body.admin-stranka {
    --klubovna-horni-pas: 78px;
    padding-top: calc(24px + var(--klubovna-horni-pas));
}

/* Střed pergamenu začíná až pod posunutou hlavičkou. */
body.admin-stranka::before {
    top: calc(24px + var(--klubovna-horni-pas) + var(--ramec-koncova-vyska) - 12px);
}

/* Sekce zůstávají uvnitř hlavičky, ale o 5 px výš než předchozí varianta. */
.klubovna-sekce-menu,
.klubovna-formular-titulek {
    top: calc(var(--klubovna-horni-pas) + clamp(178px, 14.3vw, 204px) - 10px);
}

/* Formulářová stránka místo prázdného sekčního menu ukáže svůj název. */
.klubovna-formular-titulek {
    position: absolute;
    left: 50%;
    z-index: 82;
    width: min(calc(var(--ramec-sirka) - 300px), 820px);
    transform: translateX(-50%);
    color: #0c315f;
    font-size: clamp(1.35rem, 2.25vw, 1.9rem);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.015em;
    text-shadow: 0 1px 0 rgba(255, 244, 205, 0.75);
}

/* Záložky začínají pod skutečně posunutou hlavičkou. */
.klubovna-podstranky {
    top: calc(24px + var(--klubovna-horni-pas) + var(--ramec-koncova-vyska) - 2px);
}

/* Horní uživatelský pás je na dřevě NAD hlavičkou, ne přes ni. */
.klubovna-uzivatel-panel {
    top: 12px;
}

.klubovna-uzivatel-profil {
    width: clamp(250px, 28vw, 350px);
}

/* Pergamen jména je oříznutý zleva a víc zasunutý pod pečeť. */
.klubovna-profil-prezdivka {
    width: calc(100% - 44px);
    margin-left: -30px;
    padding-left: 38px;
    background-image: url('/assets/img/profil-prezdivka-pergamen.png?v=20260818-pergamen-11');
}

.klubovna-profil-pecet {
    background-image: url('/assets/img/profil-pecet.png?v=20260818-pergamen-10');
}

/* Logout nesmí zdědit obecný modrý vzhled admin tlačítek. */
.admin-stranka .klubovna-odhlaseni-tlacitko,
.admin-stranka .klubovna-odhlaseni-tlacitko:hover,
.admin-stranka .klubovna-odhlaseni-tlacitko:focus-visible {
    width: 66px;
    height: 66px;
    padding: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none;
}

.admin-stranka .klubovna-odhlaseni-tlacitko img {
    width: 66px;
    height: 66px;
}

/* Profilová fotka musí být na stránce profilu zřetelně dostupná k výměně. */
.profil-obrazek-formular {
    margin-top: 8px;
}

.profil-obrazek-radek {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
}

.profil-obrazek-volba label {
    margin-top: 0;
}

/* Recepty: typ jídla jako pečeť + pergamenový štítek, bez kulatého podkruhu. */
.admin-stranka .recepty-sekce {
    margin-top: 26px;
}

.admin-stranka .recepty-sekce h2 {
    display: flex;
    align-items: center;
    gap: 0;
    width: fit-content;
    margin: 0 0 8px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.admin-stranka .recepty-sekce .recept-nadpis-ikona {
    position: relative;
    z-index: 3;
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border-radius: 0;
    background: transparent !important;
}

.admin-stranka .recepty-sekce .recept-nadpis-ikona img {
    width: 46px;
    height: 46px;
    object-fit: contain;
}

.admin-stranka .recepty-sekce h2 > span:last-child {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-width: 170px;
    height: 46px;
    margin-left: -18px;
    padding: 0 28px 2px 34px;
    background: url('/assets/img/profil-prezdivka-pergamen.png?v=20260818-pergamen-11') center / 100% 100% no-repeat;
    color: #0c315f;
    font-size: 1.08rem;
    font-weight: 700;
}

/* Seznam receptů a uživatelů už nemá samostatný modrý záhlavový pruh. */
.admin-stranka .recepty-tabulka thead,
.admin-stranka .uzivatele-tabulka thead {
    display: none;
}

.admin-stranka .recepty-tabulka,
.admin-stranka .uzivatele-tabulka {
    margin-top: 0;
}

@media (max-width: 900px) {
    body.admin-stranka {
        --klubovna-horni-pas: 70px;
        padding-top: calc(18px + var(--klubovna-horni-pas));
    }

    body.admin-stranka::before {
        top: calc(18px + var(--klubovna-horni-pas) + var(--ramec-koncova-vyska) - 10px);
    }

    .klubovna-sekce-menu,
    .klubovna-formular-titulek {
        top: calc(var(--klubovna-horni-pas) + clamp(118px, 16vw, 145px) - 5px);
    }

    .klubovna-podstranky {
        top: calc(18px + var(--klubovna-horni-pas) + var(--ramec-koncova-vyska) - 2px);
    }

    .admin-stranka .klubovna-odhlaseni-tlacitko,
    .admin-stranka .klubovna-odhlaseni-tlacitko img {
        width: 56px;
        height: 56px;
    }
}

@media (max-width: 620px) {
    .profil-obrazek-radek {
        grid-template-columns: 1fr;
    }

    .profil-obrazek-radek .avatar {
        justify-self: center;
    }
}


/* ========================================================================== */
/* PERGAMEN-12: funkční formulářové titulky, profilový pás, pečetě a recepty */
/* ========================================================================== */

body.admin-stranka {
    --klubovna-horni-pas: 84px;
}

/* Profil + přezdívka + logout tvoří jeden vycentrovaný celek nad hlavičkou. */
.klubovna-uzivatel-panel {
    top: 8px;
    left: 50%;
    width: auto;
    max-width: calc(100vw - 28px);
    align-items: center;
    justify-content: center;
    gap: 2px;
    transform: translateX(-50%);
}

.klubovna-uzivatel-profil {
    flex: 0 1 auto;
    width: clamp(245px, 28vw, 345px);
}

.klubovna-profil-prezdivka {
    margin-left: -36px;
    padding-left: 44px;
}

.klubovna-odhlaseni {
    flex: 0 0 auto;
    margin: 0 0 0 -3px;
}

.admin-stranka .klubovna-odhlaseni-tlacitko,
.admin-stranka .klubovna-odhlaseni-tlacitko:hover,
.admin-stranka .klubovna-odhlaseni-tlacitko:focus-visible {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Titulek formuláře je na stejné vodorovné úrovni jako sekční menu. */
.klubovna-formular-titulek {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
}

/* Porce: žádná bílá kulatá kapsle pod ovládáním. */
.admin-stranka .porce-ovladani {
    gap: 7px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.admin-stranka .porce-ovladani label {
    margin-left: 0;
}

/* Pečeť pro profilové fotografie v seznamech i formulářích. */
.avatar-pecet {
    display: inline-grid;
    width: 78px;
    height: 78px;
    place-items: center;
    background: url('/assets/img/profil-pecet.png?v=20260818-pergamen-12') center / contain no-repeat;
    filter: drop-shadow(0 3px 4px rgba(51, 20, 8, 0.22));
}

.avatar-pecet .avatar {
    width: 54px;
    height: 54px;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.avatar-pecet-velka {
    width: 112px;
    height: 112px;
}

.avatar-pecet-velka .avatar,
.avatar-pecet-velka .avatar-velky {
    width: 78px;
    height: 78px;
}

/* Recepty: nové ikony uvnitř stejné voskové pečeti jako profil. */
.admin-stranka .recepty-sekce .recept-nadpis-ikona {
    width: 64px;
    height: 64px;
    background: url('/assets/img/profil-pecet.png?v=20260818-pergamen-12') center / contain no-repeat !important;
    filter: drop-shadow(0 3px 4px rgba(51, 20, 8, 0.2));
}

.admin-stranka .recepty-sekce .recept-nadpis-ikona img {
    width: 38px;
    height: 38px;
    object-fit: contain;
}

.admin-stranka .recepty-sekce h2 > span:last-child {
    margin-left: -24px;
    padding-left: 40px;
}

/* Uživatelé: první buňka má dost prostoru pro pečeť, bez dalšího kulatého rámu. */
.admin-stranka .uzivatele-tabulka tbody tr td:first-child {
    width: 98px;
    padding-left: 10px;
    padding-right: 10px;
}

@media (max-width: 900px) {
    body.admin-stranka {
        --klubovna-horni-pas: 76px;
    }

    .klubovna-uzivatel-panel {
        width: auto;
        max-width: calc(100vw - 18px);
    }

    .klubovna-uzivatel-profil {
        width: min(260px, calc(100vw - 92px));
    }
}

/* ========================================================================== */
/* PERGAMEN-13: profilovy pas zarovnany doleva                               */
/* ========================================================================== */

/* Horni uzivatelsky pas zacina na stejne leve ose jako hlavni pergamen. */
.klubovna-uzivatel-panel {
    left: 50%;
    width: var(--ramec-sirka);
    max-width: var(--ramec-sirka);
    justify-content: flex-start;
    align-items: center;
    gap: 0;
    transform: translateX(-50%);
}

/* Profilovy blok ma pevnou vysku; stred jmenneho pergamenu je referencni osa. */
.klubovna-uzivatel-profil {
    flex: 0 0 clamp(245px, 28vw, 345px);
    width: clamp(245px, 28vw, 345px);
    height: 70px;
    align-items: center;
}

.klubovna-profil-prezdivka {
    height: 54px;
}

/* Logout je hned za jmenem a jeho stred lezi na stejne vodorovne ose. */
.klubovna-odhlaseni {
    display: flex;
    flex: 0 0 66px;
    width: 66px;
    height: 54px;
    margin: 0 0 0 -2px;
    align-items: center;
    justify-content: center;
    align-self: center;
}

.admin-stranka .klubovna-odhlaseni-tlacitko,
.admin-stranka .klubovna-odhlaseni-tlacitko img {
    width: 66px;
    height: 66px;
}

@media (max-width: 900px) {
    .klubovna-uzivatel-panel {
        width: calc(100vw - 34px);
        max-width: calc(100vw - 34px);
    }

    .klubovna-uzivatel-profil {
        flex-basis: min(260px, calc(100vw - 110px));
        width: min(260px, calc(100vw - 110px));
    }
}

/* ========================================================================== */
/* PERGAMEN-14: horni pas - jemne vertikalni doladeni                       */
/* ========================================================================== */

/* Cely interni layout o 10 px vys. */
body.admin-stranka {
    padding-top: calc(14px + var(--klubovna-horni-pas));
}

body.admin-stranka::before {
    top: calc(14px + var(--klubovna-horni-pas) + var(--ramec-koncova-vyska) - 12px);
}

.klubovna-sekce-menu,
.klubovna-formular-titulek {
    top: calc(var(--klubovna-horni-pas) + clamp(178px, 14.3vw, 204px) - 20px);
}

.klubovna-podstranky {
    top: calc(14px + var(--klubovna-horni-pas) + var(--ramec-koncova-vyska) - 2px);
}

.klubovna-uzivatel-panel {
    top: -2px;
}

/* Logout jeste o dalsich 5 px vys proti jmennemu pergamenu. */
.klubovna-odhlaseni {
    transform: translateY(-5px);
}

@media (max-width: 900px) {
    body.admin-stranka {
        padding-top: calc(8px + var(--klubovna-horni-pas));
    }

    body.admin-stranka::before {
        top: calc(8px + var(--klubovna-horni-pas) + var(--ramec-koncova-vyska) - 12px);
    }

    .klubovna-podstranky {
        top: calc(8px + var(--klubovna-horni-pas) + var(--ramec-koncova-vyska) - 2px);
    }
}

/* ========================================================================== */
/* PERGAMEN-15: korekce horniho profilu a presne napojeni paticky            */
/* ========================================================================== */
.klubovna-uzivatel-panel { top: 8px; }
.klubovna-odhlaseni { transform: translateY(-10px); }
body.admin-stranka::before { bottom: calc(56px + var(--ramec-koncova-vyska)); }
@media (max-width: 900px) { body.admin-stranka::before { bottom: calc(36px + var(--ramec-koncova-vyska)); } }
@media (max-width: 680px) { body.admin-stranka::before { bottom: calc(24px + var(--ramec-koncova-vyska)); } }

/* ========================================================================== */
/* PERGAMEN-16: stabilni napojeni prostredku na paticku                       */
/* ========================================================================== */
/* Prostredni dil se kotvi odspodu, aby posledni opakovani vzdy navazovalo
   na stejny horni okraj paticky. Logout ani horni profilovy pas se zde nemeni. */
body.admin-stranka::before {
    bottom: calc(56px + var(--ramec-koncova-vyska) - 1px);
    background-position: center bottom;
}

@media (max-width: 900px) {
    body.admin-stranka::before {
        bottom: calc(36px + var(--ramec-koncova-vyska) - 1px);
    }
}

@media (max-width: 680px) {
    body.admin-stranka::before {
        bottom: calc(24px + var(--ramec-koncova-vyska) - 1px);
    }
}


/* ========================================================================== */
/* PERGAMEN-17: Uživatelé - obecné akční ikony, role a konzistentní hlavička */
/* ========================================================================== */

/* Obecné ikony akcí se používají napříč webem. */
.ikona-akce,
button.ikona-akce {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 58px !important;
    height: 58px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer;
    text-decoration: none;
    transition: transform 140ms ease, filter 140ms ease;
}

.ikona-akce img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ikona-akce:hover,
.ikona-akce:focus-visible,
button.ikona-akce:hover,
button.ikona-akce:focus-visible {
    transform: translateY(-2px) !important;
    filter: brightness(1.04);
    box-shadow: none !important;
}

.ikona-akce-mala,
button.ikona-akce-mala {
    width: 46px !important;
    height: 46px !important;
}

/* Plus je samostatně pod hlavičkou, ne její součástí. */
.uzivatele-horni-akce {
    display: flex;
    justify-content: flex-end;
    margin: 28px 0 10px;
}

.uzivatele-horni-akce .ikona-akce-pridat {
    width: 62px !important;
    height: 62px !important;
}

.uzivatele-akce-radek {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.uzivatele-smazat-formular {
    display: inline-flex;
    margin: 0;
}

.admin-stranka .uzivatele-tabulka .bunka-akce {
    width: 118px;
    padding-left: 8px;
    padding-right: 8px;
}

/* Všechny skutečné role mají stejnou zlatou podobu jako Hlavní vedoucí. */
.admin-stranka .uzivatele-tabulka .stitek-zlaty {
    background: #f5ecd0;
    color: #6a4a0d;
    border-color: rgba(199, 162, 83, 0.46);
}

/* Stav změny hesla zůstává výstražný, protože nejde o roli. */
.admin-stranka .uzivatele-tabulka .stitek-varovani {
    background: #f7e9e9;
    color: var(--chyba);
    border-color: rgba(143, 45, 45, 0.18);
}

.reset-hesla-volba {
    margin-top: 10px;
}

@media (max-width: 720px) {
    .uzivatele-horni-akce {
        margin-top: 20px;
    }

    .ikona-akce-mala,
    button.ikona-akce-mala {
        width: 42px !important;
        height: 42px !important;
    }
}

/* ========================================================================== */
/* PERGAMEN-20: ZAMČENÁ GEOMETRIE RÁMU — HLAVIČKA + PROSTŘEDEK + PATIČKA    */
/* ========================================================================== */
/*
 * NEMĚNIT BEZ VÝSLOVNÉHO POŽADAVKU UŽIVATELE.
 *
 * 1) prostředek začíná přesně na spodní hraně hlavičky,
 * 2) patička zůstává v referenční poloze z PERGAMEN-16 (1px překrytí),
 * 3) prostředek se skládá odshora,
 * 4) JS v app/navigace.php dorovnává výšku rámu na CELÝ počet dlaždic
 *    pergamen-prostredek.png (351/2048 šířky), takže se poslední dlaždice
 *    u patičky nikdy neuřízne v jiné fázi.
 */
.admin-stranka .obsah,
.admin-stranka .obsah-jidelnicek,
.admin-stranka .obsah-domu,
.admin-stranka .obsah-rozcestnik {
    min-height: max(
        var(--klubovna-min-vyska, 900px),
        calc(100vh - 80px),
        var(--klubovna-zarovnana-vyska, 0px)
    );
}

body.admin-stranka::before {
    top: calc(14px + var(--klubovna-horni-pas) + var(--ramec-koncova-vyska));
    bottom: calc(56px + var(--ramec-koncova-vyska) - 1px);
    background-position: center top;
    clip-path: none;
}

@media (max-width: 900px) {
    body.admin-stranka::before {
        top: calc(8px + var(--klubovna-horni-pas) + var(--ramec-koncova-vyska));
        bottom: calc(36px + var(--ramec-koncova-vyska) - 1px);
    }
}

@media (max-width: 680px) {
    body.admin-stranka::before {
        bottom: calc(24px + var(--ramec-koncova-vyska) - 1px);
    }
}


/* Základní údaje: akce formuláře roku vedle sebe.
   PERGAMEN-20 / zamčená geometrie rámu se tímto blokem NEMĚNÍ. */
.zakladni-udaje-formular .formular-spodek {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.zakladni-udaje-formular .formular-spodek .tlacitko,
.zakladni-udaje-formular .formular-spodek button {
    width: auto;
    margin-top: 0;
}

/* ========================================================================== */
/* ZAKLADNI UDAJE: NAVRAT VIZUALU 6-13                                        */
/* Body 3-5 z posledni upravy zustavaji beze zmeny.                           */
/* Zamcena geometrie PERGAMEN-20 se zde NEMENI.                               */
/* ========================================================================== */
.seznam-horni-akce {
    display: flex;
    justify-content: flex-end;
    margin: 28px 0 10px;
}

.seznam-horni-akce .ikona-akce-pridat {
    width: 62px !important;
    height: 62px !important;
}

.admin-stranka .zakladni-udaje-tabulka {
    margin-top: 0;
}

.admin-stranka .zakladni-udaje-tabulka thead {
    display: none;
}

.admin-stranka .zakladni-udaje-tabulka .bunka-akce {
    width: 72px;
    padding-left: 8px;
    padding-right: 8px;
}

@media (max-width: 720px) {
    .seznam-horni-akce {
        margin-top: 20px;
    }
}


/* ========================================================================== */
/* RECEPTY-IKONY-1: pouze stránka Recepty                                     */
/* Zamčená geometrie pergamenu se zde NEMĚNÍ.                                */
/* ========================================================================== */
.recepty-stranka .recepty-panel-akci {
    align-items: center;
    min-height: 62px;
    margin: 28px 0 10px;
}

.recepty-stranka .recepty-pridat {
    width: 62px !important;
    height: 62px !important;
}

.recepty-stranka .tabulkove-akce {
    align-items: center;
    gap: 6px;
}

.recepty-stranka .recepty-sipka img {
    transition: transform 160ms ease;
}

.recepty-stranka .recepty-sipka.je-otevrene img {
    transform: rotate(180deg);
}

/* Typová ikona zůstává v pečeti, ale samotný obrázek dostává modré pozadí webu. */
.recepty-stranka .recepty-sekce .recept-nadpis-ikona::before {
    content: "";
    position: absolute;
    z-index: 0;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #173f70;
}

.recepty-stranka .recepty-sekce .recept-nadpis-ikona img {
    position: relative;
    z-index: 1;
    width: 34px;
    height: 34px;
}

@media (max-width: 720px) {
    .recepty-stranka .recepty-panel-akci {
        margin-top: 20px;
    }
}

/* ========================================================================== */
/* RECEPTY-FONT-1: klasictejsi serif pouze na strance Recepty                  */
/* ========================================================================== */
.recepty-stranka,
.recepty-stranka button,
.recepty-stranka input,
.recepty-stranka select,
.recepty-stranka textarea {
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
}

/* ========================================================================== */
/* RECEPTY-PORCE-MODRY-1: modry minus + zive cislo + modry plus               */
/* Pouze Recepty. Vizual se nemeni pri hodnote 1; JS pouze nepusti pod 1.      */
/* ========================================================================== */
.recepty-stranka .porce-ovladani {
    position: relative;
    display: block;
    width: 286px;
    min-width: 0;
    aspect-ratio: 900 / 251;
    flex: 0 0 auto;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: url('/assets/img/porce-pergamen-modry.png?v=20260819-1') center / contain no-repeat;
    box-shadow: none;
}

.recepty-stranka .porce-ovladani label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.recepty-stranka .porce-ovladani [data-porce-minus],
.recepty-stranka .porce-ovladani [data-porce-plus] {
    position: absolute;
    top: 27%;
    width: 12%;
    height: 47%;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    cursor: pointer;
}

.recepty-stranka .porce-ovladani [data-porce-minus] {
    left: 39.1%;
}

.recepty-stranka .porce-ovladani [data-porce-plus] {
    left: 76.1%;
}

.recepty-stranka .porce-ovladani [data-porce-minus]:focus-visible,
.recepty-stranka .porce-ovladani [data-porce-plus]:focus-visible {
    outline: 2px solid #c7a253;
    outline-offset: -4px;
}

.recepty-stranka .porce-ovladani [data-pocet-porci] {
    position: absolute;
    top: 24%;
    left: 52.6%;
    width: 21.1%;
    height: 54%;
    margin: 0;
    padding: 0 4px;
    border: 0 !important;
    border-radius: 0;
    outline: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: #0b3567;
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
    font-size: clamp(1.2rem, 1.8vw, 1.65rem);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    appearance: textfield;
    -moz-appearance: textfield;
}

.recepty-stranka .porce-ovladani [data-pocet-porci]::-webkit-inner-spin-button,
.recepty-stranka .porce-ovladani [data-pocet-porci]::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.recepty-stranka .porce-ovladani [data-pocet-porci]:focus-visible {
    outline: 2px solid rgba(23, 63, 112, 0.55);
    outline-offset: -6px;
}

@media (max-width: 720px) {
    .recepty-stranka .porce-ovladani {
        width: min(100%, 286px);
        min-width: 0;
    }
}

/* RECEPTY-SIPKA-1: velikost sipky zustava beze zmeny */
.recepty-stranka .recepty-sipka,
.recepty-stranka button.recepty-sipka {
    width: 30px !important;
    height: 30px !important;
}

.recepty-stranka .recepty-sipka img {
    width: 30px !important;
    height: 30px !important;
}

/* GLOBALNI-PISMO-1: stejny serif jako na sekcich Receptu napric webem */
html,
body,
button,
input,
select,
textarea {
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
}

/* 2026-08-19: Jidelnicek - import a sjednocene akcni ikony. */
.admin-stranka .jidelnicek-ulozit {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.admin-stranka .jidelnicek-ulozit button {
    width: auto;
    min-width: 190px;
    margin: 0;
}

.admin-stranka .jidelnicek-import-rok {
    width: min(100%, 270px);
    margin: 0;
}

.admin-stranka .jidelnicek-akce {
    width: 34px;
    height: 34px;
    min-height: 34px;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    box-shadow: none !important;
    color: transparent !important;
    font-size: 0 !important;
    overflow: hidden;
}

.admin-stranka .jidelnicek-akce-pridat {
    background-image: url('/assets/img/ikona-akce-pridat.png') !important;
}

.admin-stranka .jidelnicek-akce-upravit {
    background-image: url('/assets/img/ikona-akce-upravit.png') !important;
}

.admin-stranka .jidelnicek-akce:hover,
.admin-stranka .jidelnicek-akce:focus-visible {
    transform: translateY(-1px);
    outline: none;
}

@media (max-width: 720px) {
    .admin-stranka .jidelnicek-ulozit {
        align-items: stretch;
    }

    .admin-stranka .jidelnicek-ulozit button,
    .admin-stranka .jidelnicek-import-rok {
        width: 100%;
    }
}

/* ========================================================================== */
/* JIDELNICEK-2: horní ovládání, exportní ikony a dvouřádkový den            */
/* 2026-08-19                                                                */
/* ========================================================================== */
.admin-stranka .jidelnicek-horni-ovladani {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    margin: 14px 0 14px;
}

.admin-stranka .jidelnicek-volba-roku {
    display: flex;
    align-items: center;
    flex: 0 1 auto;
    margin: 0;
}

.admin-stranka .jidelnicek-volba-roku .jidelnicek-vyber-roku {
    width: 250px;
    height: 38px;
    min-height: 38px;
    margin: 0;
    padding: 6px 40px 6px 12px;
    border-radius: 4px;
    -webkit-appearance: none;
    appearance: none;
    background-image: url('/assets/img/ikona-akce-rozbalit.png') !important;
    background-repeat: no-repeat !important;
    background-position: right 7px center !important;
    background-size: 26px 26px !important;
}

.admin-stranka .jidelnicek-exporty {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin: 0;
}

.admin-stranka .jidelnicek-export-ikona {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    text-decoration: none;
    transition: transform 140ms ease, filter 140ms ease;
}

.admin-stranka .jidelnicek-export-ikona img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.admin-stranka .jidelnicek-export-ikona:hover,
.admin-stranka .jidelnicek-export-ikona:focus-visible {
    transform: translateY(-2px);
    filter: brightness(1.05);
    outline: none;
}

.admin-stranka .jidelnicek-den-obsah {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 5px;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.admin-stranka .jidelnicek-den-obsah .jidelnicek-den-text {
    display: inline-block;
    writing-mode: inherit;
    transform: none;
    white-space: nowrap;
}

.admin-stranka .jidelnicek-den-obsah .jidelnicek-den-datum {
    font-weight: 600;
}

@media (max-width: 720px) {
    .admin-stranka .jidelnicek-horni-ovladani {
        align-items: center;
        gap: 10px;
    }

    .admin-stranka .jidelnicek-volba-roku {
        flex: 1 1 auto;
    }

    .admin-stranka .jidelnicek-volba-roku .jidelnicek-vyber-roku {
        width: min(100%, 230px);
    }

    .admin-stranka .jidelnicek-export-ikona {
        width: 54px;
        height: 54px;
    }
}


/* ========================================================================== */
/* 2026-08-19: prava, typografie, Suroviny, Jidelnicek a detail Receptu      */
/* ========================================================================== */

/* Stejna typografie profilu a hlavniho sekcniho menu na vsech internich stranach. */
.admin-stranka .klubovna-profil-prezdivka,
.admin-stranka .klubovna-sekce-odkaz,
.admin-stranka .klubovna-formular-titulek,
.admin-stranka .klubovna-podstranky {
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
}

/* Jidelnicek: den a datum jsou dva samostatne svisle radky pod sebou. */
.admin-stranka .jidelnicek-den-obsah {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    min-height: 100%;
    writing-mode: horizontal-tb;
    transform: none;
}

.admin-stranka .jidelnicek-den-obsah .jidelnicek-den-text {
    display: block;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    white-space: nowrap;
    line-height: 1.05;
}

/* Suroviny: stejne hlavicky sekci jako Recepty - pecet + pergamen. */
.suroviny-stranka .suroviny-panel-akci {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 64px;
    margin: 0 0 8px;
}

.suroviny-stranka .suroviny-pridat {
    width: 62px;
    height: 62px;
}

.suroviny-stranka .ingredience-sekce {
    margin-top: 26px;
}

.suroviny-stranka .ingredience-sekce h2 {
    display: flex;
    align-items: center;
    gap: 0;
    width: fit-content;
    margin: 0 0 8px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.suroviny-stranka .ingredience-sekce .ingredience-nadpis-ikona {
    position: relative;
    z-index: 3;
    display: grid;
    width: 64px;
    height: 64px;
    place-items: center;
    border-radius: 0;
    background: url('/assets/img/profil-pecet.png?v=20260818-pergamen-12') center / contain no-repeat !important;
    filter: drop-shadow(0 3px 4px rgba(51, 20, 8, 0.2));
}

.suroviny-stranka .ingredience-sekce .ingredience-nadpis-ikona::before {
    content: none;
}

.suroviny-stranka .ingredience-sekce .ingredience-nadpis-ikona img {
    position: relative;
    z-index: 1;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    image-rendering: pixelated;
}

.suroviny-stranka .ingredience-sekce h2 > span:last-child {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-width: 180px;
    height: 46px;
    margin-left: -24px;
    padding: 0 28px 2px 40px;
    background: url('/assets/img/profil-prezdivka-pergamen.png?v=20260818-pergamen-11') center / 100% 100% no-repeat;
    color: #0c315f;
    font-size: 1.08rem;
    font-weight: 700;
}

.suroviny-stranka .suroviny-tabulka thead {
    display: none;
}

.suroviny-stranka .suroviny-tabulka .bunka-akce {
    width: 68px;
    text-align: right;
}

/* Recepty: pevna prvni kolona s mnozstvim zarovna zacatky nazvu surovin. */
.recepty-stranka .recept-suroviny-vypis li {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    column-gap: 12px;
    align-items: baseline;
}

.recepty-stranka .recept-suroviny-vypis [data-recept-mnozstvi] {
    text-align: right;
}


/* ========================================================================== */
/* 2026-08-19: oprava radku dne + mnozstvi v detailu receptu                 */
/* ========================================================================== */

/* Jidelnicek: datum a den jsou dva skutecne radky (jako Enter),
   cely dvouradek je pak otoceny svisle a ve sloupci vycentrovany. */
.admin-stranka .jidelnicek-tabulka tbody th.jidelnicek-den-bunka {
    text-align: center;
    vertical-align: middle;
}

.admin-stranka .jidelnicek-den-obsah {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: auto;
    min-height: 0;
    writing-mode: horizontal-tb;
    transform: rotate(-90deg);
    transform-origin: center;
    white-space: nowrap;
}

.admin-stranka .jidelnicek-den-obsah .jidelnicek-den-text {
    display: block;
    writing-mode: horizontal-tb;
    transform: none;
    line-height: 1.05;
    text-align: center;
    white-space: nowrap;
}

.admin-stranka .jidelnicek-den-obsah .jidelnicek-den-datum {
    font-weight: 700;
}

/* Recepty: mnozstvi ma pevnou kolonku a cislo je pritazene doprava. */
.recepty-stranka .recept-suroviny-vypis [data-recept-mnozstvi] {
    display: block;
    width: 100%;
    justify-self: stretch;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* ========================================================================== */
/* NAKUPY-A-UCTENKY-1: pouze Nákupy, Sklad a Účtenky                         */
/* Zamčená geometrie hlavního pergamenu se zde NEMĚNÍ.                       */
/* ========================================================================== */

/* Suroviny: plus na stejné výšce jako akce na Recepty. */
.suroviny-stranka .suroviny-panel-akci {
    min-height: 62px;
    margin: 28px 0 10px;
}

.nakupy-stranka .nakupy-vyber-roku,
.uctenky-stranka .nakupy-vyber-roku {
    display: flex;
    align-items: center;
    width: min(360px, 100%);
    margin: 26px 0 18px;
}

.nakupy-stranka .nakupy-vyber-roku select,
.uctenky-stranka .nakupy-vyber-roku select,
.nakupy-stranka .nakupy-den-radek select,
.nakupy-stranka .nakupy-dialog select {
    min-height: 42px;
    padding: 7px 42px 7px 14px;
    border: 1px solid rgba(86, 48, 18, .48);
    border-radius: 10px;
    background-color: rgba(255, 244, 204, .78);
    background-image: url('/assets/img/ikona-akce-rozbalit.png?v=20260819-nakupy-1');
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 22px 22px;
    color: #0b2347;
    appearance: none;
}

.nakupy-sekce {
    margin: 34px 0 52px;
}

.nakupy-sekce-radek,
.uctenky-horni-radek,
.nakupy-den-radek,
.nakupy-seznam-hlavicka,
.uctenka-karta-hlavicka,
.uctenka-akce {
    display: flex;
    align-items: center;
}

.nakupy-sekce-radek,
.uctenky-horni-radek,
.nakupy-seznam-hlavicka,
.uctenka-karta-hlavicka {
    justify-content: space-between;
    gap: 14px;
}

.nakupy-sekce-nadpis {
    display: flex;
    align-items: center;
    width: fit-content;
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    background: transparent;
}

.nakupy-sekce-pecet {
    position: relative;
    z-index: 3;
    display: grid;
    width: 72px;
    height: 72px;
    place-items: center;
    background: url('/assets/img/profil-pecet.png?v=20260818-pergamen-12') center / contain no-repeat;
    filter: drop-shadow(0 3px 4px rgba(51, 20, 8, .2));
}

.nakupy-sekce-pecet img {
    width: 47px;
    height: 47px;
    border-radius: 50%;
    object-fit: cover;
    image-rendering: pixelated;
}

.nakupy-sekce-nadpis > span:last-child {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-width: 205px;
    height: 50px;
    margin-left: -27px;
    padding: 0 32px 2px 46px;
    background: url('/assets/img/profil-prezdivka-pergamen.png?v=20260818-pergamen-11') center / 100% 100% no-repeat;
    color: #0c315f;
    font-size: 1.15rem;
    font-weight: 700;
}

.nakupy-plus,
.uctenky-plus {
    width: 62px;
    height: 62px;
    margin-top: 24px;
}

.nakupy-nastaveni-peciva {
    max-width: 760px;
    margin: 8px 0 18px 76px;
    padding: 10px 16px 14px;
    border: 1px solid rgba(95, 62, 28, .28);
    border-radius: 12px;
    background: rgba(255, 247, 219, .4);
}

.nakupy-nastaveni-peciva summary {
    cursor: pointer;
    font-weight: 700;
}

.nakupy-checkboxy {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 14px 0;
}

.nakupy-checkboxy label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.nakupy-den-radek {
    gap: 12px;
    margin: 12px 0 18px 76px;
}

.nakupy-den-radek form,
form.nakupy-den-radek {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nakupy-den-radek label {
    font-weight: 700;
}

.nakupy-export img {
    display: block;
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.nakupy-pergameny {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin: 0 0 14px 64px;
}

.nakupy-pergamen {
    min-width: 0;
}

.nakupy-pergamen-hlava,
.nakupy-pergamen-pata {
    background-position: center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.nakupy-pergamen-hlava {
    width: 100%;
    aspect-ratio: 955 / 218;
    margin-bottom: -2px;
    background-image: url('/assets/img/nakupy-pergamen-hlavicka-v2.png?v=20260819-nakupy-4');
}

.nakupy-pergamen-pata {
    height: 54px;
}

.nakupy-pergamen-telo {
    min-height: 270px;
    margin: 0;
    padding: 0 42px 14px;
    background: url('/assets/img/pergamen-prostredek.webp?v=20260824-perf-1') center / 100% 100% repeat-y;
}

.nakupy-pergamen-pata {
    margin-top: -2px;
    background-image: url('/assets/img/pergamen-paticka.webp?v=20260824-perf-1');
}

.nakupy-pergamen h3 {
    margin: 0 0 2px;
    text-align: center;
    color: #0b2b57;
    font-size: 1.25rem;
}

.nakupy-datum-popis {
    margin: 0 0 14px;
    text-align: center;
    color: #6e5636;
}

.nakupy-polozky,
.nakupy-sklad-info ul {
    margin: 10px 0;
    padding-left: 20px;
}

.nakupy-polozky {
    list-style: none;
    padding-left: 0;
}

.nakupy-polozky li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 5px 0;
    border-bottom: 1px solid rgba(111, 77, 39, .18);
}

.nakupy-sklad-info {
    margin-top: 14px;
    padding: 10px 12px;
    border-left: 4px solid #7b9b58;
    background: rgba(226, 237, 195, .42);
    font-size: .9rem;
}

.nakupy-prazdne {
    color: #665943;
    font-style: italic;
}

.nakupy-seznam-karta,
.uctenka-karta,
.uctenky-proplaceni,
.uctenky-zauctovani {
    margin: 12px 0 18px 64px;
    padding: 16px 18px;
    border: 1px solid rgba(86, 48, 18, .25);
    border-radius: 14px;
    background: rgba(255, 247, 218, .5);
    box-shadow: 0 5px 15px rgba(48, 31, 14, .06);
}

.nakupy-seznam-hlavicka h3 {
    margin: 0;
}

.nakupy-radky {
    margin-top: 10px;
}

.nakupy-radek {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 100px 34px 105px 46px;
    gap: 8px;
    align-items: center;
    padding: 7px 0;
    border-bottom: 1px solid rgba(84, 58, 29, .14);
}

.nakupy-radek input,
.nakupy-sklad-radek input,
.uctenka-polozka input,
.uctenka-polozka select,
.uctenky-dialog input,
.uctenky-dialog select,
.uctenka-tasky input {
    min-height: 38px;
    padding: 7px 9px;
    border: 1px solid rgba(80, 57, 32, .32);
    border-radius: 8px;
    background: rgba(255, 252, 236, .78);
}

.nakupy-radek input {
    width: 100px;
    text-align: right;
}

.nakupy-cena {
    text-align: right;
    font-weight: 700;
}

.nakupy-ulozit-radky {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
}

.nakupy-sklad-tabulka {
    margin-left: 64px;
}

.nakupy-sklad-radek {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 130px minmax(180px, auto);
    gap: 14px;
    align-items: center;
    padding: 9px 0;
    border-bottom: 1px solid rgba(84, 58, 29, .16);
}

.nakupy-sklad-radek form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}

.nakupy-sklad-radek input {
    width: 110px;
    text-align: right;
}

.nakupy-dialog,
.uctenky-dialog {
    width: min(760px, calc(100vw - 32px));
    max-height: calc(100vh - 40px);
    overflow: auto;
    padding: 22px;
    border: 1px solid #9b713c;
    border-radius: 16px;
    background: #fff5d7;
    color: #0b2347;
}

.nakupy-dialog::backdrop,
.uctenky-dialog::backdrop {
    background: rgba(5, 15, 31, .58);
}

.nakupy-dialog label,
.uctenky-dialog label,
.uctenka-polozka label,
.uctenka-tasky {
    display: grid;
    gap: 5px;
    font-weight: 700;
}

.nakupy-dialog .form-akce,
.uctenky-dialog .form-akce,
.uctenky-zauctovani .form-akce {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

/* Účtenky */
.uctenky-stranka .obsah {
    padding-top: 8px;
}

.uctenky-horni-radek {
    margin-bottom: 12px;
}

.uctenky-proplaceni {
    margin-left: 0;
    background: rgba(244, 229, 171, .55);
}

.uctenky-proplaceni h2,
.uctenky-seznam h2,
.uctenky-zauctovani h2 {
    color: #0b2b57;
}

.uctenky-proplaceni-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
    gap: 12px;
}

.uctenky-proplaceni-grid article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    align-items: center;
    padding: 12px;
    border-radius: 10px;
    background: rgba(255, 250, 229, .7);
}

.uctenky-proplaceni-grid article > div {
    display: grid;
}

.uctenky-proplaceni-grid form {
    grid-column: 1 / -1;
}

.uctenky-seznam {
    margin: 30px 0;
}

.uctenky-seznam > h2 {
    margin-left: 64px;
}

.uctenka-karta {
    display: grid;
    gap: 8px;
}

.uctenka-karta-hlavicka > div {
    display: grid;
    gap: 2px;
}

.uctenka-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    font-size: .92rem;
    color: #5d5547;
}

.uctenka-akce {
    justify-content: flex-end;
    gap: 8px;
}

.admin-stranka .tlacitko.nebezpecne {
    border-color: #7d1515;
    background: #b52222;
    color: #fff;
}

.admin-stranka .tlacitko.nebezpecne:hover {
    background: #921a1a;
}

.formular-grid.dve {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
}

.uctenka-polozka {
    display: grid;
    grid-template-columns: minmax(190px, 1.45fr) minmax(130px, .7fr) minmax(180px, 1fr) 46px;
    gap: 10px;
    align-items: end;
    padding: 10px 0;
    border-bottom: 1px solid rgba(84, 58, 29, .16);
}

.uctenka-mnozstvi {
    display: flex;
    align-items: center;
    gap: 7px;
}

.uctenka-mnozstvi input {
    min-width: 0;
    width: 100%;
    text-align: right;
}

.uctenka-pridat-polozku {
    width: 50px;
    height: 50px;
    margin-top: 12px;
}

.uctenka-tasky {
    width: min(260px, 100%);
    margin: 16px 0 0 auto;
}

.uctenka-rozdil {
    margin: 14px 0 0;
    padding: 10px 12px;
    border-radius: 9px;
    background: rgba(197, 82, 70, .13);
    font-weight: 700;
    text-align: right;
}

.uctenka-rozdil.sedí {
    background: rgba(90, 142, 69, .18);
}

@media (max-width: 900px) {
    .nakupy-pergameny {
        grid-template-columns: 1fr;
        margin-left: 0;
    }
    .nakupy-nastaveni-peciva,
    .nakupy-den-radek,
    .nakupy-seznam-karta,
    .nakupy-sklad-tabulka,
    .uctenka-karta,
    .uctenky-zauctovani,
    .uctenky-seznam > h2 {
        margin-left: 0;
    }
    .nakupy-radek {
        grid-template-columns: minmax(150px, 1fr) 90px 30px 90px 42px;
    }
    .formular-grid.dve,
    .uctenka-polozka {
        grid-template-columns: 1fr;
    }
    .uctenka-polozka > .ikona-akce {
        justify-self: end;
    }
}

/* ========================================================================== */
/* VEDOUCI + finalni pergamen nakupu 2026-08-19                               */
/* ========================================================================== */

/* Pečivo: celý dodaný pergamen jako jediný podklad, bez skládání částí. */
.nakupy-pergamen-cely {
    position: relative;
    min-width: 0;
    aspect-ratio: 1377 / 1039;
    padding: 0;
    background: url('/assets/img/nakupy-pergamen-cely.png?v=20260819-nakupy-5') center / 100% 100% no-repeat;
}

.nakupy-pergamen-cely-obsah {
    position: absolute;
    inset: 12% 10% 11%;
    overflow: auto;
    text-align: center;
}

.nakupy-pergamen-cely .nakupy-polozky {
    display: grid;
    justify-items: center;
}

.nakupy-pergamen-cely .nakupy-polozky li {
    width: min(100%, 360px);
    justify-content: center;
    gap: 12px;
    text-align: center;
}

/* Účtenky nesmějí přepisovat standardní horní odsazení pergamenu. */
.uctenky-stranka .obsah {
    padding-top: 214px;
}

.vedouci-horni-radek {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 30px 0 24px;
}

.vedouci-horni-radek .nakupy-vyber-roku {
    width: min(300px, 100%);
    margin: 0;
}

.vedouci-horni-radek .nakupy-vyber-roku select,
.vedouci-inline-pozice select {
    min-height: 42px;
    padding: 7px 42px 7px 14px;
    border: 1px solid rgba(86, 48, 18, .48);
    border-radius: 10px;
    background-color: rgba(255, 244, 204, .78);
    background-image: url('/assets/img/ikona-akce-rozbalit.png?v=20260820-vedouci-4');
    background-repeat: no-repeat;
    background-position: right 9px center;
    background-size: 22px 22px;
    color: #0b2347;
    appearance: none;
    -webkit-appearance: none;
}

.vedouci-horni-akce {
    display: flex;
    align-items: center;
    gap: 10px;
}

.vedouci-horni-ikona,
.vedouci-radek-ikona {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.vedouci-horni-ikona img {
    display: block;
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.vedouci-sekce {
    margin: 24px 0 34px;
}

.vedouci-karty,
.vedouci-vlastni-prehled {
    display: grid;
    gap: 10px;
    margin: 12px 0 0 64px;
}

.vedouci-vlastni-prehled {
    margin-top: 30px;
}

.vedouci-karta {
    display: block;
    padding: 11px 14px;
    border-bottom: 1px solid rgba(79, 55, 29, .2);
    background: rgba(255, 249, 224, .28);
}

.vedouci-karta-hlavni {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) minmax(180px, auto) auto;
    gap: 14px;
    align-items: center;
}

.vedouci-karta-vlastni .vedouci-karta-hlavni,
.vedouci-karta-seznam .vedouci-karta-hlavni {
    grid-template-columns: minmax(190px, 1fr) auto;
}

.vedouci-karta-jmeno {
    display: grid;
    gap: 2px;
}

.vedouci-karta-jmeno strong {
    color: #0b2b57;
    font-size: 1.08rem;
}

.vedouci-karta-jmeno span {
    color: #5e513c;
}

.vedouci-karta-akce,
.vedouci-inline-rok {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.vedouci-karta-akce form,
.vedouci-inline-rok form,
.vedouci-stav-form {
    margin: 0;
}

.vedouci-radek-ikona,
.vedouci-stav-ikona,
.vedouci-papir {
    width: 46px;
    height: 46px;
    padding: 0;
    border: 0;
    background: transparent;
}

.vedouci-radek-ikona img,
.vedouci-stav-ikona img,
.vedouci-papir img {
    display: block;
    width: 44px;
    height: 44px;
    object-fit: contain;
}

.vedouci-inline-pozice select {
    width: 170px;
    min-height: 40px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.vedouci-papir.je-aktivni img {
    filter: hue-rotate(55deg) saturate(2.6) brightness(1.08);
}

.vedouci-detail-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    margin-left: 1px;
    border: 0;
    background: transparent;
}

.vedouci-detail-toggle img {
    display: block;
    width: 32px;
    height: 32px;
    object-fit: contain;
    transition: transform .18s ease;
}

.vedouci-detail-toggle.je-otevreno img {
    transform: rotate(180deg);
}

.vedouci-detail-panel {
    margin-top: 12px;
}

.vedouci-detail-panel[hidden] {
    display: none;
}

.vedouci-detail {
    position: static;
    width: 100%;
    padding: 14px 16px;
    border: 1px solid rgba(155, 113, 60, .55);
    border-radius: 12px;
    background: rgba(255, 245, 215, .72);
    box-shadow: none;
    text-align: left;
}

.vedouci-karta-vlastni .vedouci-detail {
    margin-top: 12px;
}

.vedouci-detail dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 16px;
    margin: 0;
}

.vedouci-detail dl > div {
    min-width: 0;
}

.vedouci-detail dt {
    color: #6d5738;
    font-size: .78rem;
    font-weight: 700;
}

.vedouci-detail dd {
    margin: 2px 0 0;
    overflow-wrap: anywhere;
}

.vedouci-detail-soubory {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 12px;
}

.vedouci-dialog {
    width: min(840px, calc(100vw - 32px));
    max-height: calc(100vh - 40px);
    overflow: auto;
    padding: 22px;
    border: 1px solid #9b713c;
    border-radius: 16px;
    background: #fff5d7;
    color: #0b2347;
}

.vedouci-dialog::backdrop {
    background: rgba(5, 15, 31, .58);
}

.vedouci-dialog-hlavicka {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.vedouci-dialog-hlavicka h2 {
    margin: 0;
}

.vedouci-form h3 {
    margin: 22px 0 10px;
    color: #0b2b57;
}

.vedouci-form .form-akce {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
}

.vedouci-checkbox {
    display: flex !important;
    align-items: center;
    gap: 8px;
}

.vedouci-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
}

.vedouci-nahled {
    display: inline-block;
    margin-top: 6px;
}

.vedouci-pridat-pozici {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}

.vedouci-pridat-pozici input {
    flex: 1;
    min-height: 40px;
}

.vedouci-pozice-seznam {
    display: grid;
    gap: 6px;
}

.vedouci-pozice-seznam > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 0;
    border-bottom: 1px solid rgba(84, 58, 29, .16);
}

.vedouci-prazdne {
    color: #665943;
    font-style: italic;
}

@media (max-width: 900px) {
    .vedouci-karty,
    .vedouci-vlastni-prehled {
        margin-left: 0;
    }
    .vedouci-horni-radek,
    .vedouci-karta-hlavni {
        grid-template-columns: 1fr;
    }
    .vedouci-horni-radek {
        flex-wrap: wrap;
    }
    .vedouci-inline-rok,
    .vedouci-karta-akce {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .vedouci-detail dl {
        grid-template-columns: 1fr;
    }
}


/* ========================================================================== */
/* VEDOUCI-5: kompaktni formular, zarovnane akce a jemne stavove filtry      */
/* ========================================================================== */
.vedouci-horni-radek {
    margin-top: 28px;
    margin-bottom: 18px;
}

.vedouci-karta {
    display: block;
    padding: 10px 14px;
}

.vedouci-karta-hlavni {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.vedouci-karta-seznam .vedouci-karta-hlavni,
.vedouci-karta-vlastni .vedouci-karta-hlavni {
    grid-template-columns: minmax(190px, 1fr) auto;
}

.vedouci-inline-rok {
    gap: 4px;
}

.vedouci-inline-pozice select {
    appearance: none;
    -webkit-appearance: none;
    min-width: 150px;
    min-height: 40px;
    padding: 6px 34px 6px 10px;
    border-radius: 9px;
    background-color: rgba(255, 252, 236, .82);
    background-image: url('/assets/img/ikona-akce-rozbalit.png');
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 20px 20px;
}

.vedouci-karta-akce {
    gap: 2px;
    margin-left: auto;
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.vedouci-radek-ikona,
button.vedouci-radek-ikona {
    width: 50px !important;
    height: 50px !important;
}

.vedouci-detail-toggle,
button.vedouci-detail-toggle {
    width: 34px !important;
    height: 34px !important;
    margin-left: 1px !important;
}

.vedouci-detail-toggle img {
    transition: transform 140ms ease;
}

.vedouci-detail-toggle.je-otevreno img {
    transform: rotate(180deg);
}

.vedouci-detail-panel {
    display: block;
    position: static;
    width: 100%;
    margin-top: 10px;
}

.vedouci-detail-panel[hidden] {
    display: none !important;
}

.vedouci-detail-panel .vedouci-detail,
.vedouci-karta-vlastni .vedouci-detail {
    position: static;
    width: auto;
    max-width: none;
    margin: 0;
    box-shadow: none;
    background: rgba(255, 245, 215, .72);
}

/* Stavove filtry jsou zamerne tlumene: tmavsi, ale mene kriklave. */
.vedouci-stav-ikona.je-aktivovat img,
.vedouci-papir.je-aktivni img {
    filter: brightness(.82) saturate(1.12) sepia(.20) hue-rotate(66deg);
}

.vedouci-stav-ikona.je-deaktivovat img {
    filter: brightness(.84) saturate(1.10) sepia(.18) hue-rotate(318deg);
}

/* Dialog Vedoucich: kompaktni rozvrzeni, ale dostatecny odstup popisku od pole. */
.vedouci-dialog {
    width: min(780px, calc(100vw - 32px));
    padding: 20px 22px;
}

.vedouci-form-ucet {
    margin: 14px 0 8px;
}

.vedouci-form-ucet label,
.vedouci-form-grid label,
.vedouci-pojistovna-blok,
.vedouci-spz-pole {
    display: grid;
    gap: 6px;
    align-content: start;
    font-weight: 700;
}

.vedouci-form h3 {
    margin: 15px 0 7px;
}

.vedouci-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 18px;
    row-gap: 10px;
    align-items: start;
}

.vedouci-form input:not([type='checkbox']),
.vedouci-form select {
    box-sizing: border-box;
    width: 100%;
    min-height: 40px;
    padding: 7px 10px;
    border: 1px solid rgba(80, 57, 32, .38);
    border-radius: 9px;
    background: rgba(255, 252, 236, .86);
}

.vedouci-form input[type='file'] {
    padding: 5px 7px;
}

.vedouci-form-ucet select {
    max-width: 470px;
}

.vedouci-pole-kratke {
    max-width: 230px;
}

.vedouci-pole-stredni {
    max-width: 340px;
}

.vedouci-pole-siroke {
    grid-column: 1 / -1;
    width: 100%;
}

.vedouci-pole-siroke > input,
.vedouci-pole-siroke > select {
    max-width: 600px;
}

.vedouci-pojistovna-radek {
    display: flex;
    align-items: center;
    gap: 6px;
}

.vedouci-pojistovna-radek select {
    flex: 1 1 auto;
    min-width: 0;
}

.vedouci-pojistovna-plus,
button.vedouci-pojistovna-plus {
    width: 40px !important;
    height: 40px !important;
}

.vedouci-nova-pojistovna {
    margin-top: 2px;
}

.vedouci-ridic-spz {
    display: flex;
    align-items: end;
    gap: 16px;
}

.vedouci-ridic-spz .vedouci-checkbox {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding-bottom: 7px;
    white-space: nowrap;
}

.vedouci-ridic-spz .vedouci-checkbox input[type='checkbox'] {
    width: 18px;
    height: 18px;
}

.vedouci-spz-pole {
    width: 190px;
}

.vedouci-form .form-akce {
    gap: 8px;
    margin-top: 14px;
}

.vedouci-zrusit-dole,
.vedouci-zrusit-dole img {
    background: transparent !important;
}

@media (max-width: 760px) {
    .vedouci-karta-hlavni,
    .vedouci-karta-seznam .vedouci-karta-hlavni,
    .vedouci-karta-vlastni .vedouci-karta-hlavni {
        grid-template-columns: 1fr;
    }
    .vedouci-inline-rok,
    .vedouci-karta-akce {
        justify-content: flex-start;
        flex-wrap: wrap;
        margin-left: 0;
    }
    .vedouci-form-grid {
        grid-template-columns: 1fr;
    }
    .vedouci-pole-siroke {
        grid-column: auto;
    }
    .vedouci-pole-kratke,
    .vedouci-pole-stredni {
        max-width: none;
    }
    .vedouci-ridic-spz {
        align-items: start;
        flex-wrap: wrap;
    }
}

/* ========================================================================== */
/* VEDOUCI-6: zarovnani ikon a kompaktni formular                            */
/* ========================================================================== */
.vedouci-karta-akce,
.vedouci-inline-rok,
.vedouci-form .form-akce {
    align-items: center;
}

.vedouci-karta-akce > form,
.vedouci-karta-akce > a,
.vedouci-karta-akce > button,
.vedouci-inline-rok > form,
.vedouci-form .form-akce > * {
    margin: 0;
    line-height: 0;
    align-self: center;
}

.vedouci-radek-ikona,
button.vedouci-radek-ikona,
a.vedouci-radek-ikona {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle;
}

.vedouci-radek-ikona > img,
button.vedouci-radek-ikona > img,
a.vedouci-radek-ikona > img {
    display: block;
    width: 46px !important;
    height: 46px !important;
    object-fit: contain;
}

.vedouci-detail-toggle,
button.vedouci-detail-toggle {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
}

.vedouci-detail-toggle img {
    display: block;
    width: 32px !important;
    height: 32px !important;
    object-fit: contain;
}

/* Aktivace/deaktivace pouziva puvodni barvy ikon. Barvi se pouze pergamen. */
.vedouci-stav-ikona.je-aktivovat img,
.vedouci-stav-ikona.je-deaktivovat img {
    filter: none !important;
}

.vedouci-papir img {
    filter: none !important;
}

.vedouci-papir.je-aktivni img {
    filter: brightness(.72) saturate(1.05) sepia(.18) hue-rotate(66deg) !important;
}

.vedouci-karta-akce {
    gap: 1px !important;
}

/* Vsechny selecty ve formulari maji vlastni sipku. */
.vedouci-form select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 38px !important;
    background-color: rgba(255, 252, 236, .86) !important;
    background-image: url('/assets/img/ikona-akce-rozbalit.png') !important;
    background-repeat: no-repeat !important;
    background-position: right 8px center !important;
    background-size: 20px 20px !important;
}

/* Formular je kompaktni po radcich, ne jako dlouhy dvousloupcovy seznam. */
.vedouci-dialog {
    width: min(860px, calc(100vw - 32px));
    padding: 18px 22px;
}

.vedouci-form h3 {
    margin: 13px 0 7px;
}

.vedouci-form-ucet {
    margin: 10px 0 6px;
}

.vedouci-form-ucet label,
.vedouci-form-radek label,
.vedouci-pojistovna-blok {
    display: grid;
    gap: 8px;
    align-content: start;
    font-weight: 700;
    min-width: 0;
}

.vedouci-form-radek {
    display: grid;
    gap: 14px;
    margin-bottom: 9px;
    align-items: start;
}

.vedouci-radek-dva {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.vedouci-radek-tri {
    grid-template-columns: 180px 220px 190px;
}

.vedouci-radek-adresa-pojistovna {
    grid-template-columns: minmax(300px, 1.45fr) minmax(250px, .9fr);
}

.vedouci-radek-kontakt {
    grid-template-columns: 230px minmax(320px, 1fr);
}

.vedouci-radek-soubory {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    margin-top: 9px;
    margin-bottom: 0;
}

.vedouci-form input:not([type='checkbox']),
.vedouci-form select {
    min-height: 38px;
    padding: 6px 10px;
    border-radius: 10px;
}

.vedouci-form input[type='file'] {
    min-height: 38px;
    padding: 4px 6px;
}

.vedouci-form-ucet select {
    max-width: 440px;
}

.vedouci-pojistovna-radek {
    gap: 5px;
}

.vedouci-pojistovna-plus,
button.vedouci-pojistovna-plus {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    align-self: center;
}

.vedouci-pojistovna-plus img {
    display: block;
    width: 38px !important;
    height: 38px !important;
    object-fit: contain;
}

.vedouci-ridic-spz {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 38px;
    margin-bottom: 7px;
}

.vedouci-ridic-spz .vedouci-checkbox {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 0;
}

.vedouci-spz-pole {
    display: inline-flex !important;
    align-items: center;
    gap: 9px;
    width: auto;
    font-weight: 700;
}

.vedouci-spz-pole[hidden] {
    display: none !important;
}

.vedouci-spz-pole input {
    width: 170px !important;
    min-width: 170px;
}

.vedouci-form .form-akce {
    gap: 4px !important;
    margin-top: 12px;
}

.vedouci-form .form-akce .vedouci-zrusit-dole,
.vedouci-form .form-akce .vedouci-ulozit-dole,
.vedouci-form .form-akce .tlacitko {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
    vertical-align: middle;
}

.vedouci-form .form-akce .vedouci-zrusit-dole img,
.vedouci-form .form-akce .vedouci-ulozit-dole img,
.vedouci-form .form-akce .tlacitko img {
    display: block;
    width: 52px !important;
    height: 52px !important;
    object-fit: contain;
    margin: 0 !important;
}

@media (max-width: 780px) {
    .vedouci-radek-dva,
    .vedouci-radek-tri,
    .vedouci-radek-adresa-pojistovna,
    .vedouci-radek-kontakt,
    .vedouci-radek-soubory {
        grid-template-columns: 1fr;
    }
    .vedouci-ridic-spz {
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .vedouci-spz-pole input {
        width: min(170px, 56vw) !important;
        min-width: 0;
    }
}


/* ========================================================================== */
/* VEDOUCI-7: finalni zarovnani radku a jednotna opticka velikost ikon        */
/* ========================================================================== */
/* Pruhy vedoucich zacinaji na stejne leve hrane jako sekcni pecet a konci
   na prave hrane obsahu. */
.vedouci-karty {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100%;
}

.vedouci-karta {
    width: 100%;
    box-sizing: border-box;
}

/* U aktivniho vedouciho je rocni cast opravdu uprostred celeho pruhu.
   Jmeno a akce maji symetricke bocni sloupce. */
.vedouci-karta-aktivni .vedouci-karta-hlavni {
    grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr) !important;
    column-gap: 10px;
}

.vedouci-karta-aktivni .vedouci-inline-rok {
    justify-self: center;
    justify-content: center;
    margin: 0 auto;
}

.vedouci-karta-aktivni .vedouci-karta-akce {
    justify-self: end;
}

/* Stavove ikony maji stejnou fyzickou i optickou velikost jako brk. */
.vedouci-stav-ikona,
button.vedouci-stav-ikona,
.vedouci-radek-ikona,
button.vedouci-radek-ikona,
a.vedouci-radek-ikona {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
}

.vedouci-stav-ikona > img,
.vedouci-radek-ikona > img,
button.vedouci-radek-ikona > img,
a.vedouci-radek-ikona > img {
    width: 46px !important;
    height: 46px !important;
    object-fit: contain;
}

/* Horni plus a kniha jsou jeden rozmer a jedna osa. */
.vedouci-horni-akce {
    gap: 8px;
}

.vedouci-horni-ikona,
a.vedouci-horni-ikona {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    min-height: 60px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
}

.vedouci-horni-ikona img {
    width: 60px !important;
    height: 60px !important;
    display: block;
    object-fit: contain;
}

/* Trvale bydliste a pojistovna sdileji stejny horni radek popisku i pole. */
.vedouci-radek-adresa-pojistovna {
    align-items: start !important;
}

.vedouci-radek-adresa-pojistovna > label,
.vedouci-radek-adresa-pojistovna > .vedouci-pojistovna-blok {
    grid-template-rows: 22px auto !important;
    align-content: start !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vedouci-radek-adresa-pojistovna .vedouci-form-popisek {
    display: flex;
    align-items: flex-end;
    min-height: 22px;
    line-height: 1.2;
}

.vedouci-radek-adresa-pojistovna .vedouci-pojistovna-radek,
.vedouci-radek-adresa-pojistovna > label > input {
    align-self: start;
}

@media (max-width: 760px) {
    .vedouci-karta-aktivni .vedouci-karta-hlavni {
        grid-template-columns: 1fr !important;
    }
    .vedouci-karta-aktivni .vedouci-inline-rok,
    .vedouci-karta-aktivni .vedouci-karta-akce {
        justify-self: start;
        justify-content: flex-start;
        margin-left: 0;
    }
}

/* ========================================================================== */
/* PECETE-2: obrazky se neorezavaji; otvor vyplnuje barva puvodniho obrazku  */
/* 2026-08-20                                                                */
/* ========================================================================== */
/*
 * Sekcni motivy v pecetich se NIKDY neupravuji jako soubory ani nezvetsuji
 * pres okraj. Motiv zustava cely (object-fit: contain) a je opticky uprostred.
 * Pripadny prostor mezi motivem a voskem vyplnuje kruh v barve pozadi daneho
 * originalniho obrazku. Voskovy krouzek je vzdy vrchni vrstva.
 */
.klubovna-profil-pecet,
.avatar-pecet,
.admin-stranka .recepty-sekce .recept-nadpis-ikona,
.suroviny-stranka .ingredience-sekce .ingredience-nadpis-ikona,
.nakupy-sekce-pecet {
    position: relative;
    place-items: center;
    background: none !important;
    isolation: isolate;
}

.klubovna-profil-pecet::after,
.avatar-pecet::after,
.admin-stranka .recepty-sekce .recept-nadpis-ikona::after,
.suroviny-stranka .ingredience-sekce .ingredience-nadpis-ikona::after,
.nakupy-sekce-pecet::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background: url('/assets/img/profil-pecet.png?v=20260820-pecete-2') center / contain no-repeat;
}

/* Profilove fotografie maji zustat fotografii pres cely otvor. */
.klubovna-profil-pecet .klubovna-profil-foto,
.avatar-pecet .avatar,
.avatar-pecet .avatar-velky {
    position: absolute;
    left: 49.676%;
    top: 48.247%;
    z-index: 1;
    display: block;
    width: 79% !important;
    height: 79% !important;
    margin: 0 !important;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
}

/* Spolecny barevny vnitrni kruh pro vsechny SEKCNÍ pecete. */
.admin-stranka .recepty-sekce .recept-nadpis-ikona::before,
.suroviny-stranka .ingredience-sekce .ingredience-nadpis-ikona::before,
.nakupy-sekce-pecet::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 69% !important;
    height: 69% !important;
    inset: auto !important;
    transform: translate(-50%, -50%) !important;
    border-radius: 50% !important;
    background: var(--pecet-vnitrni-pozadi, #173f70) !important;
    z-index: 0 !important;
    pointer-events: none;
}

/* Recepty maji pruhledne ikony, proto pod nimi zustava tmave modry kruh. */
.admin-stranka .recepty-sekce .recept-nadpis-ikona {
    --pecet-vnitrni-pozadi: #173f70;
}

/* Suroviny: barva kruhu odpovida skutecnemu pozadi puvodni ikony. */
.suroviny-stranka .ingredience-sekce.sekce-pecivo .ingredience-nadpis-ikona { --pecet-vnitrni-pozadi: #c77c26; }
.suroviny-stranka .ingredience-sekce.sekce-mrazene .ingredience-nadpis-ikona { --pecet-vnitrni-pozadi: #ff3131; }
.suroviny-stranka .ingredience-sekce.sekce-chlazene .ingredience-nadpis-ikona { --pecet-vnitrni-pozadi: #ff66c4; }
.suroviny-stranka .ingredience-sekce.sekce-trvanlive .ingredience-nadpis-ikona { --pecet-vnitrni-pozadi: #004aad; }
.suroviny-stranka .ingredience-sekce.sekce-ovoce-zelenina .ingredience-nadpis-ikona { --pecet-vnitrni-pozadi: #78a944; }

/* Nákupy maji jednu spolecnou zlato-oranzovou barvu pozadi ikon. */
.nakupy-stranka .nakupy-sekce-pecet { --pecet-vnitrni-pozadi: #f7b359; }

/* Vedouci pouzivaji stejnou komponentu peceti, ale vlastni puvodni pozadi. */
.vedouci-stranka .nakupy-sekce-pecet.pecet-vedouci-aktivni { --pecet-vnitrni-pozadi: #7ed957; }
.vedouci-stranka .nakupy-sekce-pecet.pecet-vedouci-neaktivni { --pecet-vnitrni-pozadi: #ff3131; }

/* Motiv je cely videt; nic se neorezava do kruhu. */
.admin-stranka .recepty-sekce .recept-nadpis-ikona img,
.suroviny-stranka .ingredience-sekce .ingredience-nadpis-ikona img,
.nakupy-sekce-pecet img {
    position: relative;
    z-index: 1;
    display: block;
    width: 56% !important;
    height: 56% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
}

.suroviny-stranka .ingredience-sekce .ingredience-nadpis-ikona img,
.nakupy-sekce-pecet img {
    image-rendering: pixelated;
}

/* ========================================================================== */
/* JIDELNICEK-3: citelnejsi dny a stabilni ikona ulozeni                      */
/* ========================================================================== */
.admin-stranka .jidelnicek-den-obsah .jidelnicek-den-text {
    font-size: .82rem;
    line-height: 1.08;
}

.admin-stranka .jidelnicek-den-obsah .jidelnicek-den-datum {
    font-size: .84rem;
}

.admin-stranka .jidelnicek-ulozit button.jidelnicek-ulozit-ikona {
    flex: 0 0 58px;
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible;
}

.admin-stranka .jidelnicek-ulozit button.jidelnicek-ulozit-ikona img {
    display: block;
    width: 58px;
    height: 58px;
    object-fit: contain;
}

@media (max-width: 720px) {
    .admin-stranka .jidelnicek-ulozit button.jidelnicek-ulozit-ikona {
        flex: 0 0 58px;
        width: 58px !important;
        min-width: 58px !important;
    }
}

/* ========================================================================== */
/* NAKUPY-2: kompaktni vyber dne, horizontalni akce a rozbalovaci detail      */
/* ========================================================================== */
.nakupy-stranka form.nakupy-den-radek {
    width: fit-content;
    max-width: 100%;
}

.nakupy-stranka form.nakupy-den-radek select,
.nakupy-stranka .nakupy-den-radek form select {
    flex: 0 0 190px;
    width: 190px;
    max-width: min(190px, 100%);
}

.nakupy-stranka .nakupy-seznam-hlavicka {
    display: grid;
    grid-template-columns: minmax(130px, 1fr) auto auto;
    gap: 14px;
    align-items: center;
}

.nakupy-stranka .nakupy-seznam-akce {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    white-space: nowrap;
}

.nakupy-stranka .nakupy-seznam-akce form {
    display: inline-flex;
    margin: 0;
}

.nakupy-stranka .nakupy-seznam-akce .ikona-akce,
.nakupy-stranka .nakupy-seznam-akce .nakupy-pdf-akce {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
}

.nakupy-stranka .nakupy-seznam-akce .ikona-akce img,
.nakupy-stranka .nakupy-seznam-akce .nakupy-pdf-akce img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.nakupy-stranka .nakupy-seznam-akce .nakupy-sipka {
    flex-basis: 30px;
    width: 30px;
    height: 30px;
}

.nakupy-stranka .nakupy-seznam-akce .nakupy-sipka img {
    width: 30px;
    height: 30px;
    transition: transform .16s ease;
}

.nakupy-stranka .nakupy-seznam-akce .nakupy-sipka.je-otevrene img {
    transform: rotate(180deg);
}

.nakupy-seznam-detail[hidden] {
    display: none !important;
}

.nakupy-seznam-detail {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(84, 58, 29, .15);
}

.nakupy-seznam-detail-radek {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 90px 44px 112px;
    gap: 10px;
    align-items: baseline;
    padding: 5px 0;
    border-bottom: 1px solid rgba(84, 58, 29, .10);
}

.nakupy-seznam-detail-radek .mnozstvi,
.nakupy-seznam-detail-radek .cena {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.nakupy-seznam-recepty {
    margin: 12px 0 6px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(244, 229, 171, .34);
}

.nakupy-seznam-recepty strong {
    display: block;
    margin-bottom: 5px;
}

.nakupy-seznam-recepty ul {
    margin: 0;
    padding-left: 20px;
}

.nakupy-kopirovat-data {
    position: fixed;
    left: -9999px;
    top: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.nakupy-dialog .nakupy-dialog-hlavicka-jednoducha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.nakupy-dialog .nakupy-dialog-zrusit-ikona {
    width: 46px;
    height: 46px;
}

.nakupy-dialog .nakupy-dialog-zrusit-ikona img {
    display: block;
    width: 46px;
    height: 46px;
    object-fit: contain;
}

.nakupy-dialog .nakupy-datum-autovytvorit {
    width: 210px;
    max-width: 100%;
}

@media (max-width: 720px) {
    .nakupy-stranka .nakupy-seznam-hlavicka {
        grid-template-columns: 1fr;
    }
    .nakupy-stranka .nakupy-seznam-akce {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .nakupy-seznam-detail-radek {
        grid-template-columns: minmax(130px, 1fr) 76px 36px 92px;
        gap: 6px;
    }
}


/* ========================================================================== */
/* PECETE-5: presne srovnani obsahu do otvoru voskove peceti                  */
/* ========================================================================== */
/*
 * Oko zdrojove peceti profil-pecet.png neni geometricky presne uprostred
 * ctverce: jeho opticky stred je o cca 1.2 px vys na 72px peceti. Vnitrni
 * podklad proto drzime uvnitr skutecneho otvoru a motiv centrujeme do nej.
 * Zdrojove ikonky se nemeni.
 */
.admin-stranka .recepty-sekce .recept-nadpis-ikona::before,
.suroviny-stranka .ingredience-sekce .ingredience-nadpis-ikona::before,
.nakupy-sekce-pecet::before {
    left: auto !important;
    top: auto !important;
    right: 15.4% !important;
    bottom: 17.5% !important;
    width: auto !important;
    height: auto !important;
    inset: 14.2% 15.4% 17.5% 15.4% !important;
    transform: none !important;
    border-radius: 50% !important;
    overflow: hidden !important;
}

.admin-stranka .recepty-sekce .recept-nadpis-ikona img,
.suroviny-stranka .ingredience-sekce .ingredience-nadpis-ikona img,
.nakupy-sekce-pecet img {
    position: absolute !important;
    left: 50% !important;
    top: 48.2% !important;
    width: 53% !important;
    height: 53% !important;
    transform: translate(-50%, -50%) !important;
    object-fit: contain !important;
    object-position: center !important;
}

/* Vedouci uz v sekcnich pecetich nepouzivaji obrazkove motivy. */
.vedouci-stranka .vedouci-pocet-pecet::before {
    background:
        linear-gradient(rgba(255, 247, 219, .06), rgba(255, 247, 219, .06)),
        url('/assets/img/pergamen-prostredek.webp?v=20260824-perf-1') center / cover no-repeat !important;
    box-shadow: inset 0 0 8px rgba(100, 61, 24, .18);
}

.vedouci-stranka .vedouci-pocet-cislo {
    position: absolute;
    left: 50%;
    top: 48.2%;
    z-index: 2;
    transform: translate(-50%, -50%);
    color: #0c315f;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    text-shadow: 0 1px 0 rgba(255, 250, 224, .78);
}

/* U poctovych peceti nema zustat zadna barevna vypln z drivejsich motivu. */
.vedouci-stranka .nakupy-sekce-pecet.pecet-vedouci-aktivni,
.vedouci-stranka .nakupy-sekce-pecet.pecet-vedouci-neaktivni {
    --pecet-vnitrni-pozadi: transparent;
}

/* ========================================================================== */
/* JIDELNICEK-4 + NAKUPY-3: geometricke centrovani dne a kompletni seznamy  */
/* ========================================================================== */

/* Jidelnicek: datum + den jsou dva radky, ale cely blok je centrovany
   podle skutecne modre bunky, ne podle sirky otoceneho textu. */
.admin-stranka .jidelnicek-tabulka tbody th.jidelnicek-den-bunka {
    position: relative;
    padding: 0 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

.admin-stranka .jidelnicek-tabulka tbody th.jidelnicek-den-bunka .jidelnicek-den-obsah {
    position: absolute;
    left: 50%;
    top: 50%;
    width: max-content;
    min-height: 0;
    margin: 0;
    gap: 3px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    writing-mode: horizontal-tb;
    transform: translate(-50%, -50%) rotate(-90deg);
    transform-origin: center center;
}

.admin-stranka .jidelnicek-tabulka tbody th.jidelnicek-den-bunka .jidelnicek-den-text {
    display: block;
    margin: 0;
    writing-mode: horizontal-tb;
    transform: none;
    text-align: center;
    white-space: nowrap;
}

/* Nákupy: kompaktní datum a pevná vodorovná řada akcí. */
.nakupy-stranka .nakupy-den-radek form select,
.nakupy-stranka form.nakupy-den-radek select {
    flex: 0 0 170px;
    width: 170px;
    max-width: min(170px, 100%);
}

.nakupy-stranka .nakupy-seznam-hlavicka {
    grid-template-columns: minmax(130px, 1fr) auto max-content;
    width: 100%;
}

.nakupy-stranka .nakupy-seznam-akce {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    margin-left: auto;
}

.nakupy-stranka .nakupy-seznam-akce > *,
.nakupy-stranka .nakupy-seznam-akce form {
    flex: 0 0 auto;
    margin: 0;
}

.nakupy-stranka .nakupy-seznam-akce .ikona-akce,
.nakupy-stranka .nakupy-seznam-akce .nakupy-pdf-akce {
    display: inline-grid;
    place-items: center;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.nakupy-stranka .nakupy-seznam-akce .ikona-akce img,
.nakupy-stranka .nakupy-seznam-akce .nakupy-pdf-akce img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.nakupy-stranka .nakupy-seznam-akce .nakupy-sipka {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    margin-left: 2px !important;
}

.nakupy-stranka .nakupy-seznam-akce .nakupy-sipka img {
    width: 30px;
    height: 30px;
}

.nakupy-stranka .nakupy-seznam-akce .nakupy-kopirovat.je-zkopirovano {
    filter: brightness(.82) saturate(1.2);
}

.nakupy-stranka .nakupy-seznam-detail {
    margin-top: 10px;
    padding: 12px 4px 2px;
}

.nakupy-stranka .nakupy-seznam-detail-radek {
    grid-template-columns: minmax(180px, 1fr) 82px 44px 112px;
}

.nakupy-stranka .nakupy-seznam-detail-radek > :nth-child(2),
.nakupy-stranka .nakupy-seznam-detail-radek > :nth-child(4) {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.nakupy-stranka .nakupy-seznam-recepty {
    margin: 8px 0 12px;
}

.nakupy-stranka .nakupy-editace-seznamu > .nakupy-seznam-recepty {
    margin-top: 16px;
}

.nakupy-stranka .nakupy-editace-akce {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
}

.nakupy-stranka .nakupy-ulozit-radky {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.nakupy-stranka .nakupy-ulozit-radky img {
    display: block;
    width: 46px;
    height: 46px;
    object-fit: contain;
}

/* Plus otevře pouze volbu data; vybráním data se formulář ihned odešle. */
.nakupy-dialog-vytvorit form {
    min-width: min(360px, 82vw);
}

.nakupy-dialog-vytvorit .nakupy-dialog-hlavicka-jednoducha h3 {
    margin: 0;
}

.nakupy-dialog-vytvorit .nakupy-dialog-napoveda {
    margin: 10px 0 0;
    color: rgba(47, 37, 25, .72);
    font-size: .9rem;
}

@media (max-width: 760px) {
    .nakupy-stranka .nakupy-seznam-hlavicka {
        grid-template-columns: 1fr auto;
    }
    .nakupy-stranka .nakupy-seznam-hlavicka > strong {
        grid-column: 2;
    }
    .nakupy-stranka .nakupy-seznam-akce {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

/* ========================================================================== */
/* NAKUPY-UX-8: horni ovladani, naseptavac surovin a ciste akcni ikony       */
/* ========================================================================== */
.nakupy-stranka .nakupy-horni-radek,
.uctenky-stranka .uctenky-horni-radek {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 62px;
    margin: 28px 0 10px;
}

.nakupy-stranka .nakupy-horni-radek .nakupy-vyber-roku,
.uctenky-stranka .uctenky-horni-radek .nakupy-vyber-roku {
    align-self: center;
    margin: 0;
}

.nakupy-stranka .nakupy-uctenky-prepinac,
.uctenky-stranka .nakupy-uctenky-prepinac {
    display: inline-grid;
    place-items: center;
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    margin: 0;
    padding: 0;
    align-self: center;
    text-decoration: none;
}

.nakupy-stranka .nakupy-uctenky-prepinac img,
.uctenky-stranka .nakupy-uctenky-prepinac img {
    display: block;
    width: 62px;
    height: 62px;
    object-fit: contain;
}

/* Zrusit je vzdy pruhledna akcni ikona; zadne cerne ctverce ani podklady. */
.nakupy-dialog .nakupy-dialog-zrusit-ikona,
.nakupy-dialog .nakupy-dialog-zrusit-ikona img {
    background: transparent !important;
    box-shadow: none !important;
}

.nakupy-stranka .nakupy-pridat-polozku {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 104px 92px 46px;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(92, 58, 25, .16);
}

.nakupy-stranka .nakupy-pridat-polozku input[type="text"],
.nakupy-stranka .nakupy-pridat-polozku input[type="number"],
.nakupy-stranka .nakupy-pridat-polozku select {
    width: 100%;
    min-height: 42px;
    padding: 7px 12px;
    border: 1px solid rgba(86, 48, 18, .42);
    border-radius: 10px;
    background-color: rgba(255, 248, 221, .78);
    color: #0b2347;
    font: inherit;
}

.nakupy-stranka .nakupy-pridat-polozku select {
    padding-right: 36px;
    background-image: url('/assets/img/ikona-akce-rozbalit.png?v=20260820-nakupy-1');
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 20px 20px;
    appearance: none;
}

.nakupy-stranka .nakupy-pridat-polozku select:disabled {
    opacity: .55;
}

.nakupy-stranka .nakupy-pridat-polozku .ikona-akce {
    width: 46px !important;
    height: 46px !important;
}

@media (max-width: 760px) {
    .nakupy-stranka .nakupy-horni-radek,
    .uctenky-stranka .uctenky-horni-radek {
        align-items: center;
    }

    .nakupy-stranka .nakupy-pridat-polozku {
        grid-template-columns: minmax(0, 1fr) 90px 80px 46px;
    }
}

/* ========================================================================== */
/* NAKUPY + UCTENKY: finalni srovnani ovladani 2026-08-20                    */
/* ========================================================================== */

/* Pečivo a sklad: pečeť, ovládání dne a export jsou v jedné vodorovné řadě. */
.nakupy-stranka .nakupy-sekce-horni-radek {
    position: relative;
    display: flex;
    align-items: center;
    gap: 18px;
    width: 100%;
    margin: 0 0 18px;
}

.nakupy-stranka .nakupy-sekce-horni-radek .nakupy-sekce-nadpis {
    flex: 0 0 auto;
    margin: 0;
}

.nakupy-stranka .nakupy-sekce-horni-radek .nakupy-den-radek,
.nakupy-stranka .nakupy-sekce-horni-radek form.nakupy-den-radek {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.nakupy-stranka .nakupy-sekce-horni-radek .nakupy-export {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    margin: 0;
}

.nakupy-stranka .nakupy-pecivo-horni-radek .nakupy-export {
    margin-left: auto;
}

/* Rozbalovací nastavení pečiva zůstává v řádku; vlastní seznam vyjede pod ním. */
.nakupy-stranka .nakupy-sekce-horni-radek .nakupy-nastaveni-peciva {
    position: relative;
    flex: 0 1 420px;
    max-width: 520px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.nakupy-stranka .nakupy-nastaveni-peciva summary {
    min-height: 48px;
    padding: 13px 44px 13px 16px;
    border: 1px solid rgba(95, 62, 28, .28);
    border-radius: 12px;
    background: rgba(255, 247, 219, .42) url('/assets/img/ikona-akce-rozbalit.png?v=20260820-1') right 10px center / 22px 22px no-repeat;
    list-style: none;
}

.nakupy-stranka .nakupy-nastaveni-peciva summary::-webkit-details-marker {
    display: none;
}

.nakupy-stranka .nakupy-nastaveni-peciva[open] summary {
    background-image: url('/assets/img/ikona-akce-rozbalit.png?v=20260820-1');
}

.nakupy-stranka .nakupy-nastaveni-peciva > form {
    position: absolute;
    z-index: 80;
    top: calc(100% + 8px);
    left: 0;
    width: min(420px, 78vw);
    padding: 14px 16px 16px;
    border: 1px solid rgba(95, 62, 28, .32);
    border-radius: 12px;
    background: #fff3cf;
    box-shadow: 0 12px 28px rgba(62, 39, 17, .18);
}

.nakupy-stranka .nakupy-nastaveni-peciva .nakupy-checkboxy {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 0 0 12px;
}

.nakupy-stranka .nakupy-nastaveni-peciva .nakupy-checkboxy label {
    display: flex;
    width: 100%;
    margin: 0;
}

/* Účtenky: přepínač peněz a plus tvoří jednu kompaktní skupinu. */
.uctenky-stranka .uctenky-horni-akce {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.uctenky-stranka .uctenky-plus {
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    margin: 0;
}

/* Nadpisy sekcí i karty začínají na stejné levé hraně. */
.uctenky-stranka .uctenky-seznam > h2,
.uctenky-stranka .uctenka-karta,
.uctenky-stranka .uctenky-zauctovani {
    margin-left: 0;
}

/* Jednořádkový výpis účtenky: datum, obchod, upřesnění, cena, plátce, stav, akce. */
.uctenky-stranka .uctenka-karta {
    padding: 12px 16px;
}

.uctenky-stranka .uctenka-karta-radek {
    display: grid;
    grid-template-columns: 112px minmax(120px, 1.15fr) minmax(105px, .8fr) 112px minmax(95px, .75fr) 30px auto;
    gap: 10px 16px;
    align-items: center;
}

.uctenky-stranka .uctenka-cena {
    text-align: right;
    color: #0b2b57;
    white-space: nowrap;
}

.uctenky-stranka .uctenka-stav {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: 1.28rem;
    font-weight: 900;
    line-height: 1;
}

.uctenky-stranka .uctenka-stav.je-zaplaceno {
    color: #2f6d32;
}

.uctenky-stranka .uctenka-stav.neni-zaplaceno {
    color: #8a2c24;
}

.uctenky-stranka .uctenka-akce {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: max-content;
}

.uctenky-stranka .uctenka-smazat-form {
    display: inline-flex;
    margin: 0;
}

.uctenky-stranka .uctenka-zauctovat {
    width: auto;
    margin: 0;
    padding: 9px 14px;
}

/* Nákupní seznam k zaúčtování: datum a původ mají skutečnou mezeru. */
.uctenky-stranka .uctenky-k-zauctovani {
    margin: 28px 0;
}

.uctenky-stranka .uctenky-k-zauctovani-grid {
    display: grid;
    gap: 10px;
}

.uctenky-stranka .uctenky-k-zauctovani-grid article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 16px;
    border: 1px solid rgba(86, 48, 18, .22);
    border-radius: 12px;
    background: rgba(255, 247, 218, .45);
}

.uctenky-stranka .uctenky-k-zauctovani-popis {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.uctenky-stranka .uctenky-k-zauctovani-grid form {
    margin: 0;
}

.uctenky-stranka .uctenky-k-zauctovani-grid .tlacitko {
    width: auto;
    margin: 0;
}

/* Zaúčtování: datum, obchod, plátce a celková částka jsou spolu nahoře. */
.uctenky-stranka .uctenky-zauctovani-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px 14px;
    margin-bottom: 12px;
}

.uctenky-stranka .uctenky-zauctovani-meta label {
    display: grid;
    gap: 5px;
    font-weight: 700;
}

.uctenky-stranka .uctenky-zauctovani-meta input,
.uctenky-stranka .uctenky-zauctovani-meta select {
    width: 100%;
    min-height: 40px;
    padding: 7px 36px 7px 10px;
    border: 1px solid rgba(80, 57, 32, .32);
    border-radius: 8px;
    background-color: rgba(255, 252, 236, .78);
    color: #0b2347;
    font: inherit;
}

/* Všechny selecty na stránce účtenek používají naši šipku. */
.uctenky-stranka select {
    padding-right: 36px !important;
    background-image: url('/assets/img/ikona-akce-rozbalit.png?v=20260820-1') !important;
    background-repeat: no-repeat !important;
    background-position: right 8px center !important;
    background-size: 20px 20px !important;
    appearance: none;
}

.uctenky-stranka .uctenky-zrusit-ikona,
.uctenky-stranka .uctenky-zrusit-ikona img {
    background: transparent !important;
    box-shadow: none !important;
}

.uctenky-stranka .formular-nepovinne {
    font-size: .86em;
    font-weight: 400;
    color: #6a5c49;
}

@media (max-width: 980px) {
    .nakupy-stranka .nakupy-sekce-horni-radek {
        flex-wrap: wrap;
    }

    .nakupy-stranka .nakupy-pecivo-horni-radek .nakupy-export {
        margin-left: 0;
    }

    .uctenky-stranka .uctenka-karta-radek {
        grid-template-columns: 105px minmax(110px, 1fr) minmax(90px, .8fr) 105px minmax(90px, .8fr) 28px;
    }

    .uctenky-stranka .uctenka-akce {
        grid-column: 1 / -1;
    }

    .uctenky-stranka .uctenky-zauctovani-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .uctenky-stranka .uctenka-karta-radek,
    .uctenky-stranka .uctenky-zauctovani-meta {
        grid-template-columns: 1fr;
    }

    .uctenky-stranka .uctenka-cena {
        text-align: left;
    }

    .uctenky-stranka .uctenky-k-zauctovani-grid article {
        align-items: stretch;
        flex-direction: column;
    }
}


/* ========================================================================== */
/* UCTENKY-4: kompaktni proplaceni, Nezauctovano, detail a editovatelna Mj.  */
/* ========================================================================== */
.uctenky-stranka .uctenky-proplaceni {
    padding: 12px 16px;
    margin: 10px 0 18px;
}

.uctenky-stranka .uctenky-proplaceni h2 {
    margin: 0 0 10px;
}

.uctenky-stranka .uctenky-proplaceni-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
}

.uctenky-stranka .uctenky-proplaceni-grid article {
    display: grid;
    grid-template-columns: minmax(130px, 1fr) 100px 120px 46px;
    gap: 10px;
    align-items: center;
    padding: 4px 8px 4px 10px;
    border-radius: 8px;
    background: rgba(255, 250, 229, .58);
}

.uctenky-stranka .uctenky-proplaceni-grid form {
    grid-column: auto;
    display: flex;
    justify-content: flex-end;
    margin: 0;
}

.uctenky-stranka .uctenky-proplaceni-pocet {
    color: #615643;
    white-space: nowrap;
}

.uctenky-stranka .uctenky-proplaceni-castka {
    text-align: right;
    color: #0b2b57;
    white-space: nowrap;
}

.uctenky-stranka .uctenky-proplatit-ikona,
.uctenky-stranka button.uctenky-proplatit-ikona {
    width: 42px !important;
    height: 42px !important;
}

.uctenky-stranka .uctenky-proplatit-ikona img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.uctenky-stranka .uctenka-karta {
    padding: 9px 22px 9px 16px;
}

.uctenky-stranka .uctenka-karta-radek {
    grid-template-columns: 112px minmax(120px, 1.15fr) minmax(105px, .8fr) 112px minmax(95px, .75fr) 30px auto;
    column-gap: 14px;
}

.uctenky-stranka .uctenka-karta-radek.je-zjednoduseny {
    grid-template-columns: minmax(180px, 1fr) 170px auto;
}

.uctenky-stranka .uctenka-typ-nakupu {
    color: #0b2b57;
}

.uctenky-stranka .uctenka-odhad {
    text-align: right;
}

.uctenky-stranka .uctenka-akce {
    padding-right: 2px;
}

.uctenky-stranka .uctenka-sipka img {
    transition: transform 160ms ease;
}

.uctenky-stranka .uctenka-sipka.je-otevrene img {
    transform: rotate(180deg);
}

.uctenky-stranka .uctenka-detail[hidden] {
    display: none !important;
}

.uctenky-stranka .uctenka-detail {
    margin-top: 8px;
    padding: 9px 0 2px;
    border-top: 1px solid rgba(84, 58, 29, .16);
}

.uctenky-stranka .uctenka-detail-meta {
    margin-bottom: 7px;
    color: #5d5547;
    font-size: .92rem;
}

.uctenky-stranka .uctenka-detail-hlavicka,
.uctenky-stranka .uctenka-detail-radek {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 120px 110px;
    gap: 12px;
    align-items: baseline;
}

.uctenky-stranka .uctenka-detail-hlavicka {
    padding: 2px 0 5px;
    color: #0b2b57;
    font-weight: 700;
}

.uctenky-stranka .uctenka-detail-radek {
    padding: 5px 0;
    border-top: 1px solid rgba(84, 58, 29, .1);
}

.uctenky-stranka .uctenka-detail-radek > :nth-child(2),
.uctenky-stranka .uctenka-detail-radek > :nth-child(3),
.uctenky-stranka .uctenka-detail-hlavicka > :nth-child(2),
.uctenky-stranka .uctenka-detail-hlavicka > :nth-child(3) {
    text-align: right;
}

.uctenky-stranka .uctenka-detail-tasky {
    display: flex;
    justify-content: flex-end;
    gap: 18px;
    padding-top: 7px;
}

.uctenky-stranka .uctenka-detail-prazdne {
    margin: 2px 0;
    color: #665943;
    font-style: italic;
}

.uctenky-stranka .uctenky-zauctovani-meta {
    grid-template-columns: minmax(150px, .9fr) minmax(180px, 1fr) minmax(170px, 1fr) minmax(200px, 1fr);
    align-items: end;
}

.uctenky-stranka .uctenky-zauctovani-meta label {
    margin: 0;
}

.uctenky-stranka .uctenka-polozky-hlavicka,
.uctenky-stranka .uctenka-polozka {
    display: grid;
    grid-template-columns: minmax(200px, 1.45fr) minmax(105px, .6fr) 86px minmax(170px, 1fr) 46px;
    gap: 10px;
    align-items: center;
}

.uctenky-stranka .uctenka-polozky-hlavicka {
    padding: 4px 0 5px;
    color: #0b2b57;
    font-weight: 700;
}

.uctenky-stranka .uctenka-polozka {
    padding: 7px 0;
}

.uctenky-stranka .uctenka-polozka > input,
.uctenky-stranka .uctenka-polozka > select {
    width: 100%;
    min-width: 0;
}

.uctenky-stranka .uctenka-polozka input[name="mnozstvi[]"] {
    text-align: right;
}

.uctenky-stranka .uctenky-dialog .form-akce,
.uctenky-stranka .uctenky-zauctovani .form-akce {
    align-items: center;
    min-height: 58px;
}

.uctenky-stranka .uctenky-dialog .form-akce > *,
.uctenky-stranka .uctenky-zauctovani .form-akce > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 980px) {
    .uctenky-stranka .uctenky-proplaceni-grid article {
        grid-template-columns: minmax(120px, 1fr) 90px 110px 42px;
    }
    .uctenky-stranka .uctenka-karta-radek.je-zjednoduseny {
        grid-template-columns: 1fr 150px;
    }
    .uctenky-stranka .uctenka-karta-radek.je-zjednoduseny .uctenka-akce {
        grid-column: 1 / -1;
    }
    .uctenky-stranka .uctenka-polozky-hlavicka,
    .uctenky-stranka .uctenka-polozka {
        grid-template-columns: minmax(170px, 1.2fr) 100px 80px minmax(140px, .9fr) 46px;
    }
}

@media (max-width: 720px) {
    .uctenky-stranka .uctenky-proplaceni-grid article,
    .uctenky-stranka .uctenka-karta-radek.je-zjednoduseny,
    .uctenky-stranka .uctenka-detail-hlavicka,
    .uctenky-stranka .uctenka-detail-radek,
    .uctenky-stranka .uctenka-polozka {
        grid-template-columns: 1fr;
    }
    .uctenky-stranka .uctenky-proplaceni-pocet,
    .uctenky-stranka .uctenky-proplaceni-castka,
    .uctenky-stranka .uctenka-odhad,
    .uctenky-stranka .uctenka-detail-radek > :nth-child(2),
    .uctenky-stranka .uctenka-detail-radek > :nth-child(3),
    .uctenky-stranka .uctenka-detail-hlavicka > :nth-child(2),
    .uctenky-stranka .uctenka-detail-hlavicka > :nth-child(3) {
        text-align: left;
    }
    .uctenky-stranka .uctenky-proplaceni-grid form {
        justify-content: flex-start;
    }
    .uctenky-stranka .uctenka-polozky-hlavicka {
        display: none;
    }
}

/* ========================================================================== */
/* UCTENKY-5: vybery, soucty sekci, mensi sipky a QR pro proplaceni          */
/* ========================================================================== */
.uctenky-stranka .uctenky-sekce-hlavicka {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    margin: 28px 0 10px;
}

.uctenky-stranka .uctenky-sekce-hlavicka h2 {
    margin: 0;
}

.uctenky-stranka .uctenky-sekce-hlavicka > strong {
    margin-left: auto;
    color: #0b2b57;
    white-space: nowrap;
}

/* Nezaúčtovaný nákup: název a odhad jsou u sebe, akce zůstávají vpravo. */
.uctenky-stranka .uctenka-karta-radek.je-zjednoduseny {
    display: flex;
    align-items: center;
    gap: 14px;
}

.uctenky-stranka .uctenka-karta-radek.je-zjednoduseny .uctenka-odhad {
    margin-left: 2px;
    text-align: left;
}

.uctenky-stranka .uctenka-karta-radek.je-zjednoduseny .uctenka-akce {
    margin-left: auto;
}

/* Běžné akce mají stejnou velikost, rozbalovací šipka je malá jako u receptů. */
.uctenky-stranka .uctenka-akce > .ikona-akce:not(.uctenka-sipka),
.uctenky-stranka .uctenka-smazat-form .ikona-akce {
    width: 42px !important;
    height: 42px !important;
}

.uctenky-stranka .uctenka-sipka,
.uctenky-stranka button.uctenka-sipka {
    width: 30px !important;
    height: 30px !important;
}

.uctenky-stranka .uctenka-sipka img {
    width: 30px !important;
    height: 30px !important;
}

.uctenky-stranka .uctenka-polozka > .ikona-akce,
.uctenky-stranka .uctenka-polozka > button.ikona-akce {
    width: 42px !important;
    height: 42px !important;
}

.uctenky-stranka .uctenka-polozka > .ikona-akce img {
    width: 42px !important;
    height: 42px !important;
}

/* Editovatelný combobox pro obchody: psát lze volně, šipka otevře skutečný seznam. */
.uctenky-stranka .uctenky-combobox {
    position: relative;
    width: 100%;
}

.uctenky-stranka .uctenky-combobox > input {
    width: 100%;
    padding-right: 42px !important;
}

.uctenky-stranka .uctenky-combobox-sipka,
.uctenky-stranka button.uctenky-combobox-sipka {
    position: absolute;
    z-index: 3;
    top: 50%;
    right: 6px;
    display: grid;
    place-items: center;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: translateY(-50%);
}

.uctenky-stranka .uctenky-combobox-sipka:hover,
.uctenky-stranka .uctenky-combobox-sipka:focus-visible {
    transform: translateY(-50%) !important;
    filter: brightness(1.06);
}

.uctenky-stranka .uctenky-combobox-sipka img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    transition: transform 160ms ease;
}

.uctenky-stranka .uctenky-combobox-sipka.je-otevrene img {
    transform: rotate(180deg);
}

.uctenky-stranka .uctenky-combobox-menu {
    position: absolute;
    z-index: 120;
    top: calc(100% + 5px);
    left: 0;
    right: 0;
    max-height: 230px;
    overflow-y: auto;
    padding: 6px;
    border: 1px solid rgba(86, 48, 18, .34);
    border-radius: 10px;
    background: #fff3cf;
    box-shadow: 0 12px 26px rgba(62, 39, 17, .18);
}

.uctenky-stranka .uctenky-combobox-menu[hidden] {
    display: none !important;
}

.uctenky-stranka .uctenky-combobox-volba,
.uctenky-stranka button.uctenky-combobox-volba {
    display: block;
    width: 100% !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #0b2347 !important;
    font: inherit;
    font-weight: 400;
    text-align: left;
}

.uctenky-stranka .uctenky-combobox-volba:hover,
.uctenky-stranka .uctenky-combobox-volba:focus-visible {
    background: rgba(196, 154, 64, .16) !important;
    transform: none !important;
}

/* Komu poslat peníze: fajfka a případná QR šipka jsou jedna kompaktní skupina. */
.uctenky-stranka .uctenky-proplaceni-grid article {
    grid-template-columns: minmax(130px, 1fr) 100px 120px auto;
}

.uctenky-stranka .uctenky-proplaceni-akce {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
}

.uctenky-stranka .uctenky-proplaceni-akce form {
    display: inline-flex;
    margin: 0;
}

.uctenky-stranka .uctenky-qr-sipka,
.uctenky-stranka button.uctenky-qr-sipka {
    width: 30px !important;
    height: 30px !important;
}

.uctenky-stranka .uctenky-qr-sipka img {
    width: 30px !important;
    height: 30px !important;
    transition: transform 160ms ease;
}

.uctenky-stranka .uctenky-qr-sipka.je-otevrene img {
    transform: rotate(180deg);
}

.uctenky-stranka .uctenky-qr-detail {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    padding: 8px 6px 4px;
    border-top: 1px solid rgba(84, 58, 29, .12);
}

.uctenky-stranka .uctenky-qr-detail[hidden] {
    display: none !important;
}

.uctenky-stranka .uctenky-qr-detail img {
    display: block;
    width: min(250px, 100%);
    height: auto;
    max-height: 280px;
    object-fit: contain;
    border-radius: 8px;
}

@media (max-width: 720px) {
    .uctenky-stranka .uctenky-sekce-hlavicka {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .uctenky-stranka .uctenky-sekce-hlavicka > strong {
        margin-left: 0;
    }

    .uctenky-stranka .uctenka-karta-radek.je-zjednoduseny {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .uctenky-stranka .uctenka-karta-radek.je-zjednoduseny .uctenka-akce {
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
    }

    .uctenky-stranka .uctenky-proplaceni-grid article {
        grid-template-columns: 1fr;
    }

    .uctenky-stranka .uctenky-proplaceni-akce,
    .uctenky-stranka .uctenky-qr-detail {
        justify-content: flex-start;
    }
}

/* UCTENKY-7: collapsible accounting sections and the current bread candidate. */
.uctenky-stranka .uctenky-sekce-nazev {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.uctenky-stranka .uctenky-sekce-sipka,
.uctenky-stranka button.uctenky-sekce-sipka {
    flex: 0 0 28px;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
}

.uctenky-stranka .uctenky-sekce-sipka img {
    width: 26px !important;
    height: 26px !important;
    transition: transform 160ms ease;
}

.uctenky-stranka .uctenky-sekce-sipka.je-otevrene img {
    transform: rotate(180deg);
}

.uctenky-stranka .uctenky-sekce-obsah[hidden] {
    display: none !important;
}

.uctenky-stranka .uctenka-pecivo-zauctovat {
    display: inline-flex;
    margin: 0;
}

/* Účtenky – zaúčtování: akční ikony jsou opravdu stejně velké. */
.uctenky-stranka .uctenky-zauctovani .form-akce .uctenky-zrusit-ikona,
.uctenky-stranka .uctenky-zauctovani .form-akce .uctenky-ulozit-ikona,
.uctenky-stranka .uctenky-zauctovani .form-akce button.uctenky-ulozit-ikona {
    display: inline-grid !important;
    place-items: center;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    padding: 2px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.uctenky-stranka .uctenky-zauctovani .form-akce .uctenky-zrusit-ikona img,
.uctenky-stranka .uctenky-zauctovani .form-akce .uctenky-ulozit-ikona img {
    display: block;
    width: 42px !important;
    height: 42px !important;
    object-fit: contain;
}

.uctenky-stranka .uctenky-zauctovani .form-akce .uctenky-ulozit-ikona:disabled {
    opacity: .45;
    cursor: not-allowed;
}

/* Odhad celkové ceny zůstává běžný; ručně přepsaná částka zezelená. */
.uctenky-stranka #uctenka-celkem-vstup.je-prepsano {
    color: #2f6f32 !important;
    border-color: rgba(47, 111, 50, .72) !important;
    box-shadow: 0 0 0 1px rgba(47, 111, 50, .16);
    font-weight: 700;
}

/* Účtenky: filtrované comboboxy musí skutečně skrýt nevyhovující volby. */
.uctenky-stranka .uctenky-combobox-volba[hidden] {
    display: none !important;
}

.uctenky-stranka .uctenky-ingredience-combobox > select[hidden] {
    display: none !important;
}

.uctenky-stranka .uctenky-ingredience-combobox {
    min-width: 0;
}


/* UCTENKY-9: processed accounting rows are visually confirmed. */
.uctenky-stranka .uctenka-polozka.je-zpracovana > input,
.uctenky-stranka .uctenka-polozka.je-zpracovana > select,
.uctenky-stranka .uctenka-polozka.je-zpracovana .uctenky-ingredience-combobox > input {
    color: #2f6f32 !important;
    font-weight: 700;
}


/* UCTENKY-10: zpracované řádky jsou dole, abecedně a lehce oddělené od zbytku. */
.uctenky-stranka .uctenka-polozka.je-zpracovana {
    background: rgba(47, 111, 50, .045);
}

.uctenky-stranka .uctenka-polozka.je-zpracovana.je-prvni-zpracovana {
    margin-top: 10px;
    border-top: 1px solid rgba(47, 111, 50, .35);
    padding-top: 10px;
}

/* NAKUPY: sklad je nativní <details>, takže je po načtení vždy sbalený i bez JS. */
.nakupy-stranka details.nakupy-sklad-details > summary {
    cursor: pointer;
    list-style: none;
}

.nakupy-stranka details.nakupy-sklad-details > summary::-webkit-details-marker {
    display: none;
}

.nakupy-stranka details.nakupy-sklad-details > summary::marker {
    content: '';
}

.nakupy-stranka .nakupy-sklad-sipka {
    display: block !important;
    flex: 0 0 30px;
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    object-fit: contain;
    transition: transform .16s ease;
}

.nakupy-stranka details.nakupy-sklad-details[open] .nakupy-sklad-sipka {
    transform: rotate(180deg);
}

.nakupy-stranka .nakupy-sklad-souhrn-datum {
    margin-left: auto;
    font-size: .92rem;
    white-space: nowrap;
}

/* Autorovy styly mají vyšší prioritu než výchozí UA pravidlo pro <details>,
   proto zavřený obsah schováváme explicitně. */
.nakupy-stranka details.nakupy-sklad-details:not([open]) > .nakupy-sklad-obsah {
    display: none !important;
}

.nakupy-stranka details.nakupy-sklad-details[open] > .nakupy-sklad-obsah {
    display: block !important;
}

.nakupy-stranka .nakupy-sklad-den {
    margin: 0 0 16px;
}

/* Jídelníček – provozní suroviny (08/2026) */
.jidelnicek-provozni-radek > th,
.jidelnicek-provozni-radek > td {
    border-top-width: 2px;
}

.jidelnicek-provozni-nadpis {
    position: relative;
    min-height: 96px;
    padding: 0 !important;
    background: #566b4f !important;
    color: #fff3c8 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

.jidelnicek-provozni-nadpis-text {
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    width: max-content;
    margin: 0;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    transform: translate(-50%, -50%) rotate(-90deg);
    transform-origin: center center;
}

.jidelnicek-provozni-bunka {
    padding: 10px 12px;
}

.jidelnicek-provozni-seznam {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.jidelnicek-provozni-karta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 6px 9px;
    border: 1px solid rgba(85, 63, 28, .28);
    border-radius: 9px;
    background: rgba(255, 250, 232, .72);
}

.jidelnicek-provozni-karta strong {
    white-space: nowrap;
}

.jidelnicek-provozni-karta label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    font-size: .82rem;
    white-space: nowrap;
}

.jidelnicek-provozni-karta input[type="number"] {
    width: 70px;
    min-width: 0;
    padding: 5px 6px;
}

.jidelnicek-provozni-odebrat {
    width: 25px;
    height: 25px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
}

.jidelnicek-provozni-pridat {
    margin-top: 8px;
}

.jidelnicek-provozni-pridat select {
    width: auto;
    min-width: 180px;
    max-width: 100%;
}

/* ========================================================================== */
/* REŽIMY KUCHYNĚ – ikonové volby a kompaktní tabulky (21. 08. 2026)        */
/* ========================================================================== */
.nastaveni-ikona-tabulka {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    vertical-align: middle;
}

.nastaveni-ikona-tabulka img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.recepty-stranka .recepty-tabulka th:nth-child(1),
.recepty-stranka .recepty-tabulka td:nth-child(1) {
    width: 45%;
}

.recepty-stranka .recepty-tabulka th:nth-child(2),
.recepty-stranka .recepty-tabulka td:nth-child(2) {
    width: 30%;
}

.recepty-stranka .recepty-tabulka th:nth-child(3),
.recepty-stranka .recepty-tabulka td:nth-child(3) {
    width: 72px;
    padding-left: 6px;
    padding-right: 6px;
    text-align: center;
}

.recepty-stranka .recepty-tabulka th:nth-child(4),
.recepty-stranka .recepty-tabulka td:nth-child(4) {
    width: 170px;
}

.suroviny-stranka .suroviny-rezim-bunka {
    width: 52px;
    padding-left: 4px !important;
    padding-right: 4px !important;
    text-align: center;
}

.nastaveni-prepinace {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 5px;
}

.nastaveni-volba {
    position: relative;
    display: inline-block;
    margin: 0;
    cursor: pointer;
}

.nastaveni-volba > input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
}

.nastaveni-volba-obrazek {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    padding: 2px;
    border: 2px solid transparent;
    border-radius: 12px;
    background: rgba(255, 249, 229, .45);
    transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.nastaveni-volba-obrazek img {
    display: block;
    width: 56px;
    height: 56px;
    object-fit: contain;
}

.nastaveni-volba:hover .nastaveni-volba-obrazek {
    transform: translateY(-1px);
}

.nastaveni-volba > input:focus-visible + .nastaveni-volba-obrazek,
.nastaveni-volba > input:checked + .nastaveni-volba-obrazek {
    border-color: #0c315f;
    box-shadow: 0 0 0 3px rgba(12, 49, 95, .18);
    background: rgba(255, 249, 229, .9);
}

/* Provozní suroviny: nadpis zůstává svislý a odlišený zeleným pruhem. */
.jidelnicek-provozni-nadpis {
    position: relative !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    min-height: 112px !important;
    padding: 0 !important;
    background: #566b4f !important;
    color: #fff3c8 !important;
    overflow: hidden;
}

.jidelnicek-provozni-nadpis-text {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    display: block !important;
    width: max-content !important;
    margin: 0 !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    transform: translate(-50%, -50%) rotate(-90deg) !important;
    transform-origin: center center !important;
}

.jidelnicek-provozni-pridat {
    display: inline-flex;
    align-items: center;
    margin-top: 8px;
}

.jidelnicek-provozni-pridat-tlacitko {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    padding: 0 !important;
}

.jidelnicek-provozni-pridat-tlacitko img {
    display: block;
    width: 46px;
    height: 46px;
    object-fit: contain;
}

.jidelnicek-provozni-volby {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.jidelnicek-provozni-volba {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 12px;
    border: 1px solid rgba(85, 63, 28, .28);
    border-radius: 10px;
    background: rgba(255, 250, 232, .88);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.jidelnicek-provozni-volba:hover,
.jidelnicek-provozni-volba:focus-visible {
    background: rgba(255, 245, 205, .98);
    outline: 2px solid rgba(12, 49, 95, .22);
    outline-offset: 1px;
}

.jidelnicek-provozni-volba img {
    display: block;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    object-fit: contain;
}

.jidelnicek-provozni-karta label {
    gap: 3px;
}

.jidelnicek-provozni-karta input[type="number"] {
    width: 58px;
}

/* ========================================================================== */
/* JIDELNICEK – Provozní suroviny: porce + dávky, dvouřádkový svislý štítek */
/* ========================================================================== */
.admin-stranka .jidelnicek-provozni-nadpis {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    min-height: 118px !important;
    overflow: hidden !important;
}

.admin-stranka .jidelnicek-provozni-nadpis .jidelnicek-provozni-nadpis-text {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: max-content !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    writing-mode: horizontal-tb !important;
    transform: translate(-50%, -50%) rotate(-90deg) !important;
    transform-origin: center center !important;
    white-space: normal !important;
}

.admin-stranka .jidelnicek-provozni-nadpis .jidelnicek-provozni-nadpis-text > span {
    display: block;
    white-space: nowrap;
    line-height: 1;
}

.jidelnicek-provozni-rezim-ikona {
    display: block;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.jidelnicek-provozni-karta .jidelnicek-provozni-odebrat,
button.jidelnicek-provozni-odebrat {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    flex: 0 0 30px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.jidelnicek-provozni-karta .jidelnicek-provozni-odebrat img {
    width: 30px !important;
    height: 30px !important;
}

.jidelnicek-dialog-hlavicka .jidelnicek-dialog-zavrit {
    flex: 0 0 46px;
    width: 46px !important;
    height: 46px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.jidelnicek-dialog-akce .jidelnicek-dialog-hotovo {
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
    margin-top: 0 !important;
}

/* ========================================================================== */
/* JIDELNICEK – výběr provozního receptu + import po výběru (21. 08. 2026)   */
/* ========================================================================== */
.admin-stranka .jidelnicek-import-ikona[hidden],
.admin-stranka .jidelnicek-provozni-vyber[hidden] {
    display: none !important;
}

.admin-stranka .jidelnicek-ulozit button.jidelnicek-import-ikona {
    flex: 0 0 58px;
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.admin-stranka .jidelnicek-ulozit button.jidelnicek-import-ikona img {
    display: block;
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.admin-stranka .jidelnicek-provozni-pridat {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px;
}

.admin-stranka .jidelnicek-provozni-vyber {
    display: grid;
    grid-template-columns: minmax(220px, 360px) auto;
    grid-template-areas:
        "filtr akce"
        "select akce";
    align-items: end;
    gap: 7px 8px;
    max-width: min(100%, 500px);
    padding: 8px;
    border: 1px solid rgba(85, 63, 28, .28);
    border-radius: 10px;
    background: rgba(255, 250, 232, .78);
}

.admin-stranka .jidelnicek-provozni-filtr {
    grid-area: filtr;
    margin: 0;
}

.admin-stranka .jidelnicek-provozni-filtr input {
    width: 100%;
    margin: 0;
}

.admin-stranka .jidelnicek-provozni-select-label {
    grid-area: select;
    margin: 0;
}

.admin-stranka .jidelnicek-provozni-select-label select {
    width: 100%;
    min-width: 220px;
    min-height: 118px;
    margin: 0;
}

.admin-stranka .jidelnicek-provozni-vyber-akce {
    grid-area: akce;
    display: flex;
    align-items: flex-end;
    gap: 4px;
    align-self: end;
}

.admin-stranka .jidelnicek-provozni-vyber-akce .ikona-akce {
    flex: 0 0 42px;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.admin-stranka .jidelnicek-provozni-vyber-akce .ikona-akce img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.admin-stranka button.jidelnicek-pridat-slot {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    margin: 4px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.admin-stranka button.jidelnicek-pridat-slot img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

@media (max-width: 720px) {
    .admin-stranka .jidelnicek-provozni-vyber {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "filtr"
            "select"
            "akce";
        width: 100%;
        max-width: 100%;
    }

    .admin-stranka .jidelnicek-provozni-select-label select {
        min-width: 0;
    }
}


/* UCTENKY-12: nova surovina primo pri zauctovani. */
.uctenky-stranka .uctenky-ingredience-vyber {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    gap: 6px;
    align-items: center;
    min-width: 0;
}

.uctenky-stranka .uctenky-pridat-surovinu,
.uctenky-stranka button.uctenky-pridat-surovinu {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.uctenky-stranka .uctenky-pridat-surovinu img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain;
}

.uctenky-stranka .uctenky-nova-surovina-dialog {
    width: min(760px, calc(100vw - 32px));
}

.uctenky-stranka .uctenky-nova-surovina-dialog .nastaveni-prepinace {
    justify-content: flex-start;
}

.uctenky-stranka .uctenky-nova-surovina-chyba[hidden] {
    display: none !important;
}

/* ========================================================================== */
/* NOVY-RECEPT-GRAFIKA-1: sjednoceni formulare s projektovymi ikonami         */
/* 2026-08-21                                                                */
/* ========================================================================== */
.novy-recept-stranka .novy-recept-formular select {
    -webkit-appearance: none;
    appearance: none;
    min-height: 46px;
    padding: 9px 46px 9px 12px;
    border: 1px solid rgba(122, 77, 25, .34);
    border-radius: 7px;
    background-color: rgba(255, 247, 219, .56) !important;
    background-image: url('/assets/img/ikona-akce-rozbalit.png?v=20260821-novy-recept-1') !important;
    background-repeat: no-repeat !important;
    background-position: right 8px center !important;
    background-size: 28px 28px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.34);
}

.novy-recept-stranka .novy-recept-formular select:focus {
    border-color: rgba(8, 55, 101, .72);
}

.novy-recept-stranka .recept-surovina-radek {
    grid-template-columns: minmax(230px, 1.55fr) minmax(125px, .72fr) minmax(120px, .62fr) 46px;
    gap: 12px;
    align-items: end;
    padding: 13px 14px;
    border: 1px solid rgba(122, 77, 25, .28);
    border-radius: 10px;
    background: rgba(255, 247, 219, .34);
}

.novy-recept-stranka .recept-surovina-radek > label,
.novy-recept-stranka .recept-surovina-radek > div > label {
    margin-top: 0;
}

.novy-recept-stranka .recept-surovina-vyber {
    width: 100%;
}

.novy-recept-stranka .recept-surovina-smazat {
    align-self: end;
    margin-bottom: 0 !important;
}

.novy-recept-stranka .recept-surovina-akce {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
}

.novy-recept-stranka .recept-nova-surovina-text {
    width: auto !important;
    margin: 0 !important;
}

.novy-recept-stranka .recept-nova-surovina-akce {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
}

.novy-recept-stranka .recept-formular-ulozit {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 18px;
}

.novy-recept-stranka .recept-formular-ulozit .ikona-akce,
.novy-recept-stranka .recept-nova-surovina-akce .ikona-akce,
.novy-recept-stranka .recept-surovina-akce .ikona-akce,
.novy-recept-stranka .recept-surovina-radek .ikona-akce {
    background: transparent !important;
    box-shadow: none !important;
}

@media (max-width: 760px) {
    .novy-recept-stranka .recept-surovina-radek {
        grid-template-columns: 1fr 1fr;
    }

    .novy-recept-stranka .recept-surovina-radek > div:first-child,
    .novy-recept-stranka .recept-surovina-radek > label:first-child {
        grid-column: 1 / -1;
    }

    .novy-recept-stranka .recept-surovina-smazat {
        justify-self: end;
    }
}

/* ========================================================================== */
/* UCTENKY-13: obnoveny kompaktni vzhled karet k zauctovani                  */
/* 2026-08-21 - tento blok nesmi byt ztracen pri dalsich upravach CSS        */
/* ========================================================================== */
.uctenky-stranka .uctenky-k-zauctovani-grid article.uctenky-k-zauctovani-karta {
    display: block;
    padding: 0;
    overflow: hidden;
}

.uctenky-stranka .uctenky-k-zauctovani-radek {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
}

.uctenky-stranka .uctenky-k-zauctovani-radek .uctenka-odhad {
    white-space: nowrap;
    text-align: right;
}

.uctenky-stranka .uctenky-k-zauctovani-akce {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: max-content;
}

.uctenky-stranka .uctenky-k-zauctovani-akce form {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.uctenky-stranka .uctenky-zauctovat-obrazek,
.uctenky-stranka button.uctenky-zauctovat-obrazek,
.uctenky-stranka a.uctenky-zauctovat-obrazek {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 210px;
    height: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    appearance: none;
    cursor: pointer;
    line-height: 0;
    text-decoration: none;
}

.uctenky-stranka .uctenky-zauctovat-obrazek img {
    display: block;
    width: 210px !important;
    height: auto !important;
    max-width: 210px !important;
    background: transparent !important;
}

.uctenky-stranka .uctenky-k-zauctovani-karta > .uctenka-detail {
    margin: 0;
    padding: 10px 16px 14px;
    border-top: 1px solid rgba(86, 48, 18, .18);
    border-radius: 0;
}

@media (max-width: 820px) {
    .uctenky-stranka .uctenky-k-zauctovani-radek {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .uctenky-stranka .uctenky-k-zauctovani-radek .uctenka-odhad {
        grid-column: 1 / -1;
        grid-row: 2;
        text-align: left;
    }

    .uctenky-stranka .uctenky-k-zauctovani-akce {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .uctenky-stranka .uctenky-zauctovat-obrazek,
    .uctenky-stranka button.uctenky-zauctovat-obrazek,
    .uctenky-stranka a.uctenky-zauctovat-obrazek,
    .uctenky-stranka .uctenky-zauctovat-obrazek img {
        width: 170px !important;
        max-width: 170px !important;
    }
}
/* ========================================================================== */
/* VYPLATY-1: rocni vyplaty vedoucich                                        */
/* 2026-08-22                                                                */
/* ========================================================================== */
.vyplaty-stranka .vyplaty-horni-radek {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 26px 0 10px;
}

.vyplaty-stranka .vyplaty-vyber-roku {
    display: flex;
    align-items: center;
    width: min(360px, 100%);
    margin: 0;
}

.vyplaty-stranka .vyplaty-horni-radek .vyplaty-ulozit {
    margin-left: auto;
    flex: 0 0 auto;
}

.vyplaty-stranka .vyplaty-vyber-roku select {
    width: 100%;
    min-height: 42px;
    padding: 7px 42px 7px 14px;
    border: 1px solid rgba(86, 48, 18, .48);
    border-radius: 10px;
    background-color: rgba(255, 244, 204, .78);
    background-image: url('/assets/img/ikona-akce-rozbalit.png?v=20260819-nakupy-1');
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 22px 22px;
    color: #0b2347;
    appearance: none;
}

.vyplaty-stranka .vyplaty-form {
    margin: 0;
}

.vyplaty-stranka .vyplaty-nastaveni {
    display: flex;
    align-items: end;
    justify-content: flex-start;
    gap: 12px;
    margin: 18px 0 30px;
}

.vyplaty-stranka .vyplaty-dan-pole {
    display: grid;
    gap: 6px;
    width: 220px;
    color: #0b2b57;
    font-weight: 700;
}

.vyplaty-stranka .vyplaty-pole-s-jednotkou {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
}

.vyplaty-stranka .vyplaty-pole-s-jednotkou > span {
    min-width: 20px;
    color: #5e513c;
    font-weight: 700;
}

.vyplaty-stranka .vyplaty-dan-pole input,
.vyplaty-stranka .vyplaty-odmena input,
.vyplaty-stranka .vyplaty-vysledek input {
    width: 100%;
    min-width: 0;
    height: 42px;
    padding: 7px 10px;
    border: 1px solid rgba(86, 48, 18, .38);
    border-radius: 9px;
    background: rgba(255, 252, 236, .86);
    color: #0b2347;
    box-sizing: border-box;
    font: inherit;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.vyplaty-stranka .vyplaty-vysledek input[readonly] {
    background: rgba(232, 222, 191, .44);
    color: #3e3a31;
    cursor: default;
}

.vyplaty-stranka .vyplaty-ulozit,
.vyplaty-stranka button.vyplaty-ulozit {
    display: inline-flex;
    width: 60px;
    height: 60px;
    min-width: 60px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.vyplaty-stranka .vyplaty-ulozit img {
    display: block;
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.vyplaty-stranka .vyplaty-ulozit:disabled {
    opacity: .42;
    cursor: not-allowed;
}

.vyplaty-stranka .vyplaty-autosave-stav {
    min-width: 84px;
    align-self: center;
    color: #5e513c;
    font-size: .82rem;
    font-weight: 700;
}

.vyplaty-stranka .vyplaty-autosave-stav.je-chyba {
    color: #8a2f24;
}

.vyplaty-stranka .vyplaty-sekce {
    margin: 28px 0 42px;
}

.vyplaty-stranka .vyplaty-sekce-hlavicka {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.vyplaty-stranka .vyplaty-sekce-hlavicka .nakupy-sekce-nadpis {
    margin-bottom: 10px;
}

.vyplaty-stranka .vyplaty-celkem {
    margin: 0 4px 10px auto;
    color: #0b2b57;
    font-size: 1.18rem;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.vyplaty-stranka .vyplaty-pocet-pecet {
    --pecet-vnitrni-pozadi: transparent;
}

.vyplaty-stranka .vyplaty-pocet-pecet::before {
    background:
        linear-gradient(rgba(255, 247, 219, .06), rgba(255, 247, 219, .06)),
        url('/assets/img/pergamen-prostredek.webp?v=20260824-perf-1') center / cover no-repeat !important;
    box-shadow: inset 0 0 8px rgba(100, 61, 24, .18);
}

.vyplaty-stranka .vyplaty-pocet-cislo {
    position: absolute;
    left: 50%;
    top: 48.2%;
    z-index: 2;
    transform: translate(-50%, -50%);
    color: #0c315f;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    text-shadow: 0 1px 0 rgba(255, 250, 224, .78);
}

.vyplaty-stranka .vyplaty-sloupce-hlavicka,
.vyplaty-stranka .vyplaty-karta-muze {
    display: grid;
    grid-template-columns: minmax(195px, 1.25fr) minmax(135px, .88fr) minmax(112px, .7fr) minmax(112px, .7fr) minmax(112px, .7fr) 96px;
    gap: 12px;
    align-items: center;
}

.vyplaty-stranka .vyplaty-sloupce-hlavicka {
    margin: 4px 0 3px;
    padding: 0 14px 0 0;
    color: #6c5b42;
    font-size: .82rem;
    font-weight: 700;
}

.vyplaty-stranka .vyplaty-sloupce-hlavicka span:nth-child(n+3) {
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: stretch;
    width: 100%;
    min-width: 0;
    text-align: center;
    padding-right: 0;
}

.vyplaty-stranka .vyplaty-karty {
    display: grid;
    gap: 7px;
}

.vyplaty-stranka .vyplaty-karta {
    min-width: 0;
    padding: 8px 14px 8px 0;
    border-bottom: 1px solid rgba(79, 55, 29, .2);
    background: rgba(255, 249, 224, .24);
}

.vyplaty-stranka .vyplaty-osoba {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}

.vyplaty-stranka .vyplaty-osoba strong {
    min-width: 0;
    overflow: hidden;
    color: #0b2b57;
    font-size: 1.04rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vyplaty-stranka .vyplaty-osoba-pecet {
    position: relative;
    display: grid;
    width: 58px;
    height: 58px;
    min-width: 58px;
    place-items: center;
    isolation: isolate;
}

.vyplaty-stranka .vyplaty-osoba-pecet::before {
    content: '';
    position: absolute;
    left: 49.676%;
    top: 48.247%;
    z-index: 0;
    width: 79%;
    height: 79%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: rgba(244, 225, 169, .9);
}

.vyplaty-stranka .vyplaty-osoba-pecet::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background: url('/assets/img/profil-pecet.png?v=20260820-pecete-2') center / contain no-repeat;
}

.vyplaty-stranka .vyplaty-osoba-pecet > img {
    position: absolute;
    left: 49.676%;
    top: 48.247%;
    z-index: 1;
    display: block;
    width: 79%;
    height: 79%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
}

.vyplaty-stranka .vyplaty-osoba-iniciala {
    position: relative;
    z-index: 1;
    color: #0b2b57;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1;
}

.vyplaty-stranka .vyplaty-pozice {
    min-width: 0;
    color: #4f4638;
    overflow-wrap: anywhere;
}

.vyplaty-stranka .vyplaty-odmena,
.vyplaty-stranka .vyplaty-vysledek {
    display: block;
    min-width: 0;
}

.vyplaty-stranka .vyplaty-karta-nemuze {
    display: grid;
    grid-template-columns: minmax(210px, 1.2fr) minmax(160px, .9fr) minmax(220px, 1.25fr);
    gap: 12px;
    align-items: center;
}

.vyplaty-stranka .vyplaty-duvod {
    color: #7a3d31;
    font-size: .94rem;
    font-style: italic;
}

.vyplaty-stranka .vyplaty-prazdne {
    margin: 10px 0 0 64px;
    color: #6a5a42;
}

@media (max-width: 980px) {
    .vyplaty-stranka .vyplaty-sloupce-hlavicka {
        display: none;
    }

    .vyplaty-stranka .vyplaty-karta-muze {
        grid-template-columns: minmax(180px, 1.15fr) minmax(140px, .85fr) repeat(3, minmax(100px, .66fr)) 88px;
        gap: 8px;
    }
}

@media (max-width: 760px) {
    .vyplaty-stranka .vyplaty-sekce-hlavicka {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .vyplaty-stranka .vyplaty-celkem {
        width: 100%;
        margin: -4px 0 10px 78px;
    }

    .vyplaty-stranka .vyplaty-karta-muze,
    .vyplaty-stranka .vyplaty-karta-nemuze {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 10px 0 14px;
    }

    .vyplaty-stranka .vyplaty-karta-muze .vyplaty-pole-s-jednotkou {
        max-width: 240px;
    }

    .vyplaty-stranka .vyplaty-duvod {
        padding-left: 67px;
    }
}
/* ========================================================================== */
/* DATUM-1: datum navazane na vybrany rok se zadava bez roku                 */
/* 2026-08-22                                                                */
/* ========================================================================== */
input.datum-bez-roku {
    max-width: 150px;
    font-variant-numeric: tabular-nums;
}

/* ========================================================================== */
/* CESTAK-1: rocni cestovni nahrady vedoucich                                */
/* 2026-08-22                                                                */
/* ========================================================================== */
.cestak-stranka .cestak-horni-radek {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 26px 0 10px;
}

.cestak-stranka .cestak-vyber-roku {
    display: flex;
    align-items: center;
    width: min(360px, 100%);
    margin: 0;
}

.cestak-stranka .cestak-vyber-roku select {
    width: 100%;
    min-height: 42px;
    padding: 7px 42px 7px 14px;
    border: 1px solid rgba(86, 48, 18, .48);
    border-radius: 10px;
    background-color: rgba(255, 244, 204, .78);
    background-image: url('/assets/img/ikona-akce-rozbalit.png?v=20260819-nakupy-1');
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 22px 22px;
    color: #0b2347;
    appearance: none;
}

.cestak-stranka .cestak-ulozit,
.cestak-stranka button.cestak-ulozit {
    display: inline-flex;
    width: 60px;
    height: 60px;
    min-width: 60px;
    align-items: center;
    justify-content: center;
    margin: 0 0 0 auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.cestak-stranka .cestak-ulozit img {
    display: block;
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.cestak-stranka .cestak-ulozit:disabled {
    opacity: .42;
    cursor: not-allowed;
}

.cestak-stranka .cestak-form {
    margin: 0;
}

.cestak-stranka .cestak-nastaveni {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 22px;
    margin: 18px 0 30px;
}

.cestak-stranka .cestak-cena-km {
    display: grid;
    gap: 6px;
    width: 250px;
    color: #0b2b57;
    font-weight: 700;
}

.cestak-stranka .cestak-pole-s-jednotkou {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
}

.cestak-stranka .cestak-pole-s-jednotkou input,
.cestak-stranka .cestak-cesta-radek input,
.cestak-stranka .cestak-cesta-radek select,
.cestak-stranka .cestak-dialog input {
    width: 100%;
    min-width: 0;
    height: 42px;
    padding: 7px 10px;
    border: 1px solid rgba(86, 48, 18, .38);
    border-radius: 9px;
    background: rgba(255, 252, 236, .86);
    color: #0b2347;
    box-sizing: border-box;
    font: inherit;
}

.cestak-stranka .cestak-pole-s-jednotkou > span,
.cestak-stranka .cestak-hodnota small {
    color: #5e513c;
    font-weight: 700;
    white-space: nowrap;
}

.cestak-stranka .cestak-spravci {
    display: grid;
    grid-template-columns: auto 44px auto 44px;
    align-items: center;
    gap: 8px 6px;
    color: #5e513c;
    font-size: .92rem;
    font-weight: 700;
}

.cestak-stranka .cestak-sekce {
    margin: 28px 0 44px;
}

.cestak-stranka .cestak-sekce-hlavicka {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.cestak-stranka .cestak-sekce-hlavicka .nakupy-sekce-nadpis {
    margin-bottom: 10px;
}

.cestak-stranka .cestak-celkem {
    margin: 0 4px 10px auto;
    color: #0b2b57;
    font-size: 1.18rem;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.cestak-stranka .cestak-pocet-pecet {
    --pecet-vnitrni-pozadi: transparent;
}

.cestak-stranka .cestak-pocet-pecet::before {
    background:
        linear-gradient(rgba(255, 247, 219, .06), rgba(255, 247, 219, .06)),
        url('/assets/img/pergamen-prostredek.webp?v=20260824-perf-1') center / cover no-repeat !important;
    box-shadow: inset 0 0 8px rgba(100, 61, 24, .18);
}

.cestak-stranka .cestak-pocet-cislo {
    position: absolute;
    left: 50%;
    top: 48.2%;
    z-index: 2;
    transform: translate(-50%, -50%);
    color: #0c315f;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    text-shadow: 0 1px 0 rgba(255, 250, 224, .78);
}

.cestak-stranka .cestak-ridici {
    display: grid;
    gap: 24px;
}

.cestak-stranka .cestak-ridic {
    padding: 8px 0 13px;
    border-bottom: 1px solid rgba(79, 55, 29, .28);
}

.cestak-stranka .cestak-ridic-hlavicka {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 6px;
}

.cestak-stranka .cestak-osoba {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}

.cestak-stranka .cestak-osoba-text {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.cestak-stranka .cestak-osoba-text strong {
    color: #0b2b57;
    font-size: 1.07rem;
}

.cestak-stranka .cestak-osoba-text small {
    color: #6a5a42;
    font-size: .82rem;
    font-weight: 700;
}

.cestak-stranka .cestak-osoba-pecet {
    position: relative;
    display: grid;
    width: 58px;
    height: 58px;
    min-width: 58px;
    place-items: center;
    isolation: isolate;
}

.cestak-stranka .cestak-osoba-pecet::before {
    content: '';
    position: absolute;
    left: 49.676%;
    top: 48.247%;
    z-index: 0;
    width: 79%;
    height: 79%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: rgba(244, 225, 169, .9);
}

.cestak-stranka .cestak-osoba-pecet::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background: url('/assets/img/profil-pecet.png?v=20260820-pecete-2') center / contain no-repeat;
}

.cestak-stranka .cestak-osoba-pecet > img {
    position: absolute;
    left: 49.676%;
    top: 48.247%;
    z-index: 1;
    display: block;
    width: 79%;
    height: 79%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
}

.cestak-stranka .cestak-osoba-iniciala {
    position: relative;
    z-index: 1;
    color: #0b2b57;
    font-size: 1.05rem;
    font-weight: 800;
}

.cestak-stranka .cestak-sloupce-hlavicka,
.cestak-stranka .cestak-cesta-radek {
    display: grid;
    grid-template-columns: minmax(96px, .55fr) minmax(190px, 1.2fr) minmax(230px, 1.45fr) minmax(92px, .55fr) minmax(105px, .62fr) 42px;
    gap: 10px;
    align-items: center;
}

.cestak-stranka .cestak-sloupce-hlavicka {
    padding: 0 0 4px;
    color: #6c5b42;
    font-size: .82rem;
    font-weight: 700;
}

.cestak-stranka .cestak-sloupce-hlavicka span:nth-child(n+4):nth-child(-n+5) {
    text-align: center;
}

.cestak-stranka .cestak-cesty {
    display: grid;
    gap: 7px;
}

.cestak-stranka .cestak-cesta-radek {
    min-width: 0;
    padding: 6px 0;
    background: rgba(255, 249, 224, .24);
}

.cestak-stranka .cestak-cesta-radek[hidden] {
    display: none !important;
}

.cestak-stranka .cestak-pole-datum,
.cestak-stranka .cestak-pole-misto {
    display: block;
    min-width: 0;
    margin: 0;
    align-self: center;
}

.cestak-stranka .cestak-ucely-vyber,
.cestak-stranka .cestak-hodnota,
.cestak-stranka .cestak-smazat-cestu {
    align-self: center;
}

.cestak-stranka .cestak-pole-datum input {
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.cestak-stranka .cestak-ucely-vyber {
    position: relative;
    min-width: 0;
}

.cestak-stranka .cestak-ucely-vyber summary {
    min-height: 42px;
    padding: 9px 34px 7px 11px;
    border: 1px solid rgba(86, 48, 18, .38);
    border-radius: 9px;
    background: rgba(255, 252, 236, .86) url('/assets/img/ikona-akce-rozbalit.png?v=20260819-nakupy-1') right 8px center / 20px 20px no-repeat;
    color: #0b2347;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    list-style: none;
}

.cestak-stranka .cestak-ucely-vyber summary::-webkit-details-marker {
    display: none;
}

.cestak-stranka .cestak-ucely-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    z-index: 20;
    display: grid;
    gap: 5px;
    max-height: 220px;
    overflow: auto;
    padding: 9px;
    border: 1px solid rgba(86, 48, 18, .42);
    border-radius: 9px;
    background: #fff8de;
    box-shadow: 0 8px 18px rgba(39, 28, 16, .2);
}

.cestak-stranka .cestak-ucely-menu label {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    color: #0b2347;
    font-size: .91rem;
}

.cestak-stranka .cestak-ucely-menu input {
    width: auto;
    height: auto;
    margin-top: 3px;
}

.cestak-stranka .cestak-hodnota {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 5px;
    min-height: 42px;
    padding: 10px 5px 6px;
    border-radius: 9px;
    background: rgba(232, 222, 191, .38);
    color: #0b2347;
    font-variant-numeric: tabular-nums;
}

.cestak-stranka .cestak-hodnota > span {
    font-weight: 700;
}

.cestak-stranka .cestak-smazat-cestu {
    justify-self: center;
}

.cestak-stranka .cestak-prazdne {
    margin: 10px 0 0 64px;
    color: #6a5a42;
}

.cestak-stranka .cestak-dialog {
    width: min(520px, calc(100vw - 30px));
    padding: 22px;
    border: 1px solid rgba(86, 48, 18, .48);
    border-radius: 14px;
    background: #fff7dc;
    color: #0b2347;
}

.cestak-stranka .cestak-dialog::backdrop {
    background: rgba(9, 20, 39, .55);
}

.cestak-stranka .cestak-dialog form,
.cestak-stranka .cestak-dialog label {
    display: grid;
    gap: 7px;
}

.cestak-stranka .cestak-dialog form {
    gap: 14px;
}

.cestak-stranka .cestak-dialog-hlavicka {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.cestak-stranka .cestak-dialog-hlavicka h2 {
    margin: 0;
}

.cestak-stranka .cestak-dialog-chyba {
    margin: 0;
}

@media (max-width: 980px) {
    .cestak-stranka .cestak-sloupce-hlavicka {
        display: none;
    }
    .cestak-stranka .cestak-cesta-radek {
        grid-template-columns: minmax(90px, .55fr) minmax(170px, 1fr) minmax(190px, 1.15fr) minmax(80px, .5fr) minmax(90px, .55fr) 42px;
        gap: 7px;
    }
}

@media (max-width: 760px) {
    .cestak-stranka .cestak-nastaveni,
    .cestak-stranka .cestak-sekce-hlavicka {
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .cestak-stranka .cestak-celkem {
        width: 100%;
        margin: -4px 0 10px 78px;
    }
    .cestak-stranka .cestak-cesta-radek {
        grid-template-columns: 1fr 1fr;
        padding: 10px 0 14px;
        border-bottom: 1px solid rgba(79, 55, 29, .18);
    }
    .cestak-stranka .cestak-ucely-vyber,
    .cestak-stranka .cestak-pole-misto {
        grid-column: span 2;
    }
    .cestak-stranka .cestak-smazat-cestu {
        justify-self: end;
    }
}

/* Cesťák – kompaktní řádky, vlastní výběry místa/účelu a součty řidičů */
.cestak-stranka .cestak-sloupce-hlavicka,
.cestak-stranka .cestak-cesta-radek {
    grid-template-columns: minmax(82px, .5fr) minmax(165px, 1.05fr) minmax(205px, 1.3fr) minmax(78px, .48fr) minmax(90px, .54fr) 38px;
    gap: 7px;
}

.cestak-stranka .cestak-sloupce-hlavicka {
    padding-bottom: 2px;
    font-size: .78rem;
}

.cestak-stranka .cestak-cesta-radek {
    padding: 3px 0;
    font-size: .94rem;
}

.cestak-stranka .cestak-cesta-radek input[type="text"] {
    height: 38px;
    padding: 6px 9px;
}

.cestak-stranka .cestak-pole-misto,
.cestak-stranka .cestak-misto-vyber,
.cestak-stranka .cestak-ucely-vyber {
    min-width: 0;
}

.cestak-stranka .cestak-misto-vyber,
.cestak-stranka .cestak-ucely-vyber {
    position: relative;
}

.cestak-stranka .cestak-misto-vyber summary,
.cestak-stranka .cestak-ucely-vyber summary {
    min-height: 38px;
    height: 38px;
    box-sizing: border-box;
    padding: 7px 32px 6px 10px;
    border: 1px solid rgba(86, 48, 18, .38);
    border-radius: 9px;
    background: rgba(255, 252, 236, .86) url('/assets/img/ikona-akce-rozbalit.png?v=20260819-nakupy-1') right 7px center / 19px 19px no-repeat;
    color: #0b2347;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    list-style: none;
}

.cestak-stranka .cestak-misto-vyber summary::-webkit-details-marker,
.cestak-stranka .cestak-ucely-vyber summary::-webkit-details-marker {
    display: none;
}

.cestak-stranka .cestak-misto-menu,
.cestak-stranka .cestak-ucely-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    z-index: 30;
    display: grid;
    gap: 4px;
    max-height: 230px;
    overflow: auto;
    padding: 7px;
    border: 1px solid rgba(86, 48, 18, .42);
    border-radius: 9px;
    background: #fff8de;
    box-shadow: 0 8px 18px rgba(39, 28, 16, .2);
}

.cestak-stranka .cestak-misto-volba {
    width: 100%;
    min-height: 31px;
    margin: 0;
    padding: 5px 7px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #0b2347;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.cestak-stranka .cestak-misto-volba:hover,
.cestak-stranka .cestak-misto-volba:focus-visible {
    background: rgba(211, 180, 103, .19);
}

.cestak-stranka .cestak-ucely-menu label {
    margin: 0;
    padding: 4px 5px;
    border-radius: 6px;
}

.cestak-stranka .cestak-ucely-menu label:hover {
    background: rgba(211, 180, 103, .14);
}

.cestak-stranka .cestak-menu-pridat {
    display: flex;
    align-items: center;
    gap: 7px;
    width: 100%;
    min-height: 34px;
    margin: 4px 0 0;
    padding: 4px 7px 2px;
    border: 0;
    border-top: 1px solid rgba(86, 48, 18, .18);
    border-radius: 0;
    background: transparent;
    color: #0b2b57;
    font: inherit;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}

.cestak-stranka .cestak-menu-pridat img {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex: 0 0 auto;
}

.cestak-stranka .cestak-hodnota {
    min-height: 38px;
    height: 38px;
    box-sizing: border-box;
    padding: 8px 4px 5px;
}

.cestak-stranka .cestak-smazat-cestu img {
    width: 36px;
    height: 36px;
}

.cestak-stranka .cestak-ridic-souhrn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 7px;
    padding: 1px 2px 0;
}

.cestak-stranka .cestak-pridat-cestu {
    margin: 0;
}

.cestak-stranka .cestak-ridic-celkem {
    margin-left: auto;
    color: #0b2b57;
    font-size: 1rem;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 980px) {
    .cestak-stranka .cestak-cesta-radek {
        grid-template-columns: minmax(78px, .5fr) minmax(150px, .95fr) minmax(180px, 1.15fr) minmax(72px, .46fr) minmax(82px, .5fr) 38px;
        gap: 6px;
    }
}

@media (max-width: 760px) {
    .cestak-stranka .cestak-cesta-radek {
        grid-template-columns: 1fr 1fr;
    }
    .cestak-stranka .cestak-pole-misto,
    .cestak-stranka .cestak-ucely-vyber {
        grid-column: span 2;
    }
}

/* ========================================================================== */
/* PLATBY-QR-1: QR Platba generovana z cisla uctu a aktualni castky           */
/* 2026-08-22                                                                */
/* ========================================================================== */
.platba-qr-bunka {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.platba-qr {
    width: 92px;
    height: 92px;
    padding: 4px;
    box-sizing: border-box;
    border: 1px solid rgba(79, 55, 29, .22);
    border-radius: 8px;
    background: #fff;
}

.platba-qr:empty {
    display: none;
}

.platba-qr svg {
    display: block;
    width: 100%;
    height: 100%;
}

.platba-qr-chybi {
    color: #7a3d31;
    font-size: .78rem;
    font-style: italic;
    text-align: center;
}

.vyplaty-stranka .vyplaty-karta-muze .platba-qr-bunka {
    justify-self: center;
}

.cestak-stranka .cestak-ridic-platba {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    margin-left: auto;
}

.cestak-stranka .cestak-ridic-platba .platba-qr {
    width: 100px;
    height: 100px;
}

.cestak-stranka .cestak-ridic-platba .cestak-ridic-celkem {
    margin-left: 0;
}

@media (max-width: 760px) {
    .vyplaty-stranka .vyplaty-karta-muze .platba-qr-bunka {
        justify-self: start;
        margin-left: 67px;
    }

    .cestak-stranka .cestak-ridic-souhrn,
    .cestak-stranka .cestak-ridic-platba {
        align-items: flex-end;
    }
}


/* ========================================================================== */
/* PLATBY-QR-2: rozbalovaci QR ve Vyplatach a generovane QR v Uctenkach       */
/* 2026-08-22                                                                */
/* ========================================================================== */
.vyplaty-stranka .vyplaty-qr-sipka,
.vyplaty-stranka button.vyplaty-qr-sipka {
    width: 30px !important;
    height: 30px !important;
}

.vyplaty-stranka .vyplaty-qr-sipka img {
    width: 30px !important;
    height: 30px !important;
    transition: transform 160ms ease;
}

.vyplaty-stranka .vyplaty-qr-sipka.je-otevrene img {
    transform: rotate(180deg);
}

.vyplaty-stranka .platba-qr-bunka {
    flex-direction: column;
    gap: 6px;
}

.vyplaty-stranka .vyplaty-qr-detail[hidden] {
    display: none !important;
}

.vyplaty-stranka .vyplaty-qr-detail .platba-qr {
    width: 92px;
    height: 92px;
}

.uctenky-stranka .uctenky-qr-detail .platba-qr {
    width: min(250px, 100%);
    height: min(250px, 70vw);
}

/* Rozpočet + evidence skutečně odeslaných plateb (2026-08-22) */
.platba-poslano {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    font-size: 0.86rem;
    white-space: nowrap;
}
.platba-poslano input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #173b58;
}
.vyplaty-cista-platba {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
}
.vyplaty-cista-platba .vyplaty-vysledek {
    margin: 0;
    flex: 1 1 auto;
}
.vyplaty-dan-souhrn {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 7px;
    font-size: 0.9rem;
}
.cestak-ridic-platba .platba-poslano {
    margin-left: 6px;
}
.uctenky-zustatek {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 13px;
    border: 1px solid rgba(93, 60, 23, 0.35);
    border-radius: 8px;
    background: rgba(255, 246, 211, 0.6);
    color: #173b58;
    white-space: nowrap;
}

.rozpocet-stranka .obsah {
    max-width: 1460px;
}
.rozpocet-horni-radek {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}
.rozpocet-vyber-roku select {
    min-width: 190px;
}
.rozpocet-ulozit {
    margin-left: auto;
}
.rozpocet-cashflow {
    padding: 16px 18px;
    margin-bottom: 18px;
    border: 1px solid rgba(93, 60, 23, 0.38);
    border-radius: 10px;
    background: rgba(255, 244, 205, 0.56);
    box-shadow: inset 0 0 18px rgba(108, 67, 23, 0.07);
}
.rozpocet-max,
.rozpocet-organizace-poslala,
.rozpocet-cashflow-souhrn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.rozpocet-max {
    margin-bottom: 10px;
    font-size: 1.02rem;
}
.rozpocet-max strong,
.rozpocet-cashflow-souhrn strong {
    color: #173b58;
    font-size: 1.08rem;
}
.rozpocet-organizace-poslala {
    margin: 0;
    font-weight: 700;
}
.rozpocet-organizace-poslala .vyplaty-pole-s-jednotkou {
    width: min(240px, 45vw);
}
.rozpocet-varovani {
    margin-top: 8px;
    color: #8c241e;
    font-weight: 700;
    text-align: right;
}
.rozpocet-cashflow-souhrn {
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(93, 60, 23, 0.24);
}
.rozpocet-cashflow-souhrn > span {
    display: inline-flex;
    align-items: baseline;
    gap: 7px;
}
.rozpocet-dvojice {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}
.rozpocet-panel {
    min-width: 0;
    padding: 16px 18px 18px;
    border: 1px solid rgba(93, 60, 23, 0.38);
    border-radius: 10px;
    background: rgba(255, 244, 205, 0.5);
}
.rozpocet-panel h2 {
    margin: 0 0 12px;
    color: #173b58;
    text-align: center;
}
.rozpocet-panel h3 {
    margin: 18px 0 5px;
    padding-top: 10px;
    border-top: 1px solid rgba(93, 60, 23, 0.24);
    color: #173b58;
    font-size: 1rem;
}
.rozpocet-radek {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(150px, 210px);
    align-items: center;
    gap: 12px;
    min-height: 44px;
    padding: 5px 0;
    border-bottom: 1px dotted rgba(93, 60, 23, 0.2);
}
.rozpocet-radek > strong {
    text-align: right;
}
.rozpocet-radek .vyplaty-pole-s-jednotkou {
    width: 100%;
}
.rozpocet-hodnota-akce {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}
.rozpocet-spocitat {
    min-height: 34px;
    padding: 5px 10px;
    font-size: 0.84rem;
}
.rozpocet-snapshot {
    display: block;
    margin: -1px 0 7px;
    text-align: right;
    opacity: 0.75;
}
.rozpocet-celkem {
    margin-top: 8px;
    padding-top: 11px;
    border-top: 2px solid rgba(23, 59, 88, 0.55);
    border-bottom: 0;
    font-size: 1.05rem;
}
.rozpocet-celkem strong {
    color: #173b58;
    font-size: 1.12rem;
}
.rozpocet-rozdil {
    margin-top: 16px;
    padding: 11px 14px;
    border-radius: 8px;
    text-align: right;
    font-size: 1.02rem;
}
.rozpocet-rozdil.je-pod {
    background: rgba(69, 118, 69, 0.11);
}
.rozpocet-rozdil.je-nad {
    background: rgba(146, 53, 42, 0.11);
}
@media (max-width: 980px) {
    .rozpocet-dvojice {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 700px) {
    .rozpocet-max,
    .rozpocet-organizace-poslala,
    .rozpocet-cashflow-souhrn {
        align-items: stretch;
        flex-direction: column;
    }
    .rozpocet-organizace-poslala .vyplaty-pole-s-jednotkou {
        width: 100%;
    }
    .rozpocet-radek {
        grid-template-columns: 1fr;
    }
    .rozpocet-radek > strong,
    .rozpocet-snapshot {
        text-align: left;
    }
    .rozpocet-hodnota-akce {
        justify-content: space-between;
    }
}


/* ========================================================================== */
/* ROZPOCET-2: kompaktni porovnani + jednoduche fajfky plateb               */
/* 2026-08-22                                                                */
/* ========================================================================== */

/* Poslano je vizualne jen fajfka; text zustava pristupny ctecce. */
.platba-poslano {
    position: relative;
    gap: 0;
    width: 18px;
    min-width: 18px;
}
.platba-poslano > span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.vyplaty-stranka .vyplaty-sloupce-hlavicka,
.vyplaty-stranka .vyplaty-karta-muze {
    grid-template-columns: minmax(190px, 1.2fr) minmax(125px, .8fr) 120px 150px 120px 86px;
}
.vyplaty-cista-platba {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    align-items: center;
    justify-content: stretch;
    gap: 6px;
}
.vyplaty-cista-platba .vyplaty-vysledek,
.vyplaty-cista-platba .vyplaty-pole-s-jednotkou {
    min-width: 0;
    width: 100%;
}
.vyplaty-dan-souhrn {
    gap: 8px;
}

/* Rozpocet: jedna porovnavaci tabulka misto dvou velkych karet. */
.rozpocet-stranka .obsah {
    max-width: 1120px;
}
.rozpocet-cashflow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 8px 0 22px;
    padding: 0;
    border: 0;
    border-top: 1px solid rgba(93, 60, 23, .28);
    border-bottom: 1px solid rgba(93, 60, 23, .28);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.rozpocet-cashflow-polozka {
    display: grid;
    align-content: center;
    gap: 4px;
    min-width: 0;
    min-height: 72px;
    padding: 10px 18px;
    margin: 0;
    border-right: 1px solid rgba(93, 60, 23, .18);
}
.rozpocet-cashflow-polozka:last-child {
    border-right: 0;
}
.rozpocet-cashflow-polozka > span:first-child {
    color: #6c5b42;
    font-size: .82rem;
    font-weight: 700;
}
.rozpocet-cashflow-polozka strong {
    color: #0b2b57;
    font-size: 1.1rem;
    font-variant-numeric: tabular-nums;
}
.rozpocet-stranka .vyplaty-pole-s-jednotkou {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
}
.rozpocet-stranka .vyplaty-pole-s-jednotkou > span {
    min-width: 20px;
    color: #5e513c;
    font-weight: 700;
}
.rozpocet-organizace-poslala .vyplaty-pole-s-jednotkou {
    width: 100%;
    max-width: 185px;
}
.rozpocet-zustatek strong {
    font-size: 1.22rem;
}
.rozpocet-varovani {
    margin: -12px 0 16px;
    text-align: left;
}

.rozpocet-prehled {
    margin-top: 4px;
}
.rozpocet-tabulka-hlavicka,
.rozpocet-porovnani-radek {
    display: grid;
    grid-template-columns: minmax(210px, 1.15fr) minmax(235px, 1fr) minmax(190px, .9fr);
    align-items: center;
    gap: 18px;
}
.rozpocet-tabulka-hlavicka {
    padding: 0 10px 10px;
    border-bottom: 2px solid rgba(23, 59, 88, .45);
    color: #0b2b57;
}
.rozpocet-tabulka-hlavicka > span {
    color: #6c5b42;
    font-size: .82rem;
    font-weight: 700;
}
.rozpocet-tabulka-hlavicka strong {
    font-size: 1.18rem;
    text-align: right;
}
.rozpocet-porovnani-radek {
    min-height: 54px;
    padding: 7px 10px;
    border-bottom: 1px dotted rgba(93, 60, 23, .2);
}
.rozpocet-porovnani-radek > span:first-child {
    color: #332b20;
}
.rozpocet-porovnani-radek > strong {
    color: #0b2b57;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.rozpocet-editace {
    justify-self: end;
    width: min(210px, 100%);
}
.rozpocet-editace input,
.rozpocet-organizace-poslala input {
    min-width: 0;
    height: 38px;
    padding: 6px 9px;
    border: 1px solid rgba(86, 48, 18, .38);
    border-radius: 8px;
    background: rgba(255, 252, 236, .82);
    color: #0b2347;
    box-sizing: border-box;
    font: inherit;
    text-align: right;
}
.rozpocet-hodnota-akce {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 7px 10px;
}
.rozpocet-hodnota-akce > strong {
    color: #0b2b57;
    text-align: right;
}
.rozpocet-spocitat {
    min-height: 32px;
    padding: 4px 10px;
    font-size: .8rem;
}
.rozpocet-snapshot {
    grid-column: 1 / -1;
    margin: -2px 0 0;
    color: #77664d;
    font-size: .73rem;
    text-align: right;
}
.rozpocet-skupina {
    margin-top: 14px;
    padding: 10px 10px 7px;
    border-bottom: 1px solid rgba(23, 59, 88, .34);
    color: #0b2b57;
    font-size: .94rem;
    font-weight: 800;
}
.rozpocet-porovnani-radek.rozpocet-celkem {
    margin-top: 7px;
    min-height: 58px;
    border-top: 2px solid rgba(23, 59, 88, .5);
    border-bottom: 0;
    font-size: 1.05rem;
}
.rozpocet-porovnani-radek.rozpocet-celkem > strong {
    font-size: 1.16rem;
}
.rozpocet-rozdil {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    margin-top: 8px;
    padding: 10px;
    border-radius: 0;
    border-top: 1px solid rgba(93, 60, 23, .2);
    background: transparent !important;
}
.rozpocet-rozdil strong {
    color: #0b2b57;
    font-size: 1.08rem;
}


@media (max-width: 980px) {
    .rozpocet-cashflow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .rozpocet-cashflow-polozka:nth-child(2) {
        border-right: 0;
    }
    .rozpocet-cashflow-polozka:nth-child(-n+2) {
        border-bottom: 1px solid rgba(93, 60, 23, .18);
    }
    .rozpocet-tabulka-hlavicka,
    .rozpocet-porovnani-radek {
        grid-template-columns: minmax(180px, 1fr) minmax(200px, 1fr) minmax(175px, .9fr);
        gap: 12px;
    }
}

@media (max-width: 720px) {
    .rozpocet-cashflow {
        grid-template-columns: 1fr;
    }
    .rozpocet-cashflow-polozka {
        border-right: 0;
        border-bottom: 1px solid rgba(93, 60, 23, .18);
    }
    .rozpocet-cashflow-polozka:last-child {
        border-bottom: 0;
    }
    .rozpocet-tabulka-hlavicka {
        grid-template-columns: 1fr 1fr;
    }
    .rozpocet-tabulka-hlavicka > span {
        display: none;
    }
    .rozpocet-tabulka-hlavicka strong {
        text-align: left;
    }
    .rozpocet-porovnani-radek {
        grid-template-columns: 1fr 1fr;
    }
    .rozpocet-porovnani-radek > span:first-child {
        grid-column: 1 / -1;
        font-weight: 700;
    }
    .rozpocet-porovnani-radek > strong {
        text-align: left;
    }
    .rozpocet-editace {
        justify-self: stretch;
        width: 100%;
    }
}


/* ROK-VYBER-2: jednotna volba roku podle Jidelnicku */
.admin-stranka form.rok-vyber {
    display: flex !important;
    align-items: center !important;
    width: min(300px, 100%) !important;
    margin: 14px auto 14px 0 !important;
    flex: 0 1 300px !important;
}

/* Vsechny hlavni radky s volbou roku kopiruji geometrii Jidelnicku. */
.admin-stranka .jidelnicek-horni-ovladani,
.nakupy-stranka .nakupy-horni-radek,
.uctenky-stranka .uctenky-horni-radek,
.vedouci-stranka .vedouci-horni-radek,
.vyplaty-stranka .vyplaty-horni-radek,
.cestak-stranka .cestak-horni-radek,
.rozpocet-stranka .rozpocet-horni-radek,
.zazemi-soukro-stranka .soukro-horni-radek,
.program-rezim-dne-stranka .program-rezim-horni-radek,
.program-inventar-stranka .program-inventar-horni-radek {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    width: 100% !important;
    min-height: 66px !important;
    margin: 14px 0 !important;
}

.admin-stranka .jidelnicek-horni-ovladani form.rok-vyber,
.nakupy-stranka .nakupy-horni-radek form.rok-vyber,
.uctenky-stranka .uctenky-horni-radek form.rok-vyber,
.vedouci-stranka .vedouci-horni-radek form.rok-vyber,
.vyplaty-stranka .vyplaty-horni-radek form.rok-vyber,
.cestak-stranka .cestak-horni-radek form.rok-vyber,
.rozpocet-stranka .rozpocet-horni-radek form.rok-vyber,
.zazemi-soukro-stranka .soukro-horni-radek form.rok-vyber,
.program-rezim-dne-stranka .program-rezim-horni-radek form.rok-vyber,
.program-inventar-stranka .program-inventar-horni-radek form.rok-vyber {
    margin: 0 auto 0 0 !important;
}

.admin-stranka form.rok-vyber > select {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 7px 42px 7px 14px !important;
    border: 1px solid rgba(86, 48, 18, .48) !important;
    border-radius: 10px !important;
    background-color: rgba(255, 244, 204, .78) !important;
    background-image: url('/assets/img/ikona-akce-rozbalit.png?v=20260820-vedouci-4') !important;
    background-repeat: no-repeat !important;
    background-position: right 9px center !important;
    background-size: 22px 22px !important;
    color: #0b2347 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}


/* ========================================================================== */
/* FINANCE-UI-3: sjednocene financni ovladani a zamcena geometrie            */
/* 2026-08-22                                                                */
/* ========================================================================== */

/* Rozpocet nesmi menit sirku globalniho pergamenu/hlavicky. */
.rozpocet-stranka .obsah {
    max-width: none;
}


/* Ikona penez je zaroven ovladac Poslano. */
.platba-poslano {
    position: relative;
    display: inline-flex;
    width: 30px;
    min-width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    margin: 0;
    cursor: pointer;
}
.platba-poslano-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.platba-poslano-ikona,
.platba-poslano-ikona img {
    display: block;
    width: 30px;
    height: 30px;
}
.platba-poslano-ikona img {
    object-fit: contain;
    transition: filter .15s ease, transform .15s ease, opacity .15s ease;
}
.platba-poslano:hover .platba-poslano-ikona img {
    transform: translateY(-1px);
}
.platba-poslano-input:focus-visible + .platba-poslano-ikona {
    outline: 2px solid #0b2b57;
    outline-offset: 2px;
}
.platba-poslano-input:checked + .platba-poslano-ikona img {
    filter: sepia(.45) saturate(5.5) hue-rotate(72deg) brightness(.78) contrast(1.08);
}
.platba-poslano-input:disabled + .platba-poslano-ikona img {
    opacity: .42;
}

/* Vyplaty: editace dane jen pres malou ikonu, soucet vedle a Poslano za QR. */
.vyplaty-stranka .vyplaty-nastaveni {
    align-items: end;
    gap: 22px;
}
.vyplaty-stranka .vyplaty-dan-pole {
    width: auto;
    min-width: 0;
}
.vyplaty-dan-hodnota {
    display: flex;
    align-items: center;
    gap: 5px;
    min-height: 32px;
}
.vyplaty-stranka .vyplaty-dan-editace {
    grid-template-columns: 52px auto;
    width: auto;
}
.vyplaty-stranka .vyplaty-dan-editace input {
    width: 52px;
    height: 32px;
    padding: 2px 4px;
    border-color: transparent;
    background: transparent;
    color: #0b2b57;
    font-weight: 700;
}
.vyplaty-stranka .vyplaty-dan-hodnota.je-editace .vyplaty-dan-editace input {
    border-color: rgba(86, 48, 18, .38);
    background: rgba(255, 252, 236, .86);
}
.vyplaty-upravit-dan,
.rozpocet-upravit-hodnotu,
.cestak-upravit-cenu {
    display: inline-flex !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.vyplaty-upravit-dan img,
.rozpocet-upravit-hodnotu img,
.cestak-upravit-cenu img {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
}
.vyplaty-dan-celkem-blok {
    display: grid;
    gap: 6px;
    color: #0b2b57;
}
.vyplaty-dan-celkem-blok > span:first-child {
    font-weight: 700;
}
.vyplaty-dan-celkem-blok strong {
    display: flex;
    align-items: center;
    min-height: 32px;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.vyplaty-stranka .vyplaty-nastaveni > .platba-poslano {
    margin-bottom: 1px;
}
.vyplaty-stranka .vyplaty-sloupce-hlavicka,
.vyplaty-stranka .vyplaty-karta-muze {
    grid-template-columns: minmax(190px, 1.2fr) minmax(125px, .8fr) 120px 132px 120px 106px;
}
.vyplaty-stranka .vyplaty-sloupce-hlavicka span {
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: stretch;
    width: 100%;
    text-align: center;
}
.vyplaty-cista-platba {
    display: block;
}
.vyplaty-platba-akce {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 0;
}
.vyplaty-platba-akce .platba-qr-chybi {
    max-width: 58px;
    font-size: .72rem;
    line-height: 1.05;
    text-align: center;
}

/* Rozpocet: editovatelne hodnoty vypadaji v klidu stejne jako vypoctene. */
.rozpocet-editovatelna-hodnota {
    display: inline-flex;
    align-items: center;
    justify-self: end;
    gap: 5px;
    min-width: 0;
}
.rozpocet-stranka .rozpocet-editace {
    width: 118px;
    min-width: 118px;
}
.rozpocet-stranka .rozpocet-editace input {
    height: 32px;
    padding: 2px 4px;
    border-color: transparent;
    background: transparent;
    color: #0b2b57;
    font-weight: 700;
    text-align: right;
}
.rozpocet-stranka .rozpocet-editace input[readonly] {
    cursor: default;
}
.rozpocet-editovatelna-hodnota.je-editace .rozpocet-editace input {
    border-color: rgba(86, 48, 18, .38);
    background: rgba(255, 252, 236, .86);
}
.rozpocet-organizace-poslala .rozpocet-editovatelna-hodnota {
    justify-self: start;
}
.rozpocet-organizace-poslala .rozpocet-editace {
    width: 130px;
    min-width: 130px;
}
.rozpocet-spocitat-ikona,
.rozpocet-stranka button.rozpocet-spocitat-ikona {
    display: inline-flex;
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.rozpocet-spocitat-ikona img {
    display: block;
    width: 34px;
    height: 34px;
    object-fit: contain;
}

/* Cestak: cena za km je text, dokud se neotevre editace. */
.cestak-cena-km {
    display: grid;
    gap: 6px;
    color: #0b2b57;
    font-weight: 700;
}
.cestak-cena-km-hodnota {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
}
.cestak-cena-km-hodnota > strong {
    min-width: 76px;
    font-variant-numeric: tabular-nums;
}
.cestak-cena-km-editace {
    width: 135px;
}
.cestak-ridic-platba .platba-poslano {
    flex: 0 0 30px;
}

/* Nastaveni roku: vsechny akce pouzivaji projektove obrazkove ikony. */
.zakladni-udaje-formular .storna-hlavicka .ikona-akce,
.zakladni-udaje-formular .storno-radek .ikona-akce {
    margin: 0;
}
.zakladni-udaje-formular .formular-spodek.zakladni-udaje-form-akce {
    justify-content: flex-end;
    gap: 8px;
}
.zakladni-udaje-formular .formular-spodek.zakladni-udaje-form-akce .ikona-akce,
.zakladni-udaje-formular .formular-spodek.zakladni-udaje-form-akce button.ikona-akce {
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

@media (max-width: 980px) {
    .vyplaty-stranka .vyplaty-karta-muze {
        grid-template-columns: minmax(180px, 1.15fr) minmax(140px, .85fr) repeat(3, minmax(100px, .66fr)) 100px;
    }
}

/* FINANCE-UI-3b: zruseni starsiho skryvani textoveho Poslano pro obrazkovou ikonu. */
.platba-poslano > .platba-poslano-ikona {
    position: static !important;
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
    border: 0 !important;
}
.platba-poslano > .platba-poslano-ikona img {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
}

/* ROZPOCET-GRID-1: stejna geometrie cisel a ikon vlevo. */
.rozpocet-stranka .rozpocet-tabulka-hlavicka,
.rozpocet-stranka .rozpocet-porovnani-radek {
    grid-template-columns: minmax(210px, 1.08fr) minmax(245px, 1fr) minmax(245px, 1fr);
    column-gap: 22px;
}
.rozpocet-stranka .rozpocet-porovnani-radek {
    min-height: 62px;
    align-items: center;
}
.rozpocet-stranka .rozpocet-tabulka-hlavicka > strong {
    text-align: right;
}
.rozpocet-stranka .rozpocet-porovnani-radek > strong,
.rozpocet-stranka .rozpocet-hodnota-text {
    display: block;
    color: #0b2b57;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25;
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}
.rozpocet-stranka .rozpocet-hodnota-bunka {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    justify-self: stretch;
    gap: 10px;
    width: 100%;
    min-width: 0;
}
.rozpocet-stranka .rozpocet-hodnota-bunka > .rozpocet-upravit-hodnotu,
.rozpocet-stranka .rozpocet-hodnota-bunka > .rozpocet-spocitat-ikona {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    margin: 0;
}
.rozpocet-stranka .rozpocet-hodnota-obsah {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    align-items: center;
    justify-items: stretch;
    min-width: 0;
}
.rozpocet-stranka .rozpocet-hodnota-obsah .rozpocet-editace {
    display: none !important;
    justify-self: end;
    width: 118px;
    min-width: 118px;
}
.rozpocet-stranka .rozpocet-editovatelna-hodnota.je-editace .rozpocet-hodnota-text {
    display: none;
}
.rozpocet-stranka .rozpocet-editovatelna-hodnota.je-editace .rozpocet-editace {
    display: grid !important;
}
.rozpocet-stranka .rozpocet-hodnota-jidlo .rozpocet-snapshot {
    grid-column: auto;
    margin: 3px 0 0;
    line-height: 1.2;
    text-align: right;
}
.rozpocet-stranka .rozpocet-organizace-poslala .rozpocet-hodnota-bunka {
    max-width: 190px;
}
.rozpocet-stranka .rozpocet-organizace-poslala .rozpocet-hodnota-obsah {
    justify-items: stretch;
}
.rozpocet-stranka .rozpocet-organizace-poslala .rozpocet-hodnota-text {
    text-align: right;
}
@media (max-width: 980px) {
    .rozpocet-stranka .rozpocet-tabulka-hlavicka,
    .rozpocet-stranka .rozpocet-porovnani-radek {
        grid-template-columns: minmax(180px, 1fr) minmax(210px, 1fr) minmax(210px, 1fr);
        column-gap: 14px;
    }
}
@media (max-width: 720px) {
    .rozpocet-stranka .rozpocet-hodnota-bunka {
        grid-template-columns: 34px minmax(0, 1fr);
    }
}

/* 2026-08-23: hlaseni pouzivaji existujici klubovnovy pergamen, ne barevne pruhy. */
.oznameni,
.chyba,
.admin-stranka .oznameni,
.admin-stranka .chyba {
    box-sizing: border-box;
    min-height: 58px;
    margin: 14px 0;
    padding: 6px 24px;
    border-style: solid;
    border-width: 14px 28px;
    border-image-source: url('/assets/img/nakupy-pergamen-cely.png?v=20260819-1');
    border-image-slice: 105 135 105 135 fill;
    border-image-repeat: stretch;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #0c315f;
    font-weight: 700;
    line-height: 1.3;
}
.chyba,
.admin-stranka .chyba {
    color: #6b301f;
}
.oznameni[hidden],
.chyba[hidden] {
    display: none !important;
}

.vyplaty-stranka .vyplaty-nastaveni {
    display: grid;
    grid-template-columns: 160px 160px 40px;
    align-items: start;
    gap: 18px;
    width: max-content;
}
.vyplaty-stranka .vyplaty-dan-pole,
.vyplaty-stranka .vyplaty-dan-celkem-blok {
    display: grid;
    grid-template-rows: 20px 34px;
    gap: 6px;
    justify-items: center;
    width: 160px;
    color: #0b2b57;
}
.vyplaty-stranka .vyplaty-dan-pole > span:first-child,
.vyplaty-stranka .vyplaty-dan-celkem-blok > span:first-child {
    width: 100%;
    text-align: center;
    font-weight: 700;
}
.vyplaty-stranka .vyplaty-dan-hodnota,
.vyplaty-stranka .vyplaty-dan-celkem-blok strong {
    min-height: 34px;
    justify-content: center;
    align-self: center;
}
.vyplaty-stranka .vyplaty-nastaveni > .platba-poslano {
    align-self: end;
    justify-self: center;
    margin: 0 0 2px;
}

.uctenky-stranka .uctenky-proplatit-ikona,
.uctenky-stranka button.uctenky-proplatit-ikona {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.uctenky-stranka .uctenky-proplatit-ikona img {
    width: 30px;
    height: 30px;
}

.nakupy-stranka .nakupy-sklad-horni-radek .nakupy-sekce-nadpis > span:last-child {
    gap: 8px;
    padding-right: 24px;
}
.nakupy-stranka .nakupy-sklad-horni-radek .nakupy-sklad-sipka {
    flex: 0 0 26px;
    width: 26px !important;
    height: 26px !important;
    margin: 0 0 0 4px !important;
}

.rozpocet-prijmy-ucastnici {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 18px;
    margin: 8px 0 12px;
    padding: 7px 10px;
    border-top: 1px solid rgba(12, 49, 95, .22);
    border-bottom: 1px solid rgba(12, 49, 95, .22);
    color: #0b2b57;
}
.rozpocet-prijmy-ucastnici > span,
.rozpocet-prijmy-ucastnici > strong {
    font-weight: 700;
}
.rozpocet-prijmy-ucastnici > small {
    grid-column: 1 / -1;
    color: #655844;
    font-size: .84rem;
}
.rozpocet-radek-detail {
    display: block;
    margin-top: 2px;
    color: #655844;
    font-size: .78rem;
    font-weight: 400;
    line-height: 1.2;
}

@media (max-width: 650px) {
    .oznameni,
    .chyba,
    .admin-stranka .oznameni,
    .admin-stranka .chyba {
        min-height: 62px;
        padding: 18px 48px 16px;
    }
    .vyplaty-stranka .vyplaty-nastaveni {
        grid-template-columns: minmax(118px, 1fr) minmax(118px, 1fr) 36px;
        gap: 10px;
        width: 100%;
    }
    .vyplaty-stranka .vyplaty-dan-pole,
    .vyplaty-stranka .vyplaty-dan-celkem-blok {
        width: 100%;
    }
}

/* 2026-08-23: Cestak - sazba je bezne jen text, editor se ukaze az po brku. */
.cestak-stranka .cestak-cena-km-editace.je-skryte {
    display: none !important;
}
.cestak-stranka .cestak-cena-km-hodnota > strong.je-skryte {
    display: none !important;
}

/* 2026-08-23: Sklad se nezalamuje pres sipku; zobrazeni ridi vyber dne. */
.nakupy-stranka .nakupy-sklad-horni-radek {
    align-items: center;
}
.nakupy-stranka .nakupy-sklad-horni-radek .nakupy-sekce-nadpis > span:last-child {
    padding-right: 0;
}
.nakupy-stranka .nakupy-sklad-den {
    margin: 0;
    margin-left: auto;
}
.nakupy-stranka .nakupy-sklad-den select {
    min-width: 220px;
}
.nakupy-stranka .nakupy-sklad-obsah {
    margin-top: 14px;
}

/* 2026-08-23: Rozpocet - zahlavi patri nad prijmy a skupiny jsou jasne oddelene. */
.rozpocet-stranka .rozpocet-tabulka-hlavicka > span:first-child {
    visibility: hidden;
}
.rozpocet-stranka .rozpocet-skupina {
    margin-top: 10px;
}
.rozpocet-stranka .rozpocet-celkem-prijmy {
    min-height: 48px;
    border-top: 1px solid rgba(23, 59, 88, .34);
    border-bottom: 0;
}
.rozpocet-stranka .rozpocet-celkem-prijmy > span:first-child,
.rozpocet-stranka .rozpocet-celkem-prijmy > strong {
    font-weight: 800;
}

/* 2026-08-23: finalni srovnani Rozpoctu a klikaci ovladace Poslano. */
.rozpocet-stranka .rozpocet-cashflow-polozka {
    grid-template-rows: 30px minmax(38px, auto);
    align-content: center;
    align-items: center;
}
.rozpocet-stranka .rozpocet-cashflow-polozka > span:first-child {
    display: flex;
    min-height: 30px;
    align-items: flex-end;
    line-height: 1.15;
}
.rozpocet-stranka .rozpocet-cashflow-polozka > strong,
.rozpocet-stranka .rozpocet-cashflow-polozka > .rozpocet-hodnota-bunka {
    align-self: center;
}
.rozpocet-stranka .rozpocet-hodnota-bunka {
    grid-template-columns: minmax(0, 1fr) 34px;
}
.rozpocet-stranka .rozpocet-hodnota-bunka > .rozpocet-upravit-hodnotu,
.rozpocet-stranka .rozpocet-hodnota-bunka > .rozpocet-spocitat-ikona {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
}
.rozpocet-stranka .rozpocet-hodnota-obsah {
    grid-column: 1;
    grid-row: 1;
}
.rozpocet-stranka .rozpocet-skupina-s-celkem {
    display: grid;
    grid-template-columns: minmax(210px, 1.08fr) minmax(245px, 1fr) minmax(245px, 1fr);
    column-gap: 22px;
    align-items: center;
}
.rozpocet-stranka .rozpocet-skupina-s-celkem > strong {
    color: #0b2b57;
    font-size: 1rem;
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* Poslano je skutecne tlacitko; klik se nespoléha na skryty checkbox. */
button.platba-poslano {
    appearance: none;
    -webkit-appearance: none;
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
}
button.platba-poslano > img {
    display: block;
    width: 30px;
    height: 30px;
    object-fit: contain;
    transition: filter .15s ease, transform .15s ease, opacity .15s ease;
}
button.platba-poslano:hover:not(:disabled) > img {
    transform: translateY(-1px);
}
button.platba-poslano.je-poslano > img {
    filter: sepia(.45) saturate(5.5) hue-rotate(72deg) brightness(.78) contrast(1.08);
}
button.platba-poslano:disabled > img {
    opacity: .55;
}
button.platba-poslano:focus-visible {
    outline: 2px solid #0b2b57;
    outline-offset: 2px;
}

@media (max-width: 980px) {
    .rozpocet-stranka .rozpocet-skupina-s-celkem {
        grid-template-columns: minmax(180px, 1fr) minmax(210px, 1fr) minmax(210px, 1fr);
        column-gap: 14px;
    }
}


/* ========================================================================== */
/* 2026-08-23: ZAMKNUTE GRAFICKE ZALOZKY + finance + recepty                  */
/* ========================================================================== */
.admin-stranka .klubovna-podstranky {
    display:flex !important; flex-direction:column !important; align-items:flex-end !important; gap:0 !important;
    width:128px !important; min-width:128px !important; max-width:128px !important; padding:0 !important;
    overflow:visible !important; pointer-events:none !important;
}
.admin-stranka .klubovna-podstranka,
.admin-stranka .klubovna-podstranka + .klubovna-podstranka {
    position:relative !important; inset:auto !important; display:block !important; flex:0 0 148px !important;
    width:128px !important; min-width:128px !important; max-width:128px !important;
    height:148px !important; min-height:148px !important; max-height:148px !important;
    margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important;
    background:transparent !important; box-shadow:none !important; overflow:visible !important;
    transform:none !important; pointer-events:auto !important;
}
.admin-stranka .klubovna-podstranka img {
    display:block !important; width:auto !important; min-width:0 !important; max-width:none !important;
    height:148px !important; min-height:148px !important; max-height:148px !important;
    margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important;
    background:transparent !important; box-shadow:none !important; transform:none !important;
    filter:drop-shadow(-3px 4px 4px rgba(57,30,10,.25)) !important;
    object-fit:contain !important; object-position:right top !important;
}
.admin-stranka .klubovna-podstranka:hover,
.admin-stranka .klubovna-podstranka:focus-visible,
.admin-stranka .klubovna-podstranka.je-aktivni { transform:translateX(-32px) !important; }
@media (max-width:900px) {
    .admin-stranka .klubovna-podstranky,
    .admin-stranka .klubovna-podstranka,
    .admin-stranka .klubovna-podstranka + .klubovna-podstranka { width:116px !important; min-width:116px !important; max-width:116px !important; }
    .admin-stranka .klubovna-podstranka,
    .admin-stranka .klubovna-podstranka + .klubovna-podstranka,
    .admin-stranka .klubovna-podstranka img { height:134px !important; min-height:134px !important; max-height:134px !important; }
}
@media (max-width:680px) {
    .admin-stranka .klubovna-podstranky,
    .admin-stranka .klubovna-podstranka,
    .admin-stranka .klubovna-podstranka + .klubovna-podstranka { width:104px !important; min-width:104px !important; max-width:104px !important; }
    .admin-stranka .klubovna-podstranka,
    .admin-stranka .klubovna-podstranka + .klubovna-podstranka,
    .admin-stranka .klubovna-podstranka img { height:120px !important; min-height:120px !important; max-height:120px !important; }
    .admin-stranka .klubovna-podstranka:hover,
    .admin-stranka .klubovna-podstranka:focus-visible,
    .admin-stranka .klubovna-podstranka.je-aktivni { transform:translateX(-22px) !important; }
}

/* Rozpocet: vsechny 4 nadpisy a castky maji shodnou svislou osnovu. */
.rozpocet-stranka .rozpocet-cashflow-polozka { display:grid !important; grid-template-rows:34px 44px !important; align-content:center !important; align-items:center !important; }
.rozpocet-stranka .rozpocet-cashflow-polozka > span:first-child { display:flex !important; min-height:34px !important; align-items:flex-end !important; line-height:1.15 !important; }
.rozpocet-stranka .rozpocet-cashflow-polozka > strong,
.rozpocet-stranka .rozpocet-cashflow-polozka .rozpocet-hodnota-text { font-size:1.08rem !important; line-height:1.2 !important; font-weight:800 !important; font-variant-numeric:tabular-nums !important; }
.rozpocet-stranka .rozpocet-hodnota-bunka { grid-template-columns:minmax(0,1fr) 34px !important; column-gap:16px !important; }
.rozpocet-stranka .rozpocet-porovnani-radek > strong:nth-child(2),
.rozpocet-stranka .rozpocet-skupina-s-celkem > strong:nth-child(2) { padding-right:50px !important; box-sizing:border-box !important; }

/* Vyplaty: dan a celkem na jedne osnově, bez viditelneho inputu v klidovem stavu. */
.vyplaty-stranka .vyplaty-nastaveni { display:grid !important; grid-template-columns:170px 170px 40px !important; align-items:start !important; justify-items:center !important; gap:18px !important; width:max-content !important; margin-left:0 !important; }
.vyplaty-stranka .vyplaty-dan-pole,
.vyplaty-stranka .vyplaty-dan-celkem-blok { display:grid !important; grid-template-rows:24px 36px !important; gap:4px !important; justify-items:center !important; align-items:center !important; width:170px !important; }
.vyplaty-stranka .vyplaty-dan-pole > span:first-child,
.vyplaty-stranka .vyplaty-dan-celkem-blok > span:first-child { display:flex !important; width:100% !important; height:24px !important; align-items:flex-end !important; justify-content:center !important; line-height:1.1 !important; }
.vyplaty-stranka .vyplaty-dan-hodnota,
.vyplaty-stranka .vyplaty-dan-celkem-blok strong { display:flex !important; min-height:36px !important; align-items:center !important; justify-content:center !important; margin:0 !important; }
.vyplaty-stranka .vyplaty-dan-editace { display:inline-flex !important; align-items:center !important; gap:4px !important; width:auto !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
.vyplaty-stranka .vyplaty-dan-editace input,
.vyplaty-stranka .vyplaty-dan-pole input[readonly] { width:48px !important; height:32px !important; padding:0 !important; border:0 !important; border-radius:0 !important; outline:0 !important; background:transparent !important; box-shadow:none !important; color:#0b2b57 !important; font-weight:700 !important; text-align:right !important; appearance:textfield !important; }
.vyplaty-stranka .vyplaty-dan-hodnota.je-editace .vyplaty-dan-editace input { padding:3px 6px !important; border:1px solid rgba(86,48,18,.38) !important; border-radius:7px !important; background:rgba(255,252,236,.86) !important; }
.vyplaty-stranka .vyplaty-nastaveni > .platba-poslano { align-self:end !important; margin-bottom:3px !important; }

/* Sipka QR je vlevo a ikona zaplaceni hned napravo. QR se rozbali pod nimi. */
.vyplaty-stranka .vyplaty-platba-akce { flex-direction:row !important; flex-wrap:wrap !important; align-content:center !important; gap:7px !important; }
.vyplaty-stranka .vyplaty-platba-akce > .vyplaty-qr-sipka { order:1 !important; }
.vyplaty-stranka .vyplaty-platba-akce > .platba-poslano { order:2 !important; }
.vyplaty-stranka .vyplaty-platba-akce > .vyplaty-qr-detail { order:3 !important; flex:0 0 100% !important; width:100% !important; text-align:center !important; }
.vyplaty-stranka .vyplaty-osoba { padding-left:5px !important; box-sizing:border-box !important; }
.vyplaty-stranka [data-vyplaty-qr-radek] { cursor:pointer; }

.uctenky-stranka .uctenky-proplaceni-akce { display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:center !important; gap:8px !important; }
.uctenky-stranka [data-qr-radek] { cursor:pointer; }

.aktualni-rok-stitek { display:inline-flex; align-items:center; min-height:30px; padding:3px 10px; color:#0c315f; font-weight:800; white-space:nowrap; }

.recept-prepocet-aktualni { margin-top:22px !important; }
.recept-prepocet-meta { margin:0 0 10px; color:#0b2b57; }
.recept-prepocet-seznam { display:grid; gap:5px; color:#0b2b57; font-variant-numeric:tabular-nums; }
.recept-prepocet-seznam > div { padding:4px 0; border-bottom:1px dotted rgba(79,55,29,.2); }
.recept-prepocet-prazdne { color:#6b604d; font-style:italic; }
.upravit-recept-stranka .recept-formular-ulozit { gap:10px; }
@media (max-width:650px) {
    .vyplaty-stranka .vyplaty-nastaveni { grid-template-columns:minmax(118px,1fr) minmax(118px,1fr) 36px !important; width:100% !important; gap:10px !important; }
    .vyplaty-stranka .vyplaty-dan-pole,
    .vyplaty-stranka .vyplaty-dan-celkem-blok { width:100% !important; }
}


/* ========================================================================== */
/* 2026-08-23: VYPLATY QR + AKTIVNI ROK + RECEPTOVE VOLBY                    */
/* ========================================================================== */

/* Výplaty: souhrn je široký stejně jako výběr turnusu a oba údaje začínají na stejné ose. */
.vyplaty-stranka .vyplaty-nastaveni {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    width: min(360px, 100%) !important;
    gap: 12px !important;
    align-items: start !important;
    justify-items: stretch !important;
    margin: 18px 0 30px !important;
}
.vyplaty-stranka .vyplaty-dan-pole,
.vyplaty-stranka .vyplaty-dan-celkem-blok {
    display: grid !important;
    grid-template-rows: 24px 36px !important;
    width: auto !important;
    min-width: 0 !important;
    gap: 4px !important;
    justify-items: start !important;
    align-items: center !important;
}
.vyplaty-stranka .vyplaty-dan-pole > span:first-child,
.vyplaty-stranka .vyplaty-dan-celkem-blok > span:first-child {
    display: flex !important;
    width: 100% !important;
    height: 24px !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    line-height: 1.1 !important;
}
.vyplaty-stranka .vyplaty-dan-hodnota,
.vyplaty-stranka .vyplaty-dan-celkem-hodnota {
    display: flex !important;
    min-height: 36px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    margin: 0 !important;
}
.vyplaty-stranka .vyplaty-dan-celkem-blok strong {
    display: inline-flex !important;
    min-height: 36px !important;
    align-items: center !important;
    margin: 0 !important;
    white-space: nowrap !important;
}
.vyplaty-stranka .vyplaty-dan-editace input,
.vyplaty-stranka .vyplaty-dan-pole input[readonly] {
    width: 48px !important;
    height: 32px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #0b2b57 !important;
    font-weight: 700 !important;
    text-align: left !important;
    appearance: textfield !important;
}
.vyplaty-stranka .vyplaty-dan-hodnota.je-editace .vyplaty-dan-editace input {
    padding: 3px 6px !important;
    border: 1px solid rgba(86, 48, 18, .38) !important;
    border-radius: 7px !important;
    background: rgba(255, 252, 236, .86) !important;
}
.vyplaty-stranka .vyplaty-dan-celkem-hodnota > .platba-poslano {
    flex: 0 0 30px !important;
    margin: 0 !important;
}

/* QR: po otevření je detail explicitně blokový; celý QR sloupec mimo ikonu Posláno je klikací. */
.vyplaty-stranka .vyplaty-qr-detail {
    display: none !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    text-align: center !important;
}
.vyplaty-stranka .vyplaty-qr-detail.je-otevrene:not([hidden]) {
    display: block !important;
}
.vyplaty-stranka .vyplaty-platba-akce {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    gap: 7px !important;
    cursor: pointer !important;
}
.vyplaty-stranka .vyplaty-platba-akce > .vyplaty-qr-sipka { order: 1 !important; }
.vyplaty-stranka .vyplaty-platba-akce > .platba-poslano { order: 2 !important; }
.vyplaty-stranka .vyplaty-platba-akce > .vyplaty-qr-detail { order: 3 !important; }

/* Základní údaje: každý rok má přímo v řádku stav aktivní/neaktivní, bez textu o migraci. */
.zakladni-udaje-aktualni { text-align: center !important; }
.aktualni-rok-form { display: inline-flex; margin: 0; }
.aktualni-rok-tlacitko,
.aktualni-rok-stav {
    display: inline-grid !important;
    width: 36px !important;
    height: 36px !important;
    place-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.aktualni-rok-tlacitko { cursor: pointer; }
.aktualni-rok-tlacitko img,
.aktualni-rok-stav img { display: block; width: 36px; height: 36px; object-fit: contain; }

/* Recepty: vybraná ikonka není obkroužená; nezvolená je zřetelně šedivá. */
.novy-recept-stranka .nastaveni-volba-obrazek {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 3px !important;
}
.novy-recept-stranka .nastaveni-volba > input:checked + .nastaveni-volba-obrazek {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.novy-recept-stranka .nastaveni-volba > input:not(:checked) + .nastaveni-volba-obrazek img {
    filter: grayscale(1) !important;
    opacity: .42 !important;
}
.novy-recept-stranka .nastaveni-volba > input:checked + .nastaveni-volba-obrazek img {
    filter: none !important;
    opacity: 1 !important;
}
.novy-recept-stranka .nastaveni-volba > input:focus-visible + .nastaveni-volba-obrazek {
    outline: 1px dotted rgba(12, 49, 95, .6) !important;
    outline-offset: 2px !important;
}

@media (max-width: 650px) {
    .vyplaty-stranka .vyplaty-nastaveni {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        width: 100% !important;
        gap: 10px !important;
    }
}

/* ========================================================================== */
/* PECETE-POZADI-1: spolecne pergamenove pozadi uvnitr vybranych peceti       */
/* 2026-08-23                                                                 */
/* ========================================================================== */
/*
 * Pouziva se pouze jako vnitrni podklad existujicich peceti. Voskovy okraj,
 * ikonky, fotografie ani cisla se nemeni. Zdroj je uzivatelem dodany kruhovy
 * pergamen; cerne okoli je v ulozenem PNG zpruhlednene.
 */
.admin-stranka .recepty-sekce .recept-nadpis-ikona::before,
.suroviny-stranka .ingredience-sekce .ingredience-nadpis-ikona::before,
.nakupy-stranka .nakupy-sekce-pecet::before,
.vedouci-stranka .vedouci-pocet-pecet::before,
.cestak-stranka .cestak-pocet-pecet::before,
.vyplaty-stranka .vyplaty-pocet-pecet::before {
    background: transparent url('/assets/img/pecet-vnitrni-pozadi.png?v=20260823-pecet-pozadi-1') center / 106% 106% no-repeat !important;
}


/* ========================================================================== */
/* RECEPTY-TYPY-2: presne opticke centrovani obrazku v pecetich               */
/* 2026-08-23                                                                 */
/* ========================================================================== */
/*
 * Voskova pecet profil-pecet.png nema otvor presne v geometrickem stredu
 * platna. Stred vnitrniho otvoru je x=49.67 %, y=48.24 %. Sest schvalenych
 * obrazku typu receptu ma navic kruhovy medailon v kazdem zdroji nepatrne
 * jinak posunuty. Proto se centruje skutecny kruhovy motiv, ne ctvercove PNG.
 * Vosk zustava bez posunu a je stale vrchni vrstvou.
 */
.recepty-stranka .recepty-sekce .recept-nadpis-ikona img {
    --recept-ikona-posun-x: 0%;
    --recept-ikona-posun-y: 0%;
    left: 49.67% !important;
    top: 48.24% !important;
    width: 76% !important;
    height: 76% !important;
    transform: translate(
        calc(-50% + var(--recept-ikona-posun-x)),
        calc(-50% + var(--recept-ikona-posun-y))
    ) !important;
    border-radius: 50% !important;
    object-fit: contain !important;
    object-position: 50% 50% !important;
}

/* Korekce optickeho stredu medailonu uvnitr jednotlivych 512x512 PNG. */
.recepty-stranka .typ-snidane .recept-nadpis-ikona img {
    --recept-ikona-posun-x: 3.25%;
    --recept-ikona-posun-y: 3.92%;
}

.recepty-stranka .typ-svacina .recept-nadpis-ikona img {
    --recept-ikona-posun-x: 0.42%;
    --recept-ikona-posun-y: 3.44%;
}

.recepty-stranka .typ-obed .recept-nadpis-ikona img {
    --recept-ikona-posun-x: -2.46%;
    --recept-ikona-posun-y: 3.31%;
}

.recepty-stranka .typ-vecere .recept-nadpis-ikona img {
    --recept-ikona-posun-x: 3.33%;
    --recept-ikona-posun-y: 3.43%;
}

.recepty-stranka .typ-priloha .recept-nadpis-ikona img {
    --recept-ikona-posun-x: 1.14%;
    --recept-ikona-posun-y: 2.81%;
}

.recepty-stranka .typ-piti .recept-nadpis-ikona img {
    --recept-ikona-posun-x: -2.30%;
    --recept-ikona-posun-y: 3.48%;
}


/* ========================================================================== */
/* NAKUPY-TYPY-1: pergamenove medailony a opticke centrovani v pecetich     */
/* 2026-08-23                                                                 */
/* ========================================================================== */
/*
 * Nakupy pouzivaji stejny schvaleny pergamenovy kruhovy medailon jako
 * Recepty a Suroviny. Pecivo sdili primo /assets/img/ikona-pecivo.png ze
 * Surovin; Bezny nakup, Velky nakup a Sklad maji vlastni obrazky. Voskova
 * pecet se neposouva. Motiv se kotvi na skutecny stred otvoru x=49.67 %,
 * y=48.24 % a u kazdeho PNG se kompenzuje drobny posun optickeho stredu.
 */
.nakupy-stranka .nakupy-sekce-pecet img {
    --nakupy-ikona-posun-x: 0%;
    --nakupy-ikona-posun-y: 0%;
    position: absolute !important;
    z-index: 1;
    left: 49.67% !important;
    top: 48.24% !important;
    width: 76% !important;
    height: 76% !important;
    margin: 0 !important;
    transform: translate(
        calc(-50% + var(--nakupy-ikona-posun-x)),
        calc(-50% + var(--nakupy-ikona-posun-y))
    ) !important;
    border-radius: 50% !important;
    object-fit: contain !important;
    object-position: 50% 50% !important;
    image-rendering: auto !important;
}

.nakupy-stranka #pecivo .nakupy-sekce-pecet img {
    --nakupy-ikona-posun-x: 0.07%;
    --nakupy-ikona-posun-y: 0.07%;
}

.nakupy-stranka #bezny .nakupy-sekce-pecet img {
    --nakupy-ikona-posun-x: 0.10%;
    --nakupy-ikona-posun-y: 1.65%;
}

.nakupy-stranka #velky .nakupy-sekce-pecet img {
    --nakupy-ikona-posun-x: 0.33%;
    --nakupy-ikona-posun-y: 1.12%;
}

.nakupy-stranka #sklad .nakupy-sekce-pecet img {
    --nakupy-ikona-posun-x: 0.31%;
    --nakupy-ikona-posun-y: 1.32%;
}


/* ========================================================================== */
/* SUROVINY-TYPY-2: nove pergamenove medailony uvnitr peceti                */
/* 2026-08-23                                                                 */
/* ========================================================================== */
/*
 * Kategorie Surovin pouzivaji pet novych 512x512 PNG medailonu na stejnem
 * kruhovem pergamenovem podkladu jako Recepty. Obrazek se centruje podle
 * skutecneho stredu otvoru voskove peceti, ne podle geometrickeho stredu
 * ctverce. Voskova pecet se neposouva a zustava vrchni vrstvou.
 */
.suroviny-stranka .ingredience-sekce .ingredience-nadpis-ikona img {
    position: absolute !important;
    z-index: 1;
    left: 49.67% !important;
    top: 48.24% !important;
    width: 76% !important;
    height: 76% !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
    border-radius: 50% !important;
    object-fit: contain !important;
    object-position: 50% 50% !important;
    image-rendering: auto !important;
}

/* ========================================================================== */
/* SUROVINY-PECIVO-CENTRUM-5: geometricky stred medailonu v otvoru peceti    */
/* 2026-08-23                                                                 */
/* ========================================================================== */
/*
 * Referencni bod je skutecny stred pruhledneho otvoru profil-pecet.png
 * (49.676 % / 48.247 %). U ikona-pecivo.png je tenky dekorativni kruhovy lem
 * ve zdrojovem PNG nepatrne posunuty doprava a nahoru, proto se samotny obraz
 * kotvi o odpovidajici hodnotu vlevo a dolu. Tim se centruje viditelny kruhovy
 * lem, ne obdelnik obrazku ani opticka hmota peciva. Rozmery z CENTRUM-4 se
 * nemeni, meni se jen kotva.
 */
.suroviny-stranka .ingredience-sekce.sekce-pecivo .ingredience-nadpis-ikona img {
    left: 49.27% !important;
    top: 48.58% !important;
    width: calc(76% + 2px) !important;
    height: calc(79% - 1px) !important;
    object-fit: fill !important;
}

/* ========================================================================== */
/* PECETE-MEDAILONY-1: zavazne centrovani vsech obrazkovych medailonu        */
/* 2026-08-23                                                                 */
/* ========================================================================== */
/*
 * ZAVAZNE PRAVIDLO: u sekcnich peceti se centruje skutecny viditelny
 * kruhovy lem medailonu proti skutecnemu stredu pruhledneho otvoru
 * profil-pecet.png (x=49.676 %, y=48.247 %). Necentruje se opticka hmota
 * motivu ani geometricky stred ctvercoveho PNG. Voskova pecet se neposouva.
 * Schvaleny referencni fit Pečiva je 79.125 % x 77.4375 % plochy peceti.
 * Korekce nize kompenzuji pouze posun kruhu uvnitr zdrojoveho PNG.
 */
.recepty-stranka .recept-nadpis-ikona img,
.suroviny-stranka .ingredience-sekce .ingredience-nadpis-ikona img,
.nakupy-stranka .nakupy-sekce-pecet img {
    --pecet-medailon-korekce-x: 0%;
    --pecet-medailon-korekce-y: 0%;
    position: absolute !important;
    z-index: 1;
    left: 49.676% !important;
    top: 48.247% !important;
    width: 79.125% !important;
    height: 77.4375% !important;
    margin: 0 !important;
    transform: translate(
        calc(-50% + var(--pecet-medailon-korekce-x)),
        calc(-50% + var(--pecet-medailon-korekce-y))
    ) !important;
    border-radius: 50% !important;
    object-fit: fill !important;
    object-position: 50% 50% !important;
    image-rendering: auto !important;
}

/* Recepty: kruhovy lem je ve zdrojovych 512x512 PNG centrovany. */
.recepty-stranka .typ-snidane .recept-nadpis-ikona img,
.recepty-stranka .typ-svacina .recept-nadpis-ikona img,
.recepty-stranka .typ-obed .recept-nadpis-ikona img,
.recepty-stranka .typ-vecere .recept-nadpis-ikona img,
.recepty-stranka .typ-priloha .recept-nadpis-ikona img,
.recepty-stranka .typ-piti .recept-nadpis-ikona img {
    --pecet-medailon-korekce-x: 0%;
    --pecet-medailon-korekce-y: 0%;
}

/* Suroviny: vsechny nove medailony sdileji stejnou polohu kruhoveho lemu. */
.suroviny-stranka .ingredience-sekce.sekce-pecivo .ingredience-nadpis-ikona img,
.suroviny-stranka .ingredience-sekce.sekce-mrazene .ingredience-nadpis-ikona img,
.suroviny-stranka .ingredience-sekce.sekce-chlazene .ingredience-nadpis-ikona img,
.suroviny-stranka .ingredience-sekce.sekce-trvanlive .ingredience-nadpis-ikona img,
.suroviny-stranka .ingredience-sekce.sekce-ovoce-zelenina .ingredience-nadpis-ikona img {
    --pecet-medailon-korekce-x: -0.514%;
    --pecet-medailon-korekce-y: 0.430%;
}

/* Nakupy: korekce pouze podle polohy kruhoveho lemu ve zdrojovem PNG. */
.nakupy-stranka #pecivo .nakupy-sekce-pecet img {
    --pecet-medailon-korekce-x: -0.514%;
    --pecet-medailon-korekce-y: 0.430%;
}

.nakupy-stranka #bezny .nakupy-sekce-pecet img {
    --pecet-medailon-korekce-x: 0.10%;
    --pecet-medailon-korekce-y: 1.65%;
}

.nakupy-stranka #velky .nakupy-sekce-pecet img {
    --pecet-medailon-korekce-x: 0.33%;
    --pecet-medailon-korekce-y: 1.12%;
}

.nakupy-stranka #sklad .nakupy-sekce-pecet img {
    --pecet-medailon-korekce-x: 0.31%;
    --pecet-medailon-korekce-y: 1.32%;
}

/* ROK-PECET-1: aktivni/neaktivni rok jako stan uvnitr projektove voskove peceti. */
.zakladni-udaje-stav-pole .formular-label {
    display: block;
    margin: 16px 0 7px;
    font-weight: 700;
}
.rok-stav-volby {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 76px;
}
.rok-stav-volba {
    display: inline-flex;
    margin: 0;
    cursor: pointer;
}
.rok-stav-volba > input {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    opacity: 0;
    pointer-events: none;
}
.rok-stav-volba > input:disabled + .rok-stav-pecet {
    cursor: default;
}
.rok-stav-volba > input:not(:checked) + .rok-stav-pecet {
    opacity: .72;
    filter: saturate(.72);
    transform: scale(1);
}
.rok-stav-volba > input:checked + .rok-stav-pecet {
    opacity: 1;
    filter: none;
    transform: scale(1);
}
.rok-stav-pecet {
    position: relative;
    display: inline-block !important;
    flex: 0 0 auto;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50%;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible;
    transition: transform 140ms ease, opacity 140ms ease, filter 140ms ease;
}
.rok-stav-pecet-velka {
    width: 72px !important;
    height: 72px !important;
}
.rok-stav-pecet-mala {
    width: 56px !important;
    height: 56px !important;
}
.rok-stav-pecet::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 15%;
    top: 13.6%;
    width: 69.4%;
    height: 69.4%;
    border-radius: 50%;
    background: transparent url('/assets/img/pecet-vnitrni-pozadi.png?v=20260823-pecet-pozadi-1') center / 106% 106% no-repeat;
    pointer-events: none;
}
.rok-stav-pecet::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: url('/assets/img/profil-pecet.png?v=20260820-pecete-2') center / contain no-repeat;
    pointer-events: none;
}
.rok-stav-pecet > img {
    --rok-medailon-korekce-x: 0%;
    --rok-medailon-korekce-y: 0%;
    position: absolute !important;
    z-index: 1 !important;
    left: 49.676% !important;
    top: 48.247% !important;
    max-width: none !important;
    object-fit: fill !important;
    transform: translate(
        calc(-50% + var(--rok-medailon-korekce-x)),
        calc(-50% + var(--rok-medailon-korekce-y))
    ) !important;
    border-radius: 50%;
    image-rendering: auto !important;
    pointer-events: none;
}

/*
 * Stanove medailony maji v transparentnim 640x640 platne rozdilny realny
 * obrys. Rozmery nize proto nejsou velikosti motivu stanu, ale kompenzace
 * zdrojoveho platna tak, aby skutecny vnejsi kruhovy lem obou medailonu
 * mel stejny schvaleny fit jako Pecivo (79.125 % x 77.4375 %) a jeho stred
 * presne sedel na stred otvoru vosku 49.676 % / 48.247 %.
 */
.rok-stav-pecet-aktivni > img {
    width: 81.30% !important;
    height: 82.20% !important;
    --rok-medailon-korekce-x: .39%;
    --rok-medailon-korekce-y: 2.11%;
}

.rok-stav-pecet-neaktivni > img {
    width: 80.25% !important;
    height: 80.20% !important;
    --rok-medailon-korekce-x: .08%;
    --rok-medailon-korekce-y: 1.72%;
}
.aktualni-rok-tlacitko.rok-stav-pecet,
.aktualni-rok-stav.rok-stav-pecet {
    display: inline-block !important;
    place-items: unset !important;
}
.aktualni-rok-tlacitko.rok-stav-pecet {
    cursor: pointer;
}
.zakladni-udaje-aktualni {
    min-width: 68px;
    width: 68px;
    text-align: center;
    vertical-align: middle;
}
.zakladni-udaje-aktualni-hlavicka {
    width: 68px;
    text-align: center;
}
.zakladni-udaje-aktualni .aktualni-rok-form {
    display: flex;
    justify-content: center;
    margin: 0;
}

/* ========================================================================== */
/* 2026-08-23: ROZPOCET-TISK-1 – detail pod Jidlem, soucty a tisk/PDF        */
/* ========================================================================== */
/* Individualni castky uvnitr sekci maji stejny serif/rez jako nazvy radku. */
.rozpocet-stranka .rozpocet-porovnani-radek:not(.rozpocet-celkem) > strong,
.rozpocet-stranka .rozpocet-porovnani-radek:not(.rozpocet-celkem) .rozpocet-hodnota-text {
    color: #332b20 !important;
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
}

/* Snapshot jidla patri pod text Jidlo stejne jako detail pod Ucastniky. */
.rozpocet-stranka .rozpocet-porovnani-radek > span:first-child .rozpocet-radek-detail {
    display: block;
    margin-top: 2px;
    color: #655844;
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
    font-size: .78rem;
    font-weight: 400;
    line-height: 1.2;
}

/* Soucty skupin (Vydaje + Odvody organizaci) zustavaji modre a tucne. */
.rozpocet-stranka .rozpocet-skupina-s-celkem > strong {
    color: #0b2b57 !important;
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif !important;
    font-weight: 800 !important;
}

/* Celkem je vyrazne modre a tucne vcetne popisku i obou cisel. */
.rozpocet-stranka .rozpocet-porovnani-radek.rozpocet-celkem > span:first-child,
.rozpocet-stranka .rozpocet-porovnani-radek.rozpocet-celkem > strong {
    color: #0b2b57 !important;
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif !important;
    font-weight: 800 !important;
}

/* Tisk/PDF je hned vedle castky Organizace muze zaslat max. */
.rozpocet-stranka .rozpocet-max-hodnota {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    min-width: 0;
}
.rozpocet-stranka .rozpocet-max-hodnota > strong {
    color: #0b2b57;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.rozpocet-stranka .rozpocet-tisk-ikona,
.rozpocet-stranka a.rozpocet-tisk-ikona {
    display: inline-flex !important;
    flex: 0 0 28px;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
.rozpocet-stranka .rozpocet-tisk-ikona img {
    display: block;
    width: 28px !important;
    height: 28px !important;
    object-fit: contain;
}
.rozpocet-stranka .rozpocet-tisk-ikona:hover img {
    transform: translateY(-1px);
}
.rozpocet-stranka .rozpocet-tisk-ikona:focus-visible {
    outline: 2px solid #0b2b57;
    outline-offset: 2px;
}

@media (max-width: 720px) {
    .rozpocet-stranka .rozpocet-max-hodnota {
        justify-content: flex-end;
    }
}


/* ========================================================================== */
/* 2026-08-23: ROZPOCET-TISK-2 – zbytek k poslani + tisk stejne velky jako brk */
/* ========================================================================== */
.rozpocet-stranka .rozpocet-organizace-poslala .rozpocet-hodnota-obsah {
    align-content: center;
}
.rozpocet-stranka .rozpocet-zbyva-poslat {
    display: block;
    margin-top: 2px;
    color: #655844;
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
    font-size: .72rem;
    font-weight: 400;
    line-height: 1.15;
    text-align: right;
    white-space: nowrap;
}
.rozpocet-stranka .rozpocet-zbyva-poslat strong {
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: 700;
}
.rozpocet-stranka .rozpocet-editovatelna-hodnota.je-editace .rozpocet-zbyva-poslat {
    display: none;
}
/* Tisk ma stejny 28px box jako Upravit; asset je orezany na viditelny pergamen,
   takze se i opticky vykresli ve stejne velikosti jako brk. */
.rozpocet-stranka .rozpocet-tisk-ikona,
.rozpocet-stranka a.rozpocet-tisk-ikona,
.rozpocet-stranka .rozpocet-upravit-hodnotu {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
}
.rozpocet-stranka .rozpocet-tisk-ikona img,
.rozpocet-stranka .rozpocet-upravit-hodnotu img {
    width: 28px !important;
    height: 28px !important;
    object-fit: contain;
}


/* ========================================================================== */
/* 2026-08-23: ROZPOCET-DAN-1 – dan u organizace, zaporny zustatek, ikony    */
/* ========================================================================== */
/* Zaporny stav uz neprezentujeme jako zaporne "Na uctu zbyva", ale jako
   castku, kterou je nutne doplatit z vlastni kapsy. Cervene je jen cislo. */
.rozpocet-stranka .rozpocet-zustatek.je-z-vlastni-kapsy > strong {
    color: #a01818 !important;
}

/* Prepocet Jidla ma 34px motiv, editacni brky 28px. Oba sedí ve stejnem
   pravem sloupci; prepocet posuneme o polovinu rozdilu, aby jejich stredy
   tvorily jednu svislou osu. */
.rozpocet-stranka .rozpocet-hodnota-bunka > .rozpocet-spocitat-ikona {
    transform: translateX(3px);
}

/* ========================================================================== */
/* 2026-08-23 – Tisk: dokumentové šablony a editor                           */
/* ========================================================================== */
.tisk-stranka,
.tisk-editor-stranka {
    color: #17263f;
}

.tisk-hlavicka,
.tisk-editor-hlavicka {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.tisk-hlavicka h1,
.tisk-editor-hlavicka h1 {
    margin: 0;
}

.tisk-popis {
    max-width: 760px;
    margin: 8px 0 0;
    color: #5f6671;
}

.tisk-pridat {
    width: 58px !important;
    height: 58px !important;
}

.tisk-prazdne {
    display: grid;
    gap: 6px;
    padding: 16px 4px 18px;
    border: 0;
    border-bottom: 1px solid rgba(79, 55, 29, .20);
    border-radius: 0;
    background: transparent;
    color: #4f4638;
}

.tisk-sql-upozorneni code {
    font-family: Consolas, Monaco, monospace;
    color: #27456f;
}

.tisk-dokumenty {
    display: grid;
    gap: 10px;
}

.tisk-dokument-radek {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 72px;
    padding: 10px 4px 10px 8px;
    border: 0;
    border-bottom: 1px solid rgba(79, 55, 29, .20);
    border-radius: 0;
    background: rgba(255, 249, 224, .24);
}

.tisk-dokument-nazev {
    display: grid;
    gap: 3px;
}

.tisk-dokument-nazev strong {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.08rem;
    color: #1c3458;
}

.tisk-dokument-nazev span {
    font-size: .82rem;
    color: #777;
}

.tisk-dokument-akce {
    display: flex;
    align-items: center;
    gap: 2px;
}

.tisk-dokument-akce .ikona-akce,
.tisk-dokument-akce button.ikona-akce {
    width: 46px !important;
    height: 46px !important;
}


.tisk-editor-form {
    display: grid;
    gap: 18px;
}

.tisk-editor-hlavicka {
    align-items: center;
    margin-bottom: 0;
}

.tisk-nazev-pole {
    display: grid;
    gap: 6px;
    width: min(720px, 100%);
    font-weight: 700;
    color: #263a58;
}

.tisk-nazev-pole input {
    width: 100%;
    padding: 11px 13px;
    border: 1px solid rgba(94, 67, 30, .62);
    border-radius: 4px;
    background: rgba(255, 249, 224, .84);
    color: #23170b;
    font: inherit;
}

.tisk-editor-akce {
    display: flex;
    gap: 4px;
    margin: 0;
}

.tisk-editor-akce .ikona-akce,
.tisk-editor-akce button.ikona-akce {
    width: 50px !important;
    height: 50px !important;
}

.tisk-editor-layout {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 18px;
}

.tisk-editor-pracovni-plocha {
    min-width: 0;
}

.tisk-toolbar {
    position: sticky;
    top: 10px;
    z-index: 5;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 10px;
    padding: 8px;
    border: 1px solid rgba(94, 67, 30, .28);
    border-radius: 5px;
    background: rgba(255, 249, 224, .64);
    box-shadow: none;
}

.tisk-toolbar button {
    flex: 0 0 auto;
    width: auto;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    margin: 0;
    padding: 4px 9px;
    border: 1px solid #b48a36;
    border-radius: 5px;
    background: #0c315f;
    color: #fff4cf;
    box-shadow: none;
    font: inherit;
    font-size: .9rem;
    line-height: 1;
    cursor: pointer;
}

.tisk-toolbar button strong,
.tisk-toolbar button em,
.tisk-toolbar button u {
    color: inherit;
}

.tisk-toolbar button:hover,
.tisk-toolbar button:focus-visible {
    background: #0c315f;
    border-color: #b48a36;
    box-shadow: none;
    filter: brightness(1.08);
    transform: none;
}

.tisk-toolbar-oddeleni {
    width: 1px;
    height: 25px;
    margin: 0 2px;
    background: rgba(35,54,84,.2);
}

.tisk-a4-editor {
    box-sizing: border-box;
    width: min(100%, 794px);
    min-height: 1123px;
    margin: 0 auto;
    padding: 72px 70px;
    outline: none;
    border: 1px solid #d2cdc0;
    background: #fff;
    box-shadow: 0 8px 28px rgba(21,29,42,.17);
    color: #111;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12pt;
    line-height: 1.45;
}

.tisk-a4-editor:focus {
    border-color: #8596ac;
    box-shadow: 0 8px 30px rgba(21,29,42,.2), 0 0 0 2px rgba(82,110,150,.12);
}

.tisk-a4-editor p {
    margin: 0 0 .75em;
}

.tisk-a4-editor table {
    width: 100%;
    border-collapse: collapse;
    margin: 12px 0;
}

.tisk-a4-editor th,
.tisk-a4-editor td {
    min-width: 42px;
    padding: 5px 7px;
    border: 1px solid #555;
    vertical-align: top;
}

.tisk-promenna-kapsle {
    display: inline-block;
    max-width: 100%;
    padding: 1px 7px;
    border: 1px solid #9eae87;
    border-radius: 999px;
    background: #eef3e6;
    color: #354c2d;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .82em;
    line-height: 1.55;
    white-space: normal;
    cursor: default;
}

.tisk-konec-stranky {
    position: relative;
    margin: 28px -45px;
    border-top: 2px dashed #b7a88b;
    text-align: center;
    color: #8e7b5f;
    font-size: 11px;
    line-height: 0;
    user-select: none;
}

.tisk-konec-stranky span {
    position: relative;
    top: -1px;
    padding: 0 8px;
    background: #fff;
}

.tisk-editor-panel {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    order: -1;
}

.tisk-panel-box {
    display: block;
    padding: 0;
    border: 1px solid rgba(94, 67, 30, .30);
    border-radius: 5px;
    background: rgba(255, 249, 224, .46);
}

.tisk-panel-rozbalovaci > summary {
    list-style: none;
}

.tisk-panel-rozbalovaci > summary::-webkit-details-marker {
    display: none;
}

.tisk-panel-prepinac {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 48px;
    padding: 6px 9px 6px 14px;
    color: #233c61;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.08rem;
    font-weight: 700;
    cursor: pointer;
    user-select: none;
}

.tisk-panel-prepinac img {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    object-fit: contain;
    transition: transform 160ms ease;
}

.tisk-panel-rozbalovaci[open] > .tisk-panel-prepinac img {
    transform: rotate(180deg);
}

.tisk-panel-obsah {
    display: grid;
    gap: 11px;
    padding: 4px 16px 16px;
    border-top: 1px solid rgba(94, 67, 30, .16);
}

.tisk-panel-obsah > label,
.tisk-posun-data label {
    display: grid;
    gap: 5px;
    color: #39495f;
    font-size: .89rem;
    font-weight: 700;
}

.tisk-panel-obsah select,
.tisk-panel-obsah input[type="number"] {
    width: 100%;
    padding: 8px 9px;
    border: 1px solid rgba(94, 67, 30, .62);
    border-radius: 4px;
    background: rgba(255, 249, 224, .84);
    color: #23170b;
    font: inherit;
    font-weight: 400;
}

.tisk-posun-data {
    display: grid;
    gap: 4px;
    padding: 9px;
    border-radius: 8px;
    background: rgba(229,235,219,.65);
}

.tisk-posun-data[hidden] {
    display: none;
}

.tisk-posun-data small,
.tisk-panel-napoveda {
    margin: 0;
    color: #747474;
    font-size: .78rem;
    line-height: 1.38;
}

.tisk-panel-vlozit {
    display: flex;
    justify-content: flex-end;
    min-height: 44px;
}

.tisk-panel-vlozit .tisk-vlozit-ikona,
.tisk-panel-vlozit button.tisk-vlozit-ikona {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.tisk-panel-vlozit .tisk-vlozit-ikona img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.tisk-checkbox {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: flex-start;
    gap: 7px !important;
    font-weight: 400 !important;
}

.tisk-checkbox input {
    margin-top: 2px;
}

.tisk-sloupce {
    display: grid;
    gap: 5px;
    padding: 10px;
    border-radius: 4px;
    background: rgba(255, 249, 224, .34);
}

.tisk-sloupce > span {
    margin-bottom: 2px;
    color: #39495f;
    font-size: .86rem;
    font-weight: 700;
}

.tisk-datovy-blok {
    position: relative;
    margin: 16px 0;
    padding: 10px;
    border: 2px dashed #7f91a9;
    border-radius: 8px;
    background: #f4f7fa;
    color: #1e314d;
    user-select: none;
}

.tisk-datovy-blok-hlavicka {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
}

.tisk-datovy-blok-hlavicka > span:not(.tisk-blok-smazat) {
    color: #6a788b;
}

.tisk-blok-smazat {
    margin-left: auto;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #e8d9d9;
    color: #8a2f2f;
    font-size: 18px;
    line-height: 20px;
    text-align: center;
    cursor: pointer;
}

.tisk-datovy-blok table {
    margin: 0;
    background: #fff;
    font-size: 10px;
}

@media (max-width: 1150px) {
    .tisk-editor-layout {
        grid-template-columns: 1fr;
    }
    .tisk-editor-panel {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .tisk-editor-hlavicka,
    .tisk-hlavicka {
        align-items: stretch;
        flex-direction: column;
    }
    .tisk-editor-panel {
        grid-template-columns: 1fr;
    }
    .tisk-a4-editor {
        min-height: 900px;
        padding: 40px 26px;
        font-size: 11pt;
    }
    .tisk-dokument-radek {
        align-items: flex-start;
    }
}


/* TISK-TYP-FONT-1: rozsah sablony + skutecna velikost pisma v editoru. */
.tisk-editor-meta {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(190px, 240px);
    align-items: end;
    gap: 14px;
    width: min(920px, 100%);
}

.tisk-editor-meta .tisk-nazev-pole {
    width: 100%;
}

.tisk-typ-pole {
    display: grid;
    gap: 6px;
    margin: 0;
    font-weight: 700;
    color: #263a58;
}

.tisk-typ-pole select {
    width: 100%;
    margin: 0;
    padding: 11px 13px;
    border: 1px solid rgba(94, 67, 30, .62);
    border-radius: 4px;
    background: rgba(255, 249, 224, .84);
    color: #23170b;
    font: inherit;
}

.tisk-toolbar .tisk-toolbar-velikost {
    flex: 0 0 auto;
    width: auto;
    min-width: 92px;
    height: 34px;
    margin: 0;
    padding: 4px 26px 4px 8px;
    border: 1px solid #b48a36;
    border-radius: 5px;
    background: #0c315f;
    color: #fff4cf;
    font: inherit;
    font-size: .88rem;
    line-height: 1;
    cursor: pointer;
}

.tisk-toolbar .tisk-toolbar-velikost:focus-visible {
    outline: 2px solid rgba(180, 138, 54, .45);
    outline-offset: 1px;
}

.tisk-dokument-nazev .tisk-dokument-typ {
    color: #27456f;
    font-weight: 700;
}

@media (max-width: 760px) {
    .tisk-editor-meta {
        grid-template-columns: 1fr;
    }
}

/* TISK-LAYOUT-2: Tisk pouziva stejny globalni pergamenovy ramec jako ostatni admin stranky.
   Body musi mit admin-stranka; Tisk nesmi lokalne menit sirku, hlavicku, paticku ani drevene pozadi. */

/* TISK-TOOLBAR-1: editorovy toolbar je kompaktni radek. Globalni admin button
   width:100% ani margin-top se na jeho tlacitka nesmi propisovat; formatovaci B
   musi zustat viditelne i pres globalni barvu .admin-stranka strong. */

/* TISK-TABULKY-2: tabulky v sablone se drzi v sirce A4, bez zalamovani bunek;
   podpisove pole je skutecne prazdne a ma rezervovanou sirku pro podpis. */
.tisk-datovy-blok {
    overflow: hidden;
}

.tisk-datovy-blok table {
    width: 100%;
    table-layout: auto;
    font-size: 10px;
    line-height: 1.15;
}

.tisk-datovy-blok th,
.tisk-datovy-blok td {
    padding: 3px 4px;
    white-space: nowrap;
}

.tisk-datovy-blok .tisk-podpis-pole {
    min-width: 120px;
    height: 34px;
}

.tisk-cestak-nahled-ridic {
    margin: 3px 0 5px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: 700;
}

/* ========================================================================== */
/* 2026-08-24: ZÁZEMÍ / ROLE + nové vodorovné záložky Zázemí                */
/* ========================================================================== */

/* Nové záložky jsou širší než původní svislé varianty. Pravý okraj zůstává
   ve stejné optické linii, aby záložka nelezla do obsahu pergamenu. */
.admin-stranka .klubovna-podstranka--role img,
.admin-stranka .klubovna-podstranka--soukro img,
.admin-stranka .klubovna-podstranka--prirucky img {
    margin-left: -52px !important;
}

.zazemi-role-stranka .obsah {
    padding-right: 82px;
    padding-left: 92px;
}

.zazemi-role-horni-radek {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 52px;
    margin: 0 0 18px;
}

.zazemi-role-pridat,
.zazemi-role-pridat:hover,
.zazemi-role-pridat:focus-visible {
    display: grid;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    place-items: center;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.zazemi-role-pridat img {
    display: block;
    width: 44px;
    height: 44px;
    object-fit: contain;
}

.zazemi-role-strom {
    --role-modra: #0b2b57;
    --role-zlata: #b68a36;
    --role-hneda: rgba(96, 57, 21, .48);
    --role-papir: rgba(255, 245, 207, .52);
    position: relative;
    display: grid;
    gap: 20px;
    color: #2d2116;
}

.zazemi-role-vetev,
.zazemi-role-tymy {
    position: relative;
    z-index: 2;
}

.zazemi-role-vetev-horni {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px;
}

.zazemi-role-tymy {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 30px;
}

.zazemi-role-vetev-spodni {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 30px;
    align-items: stretch;
}

.zazemi-role-hospodari {
    display: grid;
    grid-template-rows: auto auto;
    gap: 18px;
}

.zazemi-role-blok,
.zazemi-role-tym,
.zazemi-role-seskupeni {
    position: relative;
    box-sizing: border-box;
    border: 1px solid rgba(116, 73, 29, .38);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255, 250, 226, .46), rgba(244, 221, 164, .2)),
        rgba(255, 244, 204, .22);
    box-shadow: 0 4px 10px rgba(83, 48, 18, .10);
}

.zazemi-role-blok,
.zazemi-role-tym {
    padding: 14px 16px 16px;
}

.zazemi-role-seskupeni {
    padding: 14px;
}

.zazemi-role-seskupeni > h2 {
    margin: 0 0 10px;
    color: var(--role-modra);
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
    font-size: 1.18rem;
}

.zazemi-role-seskupeni-vnitrni {
    display: grid;
    gap: 14px;
}

.zazemi-role-seskupeni-vnitrni .zazemi-role-blok {
    background: rgba(255, 248, 220, .38);
    box-shadow: none;
}

.zazemi-role-blok-hlavicka,
.zazemi-role-tym-hlavicka {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    border-bottom: 1px dashed rgba(108, 71, 31, .42);
    padding-bottom: 8px;
}

.zazemi-role-tym-hlavicka {
    grid-template-columns: 24px minmax(0, 1fr) auto;
}

.zazemi-role-blok h2,
.zazemi-role-tym h2,
.zazemi-role-tym h3,
.zazemi-role-dialog h3,
.zazemi-role-dialog h4 {
    margin: 0;
    color: var(--role-modra, #0b2b57);
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
}

.zazemi-role-blok h2,
.zazemi-role-tym h2 {
    font-size: 1.22rem;
    line-height: 1.18;
}

.zazemi-role-tym h3 {
    margin-bottom: 8px;
    font-size: .92rem;
    font-weight: 700;
}

.zazemi-role-upravit,
.zazemi-role-upravit:hover,
.zazemi-role-upravit:focus-visible {
    display: grid;
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
    padding: 0;
    place-items: center;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.zazemi-role-upravit img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.zazemi-role-barva {
    display: block;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(74, 45, 18, .46);
    border-radius: 50%;
    background: var(--tym-barva, #173f70);
    box-shadow: inset 0 1px 2px rgba(255,255,255,.28), 0 1px 2px rgba(69,37,11,.18);
}

.zazemi-role-osoby {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 18px;
    padding-top: 12px;
}

.zazemi-role-osoba {
    display: grid;
    width: 92px;
    justify-items: center;
    align-content: start;
    gap: 3px;
    text-align: center;
}

.zazemi-role-osoba strong {
    display: block;
    max-width: 92px;
    overflow: hidden;
    color: var(--role-modra);
    font-size: .92rem;
    line-height: 1.12;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zazemi-role-osoba-pecet {
    position: relative;
    display: grid;
    width: 72px;
    height: 72px;
    place-items: center;
    isolation: isolate;
}

.zazemi-role-osoba-pecet::before {
    content: '';
    position: absolute;
    left: 49.676%;
    top: 48.247%;
    z-index: 0;
    width: 79%;
    height: 79%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: transparent url('/assets/img/pecet-vnitrni-pozadi.png?v=20260823-pecet-pozadi-1') center / 108% 108% no-repeat;
}

.zazemi-role-osoba-pecet::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background: url('/assets/img/profil-pecet.png?v=20260820-pecete-2') center / contain no-repeat;
}

.zazemi-role-osoba-pecet > img {
    position: absolute;
    left: 49.676%;
    top: 48.247%;
    z-index: 1;
    display: block;
    width: 79%;
    height: 79%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
}

.zazemi-role-osoba-iniciala {
    position: relative;
    z-index: 1;
    color: var(--role-modra);
    font-size: 1.1rem;
    font-weight: 800;
}

.zazemi-role-prazdne {
    padding: 18px 6px 8px;
    color: rgba(73, 52, 31, .7);
    font-size: .88rem;
    font-style: italic;
    text-align: center;
}

.zazemi-role-tym-skupiny {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding-top: 12px;
}

.zazemi-role-tym-skupina {
    min-width: 0;
    padding: 8px 10px 10px;
    border-radius: 12px;
    background: rgba(255, 249, 226, .34);
}

.zazemi-role-tym-skupina + .zazemi-role-tym-skupina {
    border-left: 1px dashed rgba(108, 71, 31, .32);
}

/* Jemné organizační spojnice – jen struktura, ne těžké rámečky. */
.zazemi-role-spoj {
    position: relative;
    z-index: 1;
    height: 18px;
    margin: -6px 9% -6px;
}

.zazemi-role-spoj::before,
.zazemi-role-spoj::after {
    content: '';
    position: absolute;
    background: rgba(159, 116, 46, .52);
}

.zazemi-role-spoj::before {
    left: 50%;
    top: 0;
    width: 1px;
    height: 100%;
}

.zazemi-role-spoj::after {
    left: 8%;
    right: 8%;
    top: 50%;
    height: 1px;
}

/* Dialogy používají stejný pergamenový jazyk, ale strom zůstává při čtení čistý. */
.zazemi-role-dialog {
    width: min(720px, calc(100vw - 34px));
    max-height: min(82vh, 760px);
    box-sizing: border-box;
    padding: 0;
    border: 1px solid rgba(97, 58, 22, .56);
    border-radius: 18px;
    background: #f6e7b8;
    color: #2b2117;
    box-shadow: 0 18px 60px rgba(25, 14, 7, .38);
}

.zazemi-role-dialog::backdrop {
    background: rgba(14, 20, 30, .48);
    backdrop-filter: blur(2px);
}

.zazemi-role-dialog > form {
    padding: 18px 20px 20px;
}

.zazemi-role-dialog-hlavicka {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px dashed rgba(103, 66, 27, .45);
}

.zazemi-role-dialog-hlavicka h3 {
    font-size: 1.3rem;
}

.zazemi-role-dialog-zavrit,
.zazemi-role-dialog-zavrit:hover,
.zazemi-role-dialog-zavrit:focus-visible {
    display: grid;
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
    margin: 0;
    padding: 0;
    place-items: center;
    align-self: center;
    justify-self: center;
    border: 0;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
}

.zazemi-role-dialog-zavrit img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.zazemi-role-dialog-sloty {
    display: grid;
    gap: 9px;
}

.zazemi-role-dialog-sloty label {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.zazemi-role-dialog-sloty select,
.zazemi-role-tym-nastaveni input[type="text"] {
    width: 100%;
    min-height: 42px;
    box-sizing: border-box;
    border: 1px solid rgba(92, 55, 20, .42);
    border-radius: 10px;
    background: rgba(255, 250, 228, .82);
    color: #0b2b57;
    font: inherit;
}

.zazemi-role-dialog-sloty select {
    padding: 7px 38px 7px 12px;
}

.zazemi-role-tym-nastaveni {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 110px;
    gap: 16px;
    margin-bottom: 18px;
}

.zazemi-role-tym-nastaveni label {
    display: grid;
    gap: 6px;
    color: #0b2b57;
    font-weight: 700;
}

.zazemi-role-tym-nastaveni input[type="text"] {
    padding: 8px 12px;
}

.zazemi-role-barva-volba {
    justify-items: center;
}

.zazemi-role-barva-volba input[type="color"] {
    width: 54px;
    height: 54px;
    padding: 3px;
    border: 1px solid rgba(92, 55, 20, .38);
    border-radius: 50%;
    background: rgba(255,250,228,.6);
    cursor: pointer;
}

.zazemi-role-barva-volba input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; }
.zazemi-role-barva-volba input[type="color"]::-webkit-color-swatch { border: 0; border-radius: 50%; }
.zazemi-role-barva-volba input[type="color"]::-moz-color-swatch { border: 0; border-radius: 50%; }

.zazemi-role-dialog-dvojice {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.zazemi-role-dialog-dvojice h4 {
    margin-bottom: 9px;
    font-size: 1rem;
}

.zazemi-role-dialog-akce {
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
}


.zazemi-role-vlastni-sekce {
    --role-modra: #0b2b57;
    --role-zlata: #b68a36;
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid rgba(116, 73, 29, .32);
}

.zazemi-role-vlastni-sekce-hlavicka {
    margin-bottom: 14px;
}

.zazemi-role-vlastni-sekce-hlavicka h2 {
    margin: 0;
    color: #0b2b57;
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
    font-size: 1.35rem;
}

.zazemi-role-vlastni-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 24px;
}

.zazemi-role-vlastni-prazdne {
    padding: 18px 8px;
    color: rgba(73, 52, 31, .7);
    font-size: .92rem;
    font-style: italic;
}

.zazemi-role-vlastni-akce {
    display: flex;
    align-items: center;
    gap: 2px;
}

.zazemi-role-vlastni-smazat {
    display: contents;
}

.zazemi-role-smazat,
.zazemi-role-smazat:hover,
.zazemi-role-smazat:focus-visible {
    display: grid;
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
    margin: 0;
    padding: 0;
    place-items: center;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.zazemi-role-smazat img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.zazemi-role-vlastni-prilohy {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px dashed rgba(108, 71, 31, .32);
}

.zazemi-role-vlastni-prilohy h3 {
    margin: 0 0 6px;
    color: #0b2b57;
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
    font-size: .92rem;
}

.zazemi-role-vlastni-prilohy ul {
    margin: 0;
    padding-left: 20px;
    color: #3d2d1e;
    font-size: .88rem;
    line-height: 1.4;
}

.zazemi-role-vlastni-nazev {
    display: grid;
    gap: 6px;
    margin-bottom: 16px;
    color: #0b2b57;
    font-weight: 700;
}

.zazemi-role-vlastni-nazev input {
    width: 100%;
    min-height: 42px;
    box-sizing: border-box;
    padding: 8px 12px;
    border: 1px solid rgba(92, 55, 20, .42);
    border-radius: 10px;
    background: rgba(255, 250, 228, .82);
    color: #0b2b57;
    font: inherit;
}

.zazemi-role-vlastni-fieldset {
    margin: 0 0 18px;
    padding: 12px 14px 14px;
    border: 1px solid rgba(108, 71, 31, .34);
    border-radius: 12px;
}

.zazemi-role-vlastni-fieldset legend {
    padding: 0 7px;
    color: #0b2b57;
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
    font-weight: 700;
}

.zazemi-role-vlastni-vedouci {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 14px;
}

.zazemi-role-vlastni-vedouci label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    margin: 0;
    font-weight: 400;
    line-height: 1.25;
}

.zazemi-role-vlastni-vedouci input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    flex: 0 0 auto;
}

.zazemi-role-vlastni-prilohy-form {
    margin-top: 4px;
}

.zazemi-role-vlastni-prilohy-hlavicka {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    margin-bottom: 8px;
}

.zazemi-role-vlastni-prilohy-hlavicka h4 {
    margin: 0;
}

.zazemi-role-priloha-pridat,
.zazemi-role-priloha-pridat:hover,
.zazemi-role-priloha-pridat:focus-visible {
    display: grid;
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
    margin: 0;
    padding: 0;
    place-items: center;
    align-self: center;
    justify-self: center;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.zazemi-role-priloha-pridat img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.zazemi-role-priloha-radek {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 90px 46px;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.zazemi-role-priloha-radek input {
    width: 100%;
    min-height: 40px;
    box-sizing: border-box;
    padding: 7px 10px;
    border: 1px solid rgba(92, 55, 20, .42);
    border-radius: 10px;
    background: rgba(255, 250, 228, .82);
    color: #0b2b57;
    font: inherit;
}

.zazemi-role-priloha-odebrat,
.zazemi-role-priloha-odebrat:hover,
.zazemi-role-priloha-odebrat:focus-visible {
    display: grid;
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
    margin: 0;
    padding: 0;
    place-items: center;
    align-self: center;
    justify-self: center;
    border: 0;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
}

.zazemi-role-priloha-odebrat img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

@media (max-width: 900px) {
    .admin-stranka .klubovna-podstranka--role img,
    .admin-stranka .klubovna-podstranka--soukro img,
    .admin-stranka .klubovna-podstranka--prirucky img {
        margin-left: -47px !important;
    }
    .zazemi-role-stranka .obsah {
        padding-right: 54px;
        padding-left: 58px;
    }
    .zazemi-role-vetev-horni,
    .zazemi-role-vetev-spodni,
    .zazemi-role-tymy,
    .zazemi-role-vlastni-grid {
        gap: 18px;
    }
    .zazemi-role-tym-skupiny {
        grid-template-columns: 1fr;
    }
    .zazemi-role-tym-skupina + .zazemi-role-tym-skupina {
        border-left: 0;
        border-top: 1px dashed rgba(108, 71, 31, .32);
    }
}

@media (max-width: 680px) {
    .admin-stranka .klubovna-podstranka--role img,
    .admin-stranka .klubovna-podstranka--soukro img,
    .admin-stranka .klubovna-podstranka--prirucky img {
        margin-left: -41px !important;
    }
    .zazemi-role-stranka .obsah {
        padding-right: 28px;
        padding-left: 34px;
    }
    .zazemi-role-vetev-horni,
    .zazemi-role-vetev-spodni,
    .zazemi-role-tymy,
    .zazemi-role-dialog-dvojice,
    .zazemi-role-vlastni-grid,
    .zazemi-role-vlastni-vedouci {
        grid-template-columns: 1fr;
    }
    .zazemi-role-spoj {
        display: none;
    }
    .zazemi-role-tym-nastaveni {
        grid-template-columns: 1fr;
    }
    .zazemi-role-barva-volba {
        justify-items: start;
    }
}

/* ========================================================================== */
/* 2026-08-24 – Zázemí / Soukro                                              */
/* ========================================================================== */
.zazemi-soukro-stranka .obsah {
    color: #0b2b57;
}
.soukro-horni-radek {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    margin: 0;
}
.soukro-kategorie-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    align-items: start;
}
.soukro-kategorie {
    min-width: 0;
    padding: 18px 20px 20px;
    border: 1px solid rgba(83, 55, 25, .24);
    border-radius: 16px;
    background: rgba(255, 248, 224, .34);
    box-shadow: inset 0 0 20px rgba(110, 71, 31, .05);
}
.soukro-kategorie-majitele,
.soukro-kategorie-vyporadani {
    grid-column: 1 / -1;
}
.soukro-kategorie-hlavicka {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    height: 42px;
    min-height: 42px;
    margin-bottom: 12px;
    padding: 0;
    border-bottom: 1px dotted rgba(64, 43, 20, .28);
}
.soukro-kategorie-hlavicka h2 {
    margin: 0;
    color: #0b2b57;
    font-size: 1.28rem;
    line-height: 30px;
}
.soukro-plus,
.soukro-carka-plus,
.soukro-zaplaceno,
.soukro-qr-sipka,
.soukro-vyporadat,
.soukro-potvrzeni-akce .ikona-akce {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.soukro-plus {
    position: absolute;
    top: 0;
    right: 0;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
}
.soukro-plus img { width: 30px !important; height: 30px !important; object-fit: contain; }
.soukro-kategorie-dluzi-mi .soukro-plus,
.soukro-kategorie-majitele .soukro-plus {
    top: 0 !important;
    right: 0 !important;
    width: 36px !important;
    height: 36px !important;
}
.soukro-kategorie-dluzi-mi .soukro-plus img,
.soukro-kategorie-majitele .soukro-plus img {
    width: 28px !important;
    height: 28px !important;
}
.soukro-vymazat-vse-form {
    margin: 0 0 0 auto !important;
}
.soukro-vymazat-vse {
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.soukro-vymazat-vse img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain;
}
.soukro-zaplaceno { width: 34px !important; height: 34px !important; }
.soukro-zaplaceno img { width: 26px !important; height: 26px !important; object-fit: contain; }
.soukro-qr-sipka { width: 34px !important; height: 34px !important; }
.soukro-kategorie-majitele .soukro-plus { width: 36px !important; height: 36px !important; }
.soukro-kategorie-majitele .soukro-plus img { width: 28px !important; height: 28px !important; }
.soukro-carka-plus { width: 30px !important; height: 30px !important; }
.soukro-carka-plus img { width: 24px !important; height: 24px !important; object-fit: contain; }
.soukro-seznam {
    display: grid;
    gap: 8px;
}
.soukro-radek {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    padding: 9px 0;
    border-bottom: 1px dotted rgba(64, 43, 20, .22);
}
.soukro-radek:last-child { border-bottom: 0; }
.soukro-radek-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.soukro-radek-text > span {
    color: #544c3d;
    font-size: .88rem;
    overflow-wrap: anywhere;
}
.soukro-cast-ceka {
    color: #746957;
    font-size: .74rem;
    font-style: italic;
}
.soukro-castka {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.soukro-radek-akce,
.soukro-potvrzeni-akce {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.soukro-radek-akce {
    min-width: 74px;
}
.soukro-radek-akce form,
.soukro-potvrzeni-akce form,
.soukro-carka-form,
.soukro-vyporadani-form { margin: 0; }
.soukro-stav,
.soukro-chybi-ucet {
    color: #706654;
    font-size: .78rem;
    font-style: italic;
    white-space: nowrap;
}
.soukro-radek.je-ceka { opacity: .72; }
.soukro-radek.je-potvrzeni {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 10px 0;
}
.soukro-potvrzeni-text {
    line-height: 1.35;
}
.soukro-qr-sipka img {
    width: 28px !important;
    height: 28px !important;
    transition: transform .16s ease;
}
.soukro-qr-sipka.je-otevrene img { transform: rotate(180deg); }
.soukro-qr-detail {
    grid-column: 1 / -1;
    padding: 8px 0 2px;
    text-align: right;
}
.soukro-qr-detail[hidden] { display: none !important; }
.soukro-qr-detail .platba-qr {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 190px;
    min-height: 190px;
}
.soukro-prazdne {
    margin: 8px 0 0;
    color: #746957;
    font-style: italic;
}
.soukro-majitele-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.soukro-majitel-karta {
    position: relative;
    min-width: 0;
    padding: 15px 16px;
    border: 1px solid rgba(83, 55, 25, .22);
    border-radius: 13px;
    background: rgba(255, 250, 234, .5);
}
.soukro-majitel-meta {
    color: #6c5f49;
    font-size: .82rem;
}
.soukro-majitel-karta h3 {
    margin: 3px 0 4px;
    color: #0b2b57;
    font-size: 1.1rem;
}
.soukro-majitel-cena {
    margin-bottom: 12px;
    font-size: .9rem;
}
.soukro-carky-vse > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    padding: 5px 0;
    border-top: 1px dotted rgba(64, 43, 20, .2);
}
.soukro-odebrano {
    display: flex;
    align-items: baseline;
    gap: 6px;
    padding: 6px 38px 5px 0;
    border-top: 1px dotted rgba(64, 43, 20, .2);
    color: #6c5f49;
    font-size: .86rem;
}
.soukro-odebrano strong {
    color: #0b2b57;
    font-size: .96rem;
    font-variant-numeric: tabular-nums;
}
.soukro-carky {
    color: #53381d;
    font-family: Georgia, 'Times New Roman', serif;
    letter-spacing: 1px;
    white-space: nowrap;
}
.soukro-pocet {
    color: #0b2b57;
    font-size: .9rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.soukro-carka-form {
    position: absolute;
    top: 8px;
    right: 8px;
    bottom: auto;
}
.soukro-majitel-meta,
.soukro-majitel-karta h3 {
    padding-right: 34px;
}
.soukro-polozka-ukoncit-form {
    position: absolute;
    top: 8px;
    right: 8px;
    margin: 0;
}
.soukro-polozka-ukoncit {
    width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.soukro-polozka-ukoncit img {
    width: 24px !important;
    height: 24px !important;
    object-fit: contain;
}
.soukro-kategorie-vyporadani {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0 22px;
    align-items: center;
}
.soukro-kategorie-vyporadani .soukro-kategorie-hlavicka {
    grid-column: 1 / -1;
    width: 100%;
}
.soukro-kategorie-vyporadani > p { margin: 4px 0; }
.soukro-vyporadat img { width: 44px !important; height: 44px !important; object-fit: contain; }
.soukro-dialog {
    width: min(92vw, 520px);
    padding: 0;
    border: 1px solid rgba(83, 55, 25, .38);
    border-radius: 18px;
    background: #f7e8bc;
    color: #0b2b57;
    box-shadow: 0 18px 55px rgba(29, 20, 10, .35);
}
.soukro-dialog::backdrop { background: rgba(16, 12, 8, .48); }
.soukro-dialog > form {
    display: grid;
    gap: 15px;
    padding: 20px 22px 22px;
}
.soukro-dialog-hlavicka {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 2px;
}
.soukro-dialog-hlavicka h3 { margin: 0; }
.soukro-dialog-hlavicka button {
    border: 0;
    background: transparent;
    color: #0b2b57;
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
}
.soukro-dialog label {
    display: grid;
    gap: 6px;
}
.soukro-dialog label > span { font-weight: 700; }
.soukro-dialog input,
.soukro-dialog select {
    width: 100%;
}
.soukro-castka-vstup {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}
.soukro-dialog-akce {
    display: flex;
    justify-content: flex-end;
    margin-top: 3px;
}
.soukro-dialog-dluh {
    width: min(92vw, 450px);
}
.soukro-dialog-dluh > form {
    gap: 10px;
    padding: 16px 18px 17px;
}
.soukro-dialog-dluh .soukro-dialog-hlavicka {
    margin-bottom: 0;
}
.soukro-dialog-dluh .soukro-dialog-hlavicka h3 {
    font-size: 1.1rem;
    line-height: 1.2;
    white-space: nowrap;
}
.soukro-dialog-radek {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(128px, .8fr);
    gap: 10px;
    align-items: end;
}
.soukro-dialog-dluh label {
    gap: 4px;
}
.soukro-dialog-dluh label > span {
    font-size: .86rem;
    white-space: nowrap;
}
.soukro-dialog-dluh input,
.soukro-dialog-dluh select {
    min-height: 38px;
    padding-top: 6px;
    padding-bottom: 6px;
}
.soukro-dialog-dluh .soukro-castka-vstup {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 5px;
}
.soukro-dialog-akce-ikony {
    gap: 6px;
    align-items: center;
    margin-top: 0;
}
.soukro-dialog-akce-ikony .ikona-akce {
    width: 46px !important;
    height: 46px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.soukro-dialog-akce-ikony img {
    width: 42px !important;
    height: 42px !important;
    object-fit: contain;
}
@media (max-width: 520px) {
    .soukro-dialog-radek { grid-template-columns: 1fr; }
    .soukro-dialog-dluh .soukro-dialog-hlavicka h3 { white-space: normal; }
}
@media (max-width: 900px) {
    .soukro-kategorie-grid,
    .soukro-majitele-grid {
        grid-template-columns: 1fr;
    }
    .soukro-kategorie-majitele,
    .soukro-kategorie-vyporadani { grid-column: auto; }
    .soukro-kategorie-vyporadani { grid-template-columns: 1fr auto; }
}
@media (max-width: 640px) {
    .soukro-radek,
    .soukro-radek.je-potvrzeni {
        grid-template-columns: 1fr auto;
    }
    .soukro-radek-akce,
    .soukro-qr-detail { grid-column: 1 / -1; }
}


/* ZAZEMI - PRIRUCKY */
.zazemi-prirucky-stranka .obsah {
    position: relative;
}
.zazemi-prirucky-nastroje {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-height: 58px;
    margin: 0 0 14px;
}
.zazemi-prirucky-pridat,
.zazemi-prirucky-pridat:hover,
.zazemi-prirucky-pridat:focus-visible {
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.zazemi-prirucky-pridat img {
    display: block;
    width: 52px !important;
    height: 52px !important;
    object-fit: contain;
}
.zazemi-prirucky-seznam {
    display: grid;
    gap: 12px;
}
.zazemi-prirucky-karta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 16px;
    border: 1px solid rgba(83, 55, 25, .22);
    border-radius: 16px;
    background: rgba(255, 250, 234, .52);
}
.zazemi-prirucky-karta-text {
    min-width: 0;
}
.zazemi-prirucky-karta-text h2 {
    margin: 0 0 3px;
    color: #0b2b57;
    font-size: 1.08rem;
}
.zazemi-prirucky-karta-text span {
    color: #6f624d;
    font-size: .82rem;
    overflow-wrap: anywhere;
}
.zazemi-prirucky-akce {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}
.zazemi-prirucky-akce-tlacitko,
.zazemi-prirucky-akce-tlacitko:hover,
.zazemi-prirucky-akce-tlacitko:focus-visible {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: auto !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    border: 1px solid rgba(83, 55, 25, .22) !important;
    border-radius: 11px !important;
    background: rgba(255, 248, 225, .72) !important;
    color: #0b2b57 !important;
    box-shadow: none !important;
    text-decoration: none;
    font: inherit;
    font-size: .84rem;
    font-weight: 700;
    cursor: pointer;
}
.zazemi-prirucky-akce-tlacitko img {
    width: 28px !important;
    height: 28px !important;
    object-fit: contain;
}
.zazemi-prirucky-prazdne {
    padding: 22px 0 8px;
    color: #746957;
    font-style: italic;
}
.zazemi-prirucky-dialog,
.zazemi-prirucky-prohlizec {
    padding: 0;
    border: 1px solid rgba(83, 55, 25, .38);
    border-radius: 18px;
    background: #f7e8bc;
    color: #0b2b57;
    box-shadow: 0 18px 55px rgba(29, 20, 10, .35);
}
.zazemi-prirucky-dialog {
    width: min(92vw, 520px);
}
.zazemi-prirucky-prohlizec {
    width: min(96vw, 1180px);
    max-height: 94vh;
    overflow-x: hidden;
}
.zazemi-prirucky-dialog::backdrop,
.zazemi-prirucky-prohlizec::backdrop {
    background: rgba(16, 12, 8, .48);
}
.zazemi-prirucky-formular {
    display: grid;
    gap: 15px;
    padding: 20px 22px 22px;
}
.zazemi-prirucky-dialog-hlavicka,
.zazemi-prirucky-prohlizec-hlavicka {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}
.zazemi-prirucky-dialog-hlavicka h2,
.zazemi-prirucky-prohlizec-hlavicka h2 {
    margin: 0;
}
.zazemi-prirucky-prohlizec-hlavicka {
    padding: 16px 18px 8px;
}
.zazemi-prirucky-dialog-zavrit {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #0b2b57 !important;
    box-shadow: none !important;
    font-size: 1.8rem !important;
    line-height: 1 !important;
}
.zazemi-prirucky-formular label {
    display: grid;
    gap: 6px;
}
.zazemi-prirucky-formular label > span {
    font-weight: 700;
}
.zazemi-prirucky-formular-akce {
    display: flex;
    justify-content: flex-end;
}
.zazemi-prirucky-prohlizec-stav,
.zazemi-prirucky-pocitadlo,
.zazemi-prirucky-fallback {
    padding: 6px 18px 12px;
}
.zazemi-prirucky-kniha-radek {
    display: grid;
    grid-template-columns: 52px 900px 52px;
    justify-content: center;
    gap: 10px;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    padding: 8px 14px 14px;
    overflow: hidden;
}
.zazemi-prirucky-kniha {
    width: 900px !important;
    min-width: 900px !important;
    max-width: 900px !important;
    min-height: 560px;
    display: block;
    position: relative;
    overflow: hidden;
}
.zazemi-prirucky-kniha.stf__parent > .stf__wrapper,
.zazemi-prirucky-kniha .stf__block {
    width: 900px !important;
    min-width: 900px !important;
    max-width: 900px !important;
    box-sizing: border-box;
}
.zazemi-prirucky-kniha.stf__parent > .stf__wrapper {
    position: relative !important;
}
.zazemi-prirucky-sipka,
.zazemi-prirucky-sipka:hover,
.zazemi-prirucky-sipka:focus-visible {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.zazemi-prirucky-sipka img {
    width: 40px !important;
    height: 40px !important;
    object-fit: contain;
}
.zazemi-prirucky-sipka.je-zpet img {
    transform: rotate(90deg);
}
.zazemi-prirucky-sipka.je-vpred img {
    transform: rotate(-90deg);
}
.zazemi-prirucky-list {
    background: #fffef8;
}
.zazemi-prirucky-list-vnitrni,
.zazemi-prirucky-list-vnitrni canvas {
    display: block;
    width: 100%;
    height: 100%;
}
.zazemi-prirucky-list-vnitrni canvas {
    object-fit: contain;
}
@media (max-width: 760px) {
    .zazemi-prirucky-karta {
        align-items: stretch;
        flex-direction: column;
    }
    .zazemi-prirucky-akce {
        justify-content: flex-start;
    }
    .zazemi-prirucky-kniha-radek {
        grid-template-columns: 40px 900px 40px;
        justify-content: start;
        overflow-x: auto;
        padding-inline: 6px;
    }
    .zazemi-prirucky-sipka,
    .zazemi-prirucky-sipka:hover,
    .zazemi-prirucky-sipka:focus-visible {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
    }
}


/* PECETE-FOTO-2: profilove fotografie prekryvaji cely skutecny otvor voskove peceti. */


/* PROFILOVE-PECETE-FOTO-3: fotografie prekryva cely skutecny otvor */
.klubovna-profil-pecet .klubovna-profil-foto,
.avatar-pecet .avatar,
.avatar-pecet .avatar-velky,
.vyplaty-stranka .vyplaty-osoba-pecet > img,
.cestak-stranka .cestak-osoba-pecet > img,
.zazemi-role-osoba-pecet > img {
    position: absolute !important;
    left: 49.676% !important;
    top: 48.247% !important;
    width: 79% !important;
    height: 79% !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
    border: 0 !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: center !important;
    z-index: 1 !important;
}

.vyplaty-stranka .vyplaty-osoba-pecet::before,
.cestak-stranka .cestak-osoba-pecet::before,
.zazemi-role-osoba-pecet::before {
    left: 49.676% !important;
    top: 48.247% !important;
    width: 79% !important;
    height: 79% !important;
    transform: translate(-50%, -50%) !important;
}

/* ========================================================================== */
/* PROGRAM-REZIM-DNE-1: prvni stranka sekce Program                           */
/* 2026-08-25                                                                 */
/* ========================================================================== */
.program-rezim-dne-stranka .program-rezim-sluzba {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    min-width:min(300px, 100%);
    color:#0b2347;
    font-weight:700;
}
.program-rezim-dne-stranka .program-rezim-sluzba label { white-space:nowrap; }
.program-rezim-dne-stranka .program-rezim-sluzba select {
    width:145px;
    max-width:145px;
    height:42px;
    padding:7px 42px 7px 14px;
    border:1px solid rgba(86,48,18,.48);
    border-radius:10px;
    background-color:rgba(255,244,204,.78);
    background-image:url('/assets/img/ikona-akce-rozbalit.png?v=20260820-vedouci-4');
    background-repeat:no-repeat;
    background-position:right 9px center;
    background-size:22px 22px;
    color:#0b2347;
    appearance:none;
    -webkit-appearance:none;
}
.program-rezim-dne-stranka .program-rezim-sluzba strong {
    min-width:140px;
    text-align:right;
    color:#0b2347;
}
.program-rezim-dne-stranka .program-rezim-tabulka {
    margin-top:8px;
    border-top:1px solid rgba(86,48,18,.42);
    border-bottom:1px solid rgba(86,48,18,.42);
}
.program-rezim-dne-stranka .program-rezim-hlavicka,
.program-rezim-dne-stranka .program-rezim-radek {
    display:grid;
    grid-template-columns:minmax(180px, 28%) minmax(0, 72%);
}
.program-rezim-dne-stranka .program-rezim-hlavicka {
    min-height:48px;
    align-items:center;
    background:rgba(126,76,26,.10);
    color:#0b2347;
    border-bottom:1px solid rgba(86,48,18,.42);
}
.program-rezim-dne-stranka .program-rezim-hlavicka > * { padding:10px 16px; }
.program-rezim-dne-stranka .program-rezim-hlavicka > * + * { border-left:1px solid rgba(86,48,18,.34); }
.program-rezim-dne-stranka .program-rezim-radek {
    min-height:64px;
    border-bottom:1px solid rgba(86,48,18,.25);
}
.program-rezim-dne-stranka .program-rezim-radek:last-child { border-bottom:0; }
.program-rezim-dne-stranka .program-rezim-bunka {
    position:relative;
    min-width:0;
    padding:9px 14px;
    display:flex;
    align-items:center;
}
.program-rezim-dne-stranka .program-rezim-bunka + .program-rezim-bunka { border-left:1px solid rgba(86,48,18,.28); }
.program-rezim-dne-stranka .program-rezim-bunka-vlevo { gap:8px; }
.program-rezim-dne-stranka .program-rezim-bunka input[type="text"],
.program-rezim-dne-stranka .program-rezim-bunka select {
    box-sizing:border-box;
    min-height:40px;
    border:1px solid rgba(86,48,18,.42);
    border-radius:8px;
    background:rgba(255,248,219,.64);
    color:#0b2347;
    font:inherit;
}
.program-rezim-dne-stranka .program-rezim-bunka input[type="text"] { width:100%; padding:8px 11px; }
.program-rezim-dne-stranka .program-rezim-bunka select { min-width:190px; padding:7px 10px; }
.program-rezim-dne-stranka .program-rezim-bunka-vlevo .program-rezim-text-vlevo { flex:1 1 auto; }
.program-rezim-dne-stranka .program-rezim-bunka .ikona-akce {
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.program-rezim-dne-stranka .program-rezim-akce .ikona-akce,
.program-rezim-dne-stranka .program-rezim-kopirovani .ikona-akce {
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.program-rezim-dne-stranka .program-rezim-akce #program-rezim-pridat-radek {
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
}
.program-rezim-dne-stranka .program-rezim-bunka .ikona-akce img,
.program-rezim-dne-stranka .program-rezim-akce .ikona-akce img,
.program-rezim-dne-stranka .program-rezim-kopirovani .ikona-akce img { width:100%; height:100%; object-fit:contain; }
.program-rezim-dne-stranka .program-rezim-bunka .ikona-akce:disabled { opacity:.38; cursor:not-allowed; }
.program-rezim-dne-stranka .program-rezim-bunka-vpravo { min-height:64px; }
.program-rezim-dne-stranka .program-rezim-prava-editace { width:100%; }
.program-rezim-dne-stranka .program-rezim-prava-hlavni {
    display:grid;
    grid-template-columns:minmax(180px, 1fr) minmax(190px, 240px) 40px;
    gap:10px;
    align-items:center;
}
.program-rezim-dne-stranka .program-rezim-prava-hlavni select {
    width:100%;
    min-width:0;
    padding-right:42px;
    background-image:url('/assets/img/ikona-akce-rozbalit.png?v=20260820-vedouci-4');
    background-repeat:no-repeat;
    background-position:right 9px center;
    background-size:22px 22px;
    appearance:none;
    -webkit-appearance:none;
}
.program-rezim-dne-stranka .program-rezim-priznaky {
    display:flex;
    flex-wrap:wrap;
    gap:7px 14px;
    margin-top:9px;
    padding-top:8px;
    border-top:1px dashed rgba(86,48,18,.30);
}
.program-rezim-dne-stranka .program-rezim-priznaky label {
    display:inline-flex;
    align-items:center;
    gap:5px;
    font-size:.9rem;
    color:#0b2347;
}
.program-rezim-dne-stranka .program-rezim-priznaky input { accent-color:#0b2b57; }
.program-rezim-dne-stranka .je-skryte { display:none !important; }
.program-rezim-dne-stranka .program-rezim-spodni-radek {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:14px 0 4px;
}
.program-rezim-dne-stranka .program-rezim-kopirovani,
.program-rezim-dne-stranka .program-rezim-akce {
    display:flex;
    align-items:center;
}
.program-rezim-dne-stranka .program-rezim-kopirovani { gap:8px; min-width:0; }
.program-rezim-dne-stranka .program-rezim-akce { gap:2px; justify-content:flex-end; }
.program-rezim-dne-stranka .program-rezim-kopirovat-rok {
    width:min(260px, 100%);
    height:42px;
    padding:7px 42px 7px 14px;
    border:1px solid rgba(86,48,18,.48);
    border-radius:10px;
    background-color:rgba(255,244,204,.78);
    background-image:url('/assets/img/ikona-akce-rozbalit.png?v=20260820-vedouci-4');
    background-repeat:no-repeat;
    background-position:right 9px center;
    background-size:22px 22px;
    color:#0b2347;
    font:inherit;
    appearance:none;
    -webkit-appearance:none;
}
.program-rezim-dne-stranka .program-rezim-prazdne {
    padding:20px 16px;
    color:rgba(38,29,19,.68);
    font-style:italic;
}
.program-rezim-dne-stranka .program-rezim-radek-cteni .program-rezim-bunka { min-height:58px; }
.program-rezim-dne-stranka .program-rezim-radek-cteni .program-rezim-bunka-vlevo { font-weight:700; color:#0b2347; }
.program-rezim-dne-stranka .program-rezim-program-text { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.program-rezim-dne-stranka .program-rezim-program-text strong { color:#0b2347; }
.program-rezim-dne-stranka .program-rezim-stitek {
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:3px 9px;
    border:1px solid rgba(86,48,18,.34);
    border-radius:999px;
    background:rgba(212,172,78,.20);
    color:#0b2347;
    font-size:.82rem;
    font-weight:700;
}
.program-rezim-dne-stranka .program-rezim-priznaky-cteni {
    margin-top:5px;
    color:rgba(11,35,71,.72);
    font-size:.88rem;
}
@media (max-width:820px) {
    .program-rezim-dne-stranka .program-rezim-horni-radek,
.program-inventar-stranka .program-inventar-horni-radek { align-items:stretch !important; flex-direction:column !important; }
    .program-rezim-dne-stranka .program-rezim-sluzba { min-width:0; justify-content:flex-start; }
    .program-rezim-dne-stranka .program-rezim-sluzba strong { min-width:0; text-align:left; }
    .program-rezim-dne-stranka .program-rezim-hlavicka,
    .program-rezim-dne-stranka .program-rezim-radek { grid-template-columns:minmax(125px, 34%) minmax(0, 66%); }
    .program-rezim-dne-stranka .program-rezim-prava-hlavni { grid-template-columns:1fr 40px; }
    .program-rezim-dne-stranka .program-rezim-prava-hlavni select { grid-column:1 / 2; }
}
@media (max-width:620px) {
    .program-rezim-dne-stranka .program-rezim-spodni-radek { align-items:stretch; flex-direction:column; }
    .program-rezim-dne-stranka .program-rezim-kopirovani { width:100%; }
    .program-rezim-dne-stranka .program-rezim-kopirovat-rok { flex:1 1 auto; width:auto; min-width:0; }
    .program-rezim-dne-stranka .program-rezim-akce { align-self:flex-end; }
    .program-rezim-dne-stranka .program-rezim-hlavicka { display:none; }
    .program-rezim-dne-stranka .program-rezim-radek { grid-template-columns:1fr; }
    .program-rezim-dne-stranka .program-rezim-bunka + .program-rezim-bunka { border-left:0; border-top:1px solid rgba(86,48,18,.18); }
    .program-rezim-dne-stranka .program-rezim-sluzba { align-items:flex-start; flex-direction:column; gap:6px; }
    .program-rezim-dne-stranka .program-rezim-sluzba select { width:100%; }
}


/* ========================================================================== */
/* PROGRAM-INVENTAR-1: inventar podle roku                                    */
/* 2026-08-25                                                                 */
/* ========================================================================== */
.program-inventar-stranka .program-inventar-pridat,
.program-inventar-stranka .program-inventar-nova-akce .ikona-akce {
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.program-inventar-stranka .program-inventar-pridat img,
.program-inventar-stranka .program-inventar-nova-akce .ikona-akce img,
.program-inventar-stranka .program-inventar-ulozit img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.program-inventar-stranka .program-inventar-nova-vec {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin:0 0 18px;
    padding:14px 16px;
    border:1px solid rgba(86,48,18,.35);
    background:rgba(255,244,204,.36);
}
.program-inventar-stranka .program-inventar-nova-vec[hidden] { display:none !important; }
.program-inventar-stranka .program-inventar-nova-pole {
    display:grid;
    grid-template-columns:minmax(220px, 280px) minmax(260px, 1fr);
    gap:14px;
    flex:1 1 auto;
}
.program-inventar-stranka .program-inventar-nova-pole label {
    display:grid;
    gap:6px;
    color:#0b2347;
    font-weight:700;
}
.program-inventar-stranka .program-inventar-nova-pole input,
.program-inventar-stranka .program-inventar-nova-pole select,
.program-inventar-stranka .inventar-stav-select,
.program-inventar-stranka .inventar-tabulka input[type="number"] {
    box-sizing:border-box;
    min-height:40px;
    border:1px solid rgba(86,48,18,.42);
    border-radius:8px;
    background-color:rgba(255,248,219,.66);
    color:#0b2347;
    font:inherit;
}
.program-inventar-stranka .program-inventar-nova-pole input { width:100%; padding:8px 11px; }
.program-inventar-stranka .program-inventar-nova-pole select,
.program-inventar-stranka .inventar-stav-select {
    width:100%;
    padding:7px 42px 7px 12px;
    background-image:url('/assets/img/ikona-akce-rozbalit.png?v=20260820-vedouci-4');
    background-repeat:no-repeat;
    background-position:right 9px center;
    background-size:22px 22px;
    appearance:none;
    -webkit-appearance:none;
}
.program-inventar-stranka .program-inventar-nova-akce {
    display:flex;
    align-items:center;
    gap:2px;
    flex:0 0 auto;
}

.program-inventar-stranka .inventar-sekce { margin-top:24px; }
.program-inventar-stranka .inventar-sekce h2 {
    display:flex;
    align-items:center;
    gap:0;
    width:fit-content;
    margin:0 0 8px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.program-inventar-stranka .inventar-sekce h2 > span:last-child {
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    min-width:190px;
    height:46px;
    margin-left:-24px;
    padding:0 28px 2px 40px;
    background:url('/assets/img/profil-prezdivka-pergamen.png?v=20260818-pergamen-11') center / 100% 100% no-repeat;
    color:#0c315f;
    font-size:1.08rem;
    font-weight:700;
}
.program-inventar-stranka .inventar-nadpis-ikona {
    position:relative;
    z-index:3;
    display:grid;
    width:64px;
    height:64px;
    place-items:center;
    isolation:isolate;
    filter:drop-shadow(0 3px 4px rgba(51,20,8,.2));
}
.program-inventar-stranka .inventar-nadpis-ikona::before {
    content:none;
    display:none;
}
.program-inventar-stranka .inventar-nadpis-ikona::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:3;
    background:url('/assets/img/profil-pecet.png?v=20260820-pecete-2') center / contain no-repeat;
    pointer-events:none;
}
.program-inventar-stranka .inventar-nadpis-ikona img {
    --pecet-medailon-korekce-x:0%;
    --pecet-medailon-korekce-y:0%;
    position:absolute;
    z-index:1;
    left:49.676%;
    top:48.247%;
    width:79.125%;
    height:77.4375%;
    margin:0;
    transform:translate(
        calc(-50% + var(--pecet-medailon-korekce-x)),
        calc(-50% + var(--pecet-medailon-korekce-y))
    );
    border-radius:50%;
    object-fit:fill;
    object-position:50% 50%;
}

.program-inventar-stranka .inventar-tabulka-obal {
    width:100%;
    overflow-x:auto;
}
.program-inventar-stranka .inventar-tabulka {
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
    border-top:1px solid rgba(86,48,18,.42);
    border-bottom:1px solid rgba(86,48,18,.42);
    color:#0b2347;
}
.program-inventar-stranka .inventar-tabulka th,
.program-inventar-stranka .inventar-tabulka td {
    padding:10px 14px;
    border-bottom:1px solid rgba(86,48,18,.24);
    vertical-align:middle;
}
.program-inventar-stranka .inventar-tabulka th + th,
.program-inventar-stranka .inventar-tabulka td + td {
    border-left:1px solid rgba(86,48,18,.22);
}
.program-inventar-stranka .inventar-tabulka thead th {
    background:rgba(126,76,26,.10);
    color:#0b2347;
    font-weight:800;
    text-align:left;
    border-bottom:1px solid rgba(86,48,18,.42);
}
.program-inventar-stranka .inventar-tabulka tbody tr:last-child td { border-bottom:0; }
.program-inventar-stranka .inventar-tabulka th:first-child,
.program-inventar-stranka .inventar-tabulka td:first-child { width:auto; }
.program-inventar-stranka .inventar-tabulka th.inventar-cislo,
.program-inventar-stranka .inventar-tabulka td.inventar-cislo { width:150px; text-align:center; }
.program-inventar-stranka .inventar-tabulka th.inventar-stav,
.program-inventar-stranka .inventar-tabulka td.inventar-stav { width:180px; text-align:center; }
.program-inventar-stranka .inventar-tabulka-spotrebni th.inventar-cislo,
.program-inventar-stranka .inventar-tabulka-spotrebni td.inventar-cislo { width:170px; }
.program-inventar-stranka .inventar-nazev { font-weight:700; }
.program-inventar-stranka .inventar-tabulka input[type="number"] {
    width:92px;
    min-height:36px;
    padding:6px 8px;
    text-align:center;
}
.program-inventar-stranka .inventar-potreba { font-weight:800; }
.program-inventar-stranka .inventar-stav-text,
.program-inventar-stranka .inventar-stav-select {
    font-weight:800;
}
.program-inventar-stranka .inventar-stav-select { max-width:145px; min-height:36px; }
.program-inventar-stranka .inventar-stav-mame { color:#245c35 !important; }
.program-inventar-stranka .inventar-stav-nemame { color:#a91f1f !important; }
.program-inventar-stranka .inventar-prazdne {
    padding:18px 14px !important;
    color:rgba(38,29,19,.62);
    font-style:italic;
    text-align:left !important;
}
.program-inventar-stranka .program-inventar-spodni-radek {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    padding:14px 0 4px;
}
.program-inventar-stranka .program-inventar-ulozit {
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

@media (max-width:820px) {
    .program-inventar-stranka .program-inventar-horni-radek {
        align-items:stretch !important;
        flex-direction:column !important;
    }
    .program-inventar-stranka .program-inventar-pridat { align-self:flex-end; }
    .program-inventar-stranka .program-inventar-nova-vec {
        align-items:stretch;
        flex-direction:column;
    }
    .program-inventar-stranka .program-inventar-nova-pole { grid-template-columns:1fr; }
    .program-inventar-stranka .program-inventar-nova-akce { align-self:flex-end; }
}
@media (max-width:620px) {
    .program-inventar-stranka .inventar-tabulka { min-width:560px; }
}


/* PROGRAM-INVENTAR-2: zruseni formulare bez pridaneho pozadi */
.program-inventar-stranka .program-inventar-zrusit,
.program-inventar-stranka .program-inventar-zrusit:hover,
.program-inventar-stranka .program-inventar-zrusit:focus,
.program-inventar-stranka .program-inventar-zrusit:focus-visible {
    appearance:none !important;
    -webkit-appearance:none !important;
    border:0 !important;
    border-radius:0 !important;
    background:none !important;
    box-shadow:none !important;
}
.program-inventar-stranka .program-inventar-zrusit::before,
.program-inventar-stranka .program-inventar-zrusit::after,
.program-inventar-stranka .program-inventar-zrusit img {
    background:transparent !important;
    box-shadow:none !important;
}


/* PROGRAM-INVENTAR-3: uprava polozek + obnoveni opravenych medailonu */
.program-inventar-stranka .inventar-nazev-zobrazeni {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.program-inventar-stranka .inventar-nazev-zobrazeni[hidden],
.program-inventar-stranka .inventar-uprava-form[hidden] {
    display:none !important;
}
.program-inventar-stranka .inventar-upravit-tlacitko,
.program-inventar-stranka .inventar-uprava-ulozit,
.program-inventar-stranka .inventar-uprava-zrusit {
    flex:0 0 auto;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.program-inventar-stranka .inventar-upravit-tlacitko img,
.program-inventar-stranka .inventar-uprava-ulozit img,
.program-inventar-stranka .inventar-uprava-zrusit img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    background:transparent !important;
    box-shadow:none !important;
}
.program-inventar-stranka .inventar-uprava-form {
    display:grid;
    grid-template-columns:minmax(145px, .7fr) minmax(190px, 1.3fr) 34px 34px;
    align-items:center;
    gap:6px;
}
.program-inventar-stranka .inventar-uprava-form select,
.program-inventar-stranka .inventar-uprava-form input[type="text"] {
    box-sizing:border-box;
    width:100%;
    min-height:36px;
    border:1px solid rgba(86,48,18,.42);
    border-radius:8px;
    background-color:rgba(255,248,219,.66);
    color:#0b2347;
    font:inherit;
}
.program-inventar-stranka .inventar-uprava-form input[type="text"] {
    padding:6px 9px;
}
.program-inventar-stranka .inventar-uprava-form select {
    padding:6px 36px 6px 9px;
    background-image:url('/assets/img/ikona-akce-rozbalit.png?v=20260820-vedouci-4');
    background-repeat:no-repeat;
    background-position:right 7px center;
    background-size:20px 20px;
    appearance:none;
    -webkit-appearance:none;
}
@media (max-width:760px) {
    .program-inventar-stranka .inventar-uprava-form {
        grid-template-columns:1fr 1fr 34px 34px;
        min-width:420px;
    }
}

/* ========================================================================== */
/* PROGRAM-HRY-1: globalni knihovna her bez vazby na rok                     */
/* ========================================================================== */
.program-hry-stranka .program-hry-horni-radek {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    min-height:66px;
    margin:14px 0;
}
.program-hry-stranka .program-hry-pridat,
.program-hry-stranka .program-hry-form-akce .ikona-akce {
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.program-hry-stranka .program-hry-pridat img,
.program-hry-stranka .program-hry-form-akce .ikona-akce img,
.program-hry-stranka .program-hry-male-pridat img,
.program-hry-stranka .program-hry-radek-smazat img,
.program-hry-stranka .hry-polozka-akce .ikona-akce img,
.program-hry-stranka .hry-rozbalit img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.program-hry-stranka .program-hry-form {
    display:grid;
    gap:16px;
    margin:0 0 26px;
    padding:18px 20px;
    border:1px solid rgba(86,48,18,.35);
    background:rgba(255,244,204,.36);
}
.program-hry-stranka .program-hry-form[hidden] { display:none !important; }
.program-hry-stranka .program-hry-form-zaklad,
.program-hry-stranka .program-hry-dvojice {
    display:grid;
    grid-template-columns:minmax(220px, 300px) minmax(280px, 1fr);
    gap:14px;
}
.program-hry-stranka .program-hry-form label,
.program-hry-stranka .program-hry-pole {
    display:grid;
    gap:6px;
    color:#0b2347;
    font-weight:700;
}
.program-hry-stranka .program-hry-pole[hidden] { display:none !important; }
.program-hry-stranka .program-hry-form input[type="text"],
.program-hry-stranka .program-hry-form input[type="url"],
.program-hry-stranka .program-hry-form input[type="number"],
.program-hry-stranka .program-hry-form textarea,
.program-hry-stranka .program-hry-form select,
.program-hry-stranka .program-hry-editor {
    box-sizing:border-box;
    width:100%;
    min-height:40px;
    border:1px solid rgba(86,48,18,.42);
    border-radius:8px;
    background-color:rgba(255,248,219,.66);
    color:#0b2347;
    font:inherit;
    font-weight:400;
}
.program-hry-stranka .program-hry-form input,
.program-hry-stranka .program-hry-form textarea,
.program-hry-stranka .program-hry-editor { padding:8px 11px; }
.program-hry-stranka .program-hry-form select {
    padding:7px 42px 7px 12px;
    background-image:url('/assets/img/ikona-akce-rozbalit.png?v=20260820-vedouci-4');
    background-repeat:no-repeat;
    background-position:right 9px center;
    background-size:22px 22px;
    appearance:none;
    -webkit-appearance:none;
}
.program-hry-stranka .program-hry-richtext-pole { gap:0; }
.program-hry-stranka .program-hry-richtext-pole > span { margin-bottom:6px; }
.program-hry-stranka .program-hry-editor-toolbar {
    display:flex;
    gap:2px;
    width:fit-content;
    padding:2px 4px 0;
    border:1px solid rgba(86,48,18,.35);
    border-bottom:0;
    border-radius:8px 8px 0 0;
    background:rgba(233,211,158,.48);
}
.program-hry-stranka .program-hry-editor-toolbar button {
    display:grid;
    width:32px !important;
    height:24px !important;
    min-height:24px !important;
    place-items:center;
    margin:0 !important;
    padding:0 !important;
    border:0;
    border-radius:5px;
    background:transparent;
    color:#0b315f;
    font:inherit;
    cursor:pointer;
}
.program-hry-stranka .program-hry-editor-toolbar button:hover { background:rgba(16,57,101,.09); }
.program-hry-stranka .program-hry-editor {
    min-height:150px;
    border-radius:0 8px 8px 8px;
    font-weight:400;
    line-height:1.5;
    overflow:auto;
}
.program-hry-stranka .program-hry-editor:focus { outline:2px solid rgba(23,63,112,.25); outline-offset:1px; }
.program-hry-stranka .program-hry-podnadpis {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:40px;
}
.program-hry-stranka .program-hry-male-pridat,
.program-hry-stranka .program-hry-radek-smazat,
.program-hry-stranka .hry-polozka-akce .ikona-akce,
.program-hry-stranka .hry-rozbalit {
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.program-hry-stranka .program-hry-pomucky-akce {
    display:flex;
    align-items:center;
    gap:8px;
}
.program-hry-stranka .program-hry-inventar-pridat {
    width:auto !important;
    min-height:32px !important;
    margin:0 !important;
    padding:5px 10px !important;
    border:1px solid rgba(86,48,18,.42) !important;
    border-radius:5px !important;
    background:rgba(233,211,158,.48) !important;
    color:#0b315f !important;
    box-shadow:none !important;
    font-weight:700;
}
.program-hry-stranka .program-hry-inventar-pridat:hover {
    background:rgba(233,211,158,.7) !important;
    filter:none !important;
    transform:none !important;
}
.program-hry-stranka .program-hry-novy-inventar {
    display:grid;
    grid-template-columns:minmax(160px, 220px) minmax(260px, 1fr) 76px;
    align-items:end;
    gap:8px 10px;
    margin:6px 0 10px;
    padding:10px 12px;
    border:1px solid rgba(86,48,18,.3);
    background:rgba(233,211,158,.25);
}
.program-hry-stranka .program-hry-novy-inventar[hidden] { display:none !important; }
.program-hry-stranka .program-hry-novy-inventar label { gap:4px; }
.program-hry-stranka .program-hry-novy-inventar-akce {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:2px;
}
.program-hry-stranka .program-hry-novy-inventar-akce .ikona-akce {
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.program-hry-stranka .program-hry-novy-inventar-akce .ikona-akce img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.program-hry-stranka .program-hry-inventar-stav {
    grid-column:1 / -1;
    min-height:0;
    color:#0b315f;
    font-size:.92rem;
    font-weight:600;
}
.program-hry-stranka .program-hry-naseptavac .program-hry-naseptavac-pridat {
    font-weight:800;
    color:#0b315f;
    background:rgba(233,211,158,.38);
}
.program-hry-stranka .program-hry-pomucka-radek {
    display:grid;
    grid-template-columns:minmax(260px, 1fr) 110px 150px 34px;
    align-items:center;
    gap:8px;
    margin-top:8px;
}
.program-hry-stranka .program-hry-priloha-radek {
    display:grid;
    grid-template-columns:minmax(260px, 1fr) 110px 34px;
    align-items:center;
    gap:8px;
    margin-top:8px;
}
.program-hry-stranka .program-hry-autocomplete { position:relative; }
.program-hry-stranka .program-hry-naseptavac {
    position:absolute;
    z-index:40;
    top:calc(100% + 3px);
    left:0;
    right:0;
    max-height:230px;
    overflow:auto;
    border:1px solid rgba(86,48,18,.48);
    border-radius:8px;
    background:#f7e9ba;
    box-shadow:0 8px 20px rgba(35,20,8,.18);
}
.program-hry-stranka .program-hry-naseptavac[hidden] { display:none !important; }
.program-hry-stranka .program-hry-naseptavac button {
    display:block;
    width:100%;
    padding:8px 10px;
    border:0;
    border-bottom:1px solid rgba(86,48,18,.16);
    background:transparent;
    color:#0b2347;
    text-align:left;
    cursor:pointer;
}
.program-hry-stranka .program-hry-naseptavac button:last-child { border-bottom:0; }
.program-hry-stranka .program-hry-naseptavac button:hover { background:rgba(23,63,112,.09); }
.program-hry-stranka .program-hry-form-akce {
    display:flex;
    justify-content:flex-end;
    gap:2px;
}
.program-hry-stranka .program-hry-zrusit,
.program-hry-stranka .program-hry-zrusit:hover,
.program-hry-stranka .program-hry-zrusit:focus,
.program-hry-stranka .program-hry-zrusit:focus-visible {
    border:0 !important;
    background:none !important;
    box-shadow:none !important;
}

.program-hry-stranka .hry-sekce { margin-top:24px; }
.program-hry-stranka .hry-sekce h2 {
    display:flex;
    align-items:center;
    gap:0;
    width:fit-content;
    margin:0 0 8px;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}
.program-hry-stranka .hry-sekce h2 > span:last-child {
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    min-width:205px;
    height:46px;
    margin-left:-24px;
    padding:0 28px 2px 40px;
    background:url('/assets/img/profil-prezdivka-pergamen.png?v=20260818-pergamen-11') center / 100% 100% no-repeat;
    color:#0c315f;
    font-size:1.08rem;
    font-weight:700;
}
.program-hry-stranka .hry-nadpis-ikona {
    position:relative;
    z-index:3;
    display:grid;
    width:64px;
    height:64px;
    place-items:center;
    isolation:isolate;
    filter:drop-shadow(0 3px 4px rgba(51,20,8,.2));
}
.program-hry-stranka .hry-nadpis-ikona::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:3;
    background:url('/assets/img/profil-pecet.png?v=20260820-pecete-2') center / contain no-repeat;
    pointer-events:none;
}
.program-hry-stranka .hry-nadpis-ikona img {
    position:absolute;
    z-index:1;
    left:49.676%;
    top:48.247%;
    width:79.125%;
    height:77.4375%;
    transform:translate(-50%, -50%);
    border-radius:50%;
    object-fit:fill;
    object-position:50% 50%;
    image-rendering:auto;
}
.program-hry-stranka .hry-seznam {
    border-top:1px solid rgba(86,48,18,.42);
    border-bottom:1px solid rgba(86,48,18,.42);
}
.program-hry-stranka .hry-prazdne {
    padding:15px 14px;
    color:rgba(38,29,19,.62);
    font-style:italic;
}
.program-hry-stranka .hry-polozka + .hry-polozka { border-top:1px solid rgba(86,48,18,.24); }
.program-hry-stranka .hry-polozka-hlavicka {
    display:grid;
    grid-template-columns:34px minmax(0, 1fr) auto;
    align-items:center;
    gap:8px;
    min-height:52px;
    padding:6px 10px;
}
.program-hry-stranka .hry-polozka-hlavicka > strong {
    color:#0b2347;
    font-size:1.02rem;
}
.program-hry-stranka .hry-rozbalit img { transition:transform .16s ease; transform:rotate(-90deg); }
.program-hry-stranka .hry-rozbalit.je-otevrene img { transform:rotate(0deg); }
.program-hry-stranka .hry-rozbalit {
    align-self:center;
    justify-self:center;
}
.program-hry-stranka .hry-polozka-akce {
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:34px;
    align-items:center;
    justify-items:center;
    align-self:center;
    height:34px;
    gap:2px;
}
.program-hry-stranka .hry-polozka-akce form {
    display:grid;
    width:34px;
    height:34px;
    margin:0;
    padding:0;
    place-items:center;
    line-height:0;
}
.program-hry-stranka .hry-polozka-akce .ikona-akce {
    align-self:center;
    justify-self:center;
}
.program-hry-stranka .hry-detail {
    padding:4px 52px 18px;
    border-top:1px dashed rgba(86,48,18,.22);
    color:#1d2b3d;
}
.program-hry-stranka .hry-detail[hidden] { display:none !important; }
.program-hry-stranka .hry-detail-blok { margin-top:13px; }
.program-hry-stranka .hry-detail h3 {
    margin:0 0 5px;
    color:#0b315f;
    font-size:.94rem;
}
.program-hry-stranka .hry-detail p,
.program-hry-stranka .hry-detail ul { margin:0; }
.program-hry-stranka .hry-detail ul { padding-left:22px; }
.program-hry-stranka .hry-detail-radek { margin-top:9px; }
.program-hry-stranka .hry-detail a { color:#0b4f88; font-weight:700; }
.program-hry-stranka .hry-richtext-vystup { line-height:1.52; }
.program-hry-stranka .hry-richtext-vystup p,
.program-hry-stranka .hry-richtext-vystup div { margin:.35em 0; }

@media (max-width:820px) {
    .program-hry-stranka .program-hry-novy-inventar { grid-template-columns:1fr 1fr; }
    .program-hry-stranka .program-hry-novy-inventar-akce { justify-content:flex-start; }
    .program-hry-stranka .program-hry-form-zaklad,
    .program-hry-stranka .program-hry-dvojice { grid-template-columns:1fr; }
    .program-hry-stranka .program-hry-pomucka-radek { grid-template-columns:1fr 90px 130px 34px; }
    .program-hry-stranka .hry-detail { padding-left:16px; padding-right:16px; }
}
@media (max-width:620px) {
    .program-hry-stranka .program-hry-pomucka-radek,
    .program-hry-stranka .program-hry-priloha-radek { grid-template-columns:1fr 90px 34px; }
    .program-hry-stranka .program-hry-pomucka-radek .program-hry-autocomplete { grid-column:1 / -1; }
    .program-hry-stranka .program-hry-pomucka-radek select { grid-column:1 / 3; }
    .program-hry-stranka .hry-polozka-hlavicka { grid-template-columns:34px minmax(0,1fr); }
    .program-hry-stranka .hry-polozka-akce { grid-column:2; justify-self:end; }
}


/* ========================================================================== */
/* PROGRAM-HERNIK-1: roční plán programu po dnech                            */
/* ========================================================================== */
.program-hernik-stranka .program-hernik-horni-radek {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    min-height:58px;
    margin:12px 0 14px;
}
.program-hernik-stranka .program-hernik-form {
    display:grid;
    gap:20px;
}
.program-hernik-stranka .program-hernik-form-chyba[hidden] { display:none !important; }
.program-hernik-stranka .program-hernik-tema {
    display:grid;
    grid-template-columns:auto minmax(260px, 1fr);
    align-items:center;
    gap:10px 16px;
    padding:14px 18px;
    border:1px solid rgba(86,48,18,.34);
    border-radius:10px;
    background:rgba(255,244,204,.38);
}
.program-hernik-stranka .program-hernik-tema label {
    color:#0b315f;
    font-weight:800;
}
.program-hernik-stranka input[type="text"],
.program-hernik-stranka input[type="number"],
.program-hernik-stranka select {
    box-sizing:border-box;
    width:100%;
    min-height:38px;
    border:1px solid rgba(86,48,18,.42);
    border-radius:7px;
    background-color:rgba(255,248,219,.72);
    color:#0b2347;
    font:inherit;
}
.program-hernik-stranka input[type="text"],
.program-hernik-stranka input[type="number"] { padding:7px 10px; }
.program-hernik-stranka select {
    padding:7px 40px 7px 11px;
    background-image:url('/assets/img/ikona-akce-rozbalit.png?v=20260820-vedouci-4');
    background-repeat:no-repeat;
    background-position:right 8px center;
    background-size:22px 22px;
    appearance:none;
    -webkit-appearance:none;
}
.program-hernik-stranka .program-hernik-dny {
    display:grid;
    gap:22px;
}
.program-hernik-stranka .program-hernik-den {
    overflow:visible;
    border:1px solid rgba(86,48,18,.35);
    border-radius:12px;
    background:rgba(255,244,204,.34);
    box-shadow:0 3px 12px rgba(51,31,10,.06);
}
.program-hernik-stranka .program-hernik-den-hlavicka {
    display:grid;
    grid-template-columns:minmax(210px, .62fr) minmax(320px, 1.38fr);
    align-items:end;
    gap:18px;
    padding:14px 18px 13px;
    border-bottom:1px solid rgba(86,48,18,.3);
    background:rgba(233,211,158,.28);
}
.program-hernik-stranka .program-hernik-den-cislo {
    display:block;
    margin-bottom:2px;
    color:#805416;
    font-size:.82rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.program-hernik-stranka .program-hernik-den h2 {
    margin:0;
    color:#0b315f;
    font-size:1.28rem;
}
.program-hernik-stranka .program-hernik-pribeh-dne {
    display:grid;
    gap:4px;
}
.program-hernik-stranka .program-hernik-pribeh-dne label {
    color:#0b315f;
    font-size:.88rem;
    font-weight:800;
}
.program-hernik-stranka .program-hernik-pribeh-dne > span {
    min-height:38px;
    padding:7px 0;
}
.program-hernik-stranka .program-hernik-radky { display:grid; }
.program-hernik-stranka .program-hernik-radek {
    padding:11px 18px 12px;
    transition:opacity .16s ease, background-color .16s ease;
}
.program-hernik-stranka .program-hernik-radek + .program-hernik-radek {
    border-top:1px solid rgba(86,48,18,.2);
}
.program-hernik-stranka .program-hernik-radek.je-nekona {
    background:rgba(105,105,105,.13);
    opacity:.58;
}
.program-hernik-stranka .program-hernik-radek.je-alternativni {
    background:rgba(196,153,65,.09);
}
.program-hernik-stranka .program-hernik-radek-zaklad {
    display:grid;
    grid-template-columns:minmax(120px, 190px) minmax(220px, 1fr) minmax(155px, 210px);
    align-items:center;
    gap:12px 18px;
}
.program-hernik-stranka .program-hernik-cas {
    color:#5f431f;
    font-weight:800;
}
.program-hernik-stranka .program-hernik-program {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px 10px;
    color:#0b2347;
}
.program-hernik-stranka .program-hernik-program > strong { font-size:1.03rem; }
.program-hernik-stranka .program-hernik-radek.je-hra-bez-prirazeni .program-hernik-program > strong {
    color:#a91f1f;
}
.program-hernik-stranka .program-hernik-typ {
    display:inline-flex;
    align-items:center;
    min-height:23px;
    padding:2px 8px;
    border-radius:999px;
    background:rgba(23,63,112,.09);
    color:#0b315f;
    font-size:.78rem;
    font-weight:800;
}
.program-hernik-stranka .program-hernik-stav > span {
    color:#0b315f;
    font-weight:800;
}
.program-hernik-stranka .program-hernik-alternativa,
.program-hernik-stranka .program-hernik-normalni {
    margin:9px 0 0 calc(190px + 18px);
}
.program-hernik-stranka .program-hernik-alternativa[hidden],
.program-hernik-stranka .program-hernik-normalni[hidden] { display:none !important; }
.program-hernik-stranka .program-hernik-alternativa label,
.program-hernik-stranka .program-hernik-scenka label,
.program-hernik-stranka .program-hernik-vybrana-hra label {
    display:grid;
    gap:4px;
    color:#0b315f;
    font-size:.88rem;
    font-weight:800;
}
.program-hernik-stranka .program-hernik-alternativa p,
.program-hernik-stranka .program-hernik-scenka p,
.program-hernik-stranka .program-hernik-vybrana-hra p { margin:4px 0; }
.program-hernik-stranka .program-hernik-hry {
    display:grid;
    gap:8px;
}
.program-hernik-stranka .program-hernik-hra-pridat {
    display:grid;
    grid-template-columns:minmax(220px, 1fr) 34px;
    align-items:center;
    gap:6px;
    max-width:650px;
}
.program-hernik-stranka .program-hernik-hra-autocomplete { position:relative; }
.program-hernik-stranka .program-hernik-hra-naseptavac {
    position:absolute;
    z-index:50;
    top:calc(100% + 3px);
    left:0;
    right:0;
    max-height:230px;
    overflow:auto;
    border:1px solid rgba(86,48,18,.46);
    border-radius:8px;
    background:#f7e9ba;
    box-shadow:0 8px 20px rgba(35,20,8,.18);
}
.program-hernik-stranka .program-hernik-hra-naseptavac[hidden] { display:none !important; }
.program-hernik-stranka .program-hernik-hra-naseptavac button {
    display:block;
    width:100%;
    margin:0 !important;
    padding:8px 10px !important;
    border:0 !important;
    border-bottom:1px solid rgba(86,48,18,.16) !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#0b2347 !important;
    box-shadow:none !important;
    text-align:left;
    cursor:pointer;
}
.program-hernik-stranka .program-hernik-hra-naseptavac button:last-child { border-bottom:0 !important; }
.program-hernik-stranka .program-hernik-hra-naseptavac button:hover { background:rgba(23,63,112,.09) !important; }
.program-hernik-stranka .program-hernik-vybrane-hry {
    display:grid;
    gap:8px;
}
.program-hernik-stranka .program-hernik-vybrana-hra {
    display:grid;
    gap:8px;
    padding:9px 11px;
    border:1px solid rgba(86,48,18,.27);
    border-radius:8px;
    background:rgba(255,248,219,.42);
}
.program-hernik-stranka .program-hernik-vybrana-hra-hlavicka,
.program-hernik-stranka .program-hernik-prilohy-nadpis {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.program-hernik-stranka .program-hernik-vybrana-hra-hlavicka > strong {
    color:#0b315f;
    font-size:1rem;
}
.program-hernik-stranka .program-hernik-prilohy-nadpis > span {
    color:#0b315f;
    font-size:.86rem;
    font-weight:800;
}
.program-hernik-stranka .program-hernik-male-pridat,
.program-hernik-stranka .program-hernik-radek-smazat {
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.program-hernik-stranka .program-hernik-male-pridat img,
.program-hernik-stranka .program-hernik-radek-smazat img,
.program-hernik-stranka .program-hernik-spodni-radek .ikona-akce img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.program-hernik-stranka .program-hernik-priloha-radek {
    display:grid;
    grid-template-columns:minmax(220px, 1fr) 90px 34px;
    align-items:center;
    gap:7px;
    margin-top:6px;
}
.program-hernik-stranka .program-hernik-prilohy-cteni {
    margin:4px 0 0;
    padding-left:20px;
}
.program-hernik-stranka .program-hernik-spodni-radek {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:4px 0 18px;
}
.program-hernik-stranka .program-hernik-import {
    display:flex;
    align-items:center;
    gap:8px;
}
.program-hernik-stranka .program-hernik-import .ikona-akce,
.program-hernik-stranka .program-hernik-ulozit {
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.program-hernik-stranka .program-hernik-import select { min-width:190px; }

@media (max-width:900px) {
    .program-hernik-stranka .program-hernik-den-hlavicka { grid-template-columns:1fr; align-items:start; }
    .program-hernik-stranka .program-hernik-radek-zaklad { grid-template-columns:135px minmax(0,1fr); }
    .program-hernik-stranka .program-hernik-stav { grid-column:2; }
    .program-hernik-stranka .program-hernik-alternativa,
    .program-hernik-stranka .program-hernik-normalni { margin-left:153px; }
}
@media (max-width:650px) {
    .program-hernik-stranka .program-hernik-tema { grid-template-columns:1fr; }
    .program-hernik-stranka .program-hernik-radek { padding-left:12px; padding-right:12px; }
    .program-hernik-stranka .program-hernik-radek-zaklad { grid-template-columns:1fr; gap:5px; }
    .program-hernik-stranka .program-hernik-stav { grid-column:auto; }
    .program-hernik-stranka .program-hernik-alternativa,
    .program-hernik-stranka .program-hernik-normalni { margin-left:0; }
    .program-hernik-stranka .program-hernik-priloha-radek { grid-template-columns:minmax(0,1fr) 80px 34px; }
    .program-hernik-stranka .program-hernik-spodni-radek { align-items:flex-end; }
    .program-hernik-stranka .program-hernik-import { align-items:flex-start; flex-direction:column; }
}


/* Herník – kompaktní řádky a lokální akce */
.program-hernik-stranka .program-hernik-form { gap:14px; }
.program-hernik-stranka .program-hernik-dny { gap:14px; }
.program-hernik-stranka .program-hernik-radek { padding:7px 12px 8px; }
.program-hernik-stranka .program-hernik-radek-zaklad {
    grid-template-columns:72px minmax(220px, 1fr) minmax(150px, 210px);
    gap:8px 12px;
}
.program-hernik-stranka .program-hernik-program { gap:5px 8px; }
.program-hernik-stranka .program-hernik-program > strong { font-size:1rem; }
.program-hernik-stranka .program-hernik-radek-akce {
    display:inline-flex;
    align-items:center;
    gap:2px;
    margin-left:3px;
    white-space:nowrap;
}
.program-hernik-stranka .program-hernik-radek-ulozit,
.program-hernik-stranka .program-hernik-radek-akce .program-hernik-male-pridat {
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    min-height:30px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.program-hernik-stranka .program-hernik-radek-ulozit img,
.program-hernik-stranka .program-hernik-radek-akce .program-hernik-male-pridat img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.program-hernik-stranka .program-hernik-alternativa,
.program-hernik-stranka .program-hernik-normalni { margin:6px 0 0 84px; }
.program-hernik-stranka .program-hernik-scenka[hidden],
.program-hernik-stranka .program-hernik-hra-pridat[hidden] { display:none !important; }
.program-hernik-stranka .program-hernik-hra-pridat {
    grid-template-columns:minmax(180px, 460px);
    max-width:460px;
    margin-bottom:4px;
}
.program-hernik-stranka .program-hernik-hry,
.program-hernik-stranka .program-hernik-vybrane-hry { gap:5px; }
.program-hernik-stranka .program-hernik-vybrana-hra {
    gap:5px;
    padding:6px 8px;
}
.program-hernik-stranka .program-hernik-vybrana-hra-hlavicka > strong { font-size:.96rem; }
.program-hernik-stranka .program-hernik-prilohy-nadpis > span { font-size:.82rem; }
.program-hernik-stranka .program-hernik-priloha-radek { margin-top:4px; gap:5px; }
.program-hernik-stranka input[type="text"],
.program-hernik-stranka input[type="number"],
.program-hernik-stranka select { min-height:34px; }
.program-hernik-stranka input[type="text"],
.program-hernik-stranka input[type="number"] { padding:5px 8px; }
.program-hernik-stranka select { padding-top:5px; padding-bottom:5px; }
@media (max-width:900px) {
    .program-hernik-stranka .program-hernik-radek-zaklad { grid-template-columns:72px minmax(0,1fr); }
    .program-hernik-stranka .program-hernik-stav { grid-column:2; }
    .program-hernik-stranka .program-hernik-alternativa,
    .program-hernik-stranka .program-hernik-normalni { margin-left:84px; }
}
@media (max-width:650px) {
    .program-hernik-stranka .program-hernik-radek-zaklad { grid-template-columns:58px minmax(0,1fr); }
    .program-hernik-stranka .program-hernik-stav { grid-column:1 / -1; }
    .program-hernik-stranka .program-hernik-alternativa,
    .program-hernik-stranka .program-hernik-normalni { margin-left:0; }
}
/* Herník – disketa se ukazuje až při lokální úpravě; stav se ukládá bez reloadu */
.program-hernik-stranka .program-hernik-radek-ulozit[hidden] { display:none !important; }
.program-hernik-stranka .program-hernik-radek.je-ukladany .program-hernik-stav { opacity:.62; }
.program-hernik-stranka .program-hernik-radek.ma-chybu-ukladani .program-hernik-stav select { outline:1px solid rgba(150,35,35,.55); }


/* Program / Hry – roční alternativní pravidla */
.program-hry-stranka .program-hry-alternativy {
    margin-top:18px;
    padding-top:14px;
    border-top:1px dashed rgba(86,48,18,.28);
}
.program-hry-stranka .program-hry-alt-varianta {
    margin-top:8px;
    padding:8px 10px;
    border:1px solid rgba(86,48,18,.28);
    border-radius:8px;
    background:rgba(255,244,204,.25);
}
.program-hry-stranka .program-hry-alt-varianta > summary {
    cursor:pointer;
    color:#0b315f;
    font-weight:800;
    list-style:none;
}
.program-hry-stranka .program-hry-alt-varianta > summary::-webkit-details-marker { display:none; }
.program-hry-stranka .program-hry-alt-varianta > summary::before {
    content:"›";
    display:inline-block;
    margin-right:7px;
    transform:rotate(0deg);
    transition:transform .15s ease;
}
.program-hry-stranka .program-hry-alt-varianta[open] > summary::before { transform:rotate(90deg); }
.program-hry-stranka .program-hry-alt-varianta > .hry-richtext-vystup { margin-top:10px; }
.program-hry-stranka .program-hry-alt-form {
    display:grid;
    gap:12px;
    margin-top:12px;
    padding:12px;
    border-top:1px solid rgba(86,48,18,.22);
    background:rgba(233,211,158,.2);
}
.program-hry-stranka .program-hry-alt-form label {
    display:grid;
    gap:5px;
    color:#0b2347;
    font-weight:700;
}
.program-hry-stranka .program-hry-alt-form input[type="text"],
.program-hry-stranka .program-hry-alt-form input[type="number"],
.program-hry-stranka .program-hry-alt-form textarea,
.program-hry-stranka .program-hry-alt-form select,
.program-hry-stranka .program-hry-alt-akce select {
    box-sizing:border-box;
    width:100%;
    min-height:38px;
    padding:7px 10px;
    border:1px solid rgba(86,48,18,.42);
    border-radius:8px;
    background:rgba(255,248,219,.72);
    color:#0b2347;
    font:inherit;
    font-weight:400;
}
.program-hry-stranka .program-hry-alt-form textarea { min-height:150px; resize:vertical; }
.program-hry-stranka .program-hry-alt-form fieldset {
    display:grid;
    gap:7px;
    margin:0;
    padding:10px 12px;
    border:1px solid rgba(86,48,18,.28);
    border-radius:8px;
}
.program-hry-stranka .program-hry-alt-form fieldset legend {
    padding:0 5px;
    color:#0b315f;
    font-weight:800;
}
.program-hry-stranka .program-hry-alt-form fieldset label {
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:8px;
    font-weight:600;
}
.program-hry-stranka .program-hry-alt-radek {
    display:grid;
    grid-template-columns:minmax(220px,1fr) 105px 145px;
    gap:8px;
    align-items:center;
    margin-top:7px;
}
.program-hry-stranka .program-hry-alt-form > .program-hry-alt-radek:last-of-type,
.program-hry-stranka .program-hry-alt-form div:not([data-alt-pomucky]) > .program-hry-alt-radek {
    grid-template-columns:minmax(220px,1fr) 105px;
}
.program-hry-stranka .program-hry-alt-form > .program-hry-alt-ikona {
    justify-self:end;
}
.program-hry-stranka .program-hry-alt-ikona {
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.program-hry-stranka .program-hry-alt-ikona img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.program-hry-stranka .program-hry-alt-akce {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    align-items:center;
    gap:8px;
    margin-top:10px;
}
.program-hry-stranka .program-hry-alt-akce form {
    display:flex;
    align-items:center;
    gap:4px;
    margin:0;
}
.program-hry-stranka .program-hry-alt-akce form:first-child { min-width:min(100%, 420px); }
.program-hry-stranka .program-hry-alt-akce form:first-child select { flex:1 1 auto; }
@media (max-width:820px) {
    .program-hry-stranka .program-hry-alt-radek,
    .program-hry-stranka .program-hry-alt-form > .program-hry-alt-radek:last-of-type,
    .program-hry-stranka .program-hry-alt-form div:not([data-alt-pomucky]) > .program-hry-alt-radek { grid-template-columns:1fr; }
    .program-hry-stranka .program-hry-alt-akce { justify-content:flex-start; }
}

/* Program / Hernik - odpovedny za hru */
.program-hernik-stranka .program-hernik-hra-odpovedny {
    max-width:430px;
}
.program-hernik-stranka .program-hernik-hra-odpovedny select {
    width:100%;
    min-height:38px;
}

/* Program / Hernik - kompaktni zajmova centra a sportovni aktivity */
.program-hernik-stranka .program-hernik-normalni.je-kompaktni-seznam {
    margin-top:4px;
}
.program-hernik-stranka .program-hernik-vybrane-hry.je-kompaktni-seznam {
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:5px 6px;
}
.program-hernik-stranka .program-hernik-vybrana-hra.je-kompaktni {
    display:flex;
    flex:0 0 auto;
    gap:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
}
.program-hernik-stranka .program-hernik-vybrana-hra.je-kompaktni.je-editovana {
    flex:1 0 100%;
    max-width:720px;
}
.program-hernik-stranka .program-hernik-vybrana-hra.je-kompaktni .program-hernik-vybrana-hra-hlavicka {
    min-height:30px;
    padding:2px 3px 2px 10px;
    border:1px solid rgba(86,48,18,.28);
    border-radius:999px;
    background:rgba(255,248,219,.72);
    gap:5px;
}
.program-hernik-stranka .program-hernik-vybrana-hra.je-kompaktni .program-hernik-vybrana-hra-hlavicka > strong {
    font-size:.89rem;
    white-space:nowrap;
}
.program-hernik-stranka .program-hernik-hra-akce {
    display:inline-flex;
    align-items:center;
    gap:1px;
}
.program-hernik-stranka .program-hernik-vybrana-hra.je-kompaktni .program-hernik-radek-smazat,
.program-hernik-stranka .program-hernik-vybrana-hra.je-kompaktni .program-hernik-kompaktni-upravit {
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    min-height:26px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.program-hernik-stranka .program-hernik-vybrana-hra.je-kompaktni .program-hernik-radek-smazat img,
.program-hernik-stranka .program-hernik-vybrana-hra.je-kompaktni .program-hernik-kompaktni-upravit img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.program-hernik-stranka .program-hernik-hra-editor {
    display:grid;
    gap:8px;
}
.program-hernik-stranka .program-hernik-hra-editor[hidden] {
    display:none !important;
}
.program-hernik-stranka .program-hernik-vybrana-hra.je-kompaktni .program-hernik-hra-editor {
    margin-top:6px;
    padding:8px 10px;
    border:1px solid rgba(86,48,18,.2);
    border-radius:8px;
    background:rgba(255,248,219,.42);
}
.program-hernik-stranka .program-hernik-vybrana-hra.je-kompaktni:not(.je-editovana) {
    justify-self:start;
    width:auto;
}

/* ========================================================================== */
/* 2026-08-26: PROGRAM-HERNIK-TISK-1 – horní téma + kompaktní tisk her       */
/* ========================================================================== */
.program-hernik-stranka .program-hernik-horni-radek {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    min-height:58px;
    margin:12px 0 14px;
    flex-wrap:wrap;
}
.program-hernik-stranka .program-hernik-horni-radek form.rok-vyber {
    margin:0 !important;
    flex:0 1 300px !important;
}
.program-hernik-stranka .program-hernik-tema-horni {
    display:flex;
    align-items:center;
    gap:7px;
    flex:0 1 220px;
    min-width:170px;
    margin:0;
    color:#0b315f;
    font-weight:800;
}
.program-hernik-stranka .program-hernik-tema-horni > span {
    flex:0 0 auto;
    font-size:.88rem;
}
.program-hernik-stranka .program-hernik-tema-horni input {
    width:100%;
    min-width:0;
    height:42px;
    min-height:42px;
    padding:7px 10px;
    border:1px solid rgba(86,48,18,.48);
    border-radius:10px;
    background:rgba(255,244,204,.78);
}
.program-hernik-stranka .program-hernik-tema-horni strong {
    display:flex;
    align-items:center;
    min-height:42px;
    padding:7px 10px;
    border:1px solid rgba(86,48,18,.34);
    border-radius:10px;
    background:rgba(255,244,204,.5);
    color:#0b2347;
    font-weight:800;
}
.program-hernik-stranka .program-hernik-tisk-ikona,
.program-hernik-stranka a.program-hernik-tisk-ikona {
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    flex:0 0 34px;
    width:34px !important;
    min-width:34px !important;
    height:34px !important;
    min-height:34px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    text-decoration:none !important;
}
.program-hernik-stranka .program-hernik-tisk-ikona img {
    display:block;
    width:34px;
    height:34px;
    object-fit:contain;
}
.program-hernik-stranka .program-hernik-tisk-ikona:hover img { transform:translateY(-1px); }
.program-hernik-stranka .program-hernik-tisk-ikona:focus-visible {
    outline:2px solid #0b2b57;
    outline-offset:2px;
}
@media (max-width:680px) {
    .program-hernik-stranka .program-hernik-tema-horni { flex:1 1 190px; }
}

/* Samostatný bílý A4 výstup Herníku. */
html:has(body.program-hernik-tisk-stranka) {
    background:#e8ebef;
}
body.program-hernik-tisk-stranka {
    margin:0;
    min-height:100vh;
    background:#e8ebef;
    color:#1d2733;
    font-family:Arial, Helvetica, sans-serif;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
}
.program-hernik-tisk-dokument { margin:0; }
.program-hernik-tisk-den {
    box-sizing:border-box;
    width:210mm;
    min-height:297mm;
    margin:14px auto;
    padding:10mm 11mm;
    background:#fff;
    box-shadow:0 2px 20px rgba(24,35,48,.15);
}
.program-hernik-tisk-den-hlavicka {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:8mm;
    margin:0 0 4mm;
    padding:0 0 2.5mm;
    border-bottom:1.2mm solid #173f70;
}
.program-hernik-tisk-den-hlavicka span {
    display:block;
    margin:0 0 .8mm;
    color:#7a4d19;
    font-size:8pt;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.program-hernik-tisk-den-hlavicka h1 {
    margin:0;
    color:#173f70;
    font-family:Georgia, 'Times New Roman', serif;
    font-size:16pt;
    line-height:1.05;
}
.program-hernik-tisk-den-hlavicka > p {
    margin:0 0 .5mm;
    color:#5f6873;
    font-size:8.2pt;
    font-weight:700;
    white-space:nowrap;
}
.program-hernik-tisk-hry {
    display:grid;
    gap:3mm;
}
.program-hernik-tisk-hra {
    --hernik-tisk-barva:#476d97;
    overflow:hidden;
    border:.35mm solid #ced6df;
    border-left:1.7mm solid var(--hernik-tisk-barva);
    border-radius:2.2mm;
    background:#fff;
    break-inside:avoid-page;
}
.program-hernik-tisk-hra.typ-zajmova_centra { --hernik-tisk-barva:#6f8d3a; }
.program-hernik-tisk-hra.typ-sportovni_aktivity { --hernik-tisk-barva:#b36c2c; }
.program-hernik-tisk-hra.typ-dva_tymy { --hernik-tisk-barva:#526bb0; }
.program-hernik-tisk-hra.typ-etapove_hry { --hernik-tisk-barva:#704e98; }
.program-hernik-tisk-hra.typ-minihry { --hernik-tisk-barva:#a24d63; }
.program-hernik-tisk-hra.typ-vecerni_program { --hernik-tisk-barva:#38466f; }
.program-hernik-tisk-hra.typ-nocni_hry { --hernik-tisk-barva:#29344f; }
.program-hernik-tisk-hra.typ-rozrazeni { --hernik-tisk-barva:#3a8278; }
.program-hernik-tisk-hra-jen-nazev {
    padding:1.35mm 2.4mm 1.3mm;
    background:#f5f7f9;
}
.program-hernik-tisk-hra-jen-nazev h2 {
    margin:0;
    color:#152f52;
    font-family:Georgia, 'Times New Roman', serif;
    font-size:9.6pt;
    line-height:1.08;
}
.program-hernik-tisk-hra-hlavicka {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:3mm 5mm;
    align-items:center;
    padding:2.1mm 2.6mm 1.9mm;
    background:#f2f5f8;
    border-bottom:.25mm solid #d8dee5;
}
.program-hernik-tisk-hra-hlavicka h2 {
    margin:0;
    color:#152f52;
    font-family:Georgia, 'Times New Roman', serif;
    font-size:11.4pt;
    line-height:1.08;
}
.program-hernik-tisk-hra-hlavicka > div > span {
    display:inline-block;
    margin-top:.8mm;
    color:var(--hernik-tisk-barva);
    font-size:7.4pt;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.035em;
}
.program-hernik-tisk-hra-hlavicka dl {
    display:flex;
    align-items:stretch;
    gap:0;
    margin:0;
    color:#263748;
}
.program-hernik-tisk-hra-hlavicka dl > div {
    min-width:20mm;
    padding:0 2.2mm;
    border-left:.25mm solid #d0d8e1;
}
.program-hernik-tisk-hra-hlavicka dt {
    margin:0 0 .5mm;
    color:#6e7780;
    font-size:6.7pt;
    font-weight:700;
    line-height:1;
    text-transform:uppercase;
}
.program-hernik-tisk-hra-hlavicka dd {
    margin:0;
    color:#1b324e;
    font-size:8.2pt;
    font-weight:800;
    line-height:1.12;
    white-space:nowrap;
}
.program-hernik-tisk-hra-obsah {
    display:grid;
    grid-template-columns:minmax(0, .82fr) minmax(0, 1.18fr);
}
.program-hernik-tisk-hra-obsah > section {
    min-width:0;
    padding:2.2mm 2.6mm 2.4mm;
}
.program-hernik-tisk-hra-obsah > section + section {
    border-left:.25mm solid #e0e4e9;
}
.program-hernik-tisk-hra-obsah h3 {
    margin:0 0 1mm;
    color:var(--hernik-tisk-barva);
    font-size:7.4pt;
    font-weight:900;
    letter-spacing:.025em;
    text-transform:uppercase;
}
.program-hernik-tisk-richtext,
.program-hernik-tisk-pomucky,
.program-hernik-tisk-prazdna-hodnota {
    color:#202a34;
    font-size:8.25pt;
    line-height:1.24;
}
.program-hernik-tisk-richtext p,
.program-hernik-tisk-pomucky,
.program-hernik-tisk-prazdna-hodnota {
    margin:0 0 1.1mm;
}
.program-hernik-tisk-richtext p:last-child,
.program-hernik-tisk-pomucky:last-child,
.program-hernik-tisk-prazdna-hodnota:last-child { margin-bottom:0; }
.program-hernik-tisk-richtext ul,
.program-hernik-tisk-richtext ol {
    margin:.6mm 0 1mm 4mm;
    padding-left:3mm;
}
.program-hernik-tisk-richtext li { margin:.25mm 0; }
.program-hernik-tisk-pomucky strong { color:#173f70; }
.program-hernik-tisk-prazdna-hodnota { color:#8c949b; }
.program-hernik-tisk-prazdny {
    width:min(640px, calc(100% - 32px));
    margin:60px auto;
    padding:28px 32px;
    border-radius:10px;
    background:#fff;
    box-shadow:0 2px 18px rgba(24,35,48,.14);
}
.program-hernik-tisk-prazdny h1 { margin-top:0; color:#173f70; }

@media print {
    html:has(body.program-hernik-tisk-stranka),
    body.program-hernik-tisk-stranka { background:#fff !important; }
    .program-hernik-tisk-den {
        width:auto;
        min-height:0;
        margin:0;
        padding:0;
        box-shadow:none;
        break-before:page;
        page-break-before:always;
    }
    .program-hernik-tisk-den:first-child {
        break-before:auto;
        page-break-before:auto;
    }
    .program-hernik-tisk-hra {
        box-decoration-break:clone;
        -webkit-box-decoration-break:clone;
    }
}

/* Herník tisk – příběh dne, příběhy ke hrám a scénky. */
.program-hernik-tisk-pribeh-dne {
    margin:0 0 3mm;
    padding:2mm 2.6mm 2.2mm;
    border:.3mm solid #d8c9aa;
    border-left:1.4mm solid #b18a48;
    border-radius:2mm;
    background:#fbf8f1;
    break-inside:avoid-page;
}
.program-hernik-tisk-pribeh-dne h2,
.program-hernik-tisk-scenka h2 {
    margin:0 0 .8mm;
    color:#7a4d19;
    font-size:7.4pt;
    font-weight:900;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.program-hernik-tisk-pribeh-dne p,
.program-hernik-tisk-scenka p,
.program-hernik-tisk-pribeh-hry {
    margin:0;
    color:#28313a;
    font-size:8.15pt;
    line-height:1.24;
}
.program-hernik-tisk-scenka {
    padding:1.8mm 2.5mm 2mm;
    border:.3mm solid #cfd8e1;
    border-left:1.5mm solid #8a5d9f;
    border-radius:2mm;
    background:#f8f5fa;
    break-inside:avoid-page;
}
.program-hernik-tisk-scenka header {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:4mm;
    margin:0 0 .7mm;
}
.program-hernik-tisk-scenka header h2 { margin:0; color:#704e98; }
.program-hernik-tisk-scenka header span {
    color:#5f6873;
    font-size:7.4pt;
    font-weight:800;
}
.program-hernik-tisk-hra-jen-nazev .program-hernik-tisk-pribeh-hry {
    margin-top:1mm;
    padding-top:1mm;
    border-top:.2mm solid #dce2e7;
}
.program-hernik-tisk-pribeh-hry-plny {
    padding:1.7mm 2.6mm 1.9mm;
    border-bottom:.25mm solid #e0e4e9;
    background:#fbfcfd;
}
.program-hernik-tisk-pribeh-hry-plny strong { color:var(--hernik-tisk-barva); }


/* ========================================================================== */
/* PROGRAM-REZIM-DNE-TISKY-2: ilustrovane tiskove ikony                      */
/* 2026-08-26                                                                 */
/* ========================================================================== */
.program-rezim-dne-stranka .program-rezim-horni-radek {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.program-rezim-dne-stranka .program-rezim-horni-akce {
    margin-left:auto;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    min-width:0;
}
.program-rezim-dne-stranka .program-rezim-tisky {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
    flex:0 0 auto;
}
.program-rezim-dne-stranka .program-rezim-tisk-volba {
    display:flex;
    align-items:center;
    justify-content:center;
    width:82px;
    height:82px;
    padding:0;
    border:0;
    background:transparent;
    text-decoration:none;
    transition:transform .14s ease, filter .14s ease;
}
.program-rezim-dne-stranka .program-rezim-tisk-volba:hover,
.program-rezim-dne-stranka .program-rezim-tisk-volba:focus-visible {
    transform:translateY(-2px) scale(1.035);
    filter:drop-shadow(0 3px 4px rgba(57,35,12,.20));
    outline:none;
}
.program-rezim-dne-stranka .program-rezim-tisk-volba img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
@media (max-width:980px) {
    .program-rezim-dne-stranka .program-rezim-horni-radek { align-items:stretch; flex-direction:column; }
    .program-rezim-dne-stranka .program-rezim-horni-akce { width:100%; margin-left:0; justify-content:space-between; }
    .program-rezim-dne-stranka .program-rezim-tisk-volba { width:72px; height:72px; }
}
@media (max-width:620px) {
    .program-rezim-dne-stranka .program-rezim-horni-akce { align-items:flex-start; flex-direction:column; }
    .program-rezim-dne-stranka .program-rezim-tisky { width:100%; justify-content:flex-start; }
}


/* Program / Tisky -------------------------------------------------------- */
.program-tisky-stranka .program-tisky-horni-radek {display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0 0 14px;}
.program-tisky-stranka .program-tisky-horni-radek form.rok-vyber{margin:0;}
.program-tisky-stranka .program-tisky-sekce{margin:0 0 20px;}
.program-tisky-stranka .program-tisky-sekce>h2{margin:0 0 7px;font-size:1.08rem;}
.program-tisky-stranka .program-tisky-seznam{display:flex;flex-direction:column;gap:7px;}
.program-tisky-stranka .program-tisky-polozka{display:grid;grid-template-columns:170px 200px 210px 82px 82px;grid-template-areas:"identita navrh pdf mnozstvi akce" "barevnost strany tiskne hotovo akce" "mail mail mail mail mail";column-gap:9px;row-gap:6px;align-items:end;justify-content:start;width:100%;min-width:0;box-sizing:border-box;padding:8px 10px;border:1px solid rgba(57,42,24,.28);border-radius:7px;background:rgba(255,248,224,.48);}
.program-tisky-stranka .program-tisky-polozka.je-hotovo{opacity:.68;}
.program-tisky-stranka .program-tisky-identita{grid-area:identita;align-self:center;display:flex;flex-direction:column;min-width:0;}
.program-tisky-stranka .program-tisky-navrh{grid-area:navrh;max-width:200px;}
.program-tisky-stranka .program-tisky-pdf{grid-area:pdf;max-width:210px;}
.program-tisky-stranka .program-tisky-mnozstvi{grid-area:mnozstvi;max-width:72px;}
.program-tisky-stranka .program-tisky-barevnost{grid-area:barevnost;max-width:140px;}
.program-tisky-stranka .program-tisky-strany{grid-area:strany;max-width:150px;}
.program-tisky-stranka .program-tisky-tiskne{grid-area:tiskne;max-width:190px;}
.program-tisky-stranka .program-tisky-identita strong{font-size:.94rem;line-height:1.15;}
.program-tisky-stranka .program-tisky-identita span,.program-tisky-stranka .program-tisky-pole>span,.program-tisky-stranka .program-tisky-mail-info{font-size:.72rem;line-height:1.15;opacity:.76;}
.program-tisky-stranka .program-tisky-pole{display:flex;flex-direction:column;gap:3px;min-width:0;margin:0;}
.program-tisky-stranka .program-tisky-pole input,.program-tisky-stranka .program-tisky-pole select{width:100%;min-width:0;max-width:100%;height:32px;min-height:32px;box-sizing:border-box;margin:0;padding:4px 7px;border-radius:4px;font-size:.84rem;line-height:1.1;}
.program-tisky-stranka .program-tisky-pole select{padding-right:29px;background-image:url('/assets/img/ikona-akce-rozbalit.png?v=20260826-program-tisky-kompakt-1');background-repeat:no-repeat;background-position:right 5px center;background-size:18px 18px;appearance:none;-webkit-appearance:none;}
.program-tisky-stranka .program-tisky-navrh a,.program-tisky-stranka .program-tisky-pdf a{font-size:.72rem;line-height:1.15;}
.program-tisky-stranka .program-tisky-pdf input[type="file"]{min-width:0;max-width:100%;height:32px;padding:2px 4px;font-size:.72rem;line-height:1;}
.program-tisky-stranka .program-tisky-pdf input[type="file"]::file-selector-button{height:25px;margin:0 6px 0 0;padding:2px 7px;border:1px solid rgba(94,67,30,.48);border-radius:3px;background:rgba(255,249,224,.92);color:#23170b;font:inherit;cursor:pointer;}
.program-tisky-stranka .program-tisky-hotovo{grid-area:hotovo;align-self:end;display:flex;align-items:center;gap:5px;min-height:32px;margin:0;font-size:.88rem;white-space:nowrap;}
.program-tisky-stranka .program-tisky-hotovo input{margin:0;}
.program-tisky-stranka .program-tisky-akce{grid-area:akce;align-self:center;justify-self:start;display:flex;align-items:center;justify-content:flex-start;gap:4px;min-width:0;}
.program-tisky-stranka .program-tisky-akce .ikona-akce,.program-tisky-stranka .program-tisky-akce button.ikona-akce{width:38px!important;height:38px!important;}
.program-tisky-stranka .program-tisky-mail{grid-area:mail;margin:1px 0 0;}
.program-tisky-stranka .program-tisky-mail>summary{display:inline-flex;align-items:center;gap:5px;cursor:pointer;width:max-content;max-width:100%;font-size:.88rem;font-weight:700;list-style:none;}
.program-tisky-stranka .program-tisky-mail>summary::-webkit-details-marker{display:none;}
.program-tisky-stranka .program-tisky-mail>summary::before{content:"";display:block;width:18px;height:18px;flex:0 0 18px;background:url('/assets/img/ikona-akce-rozbalit.png?v=20260826-program-tisky-kompakt-1') center/contain no-repeat;transform:rotate(-90deg);transition:transform 120ms ease;}
.program-tisky-stranka .program-tisky-mail[open]>summary::before{transform:rotate(0deg);}
.program-tisky-stranka .program-tisky-mail-vnitrni{display:flex;align-items:center;gap:9px;margin-top:6px;}
.program-tisky-stranka .program-tisky-mail-vnitrni .tlacitko{width:auto;min-height:30px;padding:5px 10px;font-size:.82rem;}
.program-tisky-stranka .program-tisky-prazdne{margin:0;opacity:.72;}
@media(max-width:980px){.program-tisky-stranka .program-tisky-polozka{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"identita identita" "navrh pdf" "mnozstvi barevnost" "strany tiskne" "hotovo akce" "mail mail";}.program-tisky-stranka .program-tisky-navrh,.program-tisky-stranka .program-tisky-pdf,.program-tisky-stranka .program-tisky-mnozstvi,.program-tisky-stranka .program-tisky-barevnost,.program-tisky-stranka .program-tisky-strany,.program-tisky-stranka .program-tisky-tiskne{max-width:100%;}}
@media(max-width:620px){.program-tisky-stranka .program-tisky-polozka{grid-template-columns:1fr;grid-template-areas:"identita" "navrh" "pdf" "mnozstvi" "barevnost" "strany" "tiskne" "hotovo" "akce" "mail";}.program-tisky-stranka .program-tisky-mail-vnitrni{align-items:flex-start;flex-direction:column;}}

/* Program / Tisky – skutecna responzivita 2026-08-30
   Mobilni a tabletove rozlozeni pouziva mrizku vyse; desktopova kompozice se uz neskaluje transformem. */
