/* ==========================================================================
   Náskok · složka a díly, design kolo 2 (Eva 3, 2026-09-28)
   Chat „Upravit podle vás“ (spec-chat), volný editor (S8), CV studio (S9), briefing (S10), plat (S11), karta pohovoru (S12),
   dotazníky (S13), report (S14), doladění (S7). Načítá se po slozka.css a aplikace.css (slozka/_zaklad_slozky.html).
   Jen tokeny z tokens.css a tokens-naskok.css (světle i tmavě přes light-dark), žádné cizí domény, cíle aspoň 44 px
   (ikonka „proč“ 24 px, WCAG 2.5.8), prefers-reduced-motion vypne přechody. Tisk řídí slozka.css (@media print).
   ========================================================================== */

@media screen {

/* ---------- společné ovládací prvky ---------- */
.sl-stranka .odkaz-tlacitko, .sl-dialog .odkaz-tlacitko, .proc-bublina .odkaz-tlacitko {
  display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.25rem 0.1rem; background: none; border: 0;
  font: inherit; font-weight: 600; color: var(--produkt-text); text-decoration: underline; text-underline-offset: 0.15em; cursor: pointer; }
.sl-stranka button:disabled { cursor: not-allowed; }

.prepinac { display: inline-flex; align-items: center; gap: 0.6rem; min-height: 2.75rem; cursor: pointer; font-weight: 600; }
.prepinac input { position: absolute; opacity: 0; width: 2.75rem; height: 1.6rem; margin: 0; cursor: pointer; }
.prepinac__kolejnice { position: relative; flex: none; width: 2.75rem; height: 1.6rem; border-radius: 999px; background: var(--linka-pole); transition: background var(--n-pohyb-rychly); }
.prepinac__kolejnice::after { content: ""; position: absolute; top: 0.2rem; left: 0.2rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: var(--plocha); transition: transform var(--n-pohyb-rychly); }
.prepinac input:checked + .prepinac__kolejnice { background: var(--produkt); }
.prepinac input:checked + .prepinac__kolejnice::after { transform: translateX(1.15rem); }
.prepinac input:focus-visible + .prepinac__kolejnice { outline: var(--fokus-sirka) solid var(--produkt-text); outline-offset: var(--fokus-odsazeni); }
.prepinac { position: relative; }

.segment { display: inline-flex; flex-wrap: wrap; border: 1px solid var(--linka-pole); border-radius: 12px; overflow: hidden; background: var(--plocha); margin: 0; padding: 0; }
fieldset.segment { min-inline-size: 0; }
.segment legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.segment__volba, .segment__tlacitko { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; min-width: 2.75rem;
  padding: 0.4rem 0.95rem; border: 0; border-right: 1px solid var(--linka); background: var(--plocha); color: var(--text); font: inherit; font-weight: 600; cursor: pointer; }
.segment__volba:last-child, .segment__tlacitko:last-child { border-right: 0; }
.segment__volba input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.segment__volba:has(input:checked), .segment__tlacitko[aria-pressed="true"] { background: var(--produkt-plocha); color: var(--produkt-text); box-shadow: inset 0 -3px 0 var(--produkt); }
.segment__volba:has(input:focus-visible) { outline: var(--fokus-sirka) solid var(--produkt-text); outline-offset: -3px; }
.segment--stupnice { display: flex; }
.segment--stupnice .segment__volba { flex: 1; }

.cipy { display: flex; flex-wrap: wrap; gap: 0.5rem; border: 0; padding: 0; margin: 0 0 var(--m-4); min-inline-size: 0; }
.cipy legend, .dotaznik__stupnice legend, .pohovor-form__volby legend { font-weight: 600; margin-bottom: 0.4rem; padding: 0; }
.cip-volba { position: relative; display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.35rem 0.95rem; border: 1px solid var(--linka-pole);
  border-radius: 999px; background: var(--plocha); font-weight: 600; cursor: pointer; }
.cip-volba input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.cip-volba:has(input:checked) { background: var(--produkt-plocha); border-color: var(--produkt); color: var(--produkt-text); }
.cip-volba:has(input:checked)::before { content: "✓ "; white-space: pre; }
.cip-volba:has(input:focus-visible) { outline: var(--fokus-sirka) solid var(--produkt-text); outline-offset: var(--fokus-odsazeni); }

.sl-stranka input[type="text"], .sl-stranka input[type="date"], .sl-stranka input[type="time"], .sl-stranka textarea, .sl-stranka select,
.sl-dialog input[type="text"], .sl-dialog input[type="date"], .sl-dialog input[type="time"], .sl-dialog textarea {
  width: 100%; min-height: 2.75rem; padding: 0.55rem 0.75rem; font: inherit; color: var(--text); background: var(--plocha);
  border: 1px solid var(--linka-pole); border-radius: 12px; }
.sl-stranka textarea, .sl-dialog textarea { resize: vertical; }
.sl-stranka label, .sl-dialog .sl-pole > label { font-weight: 600; }
.sl-pole > label { display: block; margin-bottom: 0.3rem; }
.sl-dialog--siroky { width: min(40rem, calc(100vw - 1.5rem)); }

/* ---------- P09: mřížka složky, chat vpravo ---------- */
.slozka__mrizka { display: grid; gap: var(--m-5); }
.slozka__hlavni { min-width: 0; }
.slozka__hlavni > .karta + .karta, .slozka__hlavni > .karta + .sl-karta, .slozka__hlavni > .sl-karta + .karta { margin-top: var(--m-4); }
.sl-dalsi-firma { margin: var(--m-4) 0 0; }
.sl-dalsi-firma a { display: inline-flex; min-height: 2.75rem; align-items: center; font-weight: 600; }
@media (min-width: 64rem) {
  .slozka__mrizka { grid-template-columns: minmax(0, 1fr) 22.5rem; gap: var(--m-6); align-items: start; }
  /* VP9 (PN-046): chat vypnutý přepínačem `chat_zapnut`, pravý sloupec nezůstane prázdný */
  .slozka__mrizka--bez-chatu { grid-template-columns: minmax(0, 1fr); }
}

/* karta pohovoru */
.pohovor-karta__hlava { display: flex; justify-content: space-between; align-items: center; gap: var(--m-3); }
.pohovor-karta__hlava h2 { margin: 0 !important; }
.pohovor-karta__hlava .sl-pohovor { margin: 0; }
.pohovor-karta__otazka { font-weight: 700; margin: var(--m-2) 0 0; }
.pohovor-karta__termin { font: 700 clamp(1.5rem, 1.3rem + 0.8vw, 1.9rem)/1.15 var(--pismo-nadpis); letter-spacing: -0.02em; margin: var(--m-2) 0 0.2rem; }
.pohovor-karta__poznamky { background: var(--plocha-2); border-radius: 12px; padding: var(--m-3); white-space: pre-line; }
.pohovor-form__radek { display: grid; grid-template-columns: 1fr 1fr; gap: var(--m-3); }
.pohovor-form__volby { border: 0; padding: 0; margin: 0 0 var(--m-4); }
.pohovor-form__souhlasy { border-top: 1px solid var(--linka); margin-top: var(--m-4); padding-top: var(--m-3); }
.pohovor-form__souhlas { display: grid; grid-template-columns: 1.5rem 1fr; gap: 0.6rem; font-weight: 400 !important; margin-top: var(--m-3); }
.pohovor-form__souhlasy[hidden], .pohovor-form__souhlas[hidden], [data-pohovor-pripominka-volba][hidden] { display: none; }
.pohovor-form__souhlas input { width: 1.25rem; height: 1.25rem; margin: 0.15rem 0 0; accent-color: var(--produkt); }

/* stáhnout */
.stahnout-karta__tlacitka { display: grid; gap: var(--m-2); }
.stahnout-karta__tlacitka .sl-tlacitko { width: 100%; }
.stahnout-karta__tlacitka [aria-busy="true"] { cursor: progress; }
/* samostatný odkaz „Vytisknout z prohlížeče“ (není ve větě): cíl aspoň 44 px na výšku (WCAG 2.5.8, cile_44.cjs) */
.stahnout-karta [data-tisk-slozky] { display: inline-flex; align-items: center; min-height: 2.75rem; }

/* dotazníky */
.dotaznik__stupnice { border: 0; padding: 0; margin: 0 0 var(--m-4); min-inline-size: 0; }
.dotaznik__popisky { display: flex; justify-content: space-between; margin: 0.2rem 0 0; }
.dotaznik__tlacitka { display: flex; flex-wrap: wrap; gap: var(--m-2); }
.dotaznik__tlacitka .sl-tlacitko { min-width: 8rem; }
/* Z15: hvězdičky 1–5 (radio skupina, šipky, popisky „1 z 5“) a doporučení 0–10 */
.hvezdy { display: flex; gap: 0.25rem; }
.hvezdy__volba { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 2.9rem; height: 2.9rem; cursor: pointer; }
.hvezdy__volba input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.hvezdy__znak { font-size: 2rem; line-height: 1; color: var(--linka-pole); transition: color var(--n-pohyb-rychly); }
.hvezdy__volba:has(input:checked) .hvezdy__znak, .hvezdy__volba:has(~ .hvezdy__volba input:checked) .hvezdy__znak { color: var(--n-akcent); }
.hvezdy:hover .hvezdy__volba .hvezdy__znak { color: var(--linka-pole); }
.hvezdy:hover .hvezdy__volba:hover .hvezdy__znak, .hvezdy:hover .hvezdy__volba:has(~ .hvezdy__volba:hover) .hvezdy__znak { color: var(--n-akcent); }
.hvezdy__volba:has(input:focus-visible) { outline: var(--fokus-sirka) solid var(--produkt-text); outline-offset: 0; border-radius: 8px; }
.segment--nps .segment__volba { flex: 1 0 2.75rem; padding-inline: 0.2rem; }
/* Z16: co chybí k poděkování (jednou před odesláním) a potvrzení poděkování */
.dotaznik__chybi { margin: 0 0 var(--m-3); padding: var(--m-3); border-radius: 12px; background: var(--plocha-2); border-left: 4px solid var(--produkt); }
.dotaznik__chybi[hidden], .dotaznik__ziskan[hidden] { display: none; }
.dotaznik__ziskan p:last-child { margin-bottom: 0; }
.sdileni { margin-top: var(--m-4); padding-top: var(--m-3); border-top: 1px solid var(--linka); }
.sdileni[hidden] { display: none; }
.sdileni h3 { margin-top: 0 !important; }
.sdileni__odkaz input { font-size: var(--velikost-s); }
/* PN53: D1 stojí pod kartou „Stáhnout“ a mezi nimi je (skrytý) řádek, takže `.karta + .karta` mezeru nedá. */
.karta.dotaznik { margin-top: var(--m-4); }
.dotaznik-radek { border-top: 1px solid var(--linka); margin-top: var(--m-3); padding-top: var(--m-3); }
.dotaznik-radek__otazka { font-weight: 700; }
.dotaznik-radek__tlacitka { display: flex; gap: var(--m-2); }

/* doladění */
.doladeni { border: 2px solid var(--produkt); }
.doladeni__hlava { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--m-2); }
.doladeni__hlava h2 { margin: 0 !important; }
.doladeni__stitek { margin: 0; padding: 0.2rem 0.7rem; border-radius: 999px; background: var(--produkt-plocha); color: var(--produkt-text); font-weight: 700; font-size: var(--velikost-s); }
.doladeni__poradi { font-size: var(--velikost-xs); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tlumeny); margin-bottom: 0; }
.doladeni__otazka { font-size: var(--velikost-h4); margin: 0.2rem 0 var(--m-3) !important; }
.doladeni__volby { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--m-2); margin-bottom: var(--m-3); }
.doladeni__volba { min-height: 3.25rem; border: 1px solid var(--linka-pole); border-radius: 14px; background: var(--plocha); color: var(--text); font: inherit; font-weight: 700; cursor: pointer; }
.doladeni__volba[aria-pressed="true"] { border: 2px solid var(--produkt); background: var(--produkt-plocha); color: var(--produkt-text); }
.doladeni__akce { display: flex; flex-wrap: wrap; align-items: center; gap: var(--m-4); }

