/* Barvy z loga ProPhysio. Primárně pro počítač v pobočce, na mobilu menší verze téhož. */
:root {
  --znacka: #fc6064;
  --hlavni: #d23a40;
  --hlavni-hover: #b92f35;
  --pozadi: #f6f7f9;
  --plocha: #ffffff;
  --text: #1f2430;
  --tlumene: #667085;
  --linka: #e6e8ec;
  --ok: #1a7f37;
  --ok-pozadi: #e7f5ec;
  --varovani: #8a5a00;
  --varovani-pozadi: #fff5dd;
  --chyba: #b42318;
  --chyba-pozadi: #fdecea;
  --zaobleni: 10px;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--pozadi); color: var(--text); font: 14px/1.45 "Segoe UI", "Open Sans", system-ui, sans-serif; }
a { color: var(--hlavni); text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { font-size: 20px; margin: 0; font-weight: 600; }
h2 { font-size: 14px; margin: 0 0 10px; font-weight: 600; }

/* Rozložení */
.aplikace { display: grid; grid-template-columns: 228px minmax(0, 1fr); min-height: 100vh; }
.bocni { position: sticky; top: 0; height: 100vh; overflow-y: auto; display: flex; flex-direction: column; gap: 14px; padding: 14px 10px; background: var(--plocha); border-right: 1px solid var(--linka); }
.znacka { display: inline-flex; flex-direction: column; align-items: flex-end; align-self: flex-start; padding: 4px 6px 2px; color: var(--text); }
.znacka:hover { text-decoration: none; }
.znacka img { display: block; width: 132px; height: auto; }
/* „Hub“ pod logem: malé, prostrkané, v tlumené barvě loga, zarovnané pod konec slova Physio. */
.znacka span { margin-top: -3px; padding-right: 3px; font-size: 12px; font-weight: 700; letter-spacing: 0.34em; text-transform: uppercase; color: #e5787c; }
.menu { display: flex; flex-direction: column; gap: 1px; }
.menu a { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border-radius: 8px; color: #3c4453; }
.menu a:hover { background: var(--pozadi); text-decoration: none; }
.menu a.aktivni { background: #eceef2; color: var(--text); font-weight: 600; }
.menu svg { flex: none; width: 18px; height: 18px; fill: none; stroke: var(--znacka); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.bocni-pata { margin-top: auto; display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 2px 0; border-top: 1px solid var(--linka); }
.bocni-pata form { margin: 0; }
.maly { display: inline-block; font-size: 13px; padding: 5px 10px; border: 1px solid var(--linka); border-radius: 8px; background: #fff; color: #3c4453; }
.obsah { padding: 22px 28px 56px; min-width: 0; max-width: 1720px; }
.hlava { display: flex; flex-wrap: wrap; gap: 10px 28px; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.podnadpis { color: var(--tlumene); margin: 2px 0 0; }
.tecka { display: inline-block; width: 10px; height: 10px; margin-right: 8px; border-radius: 50%; background: var(--znacka); vertical-align: 1px; }
.uzka { max-width: 1120px; }

/* Karty a tabulky */
.karta { background: var(--plocha); border: 1px solid var(--linka); border-radius: var(--zaobleni); padding: 16px 18px; margin-bottom: 16px; }
.karta > .tabulka { margin: 0 -18px -16px; width: calc(100% + 36px); border-top: 1px solid var(--linka); }
.tabulka { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; background: var(--plocha); }
th, td { padding: 8px 10px; border-bottom: 1px solid var(--linka); text-align: left; vertical-align: top; }
th { font-size: 12px; color: var(--tlumene); font-weight: 500; white-space: nowrap; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover td { background: #f7f8fa; }
td.cislo, th.cislo { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
td.datum { white-space: nowrap; }
.prazdne { color: var(--tlumene); padding: 18px; text-align: center; }
.souhrn { margin: 0; }
.souhrn > div { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; border-bottom: 1px solid #f0f1f4; }
.souhrn dt { color: var(--tlumene); }
.souhrn dd { margin: 0; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* Formuláře */
input, select, textarea { font: inherit; color: inherit; padding: 6px 8px; border: 1px solid #dfe2e7; border-radius: 8px; background: #fff; max-width: 100%; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--znacka); outline-offset: -1px; }
label { display: block; font-size: 12px; color: var(--tlumene); margin-bottom: 3px; }
.pole { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px 16px; }
.pole > div > input, .pole > div > select { width: 100%; }
.zapis-terapie { display: grid; grid-template-columns: 140px 1.2fr 1fr 1.4fr 1fr 100px 2fr auto; gap: 10px 12px; align-items: end; }
.zapis-terapie > div > input, .zapis-terapie > div > select { width: 100%; }
.evidence-rozlozeni { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 18px; align-items: start; }
.vyber-mesice { display: flex; gap: 8px; align-items: center; margin: 0; }
.radek-pristupu { display: grid; grid-template-columns: minmax(180px, 1fr) auto; gap: 12px; align-items: center; margin: 0; }

/* Tlačítka */
button, .tlacitko { font: inherit; padding: 6px 13px; border: 1px solid #dfe2e7; border-radius: 8px; background: #fff; color: var(--text); cursor: pointer; display: inline-block; white-space: nowrap; }
button:hover, .tlacitko:hover { border-color: var(--hlavni); color: var(--hlavni); text-decoration: none; }
button.hlavni { background: var(--hlavni); border-color: var(--hlavni); color: #fff; }
button.hlavni:hover { background: var(--hlavni-hover); border-color: var(--hlavni-hover); color: #fff; }
button.nebezpecne { color: var(--chyba); border-color: #e6b4af; }
button.nebezpecne:hover { background: var(--chyba-pozadi); }
.akce { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.odsazeny { margin-top: 14px; }

/* Zprávy */
.zprava { padding: 9px 13px; border-radius: var(--zaobleni); margin-bottom: 12px; background: var(--ok-pozadi); color: var(--ok); }
.zprava.error { background: var(--chyba-pozadi); color: var(--chyba); }
.upozorneni { padding: 10px 14px; border-radius: var(--zaobleni); margin: 0 0 14px; background: var(--varovani-pozadi); color: var(--varovani); }
.chyba, .errorlist { color: var(--chyba); font-size: 12px; list-style: none; padding: 0; margin: 3px 0; }

/* Přihlášení */
.prihlaseni-stranka { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--pozadi); padding: 16px; }
.prihlaseni { width: 100%; max-width: 340px; background: var(--plocha); border: 1px solid var(--linka); padding: 26px; border-radius: var(--zaobleni); }
.prihlaseni h1 { margin-bottom: 16px; }
.prihlaseni input { width: 100%; margin-bottom: 12px; }
.prihlaseni button { width: 100%; }
.prihlaseni button + button { margin-top: 8px; }
.prihlaseni-stranka { flex-direction: column; gap: 10px; }
.prihlaseni .zaskrtnuti { display: flex; align-items: center; gap: 8px; margin-bottom: 2px; }
.prihlaseni .zaskrtnuti input { width: auto; margin: 0; }
.prihlaseni p.maly { font-size: 12px; color: var(--tlumene); margin: 0 0 12px; }

/* Fyzioterapeutky */
.skryte { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lide-rozlozeni { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 16px; align-items: start; max-width: 1400px; }
.seznam-lidi { padding: 6px; display: flex; flex-direction: column; gap: 2px; margin-bottom: 0; }
.seznam-lidi a { display: block; padding: 8px 10px; border-radius: 8px; color: var(--text); }
.seznam-lidi a:hover { background: var(--pozadi); text-decoration: none; }
.seznam-lidi a.zvolena { background: #eceef2; }
.seznam-lidi .jmeno { display: block; font-weight: 600; }
.seznam-lidi .jmeno.neaktivni { color: var(--tlumene); font-weight: 500; }
.seznam-lidi .podnadpis { display: block; font-size: 12px; margin: 0; }
.stitek { display: inline-block; margin: 4px 4px 0 0; padding: 1px 8px; border-radius: 999px; background: var(--varovani-pozadi); color: var(--varovani); font-size: 12px; font-weight: 600; white-space: nowrap; }
.stitek.ok { background: var(--ok-pozadi); color: var(--ok); }
.stitek.sedy { background: #eceef2; color: #3c4453; }
.stitek.velky { margin: 0; padding: 3px 10px; font-size: 13px; }
.mrizka-karet { display: grid; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: 0 16px; }
.hlavicka-karty { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.hlavicka-karty .stitek { margin-top: 6px; }
.roztazeny { flex: 1 1 220px; min-width: 0; }
.nadpis-karty { font-size: 18px; margin: 0; }
.inicialy { flex: none; width: 56px; height: 56px; border-radius: 50%; background: #fde3e4; color: var(--hlavni); display: grid; place-items: center; font-weight: 700; font-size: 18px; }
.pole.dve { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pole.ucet { grid-template-columns: minmax(0, 1fr) 96px; }
.pole .cela { grid-column: 1 / -1; }
.pole > div > textarea { width: 100%; }
.s-tlacitkem { display: flex; gap: 8px; }
.s-tlacitkem input { flex: 1 1 auto; min-width: 0; }
.odkryto { margin-top: 4px; padding: 6px 8px; border-radius: 8px; background: var(--varovani-pozadi); font-variant-numeric: tabular-nums; letter-spacing: 0.03em; }
.napoveda { font-size: 12px; color: var(--tlumene); margin: 4px 0 0; }
.popisek { display: block; font-size: 12px; color: var(--tlumene); margin-bottom: 3px; }
.hodnota { padding: 6px 0; }
.zaskrtnuti { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--text); margin: 22px 0 0; }
.zaskrtnuti input { width: auto; margin: 0; }
.radky-udaju { margin: 0; }
.radky-udaju > div { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-bottom: 1px solid #f0f1f4; font-size: 13px; }
.radky-udaju > div:last-child { border-bottom: 0; }
.radky-udaju dt { color: var(--tlumene); }
.radky-udaju dt.text { color: var(--text); }
.radky-udaju dd { margin: 0; text-align: right; }
.mala-hlava { margin-bottom: 10px; }
.mala-hlava h2 { margin: 0; }
.spoluprace { border: 1px solid var(--linka); border-radius: var(--zaobleni); padding: 12px 14px; margin-bottom: 12px; }
.spoluprace.skoncena { background: #fafbfc; }
.spoluprace-hlava { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 6px; }
.spoluprace-hlava .stitek { margin: 0; }

/* Pobočky, platby, služby a fyzioterapeutky barevně. Barva vždy jen doplňuje text. */
:root { --raisova: #3aa6c4; --raisova-svetla: #e8f5f9; --bulharska: #fe6367; --bulharska-svetla: #fff0f0; }
.menu a.pob-raisova svg { stroke: var(--raisova); }
.menu a.pob-bulharska svg { stroke: var(--bulharska); }
.evidence.pobocka-raisova .tecka { background: var(--raisova); }
.evidence.pobocka-bulharska .tecka { background: var(--bulharska); }
.evidence.pobocka-raisova .karta { border-top: 3px solid var(--raisova-svetla); }
.evidence.pobocka-bulharska .karta { border-top: 3px solid var(--bulharska-svetla); }
.pobocka-stitek { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.pobocka-stitek::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #a3abb8; }
.pobocka-stitek.raisova::before { background: var(--raisova); }
.pobocka-stitek.bulharska::before { background: var(--bulharska); }
.platba { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; background: #eceef2; color: #3c4453; }
.platba.pl-hotovost { background: #e7f5ec; color: #1a7f37; }
.platba.pl-karta { background: #e6effa; color: #1d5fae; }
.platba.pl-qr { background: #efedfb; color: #4b3db8; }
.platba.pl-poukaz { background: #fff5dd; color: #8a5a00; }
.platba.pl-faktura { background: #e6f4f7; color: #1d6f84; }
.platba.pl-prodej { background: #fde8f0; color: #a8355f; }
.sluzba { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.sluzba::before { content: ""; width: 4px; height: 14px; border-radius: 2px; background: #a3abb8; }
.sluzba.sl-fyzio::before { background: var(--znacka); }
.sluzba.sl-deti::before { background: #eda100; }
.sluzba.sl-tejp::before { background: #e87ba4; }
.tecka-osoby { display: inline-block; width: 9px; height: 9px; margin-right: 7px; border-radius: 50%; vertical-align: 0; }
td.osoba { white-space: nowrap; }
.tlumene { color: var(--tlumene); }
td.poznamka { color: #3c4453; font-size: 13px; }
table.zapisy tr.oddel-den td { padding: 0; border-bottom: 2px solid #eceef2; }
.fotka { flex: none; display: inline-block; border-radius: 50%; object-fit: cover; vertical-align: middle; }
.inicialy-male { display: inline-grid; place-items: center; color: #fff; font-weight: 700; }
.nadpis-s-fotkou { display: flex; align-items: center; gap: 10px; }
.nadpis-s-fotkou .tecka { margin-right: 0; }
.souhrn.s-fotkou dt { display: flex; align-items: center; gap: 8px; color: var(--text); }
.souhrn.s-fotkou > div { align-items: center; }
.portal-jako { margin-top: auto; padding: 8px 2px 0; border-top: 1px solid var(--linka); font-size: 13px; }
.portal-jako summary { cursor: pointer; padding: 2px 8px; color: var(--tlumene); }
.portal-jako form { margin: 6px 0 0; padding: 0 2px; }
.portal-jako select { font-size: 13px; }
.portal-jako .napoveda { padding: 0 2px; }
.portal-jako + .bocni-pata { margin-top: 0; }
.vyber-mesice { flex-wrap: wrap; }
.vyber-mesice .rychle { display: flex; gap: 4px; }
.tlacitko.hlavni { background: var(--hlavni); border-color: var(--hlavni); color: #fff; }
.tlacitko.hlavni:hover { background: var(--hlavni-hover); color: #fff; }

.osoba-radek { display: flex; gap: 10px; align-items: flex-start; }
.seznam-lidi a { display: flex; gap: 10px; align-items: flex-start; }
.seznam-lidi .text-osoby { min-width: 0; }
.tecka-osoby.velka { width: 14px; height: 14px; margin: 0; align-self: center; flex: none; }
code.heslo { font-size: 14px; padding: 2px 6px; border-radius: 6px; background: var(--pozadi); letter-spacing: 0.03em; }
.fotka-formular { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.fotka-formular input[type=file] { max-width: 220px; font-size: 12px; }

/* Odměny */
.vysvetleni { margin: 0 0 14px; padding: 10px 14px; border-radius: var(--zaobleni); background: var(--plocha); border: 1px solid var(--linka); color: #3c4453; }
.karta-tabulka { padding-top: 6px; }
table.odmeny td { vertical-align: middle; }
table.odmeny tfoot th { font-size: 14px; color: var(--text); font-weight: 600; border-bottom: 0; }
input.castka { width: 92px; text-align: right; font-variant-numeric: tabular-nums; }
input.duvod { width: 100%; min-width: 160px; }
.pobocky-klienti { font-size: 12px; color: var(--tlumene); white-space: nowrap; }
.tecka.raisova { background: #3aa6c4; width: 7px; height: 7px; margin-right: 3px; }
.tecka.bulharska { background: #fe6367; width: 7px; height: 7px; margin-right: 3px; }
td.doplatek { color: var(--varovani); }
button.siroke { width: 100%; }
button:disabled { opacity: 0.5; cursor: not-allowed; }
.tlacitko.siroke { display: block; text-align: center; }
.zprava.warning { background: var(--varovani-pozadi); color: var(--varovani); }

/* Kalendář poboček */
.prepinac { display: flex; gap: 4px; padding: 3px; border-radius: 10px; background: #eceef2; }
.prepinac a { display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px; border: 1px solid transparent; border-radius: 8px; color: #3c4453; }
.prepinac a:hover { text-decoration: none; background: rgba(255, 255, 255, 0.6); }
.prepinac a i { width: 9px; height: 9px; border-radius: 50%; background: #a3abb8; }
.prepinac a.raisova i { background: var(--raisova); }
.prepinac a.bulharska i { background: var(--bulharska); }
.prepinac a.zvolena { font-weight: 600; color: var(--text); background: #fff; border-color: #dfe2e7; }
.prepinac a.raisova.zvolena { background: #dff0f5; border-color: #b5dbe7; color: #1d6a80; }
.prepinac a.bulharska.zvolena { background: #ffe5e6; border-color: #f7c3c5; color: #a3343a; }
.listovani { display: flex; gap: 4px; }
.dlazdice { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 12px; }
.dlazdice > div { background: var(--plocha); border: 1px solid var(--linka); border-radius: var(--zaobleni); padding: 10px 14px; }
.dlazdice span { display: block; color: var(--tlumene); font-size: 13px; }
.dlazdice strong { display: block; font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; }
.dlazdice > div.pozor { background: var(--varovani-pozadi); border-color: #f0d9a8; }
.dlazdice > div.pozor span, .dlazdice > div.pozor strong { color: var(--varovani); }
.kal-rozlozeni { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; }
.kal-tyden { flex: 999 1 620px; min-width: 0; padding: 12px; }
.kal-bok { flex: 1 1 300px; min-width: 0; }
.kal-legenda { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 10px; font-size: 12px; color: #3c4453; }
.kal-legenda span { display: inline-flex; align-items: center; }
.kal-legenda .tecka-osoby { margin-right: 6px; }
.kal-legenda .vzor { width: 11px; height: 11px; margin-right: 6px; border-radius: 3px; box-sizing: border-box; }
.vzor.volno { border: 1px dashed var(--ok); background: #fff; }
.vzor.blok { background: #e3e5ea; }
.vzor.nic { border: 1px dashed #a3abb8; background: var(--pozadi); }
.kal-posuvnik { overflow-x: auto; }
.kal-mrizka { display: grid; gap: 4px; min-width: min-content; }
.kal-den { font-size: 13px; font-weight: 500; color: var(--tlumene); padding: 2px 4px; white-space: nowrap; }
.kal-den.dnes { font-weight: 700; color: var(--text); }
.kal-prostor { font-size: 11px; color: var(--tlumene); padding: 0 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kal-prostor.raisova::before, .kal-prostor.bulharska::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 50%; vertical-align: 1px; }
.kal-prostor.raisova::before { background: var(--raisova); }
.kal-prostor.bulharska::before { background: var(--bulharska); }
.prepinac a.obe i { background: linear-gradient(90deg, var(--raisova) 50%, var(--bulharska) 50%); }
.prepinac a.obe.zvolena { background: #fff; border-color: #dfe2e7; color: var(--text); }
.kal-hodina { font-size: 12px; color: var(--tlumene); padding-top: 6px; font-variant-numeric: tabular-nums; }
.kal-bunka { display: flex; flex-direction: column; justify-content: center; height: 52px; padding: 4px 7px; border-radius: 7px; border: 1px solid transparent; box-sizing: border-box; overflow: hidden; color: var(--text); }
.kal-bunka:hover { text-decoration: none; border-color: #a3abb8; }
.kal-bunka .kdo { display: flex; align-items: center; font-size: 12px; color: #3c4453; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-height: 16px; }
.kal-bunka .kdo .tecka-osoby { width: 8px; height: 8px; margin-right: 5px; flex: none; }
.kal-bunka .co { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kal-bunka.obsazeno { background: color-mix(in srgb, var(--b, #a3abb8) 16%, #fff); }
.kal-bunka.obsazeno .co { font-weight: 600; }
.kal-bunka.volno { background: #fff; border: 1px dashed var(--ok); }
.kal-bunka.volno .co { color: var(--ok); font-weight: 600; }
.kal-bunka.blok { background: #e3e5ea; }
.kal-bunka.blok .co { color: #3c4453; }
.kal-bunka.nic { background: var(--pozadi); border: 1px dashed #a3abb8; }
.kal-bunka.nic .co { color: #566072; }
.kal-bunka.kolize { background: var(--varovani-pozadi); border-color: #e3b65a; }
.kal-bunka.kolize .co { color: var(--varovani); font-weight: 600; }
.kal-bunka.minula { opacity: 0.55; }
.kal-bunka.zvolena { outline: 2px solid var(--text); outline-offset: 1px; opacity: 1; }
.kal-nadpis { font-size: 16px; margin: 2px 0 4px; }
.kal-pod-nadpisem { margin: 0 0 8px; }
.kal-bok p { margin: 0 0 10px; color: #3c4453; }
.kal-interval-den { display: flex; gap: 10px; padding: 8px 0; border-top: 1px solid #f0f1f4; }
.kal-interval-den .den { flex: 0 0 26px; font-weight: 600; }
.kal-interval-den .seznam { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.kal-interval { display: flex; align-items: center; gap: 6px; font-size: 13px; padding: 1px 4px; margin: 0 -4px; border-radius: 6px; }
.kal-interval.zvoleny { background: #eceef2; }
.kal-interval .tecka-osoby { width: 8px; height: 8px; margin: 0; flex: none; }
.kal-interval .cas { font-variant-numeric: tabular-nums; white-space: nowrap; }
.kal-interval .kdo { flex: 1 1 auto; min-width: 0; }
.kal-interval a { flex: none; }
.s-tlacitkem select { flex: 1 1 auto; min-width: 0; }

/* Portál terapeutky: Dnes */
.portal-den { max-width: 1180px; }
.den-tabulka { padding: 0; overflow: hidden; }
.den-zahlavi, .den-radek { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 8px 18px; }
.den-zahlavi { background: #fbfbfc; font-size: 12px; color: var(--tlumene); }
.den-pobocka { padding: 8px 18px; background: #fbfbfc; border-top: 1px solid var(--linka); }
.den-radek { min-height: 64px; border-top: 1px solid var(--linka); box-sizing: border-box; }
.den-radek.hotovo { background: #f1f9f3; }
.den-radek.doplnit { background: #fffaf0; }
.den-radek.neprisel, .den-radek.blokace { background: #f9fafb; }
.den-formular { display: contents; }
.c-cas { flex: 0 0 64px; }
.c-klient { flex: 1 1 200px; min-width: 0; }
.c-platba { flex: 0 0 170px; }
.c-platba select { width: 100%; min-height: 44px; }
.c-castka { flex: 0 0 110px; display: flex; align-items: center; gap: 6px; }
.c-castka { flex-wrap: wrap; }
.c-castka input.poukaz-cislo { width: 100px; min-height: 44px; box-sizing: border-box; }
.c-castka input.poukaz-cislo[hidden] { display: none; }
.c-castka input.castka { width: 80px; min-height: 44px; box-sizing: border-box; text-align: right; font-variant-numeric: tabular-nums; }
.c-akce { flex: 0 0 320px; display: flex; gap: 4px; align-items: center; margin-left: auto; }
.c-akce form { margin: 0; }
.c-akce button { min-height: 44px; }
.den-zahlavi .c-akce { flex: 0 0 376px; }
.den-radek > .c-akce:last-child { flex-basis: 376px; }
.den-cas { font-weight: 600; font-variant-numeric: tabular-nums; }
.den-stitek { font-size: 12px; font-weight: 600; color: #3c4453; }
.den-radek.hotovo .den-stitek { color: var(--ok); }
.den-radek.doplnit .den-stitek { color: var(--varovani); }
.den-klient { font-weight: 600; margin-top: 3px; }
.den-pod { color: var(--tlumene); font-size: 13px; }
.den-poznamka { font-size: 13px; color: #3c4453; margin-top: 2px; }
.den-castka { font-variant-numeric: tabular-nums; }
.den-pod a { white-space: nowrap; }
button.tiche { border-color: transparent; background: transparent; color: #5b6474; padding-left: 6px; padding-right: 6px; }
button.tiche:hover { color: var(--hlavni); border-color: transparent; }
.tiche-odkaz { display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px; color: #5b6474; font-size: 14px; }
.c-akce { flex-wrap: wrap; }
.den-detail { flex: 0 0 auto; font-size: 13px; }
.den-detail summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; border: 1px solid #dfe2e7; border-radius: 8px; background: #fff; color: #3c4453; box-sizing: border-box; }
.den-detail summary::-webkit-details-marker { display: none; }
.den-detail[open] { flex-basis: 100%; order: 10; }
.den-detail[open] summary { display: none; }
.den-poznamka-formular { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; }
.den-poznamka-formular label { flex: 0 0 100%; margin: 0; }
.den-poznamka-formular input { flex: 1 1 280px; min-height: 44px; box-sizing: border-box; }
.den-poznamka-formular button { min-height: 44px; }
/* Portál terapeutky: Kalendář */
.mk-dny-radek { display: flex; align-items: stretch; gap: 4px; margin-bottom: 14px; max-width: 640px; }
.mk-dny { flex: 1 1 auto; min-width: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.mk-sipka { flex: 0 0 36px; display: flex; align-items: center; justify-content: center; border: 1px solid #dfe2e7; border-radius: 10px; background: #fff; color: var(--text); font-size: 20px; }
.mk-sipka:hover { text-decoration: none; border-color: var(--hlavni); }
.mk-dny a { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 52px; border: 1px solid #dfe2e7; border-radius: 10px; background: #fff; color: var(--text); }
.mk-dny a span { font-size: 12px; color: var(--tlumene); }
.mk-dny a strong { font-size: 16px; font-variant-numeric: tabular-nums; }
.mk-dny a:hover { text-decoration: none; border-color: var(--hlavni); }
.mk-dny a.dnes span { color: var(--hlavni); font-weight: 600; }
.mk-dny a.bez { background: #eceef2; border-color: #eceef2; color: #8a93a3; }
.mk-dny a.bez strong { font-weight: 500; }
.mk-dny a.bez:hover { border-color: var(--hlavni); }
.mk-dny a.zvoleny { background: var(--hlavni); border-color: var(--hlavni); color: #fff; }
.mk-dny a.zvoleny span { color: #fff; }
.mk-rozlozeni { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.mk-sloupec { display: flex; flex-direction: column; gap: 8px; }
.mk-polozka { display: block; padding: 10px 12px; border-radius: var(--zaobleni); border: 1px solid var(--linka); background: #fff; color: var(--text); }
.mk-polozka:hover { text-decoration: none; border-color: #a3abb8; }
.mk-polozka.volny { border: 1px dashed var(--ok); }
.mk-polozka.volny .mk-nadpis { color: var(--ok); }
.mk-polozka.blok, .mk-polozka.blokace { background: #e3e5ea; border-color: #e3e5ea; }
.mk-polozka.obsazeno { background: #f6f7f9; }
.mk-polozka.nabidka { border: 1px dashed #8a93a3; }
.mk-polozka.vybrana { outline: 2px solid var(--text); outline-offset: 1px; }
.mk-radek { display: flex; align-items: center; gap: 8px; }
.mk-stitek { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--ok); }
.mk-nadpis { display: block; font-weight: 600; margin-top: 3px; }
.mk-pod { display: block; color: var(--tlumene); font-size: 13px; }
.mk-panel { margin: 0 0 4px; border-color: #a3abb8; }
.mk-panel h2 { font-size: 16px; margin: 0 0 4px; }
.mk-blokace { margin-top: 14px; padding-top: 12px; border-top: 1px solid #f0f1f4; }
.mk-blokace label { color: var(--text); font-size: 13px; }
.mk-tlacitka { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 6px; }
.mk-tlacitka form { margin: 0; }
.mk-tlacitka button { min-height: 40px; }
.mk-klienti { border: 0; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; }
.mk-klienti .zaskrtnuti { margin: 0; min-height: 36px; }
.mk-zruseni textarea { width: 100%; box-sizing: border-box; margin: 2px 0 6px; font-size: 13px; }
.mk-zruseni .zaskrtnuti { margin: 6px 0 8px; }
.mk-potvrzeni summary { list-style: none; cursor: pointer; }
.mk-potvrzeni summary::-webkit-details-marker { display: none; }
.mk-potvrzeni[open] summary { display: none; }
.tlacitko.nebezpecne-odkaz { color: var(--chyba); border-color: #e6b4af; }
.poukaz-detail { background: var(--pozadi); }
.poukaz-uplatneni { display: grid; grid-template-columns: 100px 100px minmax(0, 1fr) 100px; gap: 10px; padding: 2px 0; font-size: 13px; }
.kontrola-radek { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding: 12px 0; border-top: 1px solid #f0f1f4; }
.kontrola-kdo { flex: 1 1 300px; min-width: 0; }
.kontrola-akce { flex: 1 1 420px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: flex-end; margin: 0; }
.kontrola-akce select, .kontrola-akce button, .kontrola-akce input { min-height: 40px; }
.kontrola-akce input.castka { width: 80px; text-align: right; }
.menu .pocet { margin-left: auto; padding: 0 7px; border-radius: 999px; background: var(--hlavni); color: #fff; font-size: 12px; font-weight: 600; }
.volno-konflikt { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; min-height: 36px; align-items: center; }
.volno-usek { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 48px; border-top: 1px solid #f0f1f4; }
.volno-usek .napoveda { display: block; margin: 0; }
/* Volno: výběr dnů v kalendáři, hodiny z nabídky, volby jako tlačítka */
.vk[hidden], .vk-mesic[hidden], .vk-hodiny[hidden], .vk-souhrn[hidden], [data-vk-pole][hidden] { display: none !important; }
.vk { max-width: 420px; }
.vk-navod { margin: 0 0 10px; }
.vk-hlava { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.vk-hlava strong { flex: 1; text-align: center; font-size: 15px; }
.vk-hlava .mk-sipka { height: 40px; padding: 0; cursor: pointer; }
.vk-hlava .mk-sipka:disabled { opacity: 0.35; cursor: default; border-color: #dfe2e7; color: var(--text); }
.vk-tyden, .vk-mesic { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.vk-tyden span { text-align: center; font-size: 12px; color: var(--tlumene); padding-bottom: 2px; }
.vk-den { position: relative; display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0; border: 1px solid #eceef2; border-radius: 8px; background: #fff; color: var(--text); font-size: 15px; font-variant-numeric: tabular-nums; }
.vk-den:hover { border-color: var(--hlavni); color: var(--text); }
.vk-den:disabled { background: transparent; border-color: transparent; color: #b8bec9; cursor: default; }
.vk-den.ordinace::after { content: ""; position: absolute; bottom: 5px; left: 50%; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: var(--ok); }
.vk-den.ma-volno { background: repeating-linear-gradient(135deg, #e3e5ea 0 3px, #f6f7f9 3px 7px); }
.vk-den.dnes span { color: var(--hlavni); font-weight: 700; }
.vk-den i { position: absolute; top: 2px; right: 4px; font-style: normal; font-size: 10px; font-weight: 600; color: var(--tlumene); }
.vk-den.vybrany { background: #ffe5e6; border-color: #f7c3c5; }
.vk-den.kraj { background: var(--hlavni); border-color: var(--hlavni); color: #fff; font-weight: 600; }
.vk-den.kraj span, .vk-den.kraj i { color: #fff; }
.vk-den.kraj.ordinace::after { background: #fff; }
.vk-legenda { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; font-size: 12px; color: var(--tlumene); }
.vk-legenda i { display: inline-block; width: 12px; height: 12px; margin-right: 5px; vertical-align: -2px; border-radius: 3px; }
.vk-legenda i.ordinace { width: 6px; height: 6px; border-radius: 50%; background: var(--ok); vertical-align: 1px; }
.vk-legenda i.ma-volno { background: repeating-linear-gradient(135deg, #d9dce2 0 2px, #f6f7f9 2px 5px); }
.vk-legenda b { margin-right: 4px; font-size: 10px; }
.vk-skupina { border: 0; padding: 0; margin-left: 0; margin-right: 0; min-width: 0; }
.vk-skupina legend { padding: 0; margin-bottom: 6px; font-size: 12px; color: var(--tlumene); }
.vk-hodiny { margin-top: 10px; max-width: 420px; }
.volba { display: flex; flex-wrap: wrap; gap: 6px; }
.volba label { position: relative; margin: 0; font-size: 14px; color: var(--text); }
.volba input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.volba span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid #dfe2e7; border-radius: 999px; background: #fff; cursor: pointer; }
.volba span:hover { border-color: var(--hlavni); }
.volba input:checked + span { background: var(--text); border-color: var(--text); color: #fff; font-weight: 600; }
.volba input:focus-visible + span { outline: 2px solid var(--znacka); outline-offset: 2px; }
.vk-souhrn { margin: 14px 0 0; padding: 10px 12px; border-radius: var(--zaobleni); background: var(--pozadi); font-size: 14px; }
.vk-souhrn.chyba { background: var(--chyba-pozadi); color: var(--chyba); }
.presun-filtry { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.presun-den { display: flex; flex-wrap: wrap; gap: 6px 12px; padding: 8px 0; border-top: 1px solid #f0f1f4; }
.presun-nazev { flex: 0 0 90px; font-weight: 600; padding-top: 10px; }
.presun-sloty { flex: 1 1 260px; display: flex; flex-wrap: wrap; gap: 6px; }
.presun-slot { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 12px; border: 1px solid #dfe2e7; border-radius: 8px; background: #fff; color: var(--text); box-sizing: border-box; }
.presun-slot:hover { text-decoration: none; border-color: var(--hlavni); }
.presun-slot.zvoleny { outline: 2px solid var(--text); outline-offset: 1px; }
.mk-ovladani { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mk-pohled { display: inline-flex; border: 1px solid #dfe2e7; border-radius: 10px; overflow: hidden; background: #fff; }
.mk-pohled a { display: flex; align-items: center; min-height: 38px; padding: 0 14px; color: var(--text); font-size: 14px; }
.mk-pohled a:hover { text-decoration: none; background: #f6f7f9; }
.mk-pohled a.zvoleny { background: var(--hlavni); color: #fff; }
.mk-tyden { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; align-items: start; margin-bottom: 12px; }
.mk-tyden.dni-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.mk-tyden.dni-7 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.mk-tyden-den { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.mk-tyden-hlava { display: block; padding: 4px 2px 6px; border-bottom: 2px solid var(--linka); color: var(--text); font-weight: 600; }
.mk-tyden-hlava:hover { text-decoration: none; color: var(--hlavni); }
.mk-tyden-hlava span { font-size: 12px; color: var(--hlavni); }
.mk-tyden-den.dnes .mk-tyden-hlava { border-color: var(--hlavni); }
.mk-tyden-den.minuly { opacity: .6; }
.mk-tyden .mk-polozka { padding: 8px 9px; }
.mk-tyden .mk-radek { flex-wrap: wrap; gap: 3px 6px; }
.mk-tyden .mk-nadpis { overflow-wrap: anywhere; font-size: 14px; }
.mk-tyden-prazdny { margin: 0; padding: 2px; color: var(--tlumene); font-size: 13px; }
@media (max-width: 900px) {
  .mk-rozlozeni { grid-template-columns: minmax(0, 1fr); }
  .mk-tyden, .mk-tyden.dni-6, .mk-tyden.dni-7 { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}

@media (max-width: 760px) {
  .den-zahlavi { display: none; }
  .den-radek { padding: 10px 14px; }
  .c-platba { flex: 1 1 150px; }
  .c-akce { margin-left: 0; }
}
.den-prijem summary { cursor: pointer; font-weight: 600; min-height: 32px; }
.den-volne { margin: 0 0 12px; }
.blokace { margin: 10px 0 0; padding-top: 10px; border-top: 1px solid #f0f1f4; }
.blokace label { color: var(--text); font-size: 13px; margin-bottom: 6px; }
.kal-nastroje { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.kal-nastroje .kal-legenda { margin: 0; }
.vzor.obsazeno { background: #f3e3d3; }
.vysvetlivky dt { display: flex; align-items: center; gap: 6px; color: var(--text); white-space: nowrap; }
.vysvetlivky .vzor { display: inline-block; width: 11px; height: 11px; border-radius: 3px; box-sizing: border-box; }
.vysvetlivky dd { text-align: right; color: var(--tlumene); }
.rozvrh { display: grid; gap: 4px; min-width: min-content; }
.rozvrh-hodiny { position: relative; }
.rozvrh-hodiny span { display: block; height: 44px; font-size: 12px; line-height: 1; color: var(--tlumene); font-variant-numeric: tabular-nums; transform: translateY(-6px); }
.rozvrh-hodiny span:first-child { transform: none; }
.rozvrh-sloupec { position: relative; border-radius: 7px; background: repeating-linear-gradient(to bottom, #e9ebef 0 1px, var(--pozadi) 1px 44px); border: 1px dashed #c9ced6; box-sizing: border-box; }
.rozvrh-blok { position: absolute; display: flex; flex-direction: column; gap: 1px; padding: 4px 7px; border-radius: 7px; border-left: 4px solid var(--b, #a3abb8); background: color-mix(in srgb, var(--b, #a3abb8) 18%, #fff); color: var(--text); overflow: hidden; box-sizing: border-box; font-size: 12px; }
.rozvrh-blok:hover { text-decoration: none; outline: 1px solid var(--b, #a3abb8); }
.rozvrh-blok .kdo { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rozvrh-blok .cas { color: #3c4453; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rozvrh-blok.kolize { box-shadow: inset 0 0 0 2px #e3b65a; }
.rozvrh-blok.zvoleny { outline: 2px solid var(--text); outline-offset: 1px; }

@media (max-width: 1100px) {
  .zapis-terapie { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .evidence-rozlozeni { grid-template-columns: minmax(0, 1fr); }
  .lide-rozlozeni { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .aplikace { display: block; }
  .bocni { position: static; height: auto; border-right: 0; border-bottom: 1px solid var(--linka); }
  .menu { flex-direction: row; overflow-x: auto; }
  .menu a { white-space: nowrap; }
  .bocni-pata { margin-top: 0; }
  .obsah { padding: 16px 16px 40px; }
}

/* Poukazy: seznam s rozbalovacími řádky, barevné druhy, zbývá jako tečky nebo pruh, prodej s volbami.
   Barvy druhů jsou barvy poukazů ze sady (1 korálová, 3 zelená, 5 petrolejová, 10 vínová), ztmavené kvůli kontrastu. */
.druh-1 { --druh: #b8403f; --druh-pozadi: #fdeceb; }
.druh-3 { --druh: #1f6b4b; --druh-pozadi: #e3f2eb; }
.druh-5 { --druh: #1a5f67; --druh-pozadi: #e1f0f2; }
.druh-10 { --druh: #8f2f4b; --druh-pozadi: #f6e6ec; }
.druh-jiny { --druh: #8a5a00; --druh-pozadi: #fcf0d9; }
.druh-castka { --druh: #4b6b12; --druh-pozadi: #edf5df; }
.pk-seznam { flex: 999 1 520px; min-width: 0; padding: 4px 0; }
.pk-hlavicka, .pk-radek > summary { display: grid; grid-template-columns: 64px 104px minmax(0, 1fr) 136px 14px; gap: 10px; align-items: center; padding: 10px 16px; }
.pk-hlavicka { color: var(--tlumene); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; padding-top: 8px; padding-bottom: 8px; }
.pk-radek { border-top: 1px solid var(--linka); }
.pk-radek > summary { list-style: none; cursor: pointer; min-height: 44px; }
.pk-radek > summary::-webkit-details-marker { display: none; }
.pk-radek > summary:hover { background: #f8f9fb; }
.pk-radek[open] > summary { background: var(--pozadi); }
.pk-radek.vycerpany .pk-komu, .pk-radek.vycerpany .pk-cislo { color: var(--tlumene); }
.pk-cislo { font-weight: 600; font-variant-numeric: tabular-nums; }
.pk-komu { display: flex; flex-direction: column; min-width: 0; }
.pk-jmeno, .pk-prodano { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pk-prodano { color: var(--tlumene); font-size: 12px; }
.pk-druh { display: inline-block; padding: 2px 10px; border-radius: 999px; background: var(--druh-pozadi); color: var(--druh); font-size: 12px; font-weight: 600; white-space: nowrap; }
.pk-zbyva { display: flex; align-items: center; gap: 8px; font-size: 13px; font-variant-numeric: tabular-nums; }
.pk-tecky { display: inline-flex; flex-wrap: wrap; gap: 3px; max-width: 84px; }
.pk-tecky i { width: 9px; height: 9px; border-radius: 50%; background: #dfe2e7; }
.pk-tecky i.plna { background: var(--ok); }
.pk-pruh { display: inline-block; width: 60px; height: 8px; border-radius: 999px; background: #dfe2e7; overflow: hidden; }
.pk-pruh i { display: block; height: 100%; background: var(--ok); }
.pk-radek.vycerpany .pk-zbyva-text { color: var(--tlumene); }
.pk-sipka { color: var(--tlumene); font-size: 18px; transition: transform .15s; }
.pk-radek[open] .pk-sipka { transform: rotate(90deg); }
.pk-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; padding: 12px 16px 18px; background: var(--pozadi); }
.pk-udaje { display: grid; grid-template-columns: auto 1fr; gap: 2px 14px; margin: 12px 0 0; font-size: 13px; }
.pk-udaje dt { color: var(--tlumene); }
.pk-udaje dd { margin: 0; }
.pk-odeslat { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.pk-odeslat form { display: flex; flex-direction: column; gap: 4px; width: 100%; }
.pk-odeslat label { font-size: 13px; color: #3c4453; margin-top: 6px; }
.pk-odeslat textarea, .pk-odeslat input[type=email] { width: 100%; box-sizing: border-box; font-size: 13px; }
.pk-odeslat button { align-self: flex-start; margin-top: 6px; }
.pk-skupina { border: 0; padding: 0; margin: 0 0 12px; }
.pk-volby { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.pk-volba { position: relative; display: flex; flex-direction: column; gap: 1px; padding: 10px 12px; border-radius: 10px; background: var(--druh-pozadi); cursor: pointer; }
.pk-volba:hover { box-shadow: inset 0 0 0 1px var(--druh); }
.pk-volba input, .pk-cip input { position: absolute; opacity: 0; pointer-events: none; }
.pk-volba-nazev { font-weight: 600; color: var(--druh); }
.pk-volba-cena { font-size: 13px; color: #3c4453; }
.pk-volba:has(input:checked) { box-shadow: inset 0 0 0 2px var(--druh); }
.pk-volba:has(input:checked)::after { content: "✓"; position: absolute; top: 8px; right: 11px; color: var(--druh); font-weight: 700; }
.pk-volba:has(input:checked) .pk-volba-cena { color: var(--druh); font-weight: 600; }
.pk-bok { flex: 1 1 380px; }
.pk-navrh { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-top: 6px; padding: 4px 4px 4px 10px; border-radius: 8px; background: var(--ok-pozadi); color: var(--ok); font-size: 13px; }
.pk-navrh button { min-height: 32px; padding: 0 12px; font-size: 13px; }
.pk-info { font-size: 13px; font-weight: 600; color: var(--ok); }
/* Poukaz při platbě: vlastní široký řádek pod termínem, částku pak bere hub z poukazu. */
.pk-pole { flex: 1 1 100%; order: 5; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 4px 76px; }
.pk-pole[hidden], .pk-castka[hidden], .pk-z-poukazu[hidden] { display: none; }
.pk-pole label { margin: 0; font-size: 13px; font-weight: 600; color: #3c4453; }
.pk-pole input { flex: 0 1 360px; min-width: 0; min-height: 44px; box-sizing: border-box; }
.pk-castka { display: inline-flex; align-items: center; gap: 6px; }
.pk-z-poukazu { font-size: 13px; color: var(--tlumene); }
@media (max-width: 760px) { .pk-pole { margin-left: 0; } .pk-pole input { flex-basis: 100%; } }
.pk-volba:has(input:focus-visible), .pk-cip:has(input:focus-visible) { outline: 2px solid var(--text); outline-offset: 1px; }
.pk-cipy { display: flex; flex-wrap: wrap; gap: 6px; }
.pk-cip { position: relative; display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border: 1px solid #dfe2e7; border-radius: 999px; background: #fff; cursor: pointer; font-size: 14px; }
.pk-cip:has(input:checked) { background: var(--text); border-color: var(--text); color: #fff; }
.pk-prodej .pole { margin-bottom: 12px; }
.pk-prodej [hidden] { display: none !important; }
.pk-prodany { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; border-color: var(--ok); }
@media (max-width: 760px) {
  .pk-hlavicka { display: none; }
  .pk-radek > summary { grid-template-columns: auto minmax(0, 1fr) auto 14px; grid-template-areas: "cislo druh zbyva sipka" "komu komu komu komu"; gap: 6px 10px; padding: 12px 14px; }
  .pk-cislo { grid-area: cislo; }
  .pk-druh-bunka { grid-area: druh; }
  .pk-zbyva { grid-area: zbyva; }
  .pk-sipka { grid-area: sipka; }
  .pk-komu { grid-area: komu; }
  .pk-jmeno { white-space: normal; }
  .pk-detail { grid-template-columns: minmax(0, 1fr); }
}
