/* Zkoušky a Lov ve vzhledu Psů (karty .cx-*, dlaždice, filtry). Barvy jdou přes proměnné z compact-shows.css (--pearl-*, --accent). */
html.compact-shows #tab-lov { padding-bottom: 90px; }
html.compact-shows #lov-export-btn { order: 3; }
html.compact-shows #header-row2 #lov-export-btn { --t:235,180,60; --td:140,95,10; }
html.compact-shows .lv-root { padding: 0 !important; max-width: none !important; width: 100%; }
.lv-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 0 0 6px; }
.lv-stat { min-width: 0; min-height: 64px; padding: 6px 4px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; text-align: center;
  border: 1.5px solid var(--pearl-edge, var(--border)); border-radius: 6px; background: var(--pearl-face, var(--surface));
  box-shadow: inset 1px 1px 0 var(--pearl-light, #fff), inset -1px -1px 0 var(--pearl-shade, transparent), 0 2px 5px var(--pearl-shadow, transparent); }
.lv-stat-val { font-size: calc(20px * var(--fs-scale, 1)); font-weight: 800; line-height: 1.15; color: var(--text); max-width: 100%; }
.lv-stat-val > span { display: block; max-width: 100%; overflow-wrap: anywhere; font-size: .8em; }
.lv-stat-lbl { font-size: calc(10px * var(--fs-scale, 1)); font-weight: 700; text-transform: uppercase; letter-spacing: .3px; line-height: 1.2; color: var(--text2); overflow-wrap: anywhere; max-width: 100%; }
.lv-s1 .lv-stat-val { color: var(--status-free, #2e7d32); }
.lv-s2 .lv-stat-val { color: var(--accent); }
.lv-s3.lv-s-text .lv-stat-val { font-size: calc(15px * var(--fs-scale, 1)); }
html.compact-shows .lv-filters { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px !important; margin: 0 0 6px !important; }
.lv-filters .cx-sort { height: auto; min-height: 44px; }
.lv-filters .cx-sort input { min-width: 0; width: 100%; height: 32px; border: 0; margin: 0; padding: 0; color: var(--accent); background: transparent; font: 600 12px/1.2 'IBM Plex Sans', sans-serif; outline: none; }
.lv-reset-row { margin: 0 0 6px; }
.lv-reset-row .cx-reset { width: 100%; height: 36px; border: 1px solid var(--danger, #c62828); color: var(--danger, #c62828); background: var(--surface); border-radius: 6px; font-weight: 700; cursor: pointer; }
.lv-count { margin: 2px 2px 6px; font-size: 12px; font-weight: 700; color: var(--text2); }
html.compact-shows .lv-list { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px !important; }
@media (max-width: 1100px) { html.compact-shows .lv-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { html.compact-shows .lv-list { grid-template-columns: minmax(0, 1fr); } html.compact-shows .lv-filters { grid-template-columns: minmax(0, 1fr) !important; } }
.lv-card .cx-view { grid-template-columns: 62px minmax(0, 1fr) !important; }
.lv-card .cx-photo { object-fit: cover; }
.lv-card .cx-buttons .cx-detail, .lv-card .cx-buttons .cx-actions { cursor: pointer; }
.lv-card .cx-results { flex-wrap: wrap !important; max-height: 50px !important; }
.lv-card .cx-name { cursor: pointer; text-align: left; }
.lv-chart-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 8px 2px 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: var(--text2); }
.lv-mini { min-height: 36px; padding: 4px 12px; border: 1.5px solid var(--pearl-edge, var(--border)); border-radius: 6px; background: var(--pearl-face, var(--surface)); color: var(--accent); font-weight: 700; cursor: pointer; }
.lv-charts { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 6px; margin: 0 0 8px; }
.lv-chart { min-width: 0; padding: 8px 10px; border: 1.5px solid var(--pearl-edge, var(--border)); border-radius: 6px; background: var(--pearl-face, var(--surface)); box-shadow: inset 1px 1px 0 var(--pearl-light, #fff), 0 2px 5px var(--pearl-shadow, transparent); }
.lv-chart-t { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: var(--text2); margin-bottom: 6px; }
.lv-empty { margin: 24px auto; max-width: 420px; padding: 24px 16px; text-align: center; border: 1.5px solid var(--pearl-edge, var(--border)); border-radius: 6px; background: var(--pearl-face, var(--surface)); }
.lv-empty-ico { font-size: 40px; line-height: 1.2; } .lv-empty-t { font-weight: 800; margin-top: 6px; } .lv-empty-s { color: var(--text2); font-size: 13px; margin-top: 4px; }
.lv-pick { max-width: 380px; padding: 18px; border-radius: 6px; }
.lv-pick h3 { margin: 0 0 12px; font-size: 17px; }
.lv-pick-list { display: flex; flex-direction: column; gap: 6px; max-height: 50vh; max-height: 50dvh; overflow: auto; margin-bottom: 10px; }
.lv-pick .btn { min-height: 44px; border-radius: 6px; width: 100%; }
/* Přepínač jazyka na úzkém telefonu: bez šipky, ať se kód jazyka vejde do dlaždice 44 px */
@media (max-width: 600px) { html.compact-preview #lang-pill { gap: 2px !important; padding-left: 2px !important; padding-right: 2px !important; } html.compact-preview #lang-pill .lp-arrow { display: none !important; } }
/* Okna Lovu (zkouška, lov, revír, dosled, výcvik, zranění, norování, svod): tlačítka se nesmí lámat uprostřed slova ani při největším písmu a v němčině */
:is(#trial-form-modal,#hunt-form-modal,#hg-form-modal,#tracking-form-modal,#fawn-form-modal,#training-form-modal,#injury-form-modal,#earth-form-modal,#gathering-form-modal) .btn {
  white-space: nowrap !important; word-break: normal !important; overflow-wrap: normal !important; hyphens: none !important; flex-shrink: 0; min-width: max-content; padding-left: 14px; padding-right: 14px;
}
:is(#trial-form-modal,#hunt-form-modal,#hg-form-modal,#tracking-form-modal,#fawn-form-modal,#training-form-modal,#injury-form-modal,#earth-form-modal,#gathering-form-modal) .btn.btn-primary { flex: 1 1 auto !important; }
:is(#trial-form-modal,#hunt-form-modal,#hg-form-modal,#tracking-form-modal,#fawn-form-modal,#training-form-modal,#injury-form-modal,#earth-form-modal,#gathering-form-modal) > div > div:first-child { flex-wrap: wrap; gap: 6px; }
/* Titulek rodokmenu (jméno psa může být dlouhé): zalomit, ne useknout třemi tečkami */
#pedigree-overlay h2, #pedigree-overlay #pedigree-title { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; overflow-wrap: break-word; word-break: normal; line-height: 1.25; }

.lv-card .cx-results:empty { display: none !important; }

/* Hlavička s logem stanice (PC/tablet): stejné rozložení jako bez loga – Version pod názvem, stavy, logo stanice a jazyk vpravo
   přes výšku hlavičky, žádná prázdná druhá řada ani překryv (Petr 3. 11. 2026). */
@media (min-width: 601px) {
  html.compact-preview header .logo:has(#stanice-logo:not([style*="hidden"])) { grid-template-columns:48px minmax(130px,1fr) auto auto auto !important; grid-template-rows:26px 18px !important; grid-auto-rows:auto; row-gap:2px !important; align-items:center; }
  html.compact-preview header .logo:has(#stanice-logo:not([style*="hidden"])) #main-logo { grid-column:1 !important; grid-row:1 / 3 !important; }
  html.compact-preview header .logo:has(#stanice-logo:not([style*="hidden"])) .logo-text-wrapper { grid-column:2 !important; grid-row:1 !important; height:26px !important; }
  html.compact-preview header .logo:has(#stanice-logo:not([style*="hidden"])) #header-version-tile { grid-column:2 !important; grid-row:2 !important; justify-self:start !important; height:18px !important; padding:0 !important; }
  html.compact-preview header .logo:has(#stanice-logo:not([style*="hidden"])) .compact-statuses { grid-column:3 !important; grid-row:1 / 3 !important; }
  html.compact-preview header .logo:has(#stanice-logo:not([style*="hidden"])) #stanice-logo { grid-column:4 !important; grid-row:1 / 3 !important; }
  html.compact-preview header .logo:has(#stanice-logo:not([style*="hidden"])) #lang-pill-wrap { grid-column:5 !important; grid-row:1 / 3 !important; }
}

/* Telefon: přepínač zobrazení má šířku jedné dlaždice (jinak v řadě zbyde díra), dlaždice v řadě mají stejnou výšku
   a dlaždice Celkem s více měnami nepřekrývá částku štítkem (Petr 3. 11. 2026, ověřeno na telefonu). */
@media (max-width: 600px) {
  html.compact-home #stats > .sz-tile { grid-column: span 4 !important; }
  html.compact-home #stats > .stat { align-self: stretch !important; height: auto !important; }
}

/* Všechny dlaždice s počty mají v řadě stejnou výšku (i přepínač zobrazení), když je Celkem s více měnami vyšší (Petr 3. 11. 2026). */
html.compact-home #stats > .stat, html.compact-home #stats > .sz-tile { align-self: stretch !important; height: auto !important; }

/* Dlaždice Celkem jako ve Psech: malé částky nahoře, štítek Celkem ⇄ dole uprostřed, nic se nepřekrývá (Petr 3. 11. 2026). */
html.compact-home #stats .stat-finance .castky-mrizka { font-size: .65em; }

/* Zkoušky a Lov: jedna dlaždice – nahoře tlačítka Přidat / Hledat / Export / Řazení (jen text), pod nimi počty a filtry (Petr 3. 11. 2026). */
html:has(#tab-zkousky.active) #global-search-btn, html:has(#tab-lov.active) #global-search-btn { display: none !important; }
.lv-tile { margin: 0 0 6px; padding: 6px; display: flex; flex-direction: column; gap: 6px;
  border: 1.5px solid var(--pearl-edge, var(--border)); border-radius: 6px; background: var(--pearl-face, var(--surface)); }
.lv-t-btns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.lv-t-btn { position: relative; min-width: 0; height: 40px; padding: 0 1px; display: flex; align-items: center; justify-content: center; text-align: center;
  border: 1px solid var(--pearl-edge, var(--border)); border-radius: 5px; background: var(--surface); color: var(--accent);
  font: 700 min(calc(12px * var(--fs-scale, 1)), 14px)/1.1 'IBM Plex Sans', sans-serif; white-space: nowrap; overflow: hidden; cursor: pointer; }
.lv-t-btn span { min-width: 0; overflow: hidden; }
.lv-t-add { background: var(--accent); color: #fff; border-color: var(--accent); }
.lv-t-sort select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 16px; }
.lv-t-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lv-t-stat { min-width: 0; padding: 4px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; text-align: center; }
.lv-t-stat + .lv-t-stat { border-left: 1px solid var(--pearl-edge, var(--border)); }
.lv-t-stat .lv-stat-val { font-size: calc(20px * var(--fs-scale, 1)); font-weight: 800; line-height: 1.15; color: var(--text); max-width: 100%; }
.lv-t-stat.lv-s1 .lv-stat-val { color: var(--status-free, #2e7d32); }
.lv-t-stat.lv-s2 .lv-stat-val { color: var(--accent); }
.lv-t-stat.lv-s-text .lv-stat-val { font-size: calc(15px * var(--fs-scale, 1)); }
.lv-t-stat .lv-stat-val > span { display: block; max-width: 100%; overflow-wrap: anywhere; font-size: .8em; }
.lv-t-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.lv-t-filters .cx-sort { height: auto; min-height: 44px; }
.lv-t-filters .cx-sort input { min-width: 0; width: 100%; height: 32px; border: 0; margin: 0; padding: 0; color: var(--accent); background: transparent; font: 600 12px/1.2 'IBM Plex Sans', sans-serif; outline: none; }
html .lv-t-filters .cx-sort select, html .lv-t-filters .cx-sort input { font-size: calc(12px * var(--fs-scale, 1)) !important; font-weight: 600; }
@media (max-width: 600px) { html .lv-t-filters .cx-sort select { font-size: calc(10px * var(--fs-scale, 1)) !important; padding-right: 12px !important; } html .lv-t-filters .cx-sort { padding-right: 2px; } }

/* Kalendář: čtyři dlaždice (Přidat, Události, Upozornění, Hledat bez ikony) v jedné řadě i na telefonu (Petr 3. 11. 2026). */
html.compact-calendar #global-search-btn > span:first-child { display: none !important; }
html.compact-calendar #global-search-btn > span + span { margin-left: 0 !important; }
@media (max-width: 600px) {
  html.compact-calendar #header-row2#header-row2 .header-left-group { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 5px !important; }
  html.compact-calendar #header-row2#header-row2 .header-left-group > :is(#add-cal-btn,#cal-events-btn,#cal-notif-btn,#global-search-btn) { grid-column: auto !important; width: 100% !important; min-width: 0 !important; padding-left: 2px !important; padding-right: 2px !important; font-size: calc(11px * var(--fs-scale, 1)) !important; white-space: nowrap !important; overflow: hidden; }
}

/* Bez ikon: Hledat bez lupy všude, ozdobné ikonky v rozích dlaždic pryč, Poznámky bez značky (Petr 3. 11. 2026). */
#global-search-btn > span:first-child, .stat-corner-ico, .fbtn-mating-icon { display: none !important; }
#global-search-btn > span + span { margin-left: 0 !important; }
html.compact-home .fbtn-notes::before { display: none !important; }

/* Výběry v horní liště (např. Roky ve Vrzích): stejné písmo jako sousední tlačítka, text uprostřed, bez nativní šipky (Petr 3. 11. 2026). */
html.compact-preview #header-row2 select { font-size: calc(12px * var(--fs-scale, 1)) !important; font-weight: 600 !important; font-family: inherit !important;
  -webkit-appearance: none !important; appearance: none !important; background-image: none !important; text-align: center; text-align-last: center; padding-left: 4px !important; padding-right: 4px !important; }
html.compact-litters #header-row2 select.cl-year { background-image: linear-gradient(135deg, rgba(var(--t),.20), rgba(var(--t),.06)) !important; background-size: 100% 100% !important; background-repeat: no-repeat !important; background-position: 0 0 !important; padding-right: 6px !important; }

/* Zkoušky a Lov: čísla a popisky dlaždic stejně velké jako na záložce Psi, tlačítka stejně tučná jako ostatní (Petr 3. 11. 2026). */
.lv-t-btn { font-weight: 600; }
.lv-t-stat .lv-stat-val { font-size: calc(15px * var(--fs-scale, 1)); font-weight: 700; }
.lv-t-stat.lv-s-text .lv-stat-val { font-size: calc(13px * var(--fs-scale, 1)); }
.lv-t-stat .lv-stat-lbl { font-size: calc(9px * var(--fs-scale, 1)); }

/* Fotky psů a štěňat jako v Kočkách: rámeček 4:5, fotka uložená 4:5 → nic se neořezává */
.sq-avatar img, .cl-portrait img, .cx-photo, img.cx-photo { object-fit: cover !important; object-position: center center !important; }
.compact-avatar .sq-avatar, .sq-avatar { aspect-ratio: 4 / 5; height: auto !important; }
.cl-portrait { aspect-ratio: 4 / 5; height: auto !important; }
img.cx-photo { aspect-ratio: 4 / 5; height: auto !important; align-self: start; min-height: 0 !important; }

/* Kontrast textů (Test 2, 3. 11. 2026): oranžový text na krémové ploše měl 2,8:1, tmavá červená na tmavé 1,7:1. */
html:not(.dark) :is(.cx-detail, .cx-actions, .cf-detail, .cc-date, .cc-date-sub, .cc-stat-value, .cc-stat-label, .cf-total-label),
html:not(.dark) :is([style*=";color:var(--accent)"], [style^="color:var(--accent)"]):not(.btn) { color: #b04e2c !important; }
html:not(.dark) .set-brand-caret { color: #6f7638 !important; }
html.dark button[onclick^="deleteHealthRecord"], html.dark span[style*="background:var(--danger)22"] { color: #ff8a80 !important; }
html.dark span[style*="background:var(--accent)22"] { color: #f0b99f !important; }
html:not(.dark) :is(.income-total-bar, .castky-mrizka) span:not([style*="color"]) { color: #b04e2c; }

/* Kontrast v tmavém režimu (3. 11. 2026): neaktivní Psi/Feny/Kastráti/Archiv měly tmavě hnědý text z JS (1,8:1), Přidat bílé na světlém oranžovém (2,9:1). */
html.dark #dog-sex-tabs > button:not([aria-selected="true"]) { color: #f3e6d4 !important; }
html.dark .lv-t-add { background: #b4502f; border-color: #b4502f; }
html.dark [style*="color:#4c531c"], html.dark [style*="color:#4c531c"] * { color: #e3e8c0 !important; }
html.dark [style*="color:#5b6421"] { color: #dfe5b4 !important; }
html.dark [style*="color:#2563eb"]:not([style*="background:#eff6ff"]), html.dark [style*="color:#2563eb"] > span { color: #8fb4ff !important; }
html.dark #litter-overlay button[onclick="deleteLitterWithConfirm()"] { color: #ff9a8f !important; }

/* Hodnocení aplikace: tlačítko do obchodu po 4–5 hvězdách (vzor Kočky/Psi) */
html body #review-prompt-modal #review-store-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(0,1fr)); gap:6px; margin-bottom:12px; }
html body #review-prompt-modal .review-store-btn { display:flex; align-items:center; justify-content:center; text-align:center; min-height:56px; padding:8px 10px; border:1px solid #7a5a00; border-radius:6px; background:#fff6d9; color:#5c4300; font-family:inherit; font-size:15px; font-weight:800; cursor:pointer; touch-action:manipulation; }
html.dark body #review-prompt-modal .review-store-btn { background:#3b3210; border-color:#f0d36a; color:#f0d36a; }

/* Nejužší displeje (320 px): 4 tlačítka vedle sebe mají po 65 px, DE „Hinzufügen“, FR „Rechercher“, HU „Hozzáadás“ se při velkém písmu ořezaly (Lov 4. 11. 2026). */
@media (max-width: 340px) { .lv-t-btn { font-size: min(calc(10.5px * var(--fs-scale, 1)), 12px); } }

/* Němčina na úzkém displeji (320–360 px), 4. 11. 2026: žádné slovo se neláme uprostřed. Platí jen pro jazyk DE (třída lang-de na <html>
   nastavuje setLang v app.js) a jen do 360 px; ostatní jazyky a širší displeje beze změny. Nic se neořezává. */
@media (max-width: 360px) {
  /* Spodní lišta: „Einstellungen“ se na 43 px nevejde ani při 6 px; zobrazí se krátké „Optionen“ (atribut data-short-de v index.html), text i popisek pro čtečku zůstávají celé. */
  html.lang-de .tab-label[data-short-de] { font-size: 0 !important; }
  html.lang-de .tab-label[data-short-de]::after { content: attr(data-short-de); font-size: 8.5px; line-height: 1.05; }
  /* Záloha dat: šest dlaždic ve 2 sloupcích místo 3 (v 56 px se „Wiederherstellen“ nevejde), spodní tři dlaždice pod sebou */
  html.lang-de .backup-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html.lang-de .bk-bottom-grid { grid-template-columns: minmax(0, 1fr) !important; }
  html.lang-de :is(.bk-tile-name, .bk-tile-sub) { hyphens: none !important; -webkit-hyphens: none !important; overflow-wrap: normal !important; word-break: normal !important; }
  /* Podpora: „Vorschlag“ se při 360 px lámalo uprostřed */
  html.lang-de .settings-tile-lg > span { font-size: 11px !important; hyphens: none !important; -webkit-hyphens: none !important; overflow-wrap: normal !important; }
  /* Filtr „Reservierungen“: jeden řádek, písmo dopočítá fitMany() v compact-preview.js */
  html.lang-de #header-row2 .filter-btn { white-space: nowrap !important; hyphens: none !important; -webkit-hyphens: none !important; overflow-wrap: normal !important; }
  /* Štítky statistik (Bestanden / Preis, Häufigstes Wild) na jeden řádek */
  html.lang-de .lv-stat-lbl { font-size: calc(8.5px * var(--fs-scale, 1)); letter-spacing: 0; }
}

/* Okno Prémiové funkce: „Mám licenční klíč“ a „Zrušit“ vedle sebe, stejně velké, stejný tvar, pastelové barvy (Petr 4. 11. 2026) */
#paywall-btn-row { display: flex; gap: 8px; margin-top: 10px; align-items: stretch; }
#paywall-btn-row .btn { flex: 1 1 0; min-width: 0; min-height: 46px; margin: 0 !important; padding: 8px 10px; border-radius: 5px; border: 1px solid; font-size: 13px; font-weight: 700; line-height: 1.2; text-align: center; white-space: normal; display: flex; align-items: center; justify-content: center; box-shadow: none; }
#paywall-key-toggle { background: #f6e3d0 !important; border-color: #a04628 !important; color: #7a3016 !important; }
#paywall-cancel-btn { background: #e8ebd2 !important; border-color: #646a3f !important; color: #404618 !important; }
html.dark #paywall-key-toggle { background: #4a2c1e !important; border-color: #c9714e !important; color: #f6dcc8 !important; }
html.dark #paywall-cancel-btn { background: #3f4520 !important; border-color: #aeb493 !important; color: #eef1dc !important; }
/* Okno Prémiové funkce na nízkém displeji: obsah se nesmí zalomit do druhého sloupce (tlačítka Koupit / klíč / Zrušit pak zmizela vpravo mimo okno), okno se posouvá svisle */
#paywall-overlay .modal { flex-wrap: nowrap !important; }
#paywall-btn-row .btn { overflow-wrap: normal; word-break: normal; hyphens: manual; }
@media (max-width: 380px) { #paywall-btn-row .btn { font-size: 11.5px; padding: 8px 4px; } }