/* ---------- díl: papír a chat vpravo ---------- */
.dil-uvod { font-size: var(--velikost-l); color: var(--tlumeny); margin: 0 0 var(--m-4); max-width: 44rem; }
.dil-pracoviste { display: grid; gap: var(--m-5); }
.dil-pracoviste__hlavni { min-width: 0; }
@media (min-width: 64rem) {
  .dil-pracoviste--chat { grid-template-columns: minmax(0, 1fr) 22.5rem; gap: var(--m-6); align-items: start; }
}
.uprava-pruh { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--m-3); padding: var(--m-3) var(--m-4);
  margin-bottom: var(--m-3); border-radius: 14px; background: var(--n-doplnte-plocha); color: var(--text); }
.uprava-pruh p { margin: 0; font-weight: 700; }
.uprava-pruh__akce { display: flex; flex-wrap: wrap; align-items: center; gap: var(--m-3); }

/* ---------- volný editor (S8) ---------- */
.editor-lista { display: flex; flex-wrap: wrap; align-items: center; gap: var(--m-3); margin-right: auto; }
.sl-akce .editor-lista + .sl-tlacitko { margin-left: auto; }
.editor-prepinac { display: inline-flex; align-items: center; gap: 0.6rem; min-height: 2.75rem; padding: 0 0.2rem; border: 0; background: none; color: var(--text); font: inherit; font-weight: 600; cursor: pointer; }
.editor-prepinac__kolejnice { position: relative; flex: none; width: 2.75rem; height: 1.6rem; border-radius: 999px; background: var(--linka-pole); transition: background var(--n-pohyb-rychly); }
.editor-prepinac__kolejnice::after { content: ""; position: absolute; top: 0.2rem; left: 0.2rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: var(--plocha); transition: transform var(--n-pohyb-rychly); }
.editor-prepinac[aria-checked="true"] .editor-prepinac__kolejnice { background: var(--produkt); }
.editor-prepinac[aria-checked="true"] .editor-prepinac__kolejnice::after { transform: translateX(1.15rem); }
.editor-prepinac:disabled { opacity: 0.55; }
.editor-stav { color: var(--tlumeny); font-size: var(--velikost-s); min-width: 6rem; }
.editor-verze { position: relative; }
.editor-verze__tlacitko .ikona { width: 1rem; height: 1rem; margin-left: 0.2rem; }
.editor-verze__menu { position: absolute; z-index: 30; top: 100%; left: 0; width: min(22rem, calc(100vw - 2rem)); padding: var(--m-3) var(--m-4);
  background: var(--plocha); border: 1px solid var(--linka); border-radius: 14px; box-shadow: var(--n-stin-2); }
.editor-verze__menu[hidden] { display: none; }
/* V liště dílu je „Verze“ vpravo: nabídka se otevírá doleva, jinak na mobilu přeteče (F3, 595 px na 360) */
@media (max-width: 39.99rem) { .editor-lista .editor-verze__menu { left: auto; right: 0; } }
.editor-verze__nadpis { font-weight: 700; margin: 0 0 var(--m-2); }
.editor-verze__menu ul { list-style: none; margin: 0 0 var(--m-2); padding: 0; }
.editor-verze__menu li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0 var(--m-3); border-top: 1px solid var(--linka); padding: 0.2rem 0; }
.editor-format { display: flex; flex-wrap: wrap; align-items: center; gap: var(--m-2); margin: 0 0 var(--m-3); padding: 0.35rem; border: 1px solid var(--linka);
  border-radius: 14px; background: var(--plocha); box-shadow: var(--n-stin-1); position: sticky; top: 0.5rem; z-index: 5; }
.editor-format[hidden] { display: none; }
.editor-format__tlacitko { min-height: 2.75rem; min-width: 2.75rem; padding: 0 0.8rem; border: 0; border-radius: 10px; background: var(--plocha-2); color: var(--text); font: inherit; font-weight: 600; cursor: pointer; }
.editor-format__napoveda { color: var(--tlumeny); font-size: var(--velikost-s); }
.sl-dil.je-upravovany .sl-list { outline: 2px solid color-mix(in srgb, var(--produkt) 45%, transparent); outline-offset: 3px; }
.sl-dil.je-upravovany [contenteditable="true"] { border-radius: 4px; cursor: text; }
.sl-dil.je-upravovany [contenteditable="true"]:hover { background: color-mix(in srgb, var(--produkt-plocha) 55%, transparent); }
.sl-dil.je-upravovany [contenteditable="true"]:focus { outline: 2px solid var(--produkt-text); outline-offset: 2px; background: none; }
.sl-dil.je-zamceny .sl-list { opacity: 0.8; }
.editor-cip { display: inline; padding: 0.05rem 0.35rem; border: 1px dashed var(--n-doplnte-linka); border-radius: 6px; background: var(--n-doplnte-plocha);
  color: var(--n-doplnte-text); font-weight: 600; cursor: pointer; }
.editor-cip:focus-visible { outline: var(--fokus-sirka) solid var(--produkt-text); outline-offset: 1px; }
ins.rozdil-pridano { text-decoration: none; background: var(--n-zvyraznovac); color: var(--n-na-zvyraznovaci); border-radius: 3px; }
del.rozdil-odebrano { color: var(--tlumeny); text-decoration: line-through; }

/* ---------- chat „Upravit podle vás“ ---------- */
.chat { display: flex; flex-direction: column; background: var(--plocha); border: 1px solid var(--linka); border-radius: var(--polomer-karta); box-shadow: var(--n-stin-1); overflow: hidden; }
.chat__hlava { padding: var(--m-4) var(--m-4) var(--m-3); border-bottom: 1px solid var(--linka); }
.chat__hlava-radek { display: flex; justify-content: space-between; align-items: center; gap: var(--m-3); }
.chat__uchyt { display: none; }
.chat__hlava h2 { margin: 0 !important; font-size: var(--velikost-h3); }
.chat__zavrit { display: none !important; }
.chat__cil { margin: var(--m-3) 0 0; display: grid; gap: 0.25rem; }
.chat__cil label { font-size: var(--velikost-s); font-weight: 600; color: var(--tlumeny); }
.chat__pocitadlo { margin-top: var(--m-3); }
.chat__dilky { display: grid; grid-template-columns: repeat(auto-fit, minmax(0.6rem, 1fr)); gap: 0.2rem; }
.chat__dilek { height: 0.45rem; border-radius: 999px; background: var(--kostra); }
.chat__dilek.je-pouzity { background: var(--produkt); }
.chat__dilek.je-rezervovany { background: repeating-linear-gradient(90deg, var(--produkt) 0 3px, transparent 3px 6px); }
.chat__zbyva { font-weight: 700; margin: 0.45rem 0 0; }
.chat__pravidlo-poctu { font-size: var(--velikost-s); color: var(--tlumeny); margin: 0.1rem 0 0; }
.chat__co-se-pocita summary { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--produkt-text); font-weight: 600; text-decoration: underline; cursor: pointer; }
.chat__co-se-pocita p { font-size: var(--velikost-s); }
.chat__vlakno { list-style: none; margin: 0; padding: var(--m-3); display: grid; gap: var(--m-3); align-content: start; background: var(--plocha-2); overflow-y: auto; min-height: 8rem; flex: 1 1 auto; }
.chat__zprava { padding: var(--m-3); border-radius: 14px; font-size: 0.975rem; }
.chat__zprava p { margin: 0; }
.chat__zprava p + p, .chat__zprava p + ul, .chat__zprava ul + .chat__akce, .chat__zprava p + .chat__akce, .chat__zprava p + .chat__cipy { margin-top: 0.45rem; }
.chat__zprava ul { margin: 0; padding-left: 1.2rem; }
.chat__zprava--zakaznik { justify-self: end; max-width: 88%; background: var(--produkt-plocha); }
.chat__zprava--system { background: var(--plocha); border: 1px solid var(--linka); }
.chat__zprava--bezi { border-left: 4px solid var(--produkt); }
.chat__meta { font-size: var(--velikost-xs); font-weight: 700; color: var(--produkt-text); }
.chat__nadpis { font-weight: 700; }
.chat__cas { font-variant-numeric: tabular-nums; color: var(--tlumeny); font-size: var(--velikost-s); }
.chat__oddelovac { display: flex; align-items: center; gap: var(--m-2); color: var(--tlumeny); font-size: var(--velikost-xs); font-weight: 700; }
.chat__oddelovac::before, .chat__oddelovac::after { content: ""; flex: 1; border-top: 1px solid var(--linka-pole); }
.chat__akce { display: flex; flex-wrap: wrap; align-items: center; gap: var(--m-2) var(--m-4); }
.chat__cipy { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.chat__cip { min-height: 2.75rem; padding: 0.3rem 0.9rem; border: 1px solid var(--linka-pole); border-radius: 999px; background: var(--plocha); color: var(--text); font: inherit; font-weight: 600; cursor: pointer; }
.chat__cip:hover { border-color: var(--produkt); }
.chat__spodek { padding: var(--m-3) var(--m-4) var(--m-4); border-top: 1px solid var(--linka); background: var(--plocha); }
/* PN54 (PN-041): věta o AI, pravidla a K2-139 zůstávají i po vyčerpání. Když se spodek do výšky panelu nevejde
   (mobil 90dvh, sticky panel), roluje sám, aby tlačítka karty vyčerpání i pole zůstala dosažitelná. */
.chat__spodek { flex: 0 1 auto; min-height: 0; overflow-y: auto; }
/* LC1, ZC1 (PN-041): věta o AI samostatně, plnou barvou textu (kontrast AA), odlišená linkou vlevo, i po vyčerpání. */
.chat__ai { font-size: var(--velikost-s); color: var(--text); margin: 0 0 var(--m-3); padding-left: 0.6rem; border-left: 3px solid var(--produkt); }
.chat__pravidla { font-size: var(--velikost-s); color: var(--tlumeny); margin: 0 0 var(--m-3); }
/* K2-157b „Napsat podpoře“: odkaz ve zprávě systému, cíl aspoň 44 px na výšku. */
.chat__odkaz { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--produkt-text); font-weight: 600; }
.chat__pravidla b { color: var(--text); }
.chat__predbezne { margin: 0 0 var(--m-3); padding: var(--m-3); border: 1px solid var(--n-akcent); border-radius: 12px; background: var(--n-doplnte-plocha); }
.chat__predbezne[hidden] { display: none; }
.chat__predbezne p { margin: 0 0 0.4rem; }
.chat__pole { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--m-2); align-items: end; }
.chat__pole textarea { min-height: 3.25rem; }
/* K2-139 (ZC3) nad polem mimo formulář (AK2-102, PN54); pod polem jen počet znaků. */
.chat__poznamka { font-size: var(--velikost-xs); color: var(--tlumeny); margin: 0 0 var(--m-3); }
.chat__pocet-radek { text-align: right; font-size: var(--velikost-xs); color: var(--tlumeny); margin: 0.4rem 0 0; }
.chat__pocet { font-variant-numeric: tabular-nums; }
.chat__vycerpano { padding: var(--m-3); border-radius: 12px; background: var(--plocha-2); }
.chat__vycerpano[hidden], .chat__formular[hidden], .chat__pocitadlo[hidden] { display: none; }
.chat-lista { display: none; }

@media (min-width: 64rem) {
  .dil-pracoviste__chat .chat, .slozka__chat .chat { position: sticky; top: var(--m-4); max-height: calc(100vh - 2rem); }
}

/* mobil: lišta dole a panel zdola (K2-161). Jen do 64rem, obsah má pod lištou rezervu. */
@media (max-width: 63.99rem) {
  .slozka__chat .chat, .dil-pracoviste__chat .chat, .studio__chat .chat { display: none; }
  .chat[data-stav="otevreny"] { display: flex !important; position: fixed; z-index: 60; left: 0; right: 0; bottom: 0; height: 90vh; height: 90dvh;
    border-radius: 22px 22px 0 0; box-shadow: var(--n-stin-2); }
  /* QA-45-B-01 (AK2-109): výška a spodní okraj podle viditelné části okna (editor_chat.js, visualViewport), panel nad klávesnicí. */
  .chat[data-stav="otevreny"] { height: var(--chat-vyska, 90dvh); bottom: var(--chat-dole, 0px); }
  /* Nízká viditelná výška (klávesnice, telefon naležato): vlákno ustoupí až na 0, hlavička roluje, spodek s polem a tlačítkem
     Odeslat se nestlačí (dřív ho vlákno s min-height 8rem stlačilo na ~20 px). Spodek roluje sám, věta o AI v něm zůstává. */
  .chat.chat--nizky .chat__vlakno { flex: 1 1 0; min-height: 0; }
  .chat.chat--nizky .chat__hlava { flex: 0 1 auto; min-height: 3.25rem; overflow-y: auto; }
  .chat.chat--nizky .chat__spodek { flex: 0 0 auto; max-height: calc(100% - 3.25rem); }
  .chat[data-stav="otevreny"] .chat__zavrit { display: inline-flex !important; }
  .chat .chat__hlava { padding: var(--m-3) var(--m-4) var(--m-2); }
  .chat .chat__cil { grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--m-2); margin-top: var(--m-2); }
  .chat .chat__pocitadlo { margin-top: var(--m-2); }
  .chat .chat__zbyva { display: inline; margin-right: 0.4rem; }
  .chat .chat__pravidlo-poctu { display: inline; font-size: var(--velikost-xs); }
  .chat .chat__pravidla { font-size: var(--velikost-xs); margin-bottom: var(--m-2); }
  .chat .chat__ai { font-size: var(--velikost-xs); margin-bottom: var(--m-2); }
  .chat .chat__poznamka { margin-bottom: var(--m-2); }
  .chat .chat__spodek { padding: var(--m-2) var(--m-4) calc(var(--m-3) + env(safe-area-inset-bottom)); }
  .chat-lista { display: block; position: fixed; z-index: 50; left: 0; right: 0; bottom: 0; padding: 0.4rem var(--okraj-stranky) calc(0.4rem + env(safe-area-inset-bottom));
    background: var(--plocha); border-top: 1px solid var(--linka); box-shadow: 0 -6px 18px -12px var(--n-stin-barva); }
  .chat-lista__tlacitko { display: flex; justify-content: space-between; align-items: center; width: 100%; min-height: 2.9rem; padding: 0 var(--m-4); border: 0;
    border-radius: 12px; background: var(--produkt); color: var(--na-produktu); font: inherit; font-weight: 700; cursor: pointer; }
  .chat-lista__zbyva { font-weight: 600; font-size: var(--velikost-s); }
  body:has(.chat-lista) main { padding-bottom: 4.5rem; }
  /* AK2-109: úchyt a tažení dolů (editor_chat.js). Posun během tažení nastavuje skript přes CSSOM (bez atributu style v HTML). */
  .chat[data-stav="otevreny"] .chat__uchyt { display: block; width: 2.75rem; height: 0.3rem; margin: -0.25rem auto var(--m-2); border-radius: 999px; background: var(--linka-pole); }
  .chat[data-stav="otevreny"] .chat__uchyt, .chat[data-stav="otevreny"] .chat__hlava-radek { touch-action: none; cursor: grab; }
  .chat.chat--tazeny { transition: none; }
  .chat.chat--pusteny { transition: transform var(--n-pohyb-rychly, 0.18s) ease-out; }
  body.chat-je-otevreny, body.studio-panel-otevreny { overflow: hidden; }
  body.chat-je-otevreny::after, body.studio-panel-otevreny::after { content: ""; position: fixed; inset: 0; z-index: 55; background: var(--zavoj); }
}

/* ---------- briefing (S10) ---------- */
.briefing__zkratka { margin: var(--m-4) 0; padding: var(--m-4) var(--m-5); border-radius: var(--polomer-karta); background: var(--n-mata); }
.briefing__zkratka h2 { margin: 0 0 var(--m-2) !important; }
.briefing__nadtitulek { font: 700 var(--velikost-xs)/1.3 var(--pismo-text) !important; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tlumeny); }
.briefing__zkratka p { font-size: var(--velikost-l); margin: 0; }
.briefing__karty { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); gap: var(--m-3); }
.briefing__karta { display: grid; gap: 0.2rem; align-content: start; padding: var(--m-3) var(--m-4); border: 1px solid var(--linka); border-radius: 14px; background: var(--plocha); }
.briefing__stitek { font-size: var(--velikost-xs); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tlumeny); }
.briefing__hodnota { font-weight: 700; }
.briefing__hodnota--text { font-weight: 400; }
.briefing__ref { font-size: 0.72em; margin-left: 0.15em; }
.briefing__ref a { font-weight: 700; }
.briefing__osa { list-style: none; margin: 0; padding: 0 0 0 1.4rem; border-left: 2px solid var(--linka-pole); display: grid; gap: var(--m-4); }
.briefing__novinka { position: relative; }
.briefing__novinka::before { content: ""; position: absolute; left: -1.95rem; top: 0.25rem; width: 0.9rem; height: 0.9rem; border-radius: 50%; border: 2px solid var(--produkt); background: var(--plocha); }
.briefing__datum { margin: 0; font-weight: 700; color: var(--produkt-text); font-size: var(--velikost-s); }
.briefing__titulek { margin: 0.1rem 0; font-weight: 700; }
.briefing__body { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--m-3); }
.briefing__bod { padding: var(--m-3) var(--m-4); border: 1px solid var(--linka); border-left: 4px solid var(--n-akcent); border-radius: 14px; background: var(--plocha); }
.briefing__bod p { margin: 0.2rem 0; }
.briefing__druh { font-size: var(--velikost-xs); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--n-akcent-text); }
.briefing__zdroje-seznam li { margin: 0.3rem 0; }

/* ---------- plat (S11) ---------- */
.plat__nadpis { margin-top: var(--m-5) !important; }
.plat__priprava { display: grid; gap: var(--m-5); margin-top: var(--m-5); }
@media (min-width: 48rem) { .plat__priprava { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; } }
.plat__priprava h2 { margin-top: 0 !important; }
.plat__formular input { max-width: 20rem; font-variant-numeric: tabular-nums; }
.plat__varianty { list-style: none; margin: 0 0 var(--m-4); padding: 0; display: grid; gap: var(--m-3); }
.plat__varianta { padding: var(--m-3) var(--m-4); border: 1px solid var(--linka); border-radius: 14px; background: var(--plocha); }
.plat__varianta p { margin: 0.2rem 0; }
.plat__varianta-nazev { font-weight: 700; }
.plat__pata { margin-top: var(--m-5); padding: var(--m-3) var(--m-4); border-radius: 12px; background: var(--plocha-2); font-size: var(--velikost-s); color: var(--tlumeny); }

/* ---------- CV studio (S9) ---------- */
.sl-stranka.studio-obal { max-width: 88rem; margin-inline: auto; padding-inline: var(--okraj-stranky); }
.studio__lista { display: flex; flex-wrap: wrap; align-items: center; gap: var(--m-3); margin: 0 0 var(--m-3); }
.studio__stahnout { display: flex; flex-wrap: wrap; gap: var(--m-2); margin-left: auto; }
.studio__hlaska { margin: 0 0 var(--m-3); padding: var(--m-3) var(--m-4); border-radius: 12px; background: var(--produkt-plocha); }
.studio__hlaska[hidden] { display: none; }
.studio__skore { color: var(--tlumeny); margin: 0 0 var(--m-3); }
.studio__mrizka { display: grid; gap: var(--m-5); align-items: start; }
.studio__panel { background: var(--plocha); border: 1px solid var(--linka); border-radius: var(--polomer-karta); padding: var(--m-3) var(--m-4) var(--m-4); box-shadow: var(--n-stin-1); min-width: 0; }
.studio__panel-hlava { display: none; }
.studio__zalozky { display: flex; gap: 0.2rem; border-bottom: 1px solid var(--linka); margin: 0 0 var(--m-3); overflow-x: auto; }
.studio__zalozky [role="tab"] { flex: 1 0 auto; min-height: 2.9rem; padding: 0 0.8rem; border: 0; border-bottom: 3px solid transparent; background: none; color: var(--tlumeny); font: inherit; font-weight: 700; cursor: pointer; }
.studio__zalozky [role="tab"][aria-selected="true"] { color: var(--produkt-text); border-bottom-color: var(--produkt); }
.studio__zalozka[hidden] { display: none; }
.studio__zalozka:focus-visible { outline-offset: 4px; }
.studio__podnadpis { font: 700 var(--velikost-xs)/1.3 var(--pismo-text) !important; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tlumeny); margin: var(--m-4) 0 var(--m-2) !important; padding: 0; }
.studio__skupina { border: 0; padding: 0; margin: 0 0 var(--m-3); min-inline-size: 0; }
.studio-oddil { border: 1px solid var(--linka); border-radius: 14px; padding: var(--m-3); margin: 0 0 var(--m-3); min-inline-size: 0; }
.studio-oddil.je-skryty { border-style: dashed; }
.studio-oddil__nadpis { font-weight: 700; padding: 0 0.3rem; }
.studio-oddil .sl-pole { margin-bottom: var(--m-2); }

.studio-oddily { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--m-2); }
.studio-oddily__radek { display: grid; grid-template-columns: 1.2rem minmax(0, 1fr) auto; grid-template-areas: "uchyt nazev akce" "uchyt zobrazit akce"; align-items: center; gap: 0 var(--m-2);
  padding: 0.35rem var(--m-2); border: 1px solid var(--linka); border-radius: 14px; background: var(--plocha); cursor: grab; }
.studio-oddily__radek.je-skryty { border-style: dashed; color: var(--tlumeny); }
.studio-oddily__radek.je-tazeny { opacity: 0.5; }
.studio-oddily__radek.je-cil { border-color: var(--produkt); box-shadow: 0 0 0 2px var(--produkt-plocha); }
.studio-oddily__uchyt { grid-area: uchyt; color: var(--tlumeny); }
.studio-oddily__nazev { grid-area: nazev; font-weight: 700; }
.studio-oddily__zobrazit { grid-area: zobrazit; display: inline-flex; align-items: center; gap: 0.4rem; min-height: 2.75rem; font-weight: 400 !important; }
.studio-oddily__zobrazit input { width: 1.2rem; height: 1.2rem; accent-color: var(--produkt); }
.studio-oddily__akce { grid-area: akce; display: flex; align-items: center; gap: 0.3rem; }
.studio-oddily__tlacitko { width: 2.75rem; height: 2.75rem; border: 1px solid var(--linka-pole); border-radius: 10px; background: var(--plocha); color: var(--text); font: 700 1.05rem/1 var(--pismo-text); cursor: pointer; }
.studio-oddily__tlacitko:disabled { opacity: 0.35; }
.studio-oddily__vratit { list-style: none; }

.studio-galerie { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 9.5rem), 1fr)); gap: var(--m-3); }
.studio-sablona { position: relative; display: block; cursor: pointer; }
.studio-sablona input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.studio-sablona__obsah { display: grid; gap: 0.2rem; }
.studio-sablona__nazev { font-weight: 700; }
.studio-sablona__popis { font-size: var(--velikost-xs); color: var(--tlumeny); line-height: 1.35; }
.studio-sablona__ats { justify-self: start; font-size: var(--velikost-xs); font-weight: 700; padding: 0.1rem 0.45rem; border-radius: 6px; background: var(--uspech-plocha); color: var(--n-jasne); }
.studio-sablona__ats.je-dva { background: var(--n-doplnte-plocha); color: var(--n-doplnte-text); }
.studio-sablona input:checked + .studio-sablona__obsah .mini { outline: 3px solid var(--produkt); outline-offset: 2px; }
.studio-sablona input:focus-visible + .studio-sablona__obsah .mini { outline: var(--fokus-sirka) solid var(--produkt-text); outline-offset: 4px; }
/* miniatury šablon: jen schéma z čar, ne obrázek (bez cizích zdrojů) */
.mini { position: relative; display: block; aspect-ratio: 210 / 297; border: 1px solid var(--n-papir-linka); border-radius: 6px; background: #FFFFFF; padding: 12% 12%; overflow: hidden; }
.mini__radek { display: block; height: 4%; margin-bottom: 7%; border-radius: 2px; background: #D5D9DE; }
.mini__radek:first-child { width: 55%; height: 6%; background: #1B1F24; }
.mini__radek:nth-child(2) { width: 35%; background: #0A5C55; }
.mini__radek:nth-child(3) { width: 90%; }
.mini__radek:nth-child(4) { width: 80%; }
.mini__radek:nth-child(5) { width: 40%; background: #0A5C55; }
.mini__radek:nth-child(6) { width: 85%; }
.mini--linka .mini__radek:nth-child(2), .mini--linka .mini__radek:nth-child(5) { border-left: 3px solid #1F3A5F; background: #D5D9DE; }
.mini--moderni::before { content: ""; position: absolute; inset: 0 0 72% 0; background: #1D4F91; }
.mini--moderni .mini__radek:first-child { background: #FFFFFF; position: relative; }
.mini--moderni .mini__radek:nth-child(2) { background: #C9D6EA; position: relative; }
.mini--kompakt .mini__radek { height: 3%; margin-bottom: 4%; }
.mini--elegant .mini__radek:first-child { background: #8C2F39; margin-inline: auto; }
.mini--elegant .mini__radek:nth-child(2) { margin-inline: auto; background: #8C2F39; }
.mini--sloupec::before { content: ""; position: absolute; inset: 0 66% 0 0; background: #DDE9E7; }
.mini--sloupec .mini__radek { margin-left: 38%; width: 55% !important; }
.mini--casova_osa::before { content: ""; position: absolute; left: 14%; top: 34%; bottom: 10%; width: 3px; background: #0A5C55; }
.mini--casova_osa .mini__radek:nth-child(n+3) { margin-left: 12%; }
.mini--technik .mini__radek:nth-child(3), .mini--technik .mini__radek:nth-child(4) { background: #0A5C55; opacity: 0.5; }
.mini--absolvent .mini__radek:nth-child(2) { width: 70%; }
.mini--vysledky .mini__radek:nth-child(3) { height: 12%; background: #E1E7EF; border-left: 3px solid #1F3A5F; }

.studio-barvy { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.studio-barva { position: relative; display: inline-flex; cursor: pointer; }
.studio-barva input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.studio-barva__vzorek { display: block; width: 2.75rem; height: 2.75rem; border-radius: 50%; border: 3px solid var(--plocha); box-shadow: 0 0 0 1px var(--linka-pole); }
.studio-barva input:checked + .studio-barva__vzorek { box-shadow: 0 0 0 3px var(--text); }
.studio-barva input:focus-visible + .studio-barva__vzorek { outline: var(--fokus-sirka) solid var(--produkt-text); outline-offset: 3px; }

.studio-fotka { display: grid; gap: var(--m-3); justify-items: start; margin: var(--m-3) 0; padding: var(--m-4); border: 2px dashed var(--linka-pole); border-radius: 14px; }
.studio-fotka[hidden] { display: none; }
.studio-fotka__nahled { width: 7rem; height: 7rem; object-fit: cover; border-radius: 10px; }
.studio-fotka__nahled.je-kruh { border-radius: 50%; }
.studio-fotka__akce { display: flex; flex-wrap: wrap; align-items: center; gap: var(--m-3); }

.studio__nahled { min-width: 0; padding: var(--m-3); border-radius: var(--polomer-karta); background: var(--plocha-2); }
.studio__plocha { overflow: auto; max-width: 100%; }
.studio__list { display: block; margin-inline: auto; }
.studio__strany { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 var(--m-3); margin-top: var(--m-3); color: var(--tlumeny); font-size: var(--velikost-s); }
.studio__strany .odkaz-tlacitko { min-width: 2.75rem; justify-content: center; text-decoration: none; font-size: 1.1rem; }
.studio__pocet-stran.je-varovani { color: var(--n-doplnte-text); font-weight: 700; }
.studio__meritko[aria-pressed="true"] { background: var(--produkt-plocha); border-radius: 8px; }
.studio__en { margin: 0 0 var(--m-3); padding: var(--m-4); border-radius: 14px; background: var(--plocha); display: grid; gap: var(--m-3); justify-items: start; }
.studio__en[hidden] { display: none; }
/* PN51: stažení anglické verze pod blokem EN, ve stejné ploše. */
.studio__en-stahnout { margin: 0 0 var(--m-3); padding: var(--m-3) var(--m-4); border-radius: 14px; background: var(--plocha); }
.studio__en-stahnout p { margin: 0 0 var(--m-2); }
.studio__en-tlacitka { display: flex; flex-wrap: wrap; gap: var(--m-2); }
@media (max-width: 47.99rem) { .studio__en-tlacitka .sl-tlacitko { width: 100%; justify-content: center; } }
.studio__chat { min-width: 0; }
.studio__chat-lista { display: none; }
.studio-mobil { display: none; }
.studio__tisk { display: none; }
.sl-skryte-mimo-mobil { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.proc-bublina { position: absolute; z-index: 40; padding: var(--m-4); background: var(--plocha); color: var(--text); border: 1px solid var(--linka);
  border-radius: 16px; box-shadow: var(--n-stin-2); }
.proc-bublina[hidden] { display: none; }
.proc-bublina p { margin: 0 0 0.5rem; }
.proc-bublina__typ { font: 700 var(--velikost-xs)/1.3 var(--pismo-text); letter-spacing: 0.08em; text-transform: uppercase; color: var(--produkt-text); }
.proc-bublina__akce { display: flex; flex-wrap: wrap; align-items: center; gap: var(--m-3); }

.orez { position: relative; width: min(100%, 22rem); aspect-ratio: 1; margin: 0 auto var(--m-3); overflow: hidden; border-radius: 14px; background: #3A3F47; touch-action: none; cursor: grab; }
.orez:focus-visible { outline: var(--fokus-sirka) solid var(--produkt-text); outline-offset: 3px; }
.orez__obrazek { position: absolute; left: 0; top: 0; max-width: none; user-select: none; pointer-events: none; }
.orez__maska { position: absolute; inset: 0; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.9); pointer-events: none; }
.orez__maska.je-kruh { border-radius: 50%; box-shadow: 0 0 0 999px rgba(0, 0, 0, 0.45), inset 0 0 0 2px rgba(255, 255, 255, 0.9); }
.orez__spodek { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--m-3); }

/* 1440: tři sloupce (nástroje 360, náhled, chat 360); 1024–1400: chat sbalený do svislé lišty (rozhodnutí Ondřeje). */
@media (min-width: 64rem) {
  .studio__mrizka { grid-template-columns: 22.5rem minmax(0, 1fr); }
  .studio__panel { position: sticky; top: var(--m-4); max-height: calc(100vh - 2rem); overflow-y: auto; }
}
@media (min-width: 64rem) and (max-width: 87.49rem) {
  /* PN52 (persony kolo 4): obsah studia uhne pevné svislé liště vpravo (≈3,8rem), jinak překryje „Stáhnout pro Word“. */
  .sl-stranka.studio-obal { padding-right: calc(var(--okraj-stranky) + 4.5rem); }
  .studio__chat { position: fixed; z-index: 45; right: 0; top: 30vh; }
  .studio__chat-lista { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; min-width: 2.9rem; padding: var(--m-3) 0.4rem; border: 1px solid var(--linka);
    border-right: 0; border-radius: 14px 0 0 14px; background: var(--produkt); color: var(--na-produktu); font: inherit; font-weight: 700; cursor: pointer; writing-mode: vertical-rl; }
  .studio__chat .chat { display: none; }
  .studio__chat .chat[data-stav="otevreny"] { display: flex; position: fixed; top: var(--m-4); right: var(--m-4); bottom: var(--m-4); width: 24rem; z-index: 46; box-shadow: var(--n-stin-2); }
  .studio__chat .chat[data-stav="otevreny"] .chat__zavrit { display: inline-flex !important; }
}
@media (min-width: 64rem) and (max-width: 87.49rem) {
  /* VP9: bez chatu není svislá lišta, obsah nemusí uhýbat */
  .sl-stranka.studio-obal:has(.studio--bez-chatu) { padding-right: var(--okraj-stranky); }
}
@media (min-width: 87.5rem) {
  .studio__mrizka { grid-template-columns: 22.5rem minmax(0, 1fr) 22.5rem; }
  .studio--bez-chatu .studio__mrizka { grid-template-columns: 22.5rem minmax(0, 1fr); }
  .studio__chat .chat { position: sticky; top: var(--m-4); max-height: calc(100vh - 2rem); }
}
@media (max-width: 63.99rem) {
  .studio__panel { display: none; }
  .studio__panel.je-otevreny { display: block; position: fixed; z-index: 60; left: 0; right: 0; bottom: 0; max-height: 85vh; max-height: 85dvh; overflow-y: auto;
    border-radius: 22px 22px 0 0; box-shadow: var(--n-stin-2); }
  .studio__panel.je-otevreny .studio__panel-hlava { display: flex; justify-content: space-between; align-items: center; }
  .studio__panel.je-otevreny .sl-skryte-mimo-mobil { position: static; width: auto; height: auto; clip: auto; margin: 0; font-size: var(--velikost-h3); }
  .studio__stahnout { margin-left: 0; }
  .studio__nahled { padding: var(--m-2); }
  .studio-mobil { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); position: fixed; z-index: 50; left: 0; right: 0; bottom: 0;
    padding: 0.3rem 0.3rem calc(0.3rem + env(safe-area-inset-bottom)); background: var(--plocha); border-top: 1px solid var(--linka); box-shadow: 0 -6px 18px -12px var(--n-stin-barva); }
  .studio-mobil.studio-mobil--bez-chatu { grid-template-columns: repeat(4, minmax(0, 1fr)); } /* VP9: bez „Podle vás“ */
  .studio-mobil button { min-height: 3rem; padding: 0 2px; border: 0; border-radius: 10px; background: none; color: var(--text); font: inherit; font-size: var(--velikost-xs); line-height: 1.15; font-weight: 700; overflow-wrap: normal; word-break: keep-all; cursor: pointer; }
  .studio-mobil button[aria-expanded="true"] { background: var(--produkt-plocha); color: var(--produkt-text); }
  body:has(.studio-mobil) main { padding-bottom: 4.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .prepinac__kolejnice, .prepinac__kolejnice::after, .editor-prepinac__kolejnice, .editor-prepinac__kolejnice::after { transition: none; }
  .chat .prubeh__cinnost { animation: none; }
}
}

@media print {
  .studio > :not(.studio__tisk), .studio-mobil, .dil-uvod { display: none !important; }
  .chat, .chat-lista, .studio__lista, .studio__panel, .studio__chat, .studio-mobil, .studio__strany, .proc-bublina, .editor-lista, .editor-format,
  .uprava-pruh, .dotaznik, .dotaznik-radek, .doladeni, .stahnout-karta { display: none !important; }
}
