/* base/00-isolation.css */
/* ==========================================================================
   Izolácia novej témy od starých štýlov knihy.
   Nový layout pri neprerobenej obrazovke načíta aj Bootstrap 4.6 + modified*.css + app.min.css
   (theme.legacyCss: auto). Tie štýlujú HOLÉ ELEMENTY a bežné názvy tried:
     modified.css   body{font-size:14px;color:#81593F}  header{background:#644940 !important}
                    h1,h2,h3,h4,label,legend{color:#81593F}  a{…} a:hover{color:#a17948} a:focus{color:#C63D37}
                    .brand{background-image:url(logo.png);width:293px;height:18px}  .table{min-width:600px} …
     Bootstrap 4    reboot (h1–h6 margin/size, small 80 %, p/ul margin, label inline-block, a:hover underline),
                    .active .show .fade .modal .card .badge .close .small …
   Pravidlá novej témy:
     1. všetky triedy a id novej témy majú prefix k- (žiadne .brand / .on / .act …) – bin/sync-proto-css.php
     2. shell aj obsah novej témy má triedu .k-ui; elementové pravidlá sú len pod :where(.k-ui) (0,0,1),
        takže starú obrazovku v .k-legacy nezasiahnu a komponenty (.k-…) ich vždy prebijú
     3. v shelli nepoužívať <header> (modified.css: header{background … !important}) – .k-top je div[role=banner]
   Tento súbor je PRED prototypom (10-proto.css): pri rovnakej špecificite vyhrá komponent z prototypu.
   ========================================================================== */

/* telo stránky – staré body{} (font 14px, hnedá farba, pozadie adminbg.jpg) */
body.k-themed{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--k-bg);color:var(--k-text);font-size:16px;line-height:1.45;text-align:left;margin:0}

/* elementy v novej téme (0,0,1 – rovnako ako reboot/modified.css, ale neskôr v kaskáde) */
:where(.k-ui) :is(h1,h2,h3,h4,h5,h6){color:inherit;font-weight:700;margin:0;line-height:1.2}
:where(.k-ui) :is(label,legend){color:inherit}
/* hodnoty prehliadača (prototyp s nimi počíta), nie Bootstrap 4 reboot */
:where(.k-ui) small{font-size:smaller;font-weight:inherit}
:where(.k-ui) :is(p,ul,ol,dl){margin:1em 0}
:where(.k-ui) label{display:inline;margin-bottom:0}
:where(.k-ui) img{vertical-align:middle;border-style:none}
:where(.k-ui) button{border-radius:0}
:where(.k-ui) a:hover,:where(.k-ui) a:focus{text-decoration:none}
/* holé odkazy v texte: staré a:hover/a:focus (0,1,1) by ich prefarbili na hnedú/červenú */
:where(.k-ui) a:not([class]):is(:hover,:focus,:active){color:var(--k-ok)}

/* odkazy-komponenty s jednou triedou (0,1,0) by staré a:hover/a:focus (0,1,1) prefarbili → stav zafixovať */
:is(.k-mrow,.k-mme,.k-tile,.k-ibtn):is(:hover,:focus,:active){color:var(--k-text)}
:is(.k-chip,.k-opt,.k-lok):is(:hover,:focus,:active){color:inherit}
a.k-chip,a.k-opt,a.k-lok{color:inherit}

/* fokus – viditeľný pre klávesnicu, bez rámčeka po kliknutí */
:where(.k-ui) :focus{outline:0}
:where(.k-ui) :focus-visible{outline:2px solid var(--k-ok);outline-offset:2px}

/* Bootstrap 4 .sr-only nemusí byť načítaný – vlastná trieda */
.k-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* base/10-proto.css */
/* ==========================================================================
   GENEROVANÉ z prototypu (assets/proto.css) – NEUPRAVOVAŤ RUČNE.
   php bin/sync-proto-css.php <prototype>/assets/proto.css
   Triedy prefixované mechanicky (.ok → .k-ok, .brand → .k-brand), elementy obmedzené na :where(.k-ui).
   Produkčné úpravy: base/20-shell.css, base/30-components.css, base/90-bridge.css; obrazovky: screens/*.css
   zdroj sha1: 72d90a78912348024590129efa2e42cd54c78054
   ========================================================================== */
/* ==========================================================================
   Kniha návštev – prototyp redizajnu (mobile first)
   Tokeny vychádzajú z legacy modified.css: #644940 / #4f3328 (hnedá),
   #D5B98F / #F5EBD9 (piesková). Primárna akcia = zelená ako dnešné
   „Pridať návštevu“ (btn-success). Prefix .k-
   ========================================================================== */
:root{
  --k-brand:#4f3328; --k-brand-2:#644940; --k-sand:#d5b98f; --k-cream:#f5ebd9; --k-cream-2:#fbf6ee;
  --k-ok:#2e7d3e; --k-ok-hover:#25672f; --k-ok-soft:#e2f1e5;
  --k-busy:#c62828; --k-busy-soft:#fdecea;
  --k-warn:#8a5a00; --k-warn-soft:#fff3d6;
  --k-info:#1d5a8a; --k-info-soft:#e6f0f8;
  --k-bg:#f4efe6; --k-surface:#fff; --k-surface-2:#faf7f2; --k-line:#e5dccd; --k-line-2:#d8ccb8;
  --k-text:#241a14; --k-muted:#6e6052;
  --k-r:14px; --k-r-sm:10px;
  --k-shadow:0 1px 2px rgba(79,51,40,.06),0 6px 18px rgba(79,51,40,.07);
  --k-top:56px; --k-bnav:64px; --k-demo:40px; --k-side:264px;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
[data-theme="night"]{
  --k-brand:#120d0a; --k-brand-2:#1e1612; --k-sand:#a8895c; --k-cream:#2a2019; --k-cream-2:#221a14;
  --k-ok:#6fbf7f; --k-ok-hover:#89cf97; --k-ok-soft:#1f3326;
  --k-busy:#ff8a80; --k-busy-soft:#3b1f1c; --k-warn:#f2c46b; --k-warn-soft:#38301a; --k-info:#9cc5ea; --k-info-soft:#1b2a38;
  --k-bg:#0f0b09; --k-surface:#1b1511; --k-surface-2:#231b16; --k-line:#34291f; --k-line-2:#45372b;
  --k-text:#eee2d1; --k-muted:#b2a08b; --k-shadow:none;
}
*{box-sizing:border-box}
html:where([data-ui-theme]),body:where(.k-themed){margin:0;background:var(--k-bg);color:var(--k-text);font-size:16px;line-height:1.45;-webkit-tap-highlight-color:transparent}
body:where(.k-themed){padding-top:calc(var(--k-demo) + var(--k-top));padding-bottom:calc(var(--k-bnav) + env(safe-area-inset-bottom) + 8px)}
body.k-full{padding-bottom:0}
:where(.k-ui) a{color:var(--k-ok);text-decoration:none}
:where(.k-ui) h1,:where(.k-ui) h2,:where(.k-ui) h3,:where(.k-ui) h4{margin:0;line-height:1.2}
:where(.k-ui) button{font:inherit;color:inherit;cursor:pointer}
:where(.k-ui) img{max-width:100%}
.k-muted{color:var(--k-muted)} .k-small{font-size:.85rem} .k-xs{font-size:.76rem}
.k-nowrap{white-space:nowrap} .k-right{text-align:right} .k-center{text-align:center}
.k-row{display:flex;align-items:center;gap:.6rem} .k-row-top{display:flex;align-items:flex-start;gap:.6rem}
.k-grow{flex:1;min-width:0} .k-ml{margin-left:auto}
.k-stack{display:flex;flex-direction:column;gap:1rem} .k-stack-sm{display:flex;flex-direction:column;gap:.6rem}
.k-hide{display:none!important}
.k-trunc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- demo lišta ---------- */

/* ---------- top bar (mobil) ---------- */
.k-top{position:fixed;left:0;right:0;top:var(--k-demo);height:var(--k-top);z-index:1500;background:var(--k-brand);color:#fff;display:flex;align-items:center;gap:.5rem;padding:0 .5rem 0 .75rem}
.k-top .k-back{width:40px;height:40px;border:0;background:none;color:#fff;font-size:1.1rem;margin-left:-.4rem}
.k-top .k-ttl{flex:1;min-width:0}
.k-top .k-ttl b{display:block;font-size:1.02rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-top .k-ttl small{display:block;font-size:.7rem;color:var(--k-sand);margin-top:1px}
.k-top .k-act{width:40px;height:40px;border:0;background:none;color:#fff;font-size:1.05rem;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}
.k-avatar{width:34px;height:34px;border-radius:50%;background:var(--k-sand);color:var(--k-brand);font-weight:800;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center;flex:none}
[data-theme="night"] .k-avatar{color:#120d0a}
.k-avatar.k-lg{width:56px;height:56px;font-size:1.1rem}

/* ---------- bottom nav ---------- */
.k-bnav{position:fixed;left:0;right:0;bottom:0;z-index:1500;height:calc(var(--k-bnav) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--k-surface);border-top:1px solid var(--k-line);display:flex}
.k-bnav a,.k-bnav button{flex:1;border:0;background:none;color:var(--k-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.68rem;font-weight:600}
.k-bnav i{font-size:1.15rem}
.k-bnav .k-on{color:var(--k-ok)}
.k-bnav .k-plus{flex:none;width:64px}
.k-bnav .k-plus span{width:50px;height:50px;border-radius:16px;background:var(--k-ok);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.35rem;margin-top:-18px;box-shadow:0 6px 16px rgba(46,125,62,.35);border:3px solid var(--k-bg)}
[data-theme="night"] .k-bnav .k-plus span{color:#0f1a12}

/* ---------- desktop sidebar ---------- */
.k-side{display:none}
.k-main{max-width:1280px;margin:0 auto;padding:1rem}
@media (min-width:992px){
  body:where(.k-themed){padding-top:var(--k-demo);padding-bottom:0}
  .k-top,.k-bnav{display:none}
  .k-side{display:flex;flex-direction:column;position:fixed;top:var(--k-demo);bottom:0;left:0;width:var(--k-side);background:var(--k-brand);color:#e8dac7;z-index:1500;overflow-y:auto;scrollbar-width:thin}
  .k-side .k-brand{padding:1.1rem 1.1rem .8rem;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:.7rem}
  .k-side .k-brand b{color:#fff;font-size:1.12rem;display:block}
  .k-side .k-brand small{color:var(--k-sand);font-size:.74rem}
  .k-side .k-cta{padding:.9rem .9rem .3rem}
  .k-side nav{padding:.2rem .6rem 1rem}
  .k-side .k-grp{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:#a38f78;padding:.9rem .6rem .3rem;font-weight:700}
  .k-side nav a{display:flex;align-items:center;gap:.7rem;color:#e8dac7;padding:.5rem .6rem;border-radius:9px;font-size:.92rem}
  .k-side nav a i{width:18px;text-align:center;opacity:.8}
  .k-side nav a:hover{background:rgba(255,255,255,.06)}
  .k-side nav a.k-on{background:rgba(213,185,143,.2);color:#fff;font-weight:600}
  .k-side nav a .k-cnt{margin-left:auto;font-size:.7rem;background:rgba(255,255,255,.12);padding:.05rem .45rem;border-radius:99px}
  .k-side .k-me{margin-top:auto;display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-top:1px solid rgba(255,255,255,.08)}
  .k-side .k-me b{color:#fff;font-size:.88rem;display:block} .k-side .k-me small{font-size:.72rem;color:#a38f78}
  .k-side .k-me a{color:#e8dac7}
  .k-main{margin-left:var(--k-side);padding:1.5rem 2rem 3rem;max-width:none}
  .k-main>.k-wrap{max-width:1320px;margin:0 auto}
  .k-sm-only{display:none!important}
}
@media (max-width:991.98px){.k-lg-only{display:none!important}}

/* ---------- page head ---------- */
.k-head{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}
.k-head h1{font-size:1.4rem;font-weight:800}
.k-head p{margin:.2rem 0 0;color:var(--k-muted);font-size:.9rem}
.k-head .k-acts{margin-left:auto;display:flex;gap:.5rem;flex-wrap:wrap}
.k-crumb{font-size:.8rem;color:var(--k-muted);margin-bottom:.35rem}
.k-crumb a{color:var(--k-muted)} .k-crumb a:hover{color:var(--k-text)}
@media (max-width:991.98px){ .k-head h1{font-size:1.2rem} .k-head.k-lg-head{display:none} }

/* ---------- card ---------- */
.k-card{background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-r);box-shadow:var(--k-shadow)}
.k-card-h{display:flex;align-items:center;gap:.5rem;padding:.85rem 1rem .5rem;flex-wrap:wrap}
.k-card-h h2{font-size:1rem;font-weight:700}
.k-card-h .k-act{margin-left:auto}
.k-card-b{padding:.3rem 1rem 1rem}
.k-card-b.k-flush{padding:0}
.k-card-f{padding:.7rem 1rem;border-top:1px solid var(--k-line);display:flex;gap:.5rem;flex-wrap:wrap}
.k-grid{display:grid;gap:1rem}

.k-grid>*,.k-fgrid>*{min-width:0}
body.k-nobnav{padding-bottom:env(safe-area-inset-bottom)}
body.k-nobnav .k-sticky-f{bottom:0}
.k-grid.k-kpis{grid-template-columns:repeat(2,1fr)}
@media (min-width:768px){.k-grid.k-c2{grid-template-columns:1fr 1fr}.k-grid.k-c3{grid-template-columns:repeat(3,1fr)}.k-grid.k-c4{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1200px){.k-grid.k-main-side{grid-template-columns:minmax(0,1fr) 380px}}

/* ---------- buttons ---------- */
.k-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.55rem 1rem;border-radius:12px;font-weight:650;font-size:.97rem;border:1px solid transparent;background:none;white-space:nowrap;text-decoration:none;line-height:1.1}
.k-btn.k-sm{min-height:36px;padding:.3rem .7rem;font-size:.86rem;border-radius:9px}
.k-btn.k-block{width:100%}
.k-btn.k-ok{background:var(--k-ok);color:#fff}.k-btn.k-ok:hover{background:var(--k-ok-hover)}
[data-theme="night"] .k-btn.k-ok{color:#0f1a12}
.k-btn.k-brand{background:var(--k-brand-2);color:#fff}
.k-btn.k-ghost{background:var(--k-surface);border-color:var(--k-line-2);color:var(--k-text)}.k-btn.k-ghost:hover{background:var(--k-surface-2)}
.k-btn.k-soft{background:var(--k-ok-soft);color:var(--k-ok)}
.k-btn.k-danger{background:var(--k-busy);color:#fff}
.k-btn.k-danger-ghost{background:var(--k-surface);border-color:var(--k-line-2);color:var(--k-busy)}
.k-btn.k-link{color:var(--k-ok);padding-left:.3rem;padding-right:.3rem}
.k-btn:disabled{opacity:.45;cursor:not-allowed}
.k-ibtn{width:42px;height:42px;border-radius:11px;border:1px solid var(--k-line-2);background:var(--k-surface);color:var(--k-text);display:inline-flex;align-items:center;justify-content:center;flex:none}
.k-ibtn.k-sm{width:34px;height:34px;border-radius:9px;font-size:.85rem}
.k-side .k-btn.k-ok{box-shadow:0 4px 14px rgba(0,0,0,.25)}

/* ---------- badges ---------- */
.k-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:99px;background:var(--k-surface-2);border:1px solid var(--k-line);color:var(--k-muted);white-space:nowrap;line-height:1.4}
.k-badge.k-ok{background:var(--k-ok-soft);color:var(--k-ok);border-color:transparent}
.k-badge.k-busy{background:var(--k-busy-soft);color:var(--k-busy);border-color:transparent}
.k-badge.k-warn{background:var(--k-warn-soft);color:var(--k-warn);border-color:transparent}
.k-badge.k-info{background:var(--k-info-soft);color:var(--k-info);border-color:transparent}
.k-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}
.k-chip-r{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;color:var(--k-muted)}

/* ---------- list ---------- */
.k-list{list-style:none;margin:0;padding:0}
.k-list>li{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-top:1px solid var(--k-line)}
.k-list>li:first-child{border-top:0}
.k-list>li.k-link{cursor:pointer}.k-list>li.k-link:hover{background:var(--k-surface-2)}
.k-list .k-t{font-weight:650;line-height:1.25}
.k-list .k-s{font-size:.82rem;color:var(--k-muted);line-height:1.35}
.k-list .k-r{margin-left:auto;text-align:right;flex:none}
.k-list .k-ico{width:40px;height:40px;border-radius:11px;background:var(--k-cream);color:var(--k-brand-2);display:flex;align-items:center;justify-content:center;flex:none}
[data-theme="night"] .k-list .k-ico{color:var(--k-sand)}
.k-gt{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:var(--k-muted);padding:.8rem 1rem .25rem;display:flex;align-items:center;gap:.4rem}

/* ---------- table ---------- */
.k-tw{overflow-x:auto}
.k-table{width:100%;border-collapse:collapse;font-size:.9rem}
.k-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--k-muted);font-weight:800;text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--k-line);white-space:nowrap;background:var(--k-surface-2)}
.k-table td{padding:.6rem .75rem;border-bottom:1px solid var(--k-line);vertical-align:middle}
.k-table tr:last-child td{border-bottom:0}
.k-table tbody tr:hover{background:var(--k-surface-2)}
.k-table tr.k-link{cursor:pointer}
.k-table .k-num{text-align:right;font-variant-numeric:tabular-nums}
/* ---------- responzívne tabuľky (container queries) ----------
   .k-tw je kontajner – tabuľka reaguje na šírku SVOJHO obalu (úzky stĺpec domov vs. celá šírka), nie okna.
   Priorita stĺpca (th/td alebo ľubovoľný prvok): .k-p4 skryje sa < 1200px, .k-p3 < 1000px, .k-p2 < 820px.
   Skryté údaje sa zlúčia do primárnej bunky: .k-s4/.k-s3/.k-s2 = doplnkový riadok/úsek viditeľný len keď je príslušná priorita skrytá.
   .k-cards: pod 560px sa riadky zobrazia ako karty (rovnaký vizuál ako .k-list) – td.k-kc = obsah karty, td.k-ka = akcie.
   .k-tw.k-wide = výslovne povolený vodorovný scroll (tlačové náhľady A4). */
.k-tw{container-type:inline-size;container-name:ktw}
.k-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.k-table td,.k-table th{padding-left:.6rem;padding-right:.6rem}
.k-table td:first-child,.k-table th:first-child{padding-left:1rem}
.k-table td:last-child,.k-table th:last-child{padding-right:1rem}
.k-table td{line-height:1.3}
.k-table .k-nw,.k-table .k-num{white-space:nowrap}
.k-table .k-tx{min-width:8.5rem}
.k-table .k-tx-s{min-width:6.5rem}
.k-table .k-sub{font-size:.78rem;color:var(--k-muted);line-height:1.3;margin-top:.1rem}
.k-clamp{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:normal;word-break:normal}
.k-ell{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:0;min-width:100%} /* width:0 – neovplyvní šírku stĺpca, vyplní bunku */
.k-table td.k-ka,.k-table th.k-ka{width:1%;white-space:nowrap;text-align:right;position:sticky;right:0;background:var(--k-surface);z-index:1}
.k-table th.k-ka{background:var(--k-surface-2)}
.k-table tbody tr:hover td.k-ka{background:var(--k-surface-2)}
.k-table td.k-ka>*{vertical-align:middle}
.k-table td.k-ka .k-ibtn.k-sm{width:36px;height:36px}
.k-table td.k-ka,.k-table th.k-ka{padding-right:1rem}
.k-table td.k-ka{font-size:.86rem}
.k-table th.k-thw{white-space:normal;min-width:4.5rem}
.k-table .k-s2,.k-table .k-s3,.k-table .k-s4,.k-table td.k-kc,.k-table th.k-kc{display:none}
@container ktw (max-width:1199.98px){ .k-table .k-p4{display:none} .k-table span.k-s4{display:inline} .k-table div.k-s4{display:block} }
@container ktw (max-width:999.98px){ .k-table .k-p3{display:none} .k-table span.k-s3{display:inline} .k-table div.k-s3{display:block} }
@container ktw (max-width:819.98px){ .k-table .k-p2{display:none} .k-table span.k-s2{display:inline} .k-table div.k-s2{display:block} }
/* odsadenie 1. viditeľného stĺpca, keď sú prvé stĺpce skryté prioritou */
@container ktw (max-width:1199.98px){ .k-table tr>.k-p4:first-child+*,.k-table tr>.k-p4:first-child+.k-p4+*{padding-left:1rem} }
@container ktw (max-width:999.98px){ .k-table tr>.k-p4:first-child+*,.k-table tr>.k-p3:first-child+*,.k-table tr>.k-p4:first-child+.k-p4+*,.k-table tr>.k-p4:first-child+.k-p3+*,.k-table tr>.k-p3:first-child+.k-p4+*,.k-table tr>.k-p3:first-child+.k-p3+*{padding-left:1rem} }
@container ktw (max-width:819.98px){ .k-table tr>.k-p4:first-child+*,.k-table tr>.k-p3:first-child+*,.k-table tr>.k-p2:first-child+*,.k-table tr>.k-p4:first-child+.k-p4+*,.k-table tr>.k-p4:first-child+.k-p3+*,.k-table tr>.k-p4:first-child+.k-p2+*,.k-table tr>.k-p3:first-child+.k-p4+*,.k-table tr>.k-p3:first-child+.k-p3+*,.k-table tr>.k-p3:first-child+.k-p2+*,.k-table tr>.k-p2:first-child+.k-p4+*,.k-table tr>.k-p2:first-child+.k-p3+*,.k-table tr>.k-p2:first-child+.k-p2+*{padding-left:1rem} }
@container ktw (max-width:559.98px){
  .k-table.k-cards,.k-table.k-cards tbody{display:block;width:100%}
  .k-table.k-cards thead{display:none}
  .k-table.k-cards tr{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-top:1px solid var(--k-line)}
  .k-table.k-cards tbody tr:first-child{border-top:0}
  .k-table.k-cards td{display:none;padding:0;border:0}
  .k-table.k-cards td.k-kc{display:flex;align-items:center;gap:.75rem;flex:1 1 auto;min-width:0;order:-1}
  .k-table.k-cards td.k-kc .k-grow{min-width:0}
  .k-table.k-cards td.k-kc .k-t{font-weight:650;line-height:1.25}
  .k-table.k-cards td.k-kc .k-s{font-size:.82rem;color:var(--k-muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .k-table.k-cards td.k-kc .k-ico{width:40px;height:40px;border-radius:11px;background:var(--k-cream);color:var(--k-brand-2);display:flex;align-items:center;justify-content:center;flex:none}
  .k-table.k-cards td.k-ka{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.3rem;flex:none;max-width:50%;position:static;background:none;width:auto}
  .k-table.k-cards td.k-ka:empty{display:none}
  .k-table.k-cards td.k-kfull{display:block;flex:1 1 100%}
}
[data-theme="night"] .k-table.k-cards td.k-kc .k-ico{color:var(--k-sand)}
/* desktop: hlavička tabuľky ostáva pri scrollovaní stránky viditeľná (sticky). overflow-x:clip namiesto auto – auto by z .k-tw urobil
   scroll kontajner a sticky by nefungoval; na desktope sa tabuľky zmestia vďaka prioritám stĺpcov (.k-wide náhľady A4 scrollujú ďalej).
   .k-scrollbox = karta s vlastným vertikálnym scrollom (lokality) – hlavička sa lepí na jej vrch. */
@media (min-width:992px){
  .k-main .k-tw:not(.k-wide){overflow-x:clip}
  .k-main .k-table thead th{position:sticky;top:var(--k-demo);z-index:2}
  .k-main .k-table thead th.k-ka{z-index:3}
  .k-main .k-scrollbox .k-table thead th{top:0}
}

/* ---------- forms ---------- */
.k-field{margin-bottom:1rem}
.k-label{display:block;font-size:.8rem;font-weight:700;color:var(--k-muted);margin-bottom:.3rem}
.k-label .k-req{color:var(--k-busy)}
.k-input,.k-select{width:100%;min-height:48px;border:1.5px solid var(--k-line-2);border-radius:12px;background:var(--k-surface);color:var(--k-text);padding:.55rem .8rem;font-size:1rem;font-family:inherit}
.k-input:focus,.k-select:focus{outline:none;border-color:var(--k-ok);box-shadow:0 0 0 3px var(--k-ok-soft)}
textarea.k-input{min-height:88px;resize:vertical}
.k-hint{font-size:.76rem;color:var(--k-muted);margin-top:.3rem}
.k-fgrid{display:grid;gap:0 .75rem;grid-template-columns:1fr 1fr}
.k-fgrid .k-full{grid-column:1/-1}
@media (min-width:768px){.k-fgrid.k-c3{grid-template-columns:repeat(3,1fr)}.k-fgrid.k-c4{grid-template-columns:repeat(4,1fr)}}
.k-search{position:relative}
.k-search i{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--k-muted)}
.k-search input{padding-left:2.4rem}
.k-check{display:flex;align-items:center;gap:.7rem;padding:.75rem .85rem;border:1.5px solid var(--k-line-2);border-radius:12px;background:var(--k-surface);cursor:pointer}
.k-check input{width:22px;height:22px;accent-color:var(--k-ok);flex:none}
.k-stepper{display:flex;border:1.5px solid var(--k-line-2);border-radius:12px;overflow:hidden;background:var(--k-surface);min-height:48px}
.k-stepper button{width:46px;border:0;background:var(--k-surface-2);font-size:1.2rem}
.k-stepper input{flex:1;min-width:0;border:0;text-align:center;font-weight:800;font-size:1.05rem;background:transparent;color:var(--k-text)}

/* chips / segment */
.k-chips{display:flex;flex-wrap:wrap;gap:.45rem}
.k-chip{border:1.5px solid var(--k-line-2);background:var(--k-surface);border-radius:11px;padding:.5rem .8rem;min-height:44px;font-size:.92rem;display:inline-flex;align-items:center;gap:.45rem;text-align:left;line-height:1.2}
.k-chip.k-on{border-color:var(--k-ok);background:var(--k-ok-soft);color:var(--k-ok);font-weight:700}
.k-chip:disabled{opacity:.5;cursor:not-allowed}
.k-chip.k-sm{min-height:36px;padding:.3rem .65rem;font-size:.85rem}
.k-hscroll{display:flex;gap:.45rem;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.k-hscroll::-webkit-scrollbar{display:none}
.k-hscroll>*{flex:none}
.k-seg{display:flex;background:var(--k-surface-2);border:1px solid var(--k-line);border-radius:12px;padding:3px;gap:2px;flex-wrap:wrap} /* wrap – dlhé popisy (SMS príjemcovia) nesmú roztiahnuť stránku na mobile */
.k-seg button{flex:1;border:0;background:none;padding:.45rem .6rem;border-radius:9px;font-size:.88rem;font-weight:700;color:var(--k-muted);min-height:38px;white-space:nowrap}
.k-seg button.k-on{background:var(--k-surface);color:var(--k-text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
/* výber v dvoch krokoch (napr. zver: 1 Kategória → 2 Druh): očíslované kroky, pás kategórií, dlaždice, súhrn výberu.
   Mobil: kategórie v jednom riadku (vodorovný posun, okraj stmavne), od 768 px zalomené; dlaždice 2 stĺpce, širšie auto-fill. */
.k-pstep{display:flex;align-items:center;gap:.45rem;margin:0 0 .45rem;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--k-muted)}
.k-pstep>b{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--k-line-2);background:var(--k-surface-2);color:var(--k-text);font-size:.68rem;letter-spacing:0}
.k-pstep.k-done>b{background:var(--k-ok);border-color:var(--k-ok);color:var(--k-surface)}
.k-pstep-need{margin-left:auto;padding:.12rem .55rem;border-radius:999px;background:var(--k-warn-soft);color:var(--k-warn);font-size:.74rem;font-weight:700;letter-spacing:0;text-transform:none}
.k-cats{margin-bottom:.9rem;padding-right:1.5rem;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 1.5rem),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 1.5rem),transparent)}
.k-cats .k-chip.k-on{background:var(--k-ok);border-color:var(--k-ok);color:var(--k-surface)}
@media (min-width:768px){.k-cats{flex-wrap:wrap;overflow:visible;padding-right:0;-webkit-mask-image:none;mask-image:none}}
.k-ptiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:1rem}
@media (min-width:560px){.k-ptiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
.k-ptiles.k-need{padding:.5rem;border:1.5px dashed var(--k-sand);border-radius:14px;background:var(--k-surface-2)}
.k-ptile{display:flex;align-items:center;gap:.5rem;min-height:56px;padding:.55rem .7rem;border:1.5px solid var(--k-line-2);border-radius:12px;background:var(--k-surface);color:var(--k-text);font-size:.92rem;font-weight:600;line-height:1.25;text-align:left;cursor:pointer}
.k-ptile:hover{border-color:var(--k-ok)}
.k-ptile:focus-visible{outline:2px solid var(--k-ok);outline-offset:2px}
.k-ptile:disabled{opacity:.5;cursor:not-allowed}
.k-ptile .k-ptile-sub{display:block;margin-top:.1rem;font-size:.74rem;font-weight:500;color:var(--k-muted)}
.k-ptile .k-tick{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;margin-left:auto;border-radius:50%;border:1.5px solid var(--k-line-2);color:transparent;font-size:.68rem}
.k-ptile.k-on{border-color:var(--k-ok);background:var(--k-ok-soft);box-shadow:inset 0 0 0 1px var(--k-ok)}
.k-ptile.k-on .k-tick{border-color:var(--k-ok);background:var(--k-ok);color:var(--k-surface)}
.k-picked{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.55rem .55rem .55rem .8rem;border:1.5px solid var(--k-ok);border-radius:12px;background:var(--k-ok-soft)}
.k-picked>.fa-circle-check{flex:none;color:var(--k-ok);font-size:1.15rem}
.k-picked-t{flex:1;min-width:0;line-height:1.3;color:var(--k-text)}
.k-picked-cat{color:var(--k-muted);font-size:.8rem;font-weight:600}
.k-picked-sep{margin:0 .35rem;color:var(--k-muted);font-size:.65rem}
.k-picked .k-btn{flex:none}
.k-chip.k-on>.fa-check{font-size:.75em}
/* chyba poľa (po pokuse o odoslanie / opustení poľa): červený rámik + jemné pozadie, text s ikonou pod ovládačom */
.k-field.k-invalid .k-label{color:var(--k-busy)}
.k-field.k-invalid :is(.k-input,.k-select,.k-stepper,.k-seg){border-color:var(--k-busy);background-color:color-mix(in srgb,var(--k-busy) 6%,var(--k-surface))}
.k-field.k-invalid :is(.k-input,.k-select):focus{border-color:var(--k-busy);box-shadow:0 0 0 3px var(--k-busy-soft)}
.k-field.k-invalid :is(.k-chips,.k-ptiles){padding:.5rem;border:1.5px solid var(--k-busy);border-radius:14px;background:color-mix(in srgb,var(--k-busy) 6%,var(--k-surface))}
.k-field.k-invalid .k-stepper button{background:transparent}
.k-ferr{display:flex;align-items:flex-start;gap:.35rem;margin-top:.35rem;font-size:.8rem;font-weight:600;line-height:1.35;color:var(--k-busy)}
.k-ferr::before{content:"\f06a";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.85em;line-height:1.6;flex:none}

/* ---------- výber lokality (posedy) ---------- */
.k-loks{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.45rem}
.k-lok{border:1.5px solid var(--k-line-2);background:var(--k-surface);border-radius:11px;padding:.55rem .7rem;text-align:left;min-height:58px;display:flex;flex-direction:column;justify-content:center}
.k-lok b{font-size:.92rem;line-height:1.2}
.k-lok small{font-size:.74rem;color:var(--k-muted);margin-top:2px}
.k-lok.k-busy{background:var(--k-busy-soft);border-color:transparent;cursor:not-allowed}
.k-lok.k-busy small{color:var(--k-busy)}
.k-lok.k-on{border-color:var(--k-ok);background:var(--k-ok-soft);box-shadow:inset 0 0 0 1.5px var(--k-ok)}

/* ---------- status kartička ---------- */
.k-status{border-radius:var(--k-r);padding:1rem;background:var(--k-brand-2);color:#fff}
.k-status.k-in{background:var(--k-ok)}
[data-theme="night"] .k-status{background:#2a211b;color:var(--k-text)} [data-theme="night"] .k-status.k-in{background:#1f3326}
.k-status .k-l{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;opacity:.85;font-weight:700}
.k-status .k-b{font-size:1.25rem;font-weight:800;margin:.15rem 0 .2rem;line-height:1.2}
.k-status .k-m{font-size:.88rem;opacity:.92}
.k-status .k-bar{height:6px;border-radius:6px;background:rgba(255,255,255,.25);margin:.75rem 0 .3rem;overflow:hidden}
.k-status .k-bar span{display:block;height:100%;background:#fff}
.k-status .k-g{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.8rem}
.k-status .k-btn{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.22);min-height:44px}
.k-status .k-btn.k-solid{background:#fff;color:var(--k-brand)}
[data-theme="night"] .k-status .k-btn.k-solid{background:var(--k-ok);color:#0f1a12}

/* ---------- mapa ---------- */
.k-map{position:relative;border-radius:var(--k-r);overflow:hidden;border:1px solid var(--k-line);background:#2b2b2b}
.k-map .leaflet-container{background:#2b2b2b;font:inherit}
.k-map-tools{position:absolute;right:10px;top:10px;z-index:500;display:flex;flex-direction:column;gap:6px}
.k-map-tools button{width:42px;height:42px;border-radius:11px;border:0;background:rgba(255,255,255,.95);color:#222;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.k-map-tools button.k-on{background:var(--k-ok);color:#fff}
.k-map-legend{position:absolute;left:10px;bottom:10px;z-index:500;background:rgba(255,255,255,.94);color:#222;border-radius:10px;padding:.4rem .6rem;font-size:.74rem;display:flex;gap:.7rem;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.k-map-legend span{display:inline-flex;align-items:center;gap:.3rem}
.k-pin{width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center}
.k-pin i{transform:rotate(45deg);font-size:9px;color:#fff}
.k-pin.k-free{background:#39b54a}.k-pin.k-busy{background:#e53935}.k-pin.k-sel{background:#f2c46b;width:28px;height:28px}.k-pin.k-feed{background:#b0782f;border-radius:6px;transform:none;width:18px;height:18px}.k-pin.k-feed i{transform:none}
.k-pin.k-me{background:#1e88e5;border-radius:50%;transform:none}
.k-maplbl{background:rgba(0,0,0,.6);color:#fff;border:0;border-radius:6px;padding:1px 5px;font-size:11px;font-weight:700;box-shadow:none;white-space:nowrap}
.k-maplbl:before{display:none}
.leaflet-popup-content-wrapper{border-radius:12px}
.leaflet-popup-content{margin:10px 12px;font:inherit;font-size:.88rem;min-width:180px}
.k-mapfull{position:fixed;left:0;right:0;top:calc(var(--k-demo) + var(--k-top));bottom:calc(var(--k-bnav) + env(safe-area-inset-bottom));border-radius:0;border:0}
@media (min-width:992px){.k-mapfull{left:var(--k-side);top:var(--k-demo);bottom:0}}

/* ---------- sheet ---------- */
.k-bd{position:fixed;inset:0;z-index:2000;background:rgba(18,12,8,.5);opacity:0;pointer-events:none;transition:opacity .2s}
.k-bd.k-open{opacity:1;pointer-events:auto}
.k-sheet{position:fixed;left:0;right:0;bottom:0;z-index:2001;background:var(--k-bg);border-radius:18px 18px 0 0;max-height:92vh;display:flex;flex-direction:column;transform:translateY(105%);transition:transform .22s ease}
.k-sheet.k-open{transform:none}
.k-sheet.k-tall{height:92vh}
.k-sheet-h{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem .6rem;border-bottom:1px solid var(--k-line)}
.k-sheet-h:before{content:"";position:absolute;left:50%;top:6px;width:38px;height:4px;border-radius:4px;background:var(--k-line-2);transform:translateX(-50%)}
.k-sheet-h h3{font-size:1.05rem;font-weight:800}
.k-sheet-h small{display:block;font-size:.78rem;color:var(--k-muted)}
.k-sheet-b{flex:1;overflow-y:auto;padding:1rem}
.k-sheet-f{display:flex;gap:.5rem;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));border-top:1px solid var(--k-line);background:var(--k-surface)}
.k-sheet-f .k-btn{flex:1}
@media (min-width:992px){
  .k-sheet{left:50%;top:50%;bottom:auto;right:auto;width:min(620px,92vw);max-height:86vh;border-radius:16px;transform:translate(-50%,-47%);opacity:0;pointer-events:none;transition:all .18s}
  .k-sheet.k-open{transform:translate(-50%,-50%);opacity:1;pointer-events:auto}
  .k-sheet.k-tall{height:auto}
  .k-sheet.k-wide{width:min(980px,94vw)}
  .k-sheet-h:before{display:none}
}

/* ---------- wizard ---------- */
.k-steps{display:flex;gap:4px;margin:0 0 1rem}
.k-steps span{flex:1;height:4px;border-radius:4px;background:var(--k-line-2)}
.k-steps span.k-on{background:var(--k-ok)}
.k-opts{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
@media (min-width:768px){.k-opts{grid-template-columns:repeat(3,1fr)}}
.k-opt{border:1.5px solid var(--k-line-2);background:var(--k-surface);border-radius:12px;padding:.75rem;text-align:left;min-height:70px;display:flex;flex-direction:column;gap:.35rem}
.k-opt i{color:var(--k-brand-2);font-size:1.05rem}
[data-theme="night"] .k-opt i{color:var(--k-sand)}
.k-opt b{font-size:.95rem;line-height:1.2}
.k-opt.k-on{border-color:var(--k-ok);background:var(--k-ok-soft)} .k-opt.k-on i{color:var(--k-ok)}
.k-sticky-f{position:sticky;bottom:calc(var(--k-bnav) + env(safe-area-inset-bottom));z-index:20;background:linear-gradient(transparent,var(--k-bg) 30%);padding:1rem 0 .4rem;display:flex;gap:.5rem}
.k-sticky-f .k-btn{flex:1}
@media (min-width:992px){.k-sticky-f{bottom:0}}

/* sum */
.k-dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;margin:0}
.k-dl dt{color:var(--k-muted);font-size:.88rem}
.k-dl dd{margin:0;font-weight:650}

/* KPI */
.k-kpi{padding:.85rem 1rem}
.k-kpi small{display:block;font-size:.72rem;font-weight:800;color:var(--k-muted);text-transform:uppercase;letter-spacing:.05em}
.k-kpi b{display:block;font-size:1.6rem;font-weight:800;line-height:1.15;margin-top:.15rem}
.k-kpi span{font-size:.8rem;color:var(--k-muted)}

/* progress */
.k-prog{height:8px;border-radius:8px;background:var(--k-surface-2);border:1px solid var(--k-line);overflow:hidden}
.k-prog span{display:block;height:100%;background:var(--k-ok)}
.k-prog span.k-over{background:var(--k-busy)} .k-prog span.k-none{background:var(--k-line-2)}

/* notice */
.k-notice{display:flex;gap:.7rem;border-radius:var(--k-r);padding:.8rem 1rem;background:var(--k-warn-soft)}
.k-notice>i{color:var(--k-warn);margin-top:.2rem}
.k-notice.k-info{background:var(--k-info-soft)} .k-notice.k-info>i{color:var(--k-info)}
.k-notice.k-busy{background:var(--k-busy-soft)} .k-notice.k-busy>i{color:var(--k-busy)}

/* tiles (menu) */
.k-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
@media (min-width:768px){.k-tiles{grid-template-columns:repeat(6,1fr)}}
.k-tile{background:var(--k-surface);border:1px solid var(--k-line);border-radius:12px;padding:.85rem .4rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--k-text);text-align:center;min-height:84px;justify-content:center}
.k-tile i{font-size:1.25rem;color:var(--k-brand-2)}
[data-theme="night"] .k-tile i{color:var(--k-sand)}

/* foto placeholder */
.k-ph{background:repeating-linear-gradient(45deg,var(--k-cream),var(--k-cream) 8px,var(--k-cream-2) 8px,var(--k-cream-2) 16px);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--k-muted);font-size:.75rem;text-align:center}
.k-photos{display:flex;gap:.5rem;flex-wrap:wrap}
.k-photo{width:88px;height:88px;border-radius:12px;border:1.5px dashed var(--k-line-2);display:flex;align-items:center;justify-content:center;color:var(--k-muted);background:var(--k-surface-2);overflow:hidden;cursor:pointer;position:relative}
.k-photo img{width:100%;height:100%;object-fit:cover}

/* toast – mobil: medzi okrajmi (left/right + safe-area), šírka podľa obsahu až po plnú (fit-content + margin auto = na stred),
   nad spodnou navigáciou; nad otvoreným spodným panelom --k-toast-b / hore .k-toast-top (base/10-shell.js toastPlace).
   Predtým left:50% + translate(-50%) → šírka obmedzená na pol obrazovky a text sa lámal po slovách.
   Klikať: len toast s tlačidlom / odkazom (.k-toast-act), ostatné prepúšťajú dotyk (neblokujú obsah pod sebou). */
.k-toast{position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:var(--k-toast-b,calc(var(--k-bnav) + 16px + env(safe-area-inset-bottom)));
  width:-webkit-fit-content;width:fit-content;max-width:none;margin:0 auto;box-sizing:border-box;transform:translateY(16px);background:#1d1612;color:#fff;
  padding:.7rem 1rem;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.28);z-index:3100;opacity:0;transition:opacity .2s,transform .2s;
  font-size:.92rem;line-height:1.35;display:flex;gap:.6rem;align-items:center;pointer-events:none;overflow-wrap:break-word}
.k-toast.k-show{opacity:1;transform:none}
.k-toast.k-show.k-toast-act{pointer-events:auto}
.k-toast.k-toast-act{width:auto} /* s tlačidlom (napr. nová verzia) vždy na plnú šírku medzi okrajmi */
.k-toast.k-toast-top{top:calc(var(--k-demo,0px) + var(--k-top,56px) + 10px);bottom:auto;transform:translateY(-16px)}
.k-toast.k-toast-top.k-show{transform:none}
.k-toast>i{flex:0 0 auto}
.k-toast-t{flex:1 1 auto;min-width:0}
.k-toast .k-btn{flex:0 0 auto;margin-left:auto;background:#fff;color:#1d1612;border-color:transparent}
.k-toast .k-btn:disabled{opacity:.8;cursor:progress}
@media (max-width:359.98px){.k-toast.k-toast-act{flex-wrap:wrap}.k-toast.k-toast-act .k-toast-t{flex-basis:calc(100% - 2rem)}}
@media (min-width:992px){.k-toast,.k-toast.k-toast-act{bottom:var(--k-toast-b,24px);left:auto;right:24px;margin:0;width:-webkit-fit-content;width:fit-content;max-width:min(440px,calc(100vw - 48px))}.k-toast.k-toast-top{top:auto;bottom:24px}}
@media (prefers-reduced-motion:reduce){.k-toast{transition:opacity .2s}}

.k-empty{text-align:center;color:var(--k-muted);padding:1.6rem 1rem;font-size:.92rem}
.k-empty i{display:block;font-size:1.6rem;margin-bottom:.4rem;opacity:.6}
.k-hist{border-left:2px solid var(--k-line-2);padding-left:.9rem;margin-left:.3rem}
.k-hist>div{position:relative;padding-bottom:.8rem}
.k-hist>div:before{content:"";position:absolute;left:-1.25rem;top:.35rem;width:9px;height:9px;border-radius:50%;background:var(--k-sand)}
.k-hr{border:0;border-top:1px solid var(--k-line);margin:1rem 0}
.k-section-t{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:var(--k-muted);margin:1.2rem 0 .5rem}

.k-homemap{height:46vh}
@media (min-width:992px){.k-homemap{height:min(62vh,640px)}}
.k-sm-only:empty,.k-lg-only:empty{display:none}

/* stránky bez shellu (prihlásenie) */
body.k-noshell{padding:var(--k-demo) 0 0}
body.k-noshell .k-main{margin:0;padding:0;max-width:none}

.k-login{min-height:calc(100vh - var(--k-demo));display:flex;flex-direction:column}
.k-login header{background:var(--k-brand);color:#fff;text-align:center;padding:clamp(2rem,8vh,5rem) 1.5rem 5rem}
.k-login header i{font-size:2.2rem;color:var(--k-sand)}
.k-login header h1{font-size:1.5rem;margin-top:.6rem}
.k-login header p{color:var(--k-sand);margin:.3rem 0 0;font-size:.92rem}
.k-login-card{width:100%;max-width:400px;margin:-3.5rem auto 2rem;padding:0 1rem}

/* ---------- menu panel ---------- */
.k-msheet{max-height:88vh;background:var(--k-bg)}
.k-mgrab{height:22px;display:flex;justify-content:center;align-items:center;flex:none;cursor:grab}
.k-mgrab:before{content:"";width:40px;height:5px;border-radius:5px;background:var(--k-line-2)}
.k-msheet-b{padding:.2rem 1rem calc(1rem + env(safe-area-inset-bottom));overscroll-behavior:contain}
.k-mme{display:flex;align-items:center;gap:.75rem;padding:.6rem .2rem .8rem;color:var(--k-text)}
.k-mme b{display:block;font-size:1.02rem}.k-mme small{display:block;color:var(--k-muted);font-size:.8rem}
.k-mstat{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;border-radius:12px;background:var(--k-ok-soft);color:var(--k-ok);font-size:.9rem;margin-bottom:.9rem}
.k-mstat.k-out{background:var(--k-surface);border:1px solid var(--k-line);color:var(--k-text)}
.k-mstat.k-out i{color:var(--k-muted)}
.k-mquick{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin-bottom:.4rem}
.k-mquick a{background:var(--k-surface);border:1px solid var(--k-line);border-radius:14px;padding:.7rem .3rem .6rem;display:flex;flex-direction:column;align-items:center;gap:.2rem;color:var(--k-text);text-align:center;min-height:86px;justify-content:center}
.k-mquick i{font-size:1.15rem;color:var(--k-brand-2);margin-bottom:.15rem}
[data-theme="night"] .k-mquick i{color:var(--k-sand)}
.k-mquick b{font-size:.76rem;line-height:1.15}
.k-mquick small{font-size:.66rem;color:var(--k-muted);line-height:1.15}
.k-mgrp{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--k-muted);margin:1rem .2rem .35rem}
.k-mlist{background:var(--k-surface);border:1px solid var(--k-line);border-radius:14px;overflow:hidden}
.k-mrow{display:flex;align-items:center;gap:.75rem;padding:.6rem .85rem;min-height:56px;color:var(--k-text);border-top:1px solid var(--k-line)}
.k-mrow:first-child{border-top:0}
.k-mrow:active{background:var(--k-surface-2)}
.k-mrow .k-ic{width:34px;height:34px;border-radius:10px;background:var(--k-cream);color:var(--k-brand-2);display:flex;align-items:center;justify-content:center;flex:none;font-size:.95rem}
[data-theme="night"] .k-mrow .k-ic{color:var(--k-sand)}
.k-mrow b{display:block;font-size:.94rem;font-weight:650}
.k-mrow small{display:block;font-size:.76rem;color:var(--k-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-mfoot{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1rem}
@media (min-width:992px){.k-msheet{width:min(520px,92vw)}}

/* ---------- znak (logo B · Parôžky nad knihou, assets/brand/) ----------
   Farby znaku sú pevné (nefarbí sa podľa nočného režimu). Na hnedom podklade 1px svetlý obrys dlaždice,
   v noci (podklad takmer čierny) silnejší krémový, aby hnedá dlaždica nesplynula. */
.k-brand-mark{width:38px;height:38px;flex:none;display:block;border-radius:9px;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.k-brand-mark.k-sm{width:30px;height:30px;border-radius:7px}
.k-brand-mark.k-lg{width:64px;height:64px;border-radius:15px;margin:0 auto}
[data-theme="night"] .k-brand-mark{box-shadow:0 0 0 1px rgba(245,235,217,.24)}
.k-top .k-brand-mark{margin-right:.15rem}

/* ---------- štítok „nové“ – čo stará kniha nemá (qa.md časť C); jednotne K.NEW / K.nw(title) ---------- */
.k-new{display:inline-block;vertical-align:middle;margin-left:.3rem;padding:.08rem .32rem;border-radius:4px;font-size:.62rem;font-weight:700;line-height:1.2;letter-spacing:.02em;
  color:var(--k-info);background:var(--k-info-soft);border:1px dashed color-mix(in srgb,var(--k-info) 40%,transparent);white-space:nowrap;text-transform:none;font-style:normal;cursor:help;position:relative;top:-.05em}
.k-top .k-new,.k-side .k-new,.k-status .k-new,.k-btn.k-ok .k-new,.k-btn.k-danger .k-new{color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35)}

.k-hscroll>.k-new,.k-row>.k-new,.k-card-f>.k-new,.k-chips>.k-new{align-self:center;flex:none}
.k-search .k-new{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);margin:0;pointer-events:auto}
.k-search:has(.k-new) input{padding-right:3.4rem}

/* base/20-shell.css */
/* ==========================================================================
   Shell novej témy v produkcii (templates/modern/@layout.latte) – úpravy nad prototypom (10-proto.css).
   Všetko je pod .k-shell / .k-top / .k-side / .k-bnav … a odkazy majú stavy :hover/:focus vypísané
   (staré a:hover / a:focus z modified.css majú špecificitu 0,1,1).
   ========================================================================== */
:root{--k-demo:0px}

/* ---------- top bar (mobil) ---------- */
.k-top a.k-back,.k-top a.k-back:is(:hover,:focus,:active),
.k-top a.k-act,.k-top a.k-act:is(:hover,:focus,:active){color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.k-top .k-ttl small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-theme="night"] .k-top{background:var(--k-brand)}

/* ---------- logo / názov združenia → úvodná stránka (mobil aj desktop) ---------- */
.k-top a.k-homelink,.k-side a.k-homelink{display:inline-flex;flex:none;align-items:center;border-radius:8px}
.k-top a.k-homelink,.k-top a.k-homelink:is(:hover,:focus,:active),
.k-side a.k-homelink,.k-side a.k-homelink:is(:hover,:focus,:active){color:inherit;text-decoration:none}
.k-side a.k-homelink-name{display:block}
.k-side a.k-homelink-name:hover{color:#fff}
.k-top a.k-homelink:focus-visible,.k-side a.k-homelink:focus-visible{outline:2px solid var(--k-sand);outline-offset:2px}

/* ---------- bočné menu (desktop) – nikdy vodorovný scroll ---------- */
@media (min-width:992px){
  .k-side{overflow-x:hidden;overscroll-behavior:contain}
  .k-side>*{min-width:0;flex-shrink:0}
  .k-side .k-brand{display:flex;align-items:center;gap:.7rem;width:auto;height:auto;background:none;padding:1.1rem 1.1rem .85rem}
  .k-side .k-brand>.k-grow{min-width:0}
  .k-side .k-brand b{line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .k-side .k-brand small{display:block;margin-top:.2rem;line-height:1.3;font-size:.74rem;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .k-side .k-cta .k-btn{white-space:normal;text-align:center}
  .k-side nav{flex:1 0 auto}
  .k-side nav a.k-side-link,.k-side nav a.k-side-link:is(:hover,:focus,:active){color:#e8dac7;text-decoration:none}
  .k-side nav a.k-side-link.k-on,.k-side nav a.k-side-link.k-on:is(:hover,:focus,:active){color:#fff}
  .k-side nav a.k-side-link{min-height:40px;line-height:1.25}
  .k-side nav a.k-side-link>span{min-width:0;overflow-wrap:anywhere}
  .k-side nav a.k-side-link i{flex:none}
  .k-side .k-grp{margin:0}

  /* používateľ dole: meno + funkcia na 1 riadok (ellipsis), akcie v ponuke „⋯“ */
  .k-side .k-me{position:sticky;bottom:0;z-index:2;background:var(--k-brand);gap:.35rem;padding:.6rem .6rem .6rem .75rem}
  .k-side .k-me-link,.k-side .k-me-link:is(:hover,:focus,:active){display:flex;align-items:center;gap:.6rem;flex:1;min-width:0;color:#e8dac7;text-decoration:none;border-radius:10px;padding:.25rem .35rem;margin-left:-.35rem}
  .k-side .k-me-link:hover{background:rgba(255,255,255,.06)}
  .k-side .k-me-txt{display:block;flex:1;min-width:0}
  .k-side .k-me-txt b,.k-side .k-me-txt small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .k-side .k-me-txt b{color:#fff;font-size:.88rem;line-height:1.25}
  .k-side .k-me-txt small{color:#a38f78;font-size:.72rem;line-height:1.3}
  .k-side .k-me-more{flex:none;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:transparent;color:#e8dac7;display:inline-flex;align-items:center;justify-content:center;padding:0}
  .k-side .k-me-more:hover,.k-side .k-me-more[aria-expanded="true"]{background:rgba(255,255,255,.08);color:#fff}
}

/* ---------- ponuka (popover) – používateľ v bočnom menu ---------- */
.k-pop{position:absolute;left:.6rem;right:.6rem;bottom:calc(100% + 6px);z-index:30;background:var(--k-surface);color:var(--k-text);border:1px solid var(--k-line);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.28);padding:.35rem;display:flex;flex-direction:column}
.k-pop[hidden]{display:none}
.k-pop .k-pop-i,.k-pop a.k-pop-i,.k-pop .k-pop-i:is(:hover,:focus,:active,:visited){display:flex;align-items:center;gap:.65rem;width:100%;min-height:42px;padding:.45rem .65rem;border:0;border-radius:8px;background:none;color:var(--k-text);font-size:.9rem;font-weight:600;text-align:left;text-decoration:none;line-height:1.2;cursor:pointer}
.k-pop .k-pop-i:is(:hover,:focus-visible){background:var(--k-surface-2)}
.k-pop .k-pop-i i{width:18px;text-align:center;color:var(--k-muted);flex:none}
.k-pop .k-pop-i.k-danger,.k-pop .k-pop-i.k-danger:is(:hover,:focus,:active),.k-pop .k-pop-i.k-danger i{color:var(--k-busy)}
.k-pop .k-pop-sep{height:1px;background:var(--k-line);margin:.3rem .2rem}
.k-pop .k-pop-h{padding:.45rem .65rem .35rem;font-size:.78rem;color:var(--k-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- spodná navigácia (mobil) ---------- */
.k-bnav a,.k-bnav a:is(:hover,:focus,:active){color:var(--k-muted);text-decoration:none}
.k-bnav a.k-on,.k-bnav a.k-on:is(:hover,:focus,:active),.k-bnav button.k-on{color:var(--k-ok)}
.k-bnav a,.k-bnav button{padding:0;min-width:0}

/* ---------- panely (.k-sheet) – zatvorený panel nie je v poradí Tab ani pre čítačky (prototyp mal len jeden) ---------- */
.k-sheet{visibility:hidden;transition:transform .22s ease,opacity .18s,visibility 0s linear .25s}
.k-sheet.k-open{visibility:visible;transition:transform .22s ease,opacity .18s,visibility 0s}

/* ---------- menu panel / rýchly zápis ---------- */
.k-mrow,.k-mrow:is(:hover,:focus,:active,:visited),.k-mme,.k-mme:is(:hover,:focus,:active,:visited){color:var(--k-text);text-decoration:none}
.k-mrow.k-on b{color:var(--k-ok)}
.k-mfoot .k-mfoot-wide{grid-column:1 / -1}
.k-sheet-h{position:relative}

/* nočný režim – natívne prvky (date/time picker, scrollbar) tmavé */
[data-theme="night"]{color-scheme:dark}

/* ---------- lišta testovacieho režimu (?theme=modern) ---------- */
.k-themebar{display:flex;align-items:center;gap:.6rem;margin:0 0 1rem;padding:.55rem .8rem;border-radius:var(--k-r-sm);background:var(--k-warn-soft);color:var(--k-warn);font-size:.88rem;border:1px solid rgba(138,90,0,.2)}

/* ---------- päta obsahu – decentná, zarovnaná s obsahom (.k-wrap), na mobile nad spodnou navigáciou ---------- */
.k-foot{display:flex;align-items:center;flex-wrap:wrap;gap:0 .75rem;margin:1.75rem 0 0;padding:.35rem 0 0;border-top:1px solid var(--k-line);font-size:.8rem;line-height:1.35;color:var(--k-muted)}
.k-foot a.k-foot-link,.k-foot a.k-foot-link:is(:hover,:focus,:active,:visited){display:inline-flex;align-items:center;gap:.4rem;min-height:44px;color:var(--k-muted);font-weight:600;text-decoration:none}
.k-foot a.k-foot-link:hover{color:var(--k-text)}
.k-foot .k-foot-note{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem 0}
@media (max-width:991.98px){.k-foot{margin-top:1.25rem}}

/* stránky bez shellu (prihlásenie) */
body.k-themed.k-nobnav{padding-bottom:0}
body.k-themed.k-noshell{padding-top:0}

/* varovanie o platnosti dokladov nad obsahom (@layout.latte, stará kniha: alert-danger overPlatnost) */
.k-docn .k-small{margin-top:.2rem}
.k-docn .k-docn-act{margin-top:.5rem}

/* ==========================================================================
   Fáza 4 / S1a – shell 1:1 s prototypom
   ========================================================================== */
/* avatar – veľkosti bez inline štýlov */
.k-avatar.k-avatar-32{width:32px;height:32px}
.k-avatar.k-avatar-44{width:44px;height:44px;font-size:.95rem}

/* prepínač sezóny (top bar na domove, bočné menu): „sezóna 2026/2027 ▾“ – index.php?sezona_set=ID, ACL add_zver */
.k-sezbtn{border:0;background:none;color:inherit;padding:0;font:inherit;cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px;display:inline;line-height:inherit}
.k-sezbtn:hover,.k-sezbtn[aria-expanded="true"]{color:#fff}
.k-top .k-ttl .k-sezbtn{color:var(--k-sand)}
@media (min-width:992px){
  .k-side .k-brand{position:relative}
  .k-side .k-brand .k-sezbtn{display:block;margin-top:.2rem;color:var(--k-sand);font-size:.74rem;line-height:1.3;text-align:left;min-height:24px;white-space:nowrap}
  .k-side .k-brand .k-sezbtn:hover{color:#fff}
  .k-side .k-sez-pop{top:calc(100% - .35rem);bottom:auto;left:.75rem;right:.75rem}
  .k-side nav a .k-cnt{background:var(--k-ok);color:#fff;font-weight:800;min-width:20px;text-align:center}
  .k-side .k-cta form{margin:0}
}
.k-pop .k-pop-i.k-on{color:var(--k-ok)}
.k-pop .k-pop-i.k-on i{color:var(--k-ok)}
.k-pop .k-pop-i .k-badge{margin-left:auto}
.k-sez-i{width:100%;justify-content:space-between;text-decoration:none}
a.k-sez-i,a.k-sez-i:is(:hover,:focus,:active,:visited){color:var(--k-text);text-decoration:none}

/* Menu panel (mobil) – prototyp menuHtml() */
.k-mrow.k-mrow-btn{width:100%;border:0;background:none;text-align:left;font:inherit;color:var(--k-text);cursor:pointer;padding-left:.2rem;padding-right:.2rem}
.k-mrow .k-mchev{font-size:.75rem}
.k-mrow>.k-badge{flex:none}
.k-mstat .k-mdot{font-size:.5rem}
a.k-mstat,a.k-mstat:is(:hover,:focus,:active,:visited){text-decoration:none}
a.k-mstat:not(.k-out),a.k-mstat:not(.k-out):is(:hover,:focus,:active,:visited){color:var(--k-ok)}
a.k-mstat.k-out,a.k-mstat.k-out:is(:hover,:focus,:active,:visited){color:var(--k-text)}
.k-mquick a,.k-mquick a:is(:hover,:focus,:active,:visited){color:var(--k-text);text-decoration:none}
.k-mme .k-badge{flex:none}

/* rýchly zápis (+) – tlačidlá cez celú šírku ako prototyp K.quick() */
.k-quick .k-nav-act{margin:0}
.k-quick .k-btn{justify-content:center}
.k-quick .k-hint{margin:0}

/* base/22-nav.css */
/* ==========================================================================
   NOVÉ: navigácia novej témy – Obľúbené, zbaliteľné skupiny, hľadanie (Ctrl/Cmd+K), spodná lišta z Obľúbených.
   Šablóna: templates/modern/@layout.latte (Revir\Theme\NavMenu), správanie: base/15-nav.js.
   Zbalenie skupín: <html data-k-navc="lov revir …"> (nastaví inline skript v <aside> ešte pred vykreslením menu
   a 15-nav.js pri kliknutí); skupina s aktívnou stránkou (.k-ngrp-on) sa pri načítaní nezbalí.
   ========================================================================== */

/* ---------- zbalené skupiny (spoločné pre bočné menu aj panel Viac) ---------- */
[data-k-navc~="dennik"] .k-ngrp[data-k-g="dennik"]:not(.k-ngrp-on)>.k-nlist,
[data-k-navc~="lov"] .k-ngrp[data-k-g="lov"]:not(.k-ngrp-on)>.k-nlist,
[data-k-navc~="revir"] .k-ngrp[data-k-g="revir"]:not(.k-ngrp-on)>.k-nlist,
[data-k-navc~="spolok"] .k-ngrp[data-k-g="spolok"]:not(.k-ngrp-on)>.k-nlist,
[data-k-navc~="sprava"] .k-ngrp[data-k-g="sprava"]:not(.k-ngrp-on)>.k-nlist,
[data-k-navc~="ine"] .k-ngrp[data-k-g="ine"]:not(.k-ngrp-on)>.k-nlist{display:none}
.k-ngrp-chev{transition:transform .16s ease;font-size:.7em}
.k-ngrp-h[aria-expanded="false"] .k-ngrp-chev{transform:rotate(-90deg)}
/* súčet odznakov (napr. Návštevy 8) na hlavičke len pri zbalenej skupine */
.k-ngrp-h[aria-expanded="true"] .k-ngrp-cnt{display:none}
ul.k-nlist{list-style:none;margin:0;padding:0}

/* ---------- klávesová skratka ---------- */
.k-kbd{display:inline-block;font:600 .68rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:0 .35rem;border-radius:5px;border:1px solid var(--k-line-2);background:var(--k-surface-2);color:var(--k-muted);white-space:nowrap}

/* ---------- bočné menu (desktop) ---------- */
@media (min-width:992px){
  /* hlavička (znak, Zapísať návštevu, hľadanie) a päta (používateľ) ostávajú, roluje sa len zoznam */
  .k-side{overflow:hidden}
  .k-side .k-brand{padding:.7rem 1.1rem .55rem}
  .k-side .k-cta{padding:.6rem .9rem .1rem}
  .k-side nav.k-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent;padding:.15rem .6rem .6rem}
  .k-side .k-me{position:relative;flex:none} /* relative = kotva pre .k-pop (absolute, bottom:100%) – so static sa ponuka používateľa vykreslila nad aside a overflow:hidden ju orezal */
  .k-side :focus-visible{outline:2px solid var(--k-sand);outline-offset:1px}

  .k-nsearch-w{padding:.45rem .9rem .25rem;flex:none}
  .k-side .k-nsearch{display:flex;align-items:center;gap:.6rem;width:100%;min-height:38px;padding:.35rem .5rem .35rem .7rem;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#d9c8b1;font:inherit;font-size:.88rem;text-align:left;cursor:pointer}
  .k-side .k-nsearch:hover{background:rgba(255,255,255,.1);color:#fff}
  .k-side .k-nsearch i{opacity:.85}
  .k-side .k-nsearch .k-kbd{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#d9c8b1}

  /* nadpisy: Obľúbené + skupiny (kontrast ≥ 4.5 : 1 na hnedej) */
  .k-side .k-nfav-h,.k-side .k-ngrp-h{display:flex;align-items:center;gap:.4rem;width:100%;margin:0;padding:.55rem .55rem .2rem .6rem;border:0;background:none;font-family:inherit;font-size:.66rem;font-weight:700;line-height:1.3;text-transform:uppercase;letter-spacing:.08em;color:#cdb89d;text-align:left}
  .k-side .k-ngrp-h{cursor:pointer;border-radius:8px;min-height:30px;padding-top:.4rem;padding-bottom:.3rem;margin-top:.1rem}
  .k-side .k-ngrp-h:hover{color:#fff;background:rgba(255,255,255,.05)}
  .k-side .k-ngrp-h .k-ngrp-chev{margin-left:.15rem;opacity:.85}
  .k-side .k-ngrp-h .k-cnt{font-size:.66rem;letter-spacing:0;padding:.02rem .42rem;border-radius:99px;background:var(--k-ok);color:#fff;font-weight:800;min-width:20px;text-align:center;text-transform:none}
  .k-side .k-nfav-h>span{flex:1}
  .k-side .k-nfav-edit{width:26px;height:26px;border:0;border-radius:7px;background:none;color:#cdb89d;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;cursor:pointer;padding:0}
  .k-side .k-nfav-edit:hover{background:rgba(255,255,255,.08);color:#fff}
  .k-side .k-nfav-empty{margin:.1rem .6rem .3rem;font-size:.78rem;color:#cdb89d}
  .k-side .k-nfav{padding-bottom:.2rem;margin-bottom:.1rem;border-bottom:1px solid rgba(255,255,255,.07)}

  /* riadok: odkaz + hviezdička (súrodenci – žiadny interaktívny prvok vnútri odkazu) */
  .k-side .k-nrow{display:flex;align-items:center;border-radius:9px;position:relative}
  .k-side .k-nrow:hover{background:rgba(255,255,255,.06)}
  .k-side nav a.k-side-link{flex:1;min-width:0;min-height:34px;padding:.34rem .45rem .34rem .6rem;gap:.65rem}
  .k-side nav a.k-side-link:hover{background:none}
  .k-side nav a.k-side-link.k-on{background:rgba(213,185,143,.2)}
  .k-side .k-nrow:has(a.k-on){background:rgba(213,185,143,.2)}
  .k-side .k-nrow:has(a.k-on) a.k-side-link.k-on{background:none}
  .k-side .k-nlbl{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .k-side .k-star{flex:none;width:28px;height:28px;margin-right:2px;border:0;border-radius:7px;background:none;color:#cdb89d;display:inline-flex;align-items:center;justify-content:center;font-size:.74rem;cursor:pointer;padding:0;opacity:0}
  .k-side .k-star:hover{color:#fff;background:rgba(255,255,255,.08)}
  .k-side .k-nrow:hover .k-star,.k-side .k-star:focus-visible{opacity:1}
  .k-side .k-ngrp .k-star[aria-pressed="true"]{opacity:.6;color:var(--k-sand)}
  .k-side .k-ngrp .k-nrow:hover .k-star[aria-pressed="true"],.k-side .k-ngrp .k-star[aria-pressed="true"]:focus-visible{opacity:1}
}
@media (min-width:992px) and (hover:none){
  .k-side .k-star{opacity:.7}
}
/* nízke okno: hustejšie riadky, nech sa plná kniha zmestí bez rolovania */
@media (min-width:992px) and (max-height:780px){
  .k-side .k-brand{padding-top:.6rem;padding-bottom:.5rem}
  .k-side .k-cta{padding-top:.5rem}
  .k-side nav a.k-side-link{min-height:31px;padding-top:.26rem;padding-bottom:.26rem}
  .k-side .k-ngrp-h{min-height:27px;padding-top:.3rem;padding-bottom:.2rem}
  .k-side .k-me{padding-top:.45rem;padding-bottom:.45rem}
}

/* ---------- spodná lišta (mobil): Obľ1 Obľ2 (+) Obľ3 Viac ----------
   5 rovnakých stĺpcov, (+) vždy v 3., „Viac“ v 5., odkazy sa doplnia do 1., 2. a 4. (aj keď ich je menej).
   Výška var(--k-bnav) = 64 px (dotyková plocha ≥ 44 pt) + safe-area-inset-bottom (iPhone, padding z 10-proto.css). */
.k-bnav .k-bnav-t{display:block;max-width:100%;padding:0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
@media (max-width:991.98px){
  .k-bnav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;padding-left:max(4px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right));border-top:1px solid var(--k-line);box-shadow:0 -4px 16px rgba(36,26,20,.06)}
  [data-theme="night"] .k-bnav{box-shadow:0 -4px 16px rgba(0,0,0,.35)}
  .k-bnav>*{grid-row:1;min-width:0;min-height:44px}
  .k-bnav>[data-k-plus]{grid-column:3}
  .k-bnav>[data-k-more]{grid-column:5}
  .k-bnav a,.k-bnav button:not(.k-plus){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 0 5px;font-size:.68rem;font-weight:600;-webkit-tap-highlight-color:transparent;cursor:pointer}
  /* ikona v „pilulke“ – pri aktívnej položke podfarbená */
  .k-bnav a>i,.k-bnav button:not(.k-plus)>i{display:flex;align-items:center;justify-content:center;width:52px;max-width:calc(100% - 6px);height:28px;border-radius:99px;font-size:1.1rem;line-height:1;transition:background-color .15s ease,color .15s ease}
  .k-bnav a.k-on>i,.k-bnav button.k-on:not(.k-plus)>i{background:var(--k-ok-soft)}
  .k-bnav .k-on .k-bnav-t{font-weight:800}
  .k-bnav a:focus-visible,.k-bnav button:not(.k-plus):focus-visible{outline:none}
  .k-bnav a:focus-visible>i,.k-bnav button:not(.k-plus):focus-visible>i{outline:2px solid var(--k-ok);outline-offset:1px}
  /* (+) = kruhové zelené tlačidlo (FAB) mierne nad lištou; celý stĺpec je dotyková plocha, susedov neprekrýva (je vo vlastnom stĺpci) */
  .k-bnav .k-plus{width:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0;border:0;background:none;position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .k-bnav .k-plus span{flex:none;width:52px;height:52px;margin-top:-18px;border-radius:16px;border:3px solid var(--k-bg);background:var(--k-ok);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.35rem;box-shadow:0 6px 16px rgba(46,125,62,.35);transition:transform .12s ease,box-shadow .12s ease}
  [data-theme="night"] .k-bnav .k-plus span{color:#0f1a12;box-shadow:0 6px 16px rgba(0,0,0,.55),0 0 0 1px rgba(111,191,127,.25)}
  .k-bnav .k-plus:active span{transform:scale(.94);box-shadow:0 3px 8px rgba(46,125,62,.3)}
  .k-bnav .k-plus:focus-visible{outline:none}
  .k-bnav .k-plus:focus-visible span{outline:3px solid var(--k-ok);outline-offset:2px}
}
@media (max-width:340px){
  .k-bnav .k-plus span{width:48px;height:48px;border-radius:14px}
  .k-bnav a>i,.k-bnav button:not(.k-plus)>i{width:44px}
}

/* ---------- panel Viac (mobil) ---------- */
.k-msearch{display:flex;align-items:center;gap:.65rem;width:100%;min-height:48px;margin:.2rem 0 .3rem;padding:.55rem .9rem;border:1.5px solid var(--k-line-2);border-radius:12px;background:var(--k-surface);color:var(--k-muted);font:inherit;font-size:.95rem;text-align:left;cursor:pointer}
.k-msearch:focus-visible{outline:none;border-color:var(--k-ok);box-shadow:0 0 0 3px var(--k-ok-soft)}
.k-mfav-h{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.k-mfav-edit{border:0;background:none;color:var(--k-ok);font:inherit;font-size:.78rem;font-weight:700;text-transform:none;letter-spacing:0;min-height:36px;padding:0 .3rem;cursor:pointer}
.k-mfav{grid-template-columns:repeat(3,1fr)}
.k-mfav a.k-on{border-color:var(--k-ok);box-shadow:inset 0 0 0 1px var(--k-ok)}
.k-mfav a.k-on b{color:var(--k-ok)}
.k-mfav-empty{margin:.2rem .2rem .4rem}
.k-mngrp{margin-top:.15rem}
button.k-mgrp.k-ngrp-h{display:flex;align-items:center;gap:.45rem;width:calc(100% + .4rem);margin:.55rem -.2rem .3rem;padding:.35rem .2rem;min-height:40px;border:0;border-radius:8px;background:none;font-family:inherit;text-align:left;cursor:pointer}
button.k-mgrp.k-ngrp-h:focus-visible{outline:2px solid var(--k-ok);outline-offset:1px}
.k-mngrp .k-ngrp-cnt{text-transform:none;letter-spacing:0}
.k-mrow-w{display:flex;align-items:center;border-top:1px solid var(--k-line)}
.k-mrow-w:first-child{border-top:0}
.k-mrow-w>.k-mrow{flex:1;min-width:0;border-top:0;padding-right:.3rem}
.k-mrow-w>.k-mrow .k-grow{min-width:0}
.k-mstar{flex:none;width:44px;height:44px;margin-right:.3rem;border:0;border-radius:10px;background:none;color:var(--k-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.k-mstar[aria-pressed="true"]{color:var(--k-warn)}
.k-mstar:focus-visible{outline:2px solid var(--k-ok);outline-offset:-2px}
/* kniha bez stĺpca ui_menu (migrácia nebežala) – obľúbené sú predvolené, pripínanie skryté */
[data-k-fav-store="0"] .k-star,[data-k-fav-store="0"] .k-nfav-edit,[data-k-fav-store="0"] .k-mfav-edit{display:none!important}

/* ---------- rýchle hľadanie (paleta príkazov) ---------- */
.k-sheet.k-cmd{height:92vh;max-height:92vh}
.k-cmd-h{display:flex;align-items:center;gap:.6rem;padding:.75rem .75rem .75rem 1rem;border-bottom:1px solid var(--k-line);flex:none}
.k-cmd-h>i{color:var(--k-muted)}
.k-cmd-in{flex:1;min-width:0;min-height:44px;border:0;background:none;color:var(--k-text);font:inherit;font-size:1.05rem;outline:none;padding:0}
.k-cmd-in::placeholder{color:var(--k-muted);opacity:1}
.k-cmd-h:focus-within{box-shadow:inset 0 -2px 0 var(--k-ok)}
.k-cmd-x{width:38px;height:38px}
.k-cmd-b{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:.35rem .5rem .6rem}
.k-cmd-list{list-style:none;margin:0;padding:0}
.k-cmd-sec{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--k-muted);padding:.7rem .6rem .3rem}
.k-cmd-o{border-radius:10px}
.k-cmd-a,.k-cmd-a:is(:hover,:focus,:active,:visited){display:flex;align-items:center;gap:.7rem;width:100%;min-height:44px;padding:.45rem .65rem;border:0;border-radius:10px;background:none;color:var(--k-text);font:inherit;font-size:.95rem;text-align:left;text-decoration:none;cursor:pointer}
.k-cmd-a i{color:var(--k-brand-2);width:20px;text-align:center}
[data-theme="night"] .k-cmd-a i{color:var(--k-sand)}
.k-cmd-a small{color:var(--k-muted);font-size:.74rem;white-space:nowrap}
.k-cmd-o[aria-selected="true"]{background:var(--k-ok-soft);box-shadow:inset 3px 0 0 var(--k-ok)}
.k-cmd-o[aria-selected="true"] .k-cmd-a{color:var(--k-text)}
.k-cmd-o:hover{background:var(--k-surface-2)}
.k-cmd-o[aria-selected="true"]:hover{background:var(--k-ok-soft)}
.k-cmd-empty{margin:1.2rem .7rem;color:var(--k-text)}
.k-cmd-empty span{display:block;font-size:.85rem;margin-top:.2rem}
.k-cmd-f{display:none}
@media (min-width:992px){
  .k-sheet.k-cmd{top:12vh;height:auto;max-height:min(560px,76vh);width:min(640px,92vw);transform:translate(-50%,-8px)}
  .k-sheet.k-cmd.k-open{transform:translate(-50%,0)}
  .k-cmd-f{display:flex;gap:1.1rem;padding:.5rem 1rem;border-top:1px solid var(--k-line);background:var(--k-surface-2);color:var(--k-muted);font-size:.75rem;flex:none;border-radius:0 0 16px 16px}
  .k-cmd-f .k-kbd{margin-right:.15rem}
}

/* ---------- úprava obľúbených (K.sheet) – poradie drag & drop za úchyt (K.sortable, base/50-sortable.js) ---------- */
.k-fav-ed .k-gt{padding-left:.2rem;padding-right:.2rem}
.k-fav-ed ol,.k-fav-ed ul{list-style:none;margin:0 0 .4rem;padding:0}
.k-fav-ed li{display:flex;align-items:center;gap:.6rem;min-height:48px;padding:.3rem .4rem .3rem .7rem;border-top:1px solid var(--k-line)}
.k-fav-ed li:first-child{border-top:0}
.k-fav-ed li>i{width:20px;text-align:center;color:var(--k-brand-2)}
[data-theme="night"] .k-fav-ed li>i{color:var(--k-sand)}
.k-fav-ed .k-fav-n{font-weight:800;color:var(--k-muted);font-size:.78rem;min-width:1.1rem}
.k-fav-ed .k-ibtn{width:38px;height:38px;border-radius:9px}
.k-fav-ed .k-ibtn[disabled]{opacity:.35;cursor:default}
.k-fav-ed .k-fav-box{background:var(--k-surface);border:1px solid var(--k-line);border-radius:14px;overflow:hidden;margin-bottom:.6rem}
.k-fav-ed .k-fav-bn{font-size:.7rem;font-weight:700;color:var(--k-ok-hover);background:var(--k-ok-soft);border-radius:99px;padding:.05rem .45rem;white-space:nowrap}
[data-theme="night"] .k-fav-ed .k-fav-bn{color:var(--k-ok)}
/* štítok „lišta“ len pri prvých 3 (spodná lišta = 3 obľúbené + Viac); ťahaná kópia ho nemá */
.k-fav-ed ol.k-fav-sort>li:nth-child(n+4) .k-fav-bn,.k-fav-ed .k-sort-ghost .k-fav-bn{display:none}
.k-fav-ed ol.k-fav-sort{position:relative}
.k-fav-ed ol.k-fav-sort>li{padding-left:.15rem}
.k-fav-ed ol.k-fav-sort>li.k-sort-ph{border-top-color:transparent}
.k-fav-ed .k-fav-box:has(.k-sort-active){overflow:visible}
.k-fav-ed .k-fav-grip{width:40px;height:44px;border:0;background:none;color:var(--k-muted);font-size:1rem;margin-right:-.25rem}
.k-fav-ed .k-fav-grip:hover{color:var(--k-text);background:var(--k-surface-2)}
.k-fav-ed .k-fav-grip:focus-visible{outline:2px solid var(--k-ok);outline-offset:-2px}
.k-fav-ed .k-fav-grip[aria-pressed="true"]{color:#fff;background:var(--k-ok)}
[data-theme="night"] .k-fav-ed .k-fav-grip[aria-pressed="true"]{color:#0f1a12}
.k-fav-ed .k-sort-ghost{display:flex;align-items:center;border-top:0;opacity:1}
.k-fav-ed .k-sort-ghost .k-fav-n{visibility:hidden}

/* ---------- pohyb ---------- */
@media (prefers-reduced-motion:reduce){
  .k-ngrp-chev,.k-sheet,.k-sheet.k-open,.k-bd,.k-bnav i,.k-bnav .k-plus span{transition:none!important}
  .k-bnav .k-plus:active span{transform:none}
}

/* base/23-nav2.css */
/* ==========================================================================
   NOVÉ: rozloženie hlavného menu na počítači (≥ 992 px) – Revir\Theme\NavLayout, <html data-k-nav="classic|rail|compact|top">.
   Markup: templates/modern/components/nav2.latte (+ panel sekcie / pripnuté menu = <aside class="k-side"> z @layout.latte),
   správanie: base/16-nav2.js. Šírka ľavého menu = --k-side (10-proto.css: .k-main margin, .k-mapfull), mení ju variant.
   Mobil (< 992 px) sa nemení – všetko nové je pod 992 px skryté. Triedy k-nav2-*, k-rail-*, k-crail-*, k-tnav-*, k-mega-*.
   ========================================================================== */

/* ---------- mimo variantu / mobil: skryté ---------- */
.k-rail,.k-crail,.k-tnav,.k-mega,.k-mega-bd,.k-nav2-bar,.k-nav2-tabs,.k-nav2-ph,.k-nav2-unpin,.k-nav2-desc{display:none}
.k-mega[hidden],.k-mega-bd[hidden]{display:none!important}

/* ---------- náhľady variantov (Nastavenia → Menu – položky, panel Rozloženie menu) ---------- */
.k-nav2-pv{display:block;width:100%;max-width:168px;height:auto;border-radius:7px;border:1px solid var(--k-line);overflow:hidden}
.k-nav2-pv-bg{fill:var(--k-bg)}
.k-nav2-pv-s{fill:var(--k-brand)}
.k-nav2-pv-s2{fill:#2e1d16}
[data-theme="night"] .k-nav2-pv-s{fill:#2a1f19}
[data-theme="night"] .k-nav2-pv-s2{fill:#050403}
.k-nav2-pv-l{fill:rgba(255,255,255,.5)}
.k-nav2-pv-a{fill:var(--k-ok)}
.k-nav2-pv-c{fill:var(--k-surface);stroke:var(--k-line-2);stroke-width:.6}
.k-nav2-pv-t{fill:var(--k-line-2)}
.k-nav2-picks,.k-nav2-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem;margin:.2rem 0 .7rem;padding:0;border:0;min-width:0}
.k-nav2-pick,.k-nav2-opt{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;margin:0;padding:.7rem;border:1.5px solid var(--k-line-2);border-radius:12px;background:var(--k-surface);color:var(--k-text);font:inherit;text-align:left;cursor:pointer;transition:border-color .12s,background-color .12s}
.k-nav2-pick:hover,.k-nav2-opt:hover{border-color:var(--k-ok)}
.k-nav2-pick[aria-pressed="true"],.k-nav2-opt.k-on,.k-nav2-opt:has(input:checked){border-color:var(--k-ok);box-shadow:inset 0 0 0 1px var(--k-ok);background:var(--k-ok-soft)}
.k-nav2-pick:focus-visible,.k-nav2-opt:focus-within{outline:2px solid var(--k-ok);outline-offset:2px}
.k-nav2-pick-t{display:block;min-width:0}
.k-nav2-pick-t b{display:block;font-size:.92rem;line-height:1.25}
.k-nav2-pick-t small{display:block;margin-top:.15rem;color:var(--k-muted);font-size:.78rem;line-height:1.3}
.k-nav2-opt input[type=radio]{position:absolute;top:.65rem;right:.65rem;width:18px;height:18px;margin:0;accent-color:var(--k-ok)}
.k-nav2-pick[aria-pressed="true"]::after{content:"\f00c";font:900 .7rem/20px "Font Awesome 6 Free";position:absolute;top:.6rem;right:.6rem;width:20px;height:20px;border-radius:50%;background:var(--k-ok);color:#fff;text-align:center}
[data-theme="night"] .k-nav2-pick[aria-pressed="true"]::after{color:#0f1a12}
.k-nav2-selw{max-width:340px}
/* Nastavenia: 4 varianty v jednom riadku (úzky stĺpec Nastavení) – popis je v title, plný popis v paneli člena */
.k-nav2-picks{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}
.k-nav2-picks .k-nav2-pick-t small{display:none}
.k-nav2-sheet .k-hint{margin:.2rem 0 0}
@media (min-width:992px){.k-sheet.k-nav2-sheet{width:min(760px,94vw)}}

@media (min-width:992px){
  /* ======================= spoločné ======================= */
  html[data-k-nav="rail"]{--k-side:332px}
  html[data-k-nav="rail"][data-k-nav2-panel="0"]{--k-side:76px}
  html[data-k-nav="compact"]{--k-side:64px}
  html[data-k-nav="compact"][data-k-nav2-pin="1"]{--k-side:264px}
  html[data-k-nav="top"]{--k-side:0px}

  .k-rail a.k-homelink,.k-crail a.k-homelink,.k-tnav a.k-homelink,
  .k-rail a.k-homelink:is(:hover,:focus,:active),.k-crail a.k-homelink:is(:hover,:focus,:active),.k-tnav a.k-homelink:is(:hover,:focus,:active){display:inline-flex;flex:none;align-items:center;border-radius:10px;color:inherit;text-decoration:none}
  .k-tnav a.k-homelink-name{display:block;min-width:0}
  .k-rail a.k-homelink:focus-visible,.k-crail a.k-homelink:focus-visible,.k-tnav a.k-homelink:focus-visible{outline:2px solid var(--k-sand);outline-offset:2px}

  /* používateľ (avatar + ponuka ⋯) v páse / hornej lište – ponuka fixne vedľa pásu (pás roluje, orezal by ju) */
  .k-nav2-me{position:relative;flex:none;margin-top:6px}
  .k-nav2-av{display:inline-flex;padding:2px;border:0;border-radius:50%;background:none;cursor:pointer}
  .k-nav2-av .k-avatar{width:38px;height:38px}
  .k-nav2-av:focus-visible{outline:2px solid var(--k-sand);outline-offset:2px}
  .k-nav2-me .k-pop{position:fixed;left:84px;right:auto;top:auto;bottom:12px;width:280px;z-index:1700}
  html[data-k-nav="compact"] .k-nav2-me .k-pop{left:72px}
  html[data-k-nav="top"] .k-nav2-me .k-pop{left:auto;right:12px;top:calc(var(--k-demo) + 60px);bottom:auto}

  .k-nav2-cta{flex:none;white-space:nowrap}

  /* ======================= 2 · rail sekcií + panel ======================= */
  html[data-k-nav="rail"] .k-rail{display:flex;flex-direction:column;align-items:center;position:fixed;top:var(--k-demo);bottom:0;left:0;z-index:1501;width:76px;padding:12px 0;background:#3a251c;background:color-mix(in srgb,var(--k-brand) 76%,#000);color:#e8dac7;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
  .k-rail .k-brand-mark{display:block;width:40px;height:40px}
  .k-rail-sep{flex:none;width:36px;height:1px;margin:10px 0 8px;background:rgba(255,255,255,.14)}
  .k-rail-secs{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}
  .k-rail-b{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;width:70px;margin:0;padding:4px 2px 6px;border:0;border-radius:12px;background:none;color:#dccbb3;font:inherit;font-size:.66rem;font-weight:700;line-height:1.15;cursor:pointer}
  .k-rail-ic{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:36px;border-radius:12px;font-size:1.05rem;transition:background-color .15s,color .15s}
  .k-rail-b:hover{color:#fff}
  .k-rail-b:hover .k-rail-ic{background:rgba(255,255,255,.08)}
  .k-rail-b[aria-pressed="true"]{color:#fff}
  .k-rail-b[aria-pressed="true"] .k-rail-ic{background:rgba(213,185,143,.3)}
  .k-rail-b[aria-pressed="true"]::before{content:"";position:absolute;left:-3px;top:8px;width:4px;height:28px;border-radius:0 4px 4px 0;background:var(--k-sand)}
  .k-rail-t{display:block;max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .k-rail-cnt{position:absolute;top:-5px;right:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--k-ok);color:#fff;font-size:.66rem;font-weight:800;line-height:19px;text-align:center;box-shadow:0 0 0 2px #3a251c}
  [data-theme="night"] .k-rail-cnt{color:#0f1a12;box-shadow:0 0 0 2px #050403}
  .k-rail-here{position:absolute;top:4px;left:13px;width:8px;height:8px;border-radius:50%;background:var(--k-sand)}
  .k-rail-b[aria-pressed="true"] .k-rail-here{display:none}
  .k-rail>.k-grow{flex:1 0 10px}
  .k-rail-tool{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:40px;margin:1px 0;border:0;border-radius:11px;background:none;color:#dccbb3;font-size:1rem;cursor:pointer}
  .k-rail-tool:hover{background:rgba(255,255,255,.08);color:#fff}
  .k-rail-open{display:none}
  html[data-k-nav2-panel="0"] .k-rail-open{display:inline-flex}
  .k-rail :focus-visible{outline:2px solid var(--k-sand);outline-offset:-2px}
  .k-rail .k-rail-b:focus-visible{outline:none}
  .k-rail .k-rail-b:focus-visible .k-rail-ic{outline:2px solid var(--k-sand);outline-offset:1px}

  /* panel = bočné menu (aside) vedľa pásu: len vybraná sekcia, hlavička panela namiesto znaku / hľadania / používateľa */
  html[data-k-nav="rail"] .k-side{left:76px;width:256px;box-shadow:inset 1px 0 0 rgba(0,0,0,.18)}
  html[data-k-nav="rail"][data-k-nav2-panel="0"] .k-side{display:none}
  html[data-k-nav="rail"] .k-side>.k-brand,html[data-k-nav="rail"] .k-side>.k-nsearch-w,html[data-k-nav="rail"] .k-side>.k-me{display:none}
  html[data-k-nav="rail"] .k-nav2-ph{display:flex;align-items:flex-start;gap:.5rem;flex:none;padding:.95rem .7rem .75rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.08)}
  .k-nav2-pt{display:none;color:#fff;font-size:1.06rem;line-height:1.25}
  html[data-k-nav="rail"]:not([data-k-nav2-sec]) .k-nav2-pt[data-k-sec="fav"],
  html[data-k-nav2-sec="fav"] .k-nav2-pt[data-k-sec="fav"],html[data-k-nav2-sec="dennik"] .k-nav2-pt[data-k-sec="dennik"],
  html[data-k-nav2-sec="lov"] .k-nav2-pt[data-k-sec="lov"],html[data-k-nav2-sec="revir"] .k-nav2-pt[data-k-sec="revir"],
  html[data-k-nav2-sec="spolok"] .k-nav2-pt[data-k-sec="spolok"],html[data-k-nav2-sec="sprava"] .k-nav2-pt[data-k-sec="sprava"],
  html[data-k-nav2-sec="ine"] .k-nav2-pt[data-k-sec="ine"]{display:block}
  .k-nav2-ps{display:block;margin-top:.2rem;color:var(--k-sand);font-size:.74rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .k-nav2-ps .k-sezbtn{color:var(--k-sand)}
  .k-nav2-pc{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:9px;background:none;color:#cdb89d;cursor:pointer}
  .k-nav2-pc:hover{background:rgba(255,255,255,.08);color:#fff}
  html[data-k-nav="rail"] .k-side .k-nfav-h,html[data-k-nav="rail"] .k-side .k-ngrp-h{display:none}
  html[data-k-nav="rail"] .k-side .k-nfav{border-bottom:0;margin:0;padding:0}
  html[data-k-nav="rail"] .k-side nav.k-nav{padding-top:.45rem}
  html[data-k-nav="rail"][data-k-nav2-sec] .k-side .k-nfav,html[data-k-nav="rail"][data-k-nav2-sec] .k-side .k-ngrp{display:none}
  html[data-k-nav="rail"][data-k-nav2-sec="fav"] .k-side .k-nfav,
  html[data-k-nav="rail"][data-k-nav2-sec="dennik"] .k-side .k-ngrp[data-k-g="dennik"],html[data-k-nav="rail"][data-k-nav2-sec="lov"] .k-side .k-ngrp[data-k-g="lov"],
  html[data-k-nav="rail"][data-k-nav2-sec="revir"] .k-side .k-ngrp[data-k-g="revir"],html[data-k-nav="rail"][data-k-nav2-sec="spolok"] .k-side .k-ngrp[data-k-g="spolok"],
  html[data-k-nav="rail"][data-k-nav2-sec="sprava"] .k-side .k-ngrp[data-k-g="sprava"],html[data-k-nav="rail"][data-k-nav2-sec="ine"] .k-side .k-ngrp[data-k-g="ine"]{display:block}
  /* v paneli je sekcia vždy rozbalená (zbalenie skupín platí pre classic a panel Viac) */
  html[data-k-nav="rail"] .k-side .k-ngrp>.k-nlist{display:block!important}
  /* riadok s popisom pod názvom (popis = 2. riadok, odznak ostáva vpravo) */
  html[data-k-nav="rail"] .k-side nav a.k-side-link{flex-wrap:wrap;row-gap:0;min-height:46px;padding-top:.42rem;padding-bottom:.42rem}
  html[data-k-nav="rail"] .k-side .k-nav2-desc{display:block;order:9;flex:0 0 100%;min-width:0;padding-left:calc(18px + .65rem);margin-top:.05rem;color:#cbb9a1;font-size:.72rem;font-weight:400;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  html[data-k-nav="rail"] .k-side a.k-side-link.k-on .k-nav2-desc{color:#e8dac7}
  html[data-k-nav="rail"] .k-side .k-star{align-self:flex-start;margin-top:.5rem}

  /* ======================= 3 · kompaktný pás ikon + Ctrl K ======================= */
  html[data-k-nav="compact"] .k-crail{display:flex;flex-direction:column;align-items:center;gap:2px;position:fixed;top:var(--k-demo);bottom:0;left:0;z-index:1501;width:64px;padding:12px 0;background:var(--k-brand);color:#e8dac7}
  html[data-k-nav="compact"]:not([data-k-nav2-pin="1"]) .k-side{display:none}
  html[data-k-nav="compact"][data-k-nav2-pin="1"] .k-crail,html[data-k-nav="compact"][data-k-nav2-pin="1"] .k-nav2-bar{display:none}
  .k-crail .k-brand-mark{display:block;width:38px;height:38px}
  .k-crail-home{margin-bottom:6px}
  .k-crail-list{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0;padding:0;list-style:none}
  .k-crail-b,a.k-crail-b,a.k-crail-b:is(:hover,:focus,:active,:visited){position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:42px;margin:0;padding:0;border:0;border-radius:11px;background:none;color:#dccbb3;font-size:1.02rem;text-decoration:none;cursor:pointer}
  .k-crail-b:hover,a.k-crail-b:hover{background:rgba(255,255,255,.08);color:#fff}
  .k-crail-b.k-on,a.k-crail-b.k-on{background:rgba(213,185,143,.26);color:#fff}
  .k-crail-b[aria-expanded="true"]{background:rgba(255,255,255,.14);color:#fff}
  .k-crail-b:focus-visible{outline:2px solid var(--k-sand);outline-offset:-2px}
  .k-crail-b[data-k-tip]:is(:hover,:focus-visible)::after{content:attr(data-k-tip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);z-index:1610;padding:.32rem .6rem;border-radius:7px;background:#1d1612;color:#fff;font-size:.78rem;font-weight:600;line-height:1.3;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.25);pointer-events:none}
  [data-theme="night"] .k-crail-b[data-k-tip]:is(:hover,:focus-visible)::after{background:#3a2e25}
  .k-crail-g .k-crail-b[data-k-tip]::after{display:none!important}
  .k-crail-cnt{position:absolute;top:1px;right:-1px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--k-ok);color:#fff;font-size:.62rem;font-weight:800;line-height:17px;text-align:center}
  [data-theme="night"] .k-crail-cnt{color:#0f1a12}
  .k-crail-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--k-ok);box-shadow:0 0 0 2px var(--k-brand)}
  .k-crail-sep{flex:none;width:32px;height:1px;margin:6px 0;background:rgba(255,255,255,.14)}
  .k-crail>.k-grow{flex:1 0 8px}
  .k-crail-g{position:relative}
  .k-crail-fly{display:none;position:absolute;left:100%;top:-6px;z-index:1600;min-width:240px;max-width:300px;margin-left:12px;padding:.35rem;border:1px solid var(--k-line);border-radius:14px;background:var(--k-surface);color:var(--k-text);box-shadow:0 14px 36px rgba(0,0,0,.26)}
  .k-crail-fly::before{content:"";position:absolute;left:-16px;top:0;bottom:0;width:16px} /* most pre myš medzi ikonou a panelom */
  .k-crail-g.k-open>.k-crail-fly{display:block}
  .k-crail-fh{padding:.45rem .65rem .3rem;color:var(--k-muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  a.k-crail-fi,a.k-crail-fi:is(:hover,:focus,:active,:visited){display:flex;align-items:center;gap:.65rem;min-height:40px;padding:.4rem .65rem;border-radius:9px;color:var(--k-text);font-size:.92rem;font-weight:600;text-decoration:none}
  a.k-crail-fi:is(:hover,:focus-visible){background:var(--k-surface-2)}
  a.k-crail-fi:focus-visible{outline:2px solid var(--k-ok);outline-offset:-2px}
  a.k-crail-fi i{color:var(--k-brand-2)}
  [data-theme="night"] a.k-crail-fi i{color:var(--k-sand)}
  a.k-crail-fi.k-on{background:var(--k-ok-soft);color:var(--k-ok)}
  a.k-crail-fi.k-on i{color:var(--k-ok)}
  .k-crail-fi .k-crail-cnt{position:static}
  /* pripnuté plné menu: tlačidlo späť na pás ikon v hlavičke */
  html[data-k-nav="compact"] .k-nav2-unpin{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:none;color:#cdb89d;cursor:pointer}
  html[data-k-nav="compact"] .k-nav2-unpin:hover{background:rgba(255,255,255,.08);color:#fff}
  /* horná lišta obsahu */
  html[data-k-nav="compact"] .k-nav2-bar{display:flex;align-items:center;gap:1rem;margin:-1.5rem -2rem 1.4rem;padding:.65rem 2rem;border-bottom:1px solid var(--k-line);background:var(--k-surface)}
  .k-nav2-bar-r{flex:0 0 auto;max-width:38%;min-width:0;color:var(--k-muted);font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .k-nav2-bar-r b{color:var(--k-text)}
  .k-nav2-bar .k-sezbtn,.k-nav2-bar .k-sezbtn:hover{color:var(--k-muted)}
  .k-nav2-bar .k-sezbtn:hover{color:var(--k-text)}
  .k-nav2-q{display:flex;align-items:center;gap:.6rem;flex:0 1 520px;min-width:200px;min-height:40px;margin:0 auto;padding:.35rem .5rem .35rem .85rem;border:1px solid var(--k-line-2);border-radius:11px;background:var(--k-surface-2);color:var(--k-muted);font:inherit;font-size:.92rem;text-align:left;cursor:pointer}
  .k-nav2-q:hover{border-color:var(--k-ok);color:var(--k-text)}
  .k-nav2-q:focus-visible{outline:none;border-color:var(--k-ok);box-shadow:0 0 0 3px var(--k-ok-soft)}

  /* ======================= 4 · horné menu + mega-menu + záložky ======================= */
  html[data-k-nav="top"] body:where(.k-themed){padding-top:calc(var(--k-demo) + 64px)}
  html[data-k-nav="top"] .k-side{display:none}
  html[data-k-nav="top"] .k-main .k-table thead th{top:calc(var(--k-demo) + 64px)}
  html[data-k-nav="top"] .k-mapfull{top:calc(var(--k-demo) + 64px)}
  html[data-k-nav="top"] .k-tnav{display:flex;align-items:center;gap:.7rem;position:fixed;top:var(--k-demo);left:0;right:0;z-index:1502;height:64px;padding:0 1rem 0 1.1rem;background:var(--k-brand);color:#e8dac7;box-shadow:0 1px 0 rgba(0,0,0,.12)}
  .k-tnav-brand{display:flex;align-items:center;gap:.6rem;flex:0 1 220px;min-width:120px}
  .k-tnav-brand>.k-grow{min-width:0}
  .k-tnav-brand b{display:block;color:#fff;font-size:.98rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .k-tnav .k-nav2-sez{display:block;margin-top:.1rem;color:var(--k-sand);font-size:.74rem;line-height:1.3;white-space:nowrap}
  .k-tnav .k-sezbtn:hover{color:#fff}
  .k-tnav-nav{display:flex;align-items:stretch;align-self:stretch;gap:2px;min-width:0}
  .k-tnav-l,a.k-tnav-l,a.k-tnav-l:is(:hover,:focus,:active,:visited){position:relative;display:inline-flex;align-items:center;gap:.4rem;margin:0;padding:0 .75rem;border:0;background:none;color:#e8dac7;font:inherit;font-size:.94rem;font-weight:700;white-space:nowrap;text-decoration:none;cursor:pointer}
  .k-tnav-l:hover,a.k-tnav-l:hover{background:rgba(255,255,255,.07);color:#fff}
  .k-tnav-l.k-on,a.k-tnav-l.k-on{color:#fff}
  .k-tnav-l.k-on::after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--k-sand)}
  .k-tnav-l[aria-expanded="true"]{background:rgba(255,255,255,.12);color:#fff}
  .k-tnav-l:focus-visible{outline:2px solid var(--k-sand);outline-offset:-3px}
  .k-tnav-chev{font-size:.6rem;opacity:.8;transition:transform .15s}
  .k-tnav-l[aria-expanded="true"] .k-tnav-chev{transform:rotate(180deg)}
  .k-tnav-cnt{display:inline-block;min-width:20px;margin-left:.15rem;padding:.05rem .4rem;border-radius:99px;background:var(--k-ok);color:#fff;font-size:.68rem;font-weight:800;line-height:1.35;text-align:center}
  [data-theme="night"] .k-tnav-cnt{color:#0f1a12}
  .k-tnav-q{display:flex;align-items:center;gap:.55rem;flex:0 1 230px;min-width:44px;min-height:40px;margin-left:auto;padding:.35rem .5rem .35rem .75rem;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.07);color:#d9c8b1;font:inherit;font-size:.9rem;text-align:left;cursor:pointer}
  .k-tnav-q:hover{background:rgba(255,255,255,.12);color:#fff}
  .k-tnav-q:focus-visible{outline:2px solid var(--k-sand);outline-offset:1px}
  .k-tnav-q .k-grow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .k-tnav-q .k-kbd{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#d9c8b1}
  .k-tnav .k-nav2-me{margin-top:0}
  .k-tnav .k-nav2-cta{min-height:40px}
  .k-mega-bd{z-index:1499}
  html[data-k-nav="top"] .k-mega-bd{display:block;position:fixed;left:0;right:0;bottom:0;top:calc(var(--k-demo) + 64px);background:rgba(20,12,8,.28)}
  html[data-k-nav="top"] .k-mega{display:grid;grid-template-columns:minmax(0,1fr) 300px;position:fixed;top:calc(var(--k-demo) + 64px);left:0;right:0;z-index:1501;max-height:calc(100vh - var(--k-demo) - 64px);overflow:auto;border-bottom:1px solid var(--k-line);background:var(--k-surface);color:var(--k-text);box-shadow:0 18px 40px rgba(0,0,0,.18)}
  .k-mega-in{min-width:0;padding:1.3rem 2rem 1.5rem}
  .k-mega-h{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
  .k-mega-h h2{margin:0;font-size:1.15rem;line-height:1.2}
  .k-mega-h p{margin:.2rem 0 0;color:var(--k-muted);font-size:.88rem}
  .k-mega-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;background:var(--k-ok-soft);color:var(--k-ok);font-size:1rem}
  .k-mega-ic.k-mega-ic-s{background:var(--k-cream);color:var(--k-brand-2)}
  [data-theme="night"] .k-mega-ic.k-mega-ic-s{color:var(--k-sand)}
  .k-mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem .75rem;margin:0;padding:0;list-style:none}
  .k-mega-it{position:relative;display:flex;align-items:flex-start;min-width:0;border-radius:12px}
  .k-mega-it:hover{background:var(--k-surface-2)}
  .k-mega-it:has(a.k-on){background:var(--k-ok-soft)}
  .k-mega-a,a.k-mega-a,a.k-mega-a:is(:hover,:focus,:active,:visited){display:flex;align-items:flex-start;gap:.75rem;flex:1;min-width:0;padding:.65rem .4rem .65rem .65rem;border-radius:12px;color:var(--k-text);text-decoration:none}
  a.k-mega-a:focus-visible{outline:2px solid var(--k-ok);outline-offset:-2px}
  .k-mega-a b{display:flex;align-items:center;gap:.35rem;font-size:.95rem;line-height:1.25}
  .k-mega-a small{display:block;margin-top:.15rem;color:var(--k-muted);font-size:.8rem;line-height:1.3}
  .k-mega-a.k-on b{color:var(--k-ok)}
  .k-mega-star{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:.55rem .4rem 0 0;padding:0;border:0;border-radius:8px;background:none;color:var(--k-muted);font-size:.8rem;cursor:pointer;opacity:0}
  .k-mega-star:hover{background:var(--k-surface);color:var(--k-text)}
  .k-mega-it:hover .k-mega-star,.k-mega-star:focus-visible,.k-mega-star[aria-pressed="true"]{opacity:1}
  .k-mega-star[aria-pressed="true"]{color:var(--k-warn)}
  .k-mega-star:focus-visible{outline:2px solid var(--k-ok);outline-offset:-2px}
  .k-mega-side{min-width:0;padding:1.3rem 1.25rem 1.5rem;border-left:1px solid var(--k-line);background:var(--k-surface-2)}
  .k-mega-sh{margin:0 0 .6rem;color:var(--k-muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  .k-mega-fav{display:flex;flex-wrap:wrap;gap:.4rem}
  .k-mega-chip,a.k-mega-chip,a.k-mega-chip:is(:hover,:focus,:active,:visited){display:inline-flex;align-items:center;gap:.4rem;min-height:36px;padding:.3rem .75rem;border:1px solid var(--k-line-2);border-radius:99px;background:var(--k-surface);color:var(--k-text);font-size:.86rem;font-weight:700;text-decoration:none}
  a.k-mega-chip:hover{border-color:var(--k-ok)}
  a.k-mega-chip.k-on{border-color:var(--k-ok);background:var(--k-ok-soft);color:var(--k-ok)}
  a.k-mega-chip:focus-visible{outline:2px solid var(--k-ok);outline-offset:1px}
  .k-mega-edit{display:inline-flex;align-items:center;gap:.4rem;min-height:36px;margin-top:.7rem;padding:0;border:0;background:none;color:var(--k-ok);font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}
  [data-k-fav-store="0"] .k-mega-star,[data-k-fav-store="0"] .k-mega-edit{display:none!important}
  /* záložky sekcie pod nadpisom obrazovky */
  html[data-k-nav="top"] .k-nav2-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin:0 0 1.2rem;border-bottom:1px solid var(--k-line)}
  .k-nav2-tab,a.k-nav2-tab,a.k-nav2-tab:is(:hover,:focus,:active,:visited){display:inline-flex;align-items:center;gap:.45rem;min-height:42px;margin-bottom:-1px;padding:.4rem .8rem;border-bottom:2px solid transparent;color:var(--k-muted);font-size:.9rem;font-weight:700;text-decoration:none}
  a.k-nav2-tab:hover{color:var(--k-text)}
  a.k-nav2-tab.k-on{border-bottom-color:var(--k-ok);color:var(--k-ok)}
  a.k-nav2-tab:focus-visible{outline:2px solid var(--k-ok);outline-offset:-2px}
}
/* vyskakovacie menu skupiny na hover len pre myš (dotyk / pero = klik, base/16-nav2.js) */
@media (min-width:992px) and (hover:hover) and (pointer:fine){
  .k-crail-g:hover>.k-crail-fly{display:block}
}
/* užšie okno: horná lišta sa musí zmestiť (6 sekcií + hľadanie + Zapísať + avatar) */
@media (min-width:992px) and (max-width:1439.98px){
  html[data-k-nav="top"] .k-tnav .k-nav2-cta-t{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  html[data-k-nav="top"] .k-tnav .k-nav2-cta{padding-left:.75rem;padding-right:.75rem}
  .k-tnav-l,a.k-tnav-l,a.k-tnav-l:is(:hover,:focus,:active,:visited){padding:0 .6rem}
  .k-tnav-brand{flex-basis:190px}
}
@media (min-width:992px) and (max-width:1279.98px){
  .k-tnav-q{flex:0 0 44px;padding:0;justify-content:center}
  .k-tnav-q .k-grow,.k-tnav-q .k-kbd{display:none}
  .k-tnav-brand{flex-basis:150px}
  html[data-k-nav="top"] .k-mega{grid-template-columns:minmax(0,1fr)}
  .k-mega-side{display:none}
  .k-mega-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:992px) and (max-height:760px){
  .k-crail-b,a.k-crail-b,a.k-crail-b:is(:hover,:focus,:active,:visited){height:36px}
  .k-crail .k-brand-mark{width:32px;height:32px}
  .k-rail-b{padding-top:2px;padding-bottom:3px}
  .k-rail-ic{height:32px}
}
@media (prefers-reduced-motion:reduce){
  .k-rail-ic,.k-tnav-chev,.k-nav2-pick,.k-nav2-opt{transition:none!important}
}

/* base/24-navm.css */
/* ==========================================================================
   NOVÉ: rozloženie menu na MOBILE (< 992 px) – Revir\Theme\NavLayout::MOBILE_VARIANTS, <html data-k-navm="classic|sections|search">.
   Markup: templates/modern/components/navm.latte (+ top bar a panel Menu v @layout.latte), správanie: base/17-navm.js.
   Klasické (classic) = base/22-nav.css bez zmeny. Lišty sections / search majú triedu k-bnav (mriežka 5 stĺpcov, (+) v 3.,
   posledné tlačidlo v 5. – [data-k-plus] / [data-k-more] z 22-nav.css), tu sú len odznaky, zvýraznenie otvorenej sekcie,
   panel sekcií a paleta na celú obrazovku. Na počítači (≥ 992 px) sa nič z toho nezobrazí. Triedy k-navm-*.
   ========================================================================== */

/* ---------- panel Rozloženie menu (⋯ / Menu) a Nastavenia → Menu: nadpisy zariadení, náhľad telefónu ---------- */
.k-nav2-dev{display:flex;align-items:center;gap:.45rem;margin:.3rem 0 .45rem;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--k-muted)}
.k-nav2-dev i{font-size:.9rem;color:var(--k-brand-2)}
[data-theme="night"] .k-nav2-dev i{color:var(--k-sand)}
.k-navl-mh{margin-top:.9rem}

@media (min-width:992px){
  .k-navm-sheet,.k-navm-q,.k-navm-qi,.k-navm-me{display:none!important}
}

@media (max-width:991.98px){
  /* panel Rozloženie menu na mobile: najprv Mobil, potom Počítač */
  #k-navl-f{display:flex;flex-direction:column}
  #k-navl-f .k-navl-mh{order:-2;margin-top:.1rem}
  #k-navl-f .k-navl-m{order:-1;margin-bottom:.6rem}
  #k-navl .k-nav2-opts{grid-template-columns:repeat(2,minmax(0,1fr))}

  /* ---------- top bar: pole hľadania (search, domov), ikona hľadania, avatar = Menu ---------- */
  .k-top .k-navm-q{flex:1;min-width:0;display:flex;align-items:center;gap:.6rem;height:40px;margin:0 .15rem;padding:0 .8rem;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.1);color:#e8dac7;font:inherit;font-size:.9rem;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .k-top .k-navm-q .k-grow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .k-top .k-navm-q:active{background:rgba(255,255,255,.16)}
  .k-top .k-navm-q:focus-visible{outline:2px solid var(--k-sand);outline-offset:1px}
  .k-top button.k-act{cursor:pointer;padding:0}
  .k-top button.k-act:focus-visible{outline:2px solid var(--k-sand);outline-offset:-2px}

  /* ---------- lišty sections / search: odznaky, otvorená sekcia ---------- */
  .k-navm-bar>a,.k-navm-bar>button{position:relative}
  .k-navm-bar .k-navm-bd{position:absolute;top:1px;left:calc(50% + 7px);min-width:18px;height:18px;padding:0 4px;border-radius:99px;border:2px solid var(--k-surface);background:var(--k-ok);color:#fff;font-size:.62rem;font-weight:800;line-height:14px;text-align:center;pointer-events:none}
  [data-theme="night"] .k-navm-bar .k-navm-bd{color:#0f1a12}
  .k-navm-bar button.k-navm-sel{color:var(--k-ok)}
  .k-navm-bar button.k-navm-sel>i{background:var(--k-ok-soft)}
  .k-navm-bar button.k-navm-sel .k-bnav-t{font-weight:800}
  html.k-navm-open .k-navm-bar .k-on:not(.k-navm-sel){color:var(--k-muted)}
  html.k-navm-open .k-navm-bar .k-on:not(.k-navm-sel)>i{background:none}
  html.k-navm-open .k-navm-bar .k-on:not(.k-navm-sel) .k-bnav-t{font-weight:600}
  /* panel sekcií je nad lištou – lišta ostáva viditeľná a klikateľná (prepnutie sekcie jedným ťuknutím) */
  html.k-navm-open .k-navm-bar{z-index:2002}

  /* ---------- panel sekcií (sections) ---------- */
  .k-sheet.k-navm-sheet{bottom:calc(var(--k-bnav) + env(safe-area-inset-bottom));height:min(640px,calc(88vh - var(--k-bnav) - env(safe-area-inset-bottom)));max-height:none;background:var(--k-surface);border-radius:22px 22px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.22)}
  .k-sheet.k-navm-sheet:not(.k-open){transform:translateY(calc(100% + var(--k-bnav) + env(safe-area-inset-bottom) + 8px))}
  body.k-nobnav .k-sheet.k-navm-sheet{bottom:0}
  .k-navm-sheet .k-mgrab{height:26px}
  .k-navm-x{position:absolute;top:0;right:6px;width:40px;height:30px;border:0;border-radius:10px;background:none;color:var(--k-muted);font-size:.95rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
  .k-navm-x:focus-visible{outline:2px solid var(--k-ok);outline-offset:-2px}
  .k-navm-tabs{flex:none;display:flex;gap:4px;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 12px 10px;border-bottom:1px solid var(--k-line);scrollbar-width:none;scroll-padding:0 12px}
  .k-navm-tabs::-webkit-scrollbar{display:none}
  .k-navm-tab{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:62px;padding:6px 3px 4px;border:0;border-radius:14px;background:none;color:var(--k-muted);font:inherit;font-size:.7rem;font-weight:700;line-height:1.2;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .k-navm-ti{position:relative;display:flex;align-items:center;justify-content:center;width:46px;height:42px;border-radius:13px;border:1px solid var(--k-line);background:var(--k-surface-2);color:var(--k-brand-2);font-size:1.1rem;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
  [data-theme="night"] .k-navm-ti{color:var(--k-sand)}
  .k-navm-tl{max-width:100%;padding:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .k-navm-tab[aria-selected="true"]{color:var(--k-text)}
  .k-navm-tab[aria-selected="true"] .k-navm-ti{background:var(--k-brand);border-color:var(--k-brand);color:#fff}
  [data-theme="night"] .k-navm-tab[aria-selected="true"] .k-navm-ti{background:var(--k-sand);border-color:var(--k-sand);color:#120d0a}
  .k-navm-tab:focus-visible{outline:none}
  .k-navm-tab:focus-visible .k-navm-ti{outline:2px solid var(--k-ok);outline-offset:2px}
  .k-navm-tab .k-navm-bd{position:absolute;top:-7px;right:-8px;min-width:19px;height:19px;padding:0 4px;border-radius:99px;border:2px solid var(--k-surface);background:var(--k-ok);color:#fff;font-size:.6rem;font-weight:800;line-height:15px;text-align:center}
  [data-theme="night"] .k-navm-tab .k-navm-bd{color:#0f1a12}
  .k-navm-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.2rem .85rem calc(.9rem + env(safe-area-inset-bottom))}
  body:not(.k-nobnav) .k-navm-body{padding-bottom:.9rem}
  .k-navm-ph{display:flex;align-items:center;gap:.5rem;min-height:38px;margin:.45rem .15rem .15rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--k-muted)}
  .k-navm-ph2{margin-top:.8rem;padding-top:.45rem;border-top:1px solid var(--k-line)}
  .k-navm-edit{border:0;background:none;color:var(--k-ok);font:inherit;font-size:.78rem;font-weight:700;text-transform:none;letter-spacing:0;min-height:36px;padding:0 .3rem;cursor:pointer}
  .k-navm-edit:focus-visible{outline:2px solid var(--k-ok);outline-offset:1px;border-radius:8px}
  .k-navm-list{list-style:none;margin:0;padding:0}
  .k-navm-row{display:flex;align-items:center;border-radius:12px}
  .k-navm-row:has(.k-navm-a.k-on){background:var(--k-ok-soft)}
  .k-navm-a,.k-navm-a:is(:hover,:focus,:active,:visited){flex:1;min-width:0;display:flex;align-items:center;gap:.75rem;min-height:56px;padding:.4rem .35rem .4rem .3rem;border-radius:12px;color:var(--k-text);text-decoration:none;-webkit-tap-highlight-color:transparent}
  .k-navm-a:focus-visible{outline:2px solid var(--k-ok);outline-offset:-2px}
  .k-navm-a b{display:block;font-size:.96rem;font-weight:750;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .k-navm-a small{display:block;margin-top:1px;color:var(--k-muted);font-size:.8rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .k-navm-a .k-grow{min-width:0}
  .k-navm-a.k-on b{color:var(--k-ok)}
  .k-navm-ic{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;background:var(--k-cream);color:var(--k-brand-2);font-size:1rem}
  [data-theme="night"] .k-navm-ic{color:var(--k-sand)}
  .k-navm-a.k-on .k-navm-ic{background:var(--k-surface);color:var(--k-ok)}
  .k-navm-star{flex:none;width:44px;height:44px;border:0;border-radius:10px;background:none;color:var(--k-muted);display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;cursor:pointer;padding:0}
  .k-navm-star[aria-pressed="true"]{color:#b8913f}
  [data-theme="night"] .k-navm-star[aria-pressed="true"]{color:var(--k-warn)}
  .k-navm-star:focus-visible{outline:2px solid var(--k-ok);outline-offset:-2px}
  .k-navm-empty{margin:.4rem .2rem}

  /* ---------- panel Menu (avatar / Viac): Rozloženie menu ---------- */
  .k-navm-lrow{margin-top:.5rem;border-top:1px solid var(--k-line)}

  /* ---------- search: paleta Ctrl K na celú obrazovku ---------- */
  html[data-k-navm="search"] .k-sheet.k-cmd{top:0;height:auto;max-height:none;border-radius:0;padding-top:env(safe-area-inset-top);background:var(--k-surface)}
  html[data-k-navm="search"] .k-cmd-h{min-height:60px}
  html[data-k-navm="search"] .k-cmd-b{padding-bottom:calc(.8rem + env(safe-area-inset-bottom))}
}
@media (max-width:360px){
  .k-navm-tab{min-width:56px}
  .k-navm-ti{width:42px}
}

/* ---------- pohyb ---------- */
@media (prefers-reduced-motion:reduce){
  .k-navm-ti,.k-sheet.k-navm-sheet{transition:none!important}
}

/* base/25-impersonacia.css */
/* NOVÉ: impersonácia superadmina („Prihlásiť sa ako člen“) – pruh hore (templates/modern/components/impersonacia.latte).
   Fixný pruh zaberá slot --k-demo (v prototype demo lišta, v produkcii 0px – 20-shell.css), takže top bar (mobil),
   bočné menu (desktop), sticky hlavičky tabuliek aj mapa na celú obrazovku sa posunú pod neho. */
body:has(.k-impbar){--k-demo:44px}
.k-impbar{position:fixed;inset:0 0 auto 0;height:var(--k-demo,44px);z-index:3000;background:#b3261e;color:#fff;display:flex;align-items:center;gap:.6rem;padding:0 .5rem 0 .85rem;font-size:.86rem;line-height:1.2;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.k-impbar .k-impbar-t{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-impbar .k-impbar-by{opacity:.85}
.k-impbar .k-impbar-f{margin:0;flex:none}
.k-impbar .k-impbar-btn{background:#fff;color:#b3261e;border-color:#fff;font-weight:700}
.k-impbar .k-impbar-btn:hover{background:#ffe9e7}
@media (max-width:575px){.k-impbar .k-impbar-by{display:none}}
@media print{.k-impbar{display:none}body:has(.k-impbar){--k-demo:0px}}

/* base/30-components.css */
/* ==========================================================================
   Spoločné komponenty novej témy (templates/modern/components/*.latte) – doplnky nad prototypom (10-proto.css).
   Prototyp písal tieto veci inline (style="…") v pages-*.js; v produkcii sú tu ako triedy.
   Pravidlá: len triedy s prefixom k-, žiadne holé elementy mimo :where(.k-ui), žiadne !important okrem utilít.
   ========================================================================== */

/* ---------- drobné utility (prototyp ich mal inline) ---------- */
.k-auto{width:auto}
.k-strong{font-weight:700}
.k-mb{margin-bottom:1rem}
.k-m0{margin:0}
.k-tx-ok{color:var(--k-ok)}
.k-tx-busy{color:var(--k-busy)}
.k-tx-warn{color:var(--k-warn)}
.k-badge-lg{font-size:.85rem;padding:.4rem .7rem}

/* ---------- karta ---------- */
.k-card-h h2 .k-badge{vertical-align:2px;margin-left:.15rem}
.k-card-h h2 i{margin-right:.15rem}
.k-card + .k-card{margin-top:1rem}
.k-grid > .k-card + .k-card,.k-stack > .k-card + .k-card{margin-top:0}

/* ---------- zoznam / tabuľka – klikateľné riadky (data-href) ---------- */
.k-list>li[hidden]{display:none}
/* skrytý riadok tabuľky (hľadanie input[data-k-find]) – aj v kartovom režime (.k-table.k-cards tr = flex) */
.k-table tr[hidden],.k-table.k-cards tr[hidden]{display:none}
.k-row-a,.k-row-a:is(:hover,:focus,:active,:visited){color:inherit;text-decoration:none}
.k-row-a:focus-visible{outline:2px solid var(--k-ok);outline-offset:2px;border-radius:4px}
.k-list>li.k-link:focus-within,.k-table tr.k-link:focus-within{background:var(--k-surface-2)}
.k-avatar.k-avatar-on{background:var(--k-ok);color:#fff}
[data-theme="night"] .k-avatar.k-avatar-on{color:#0f1a12}

/* ikonové tlačidlo bez akcie (chýba právo / zamknuté) */
.k-ibtn:disabled,.k-ibtn[aria-disabled="true"],.k-ibtn.k-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}

/* ---------- stránkovanie (components/pager.latte) ---------- */
.k-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;width:100%}
.k-pager-pages{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}
.k-pager-pages .k-btn{min-width:40px}

/* ---------- prázdny stav ---------- */
.k-empty .k-empty-act{margin-top:.8rem}
.k-empty .k-btn i{display:inline-block;font-size:inherit;margin:0;opacity:1}
.k-empty.k-card{padding:2rem 1rem}
.k-error-page{max-width:520px;margin:2rem auto;padding:2rem 1.2rem}
.k-error-page h1{font-size:1.3rem;color:var(--k-text);margin-bottom:.4rem}
.k-error-page .k-btn{margin-top:1rem}

/* ---------- filtre v riadku (components/filters.latte) ---------- */
.k-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}
.k-filters .k-seg{flex:0 0 auto}
.k-filters .k-input,.k-filters .k-select{min-height:42px;padding-top:.35rem;padding-bottom:.35rem}
.k-filters-x{margin-left:auto;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.k-filters-m{flex-wrap:nowrap;gap:.4rem}
.k-filters-m .k-chip-c{justify-content:center;min-width:0}
.k-filters-m .k-chip-m{flex:0 1 auto;min-width:0;max-width:42%}
.k-seg a{flex:1;display:flex;align-items:center;justify-content:center;padding:.45rem .7rem;border-radius:9px;font-size:.88rem;font-weight:700;color:var(--k-muted);min-height:38px;white-space:nowrap;text-decoration:none}
.k-seg a:is(:hover,:focus,:active,:visited){color:var(--k-muted);text-decoration:none}
.k-seg a.k-on,.k-seg a.k-on:is(:hover,:focus,:active,:visited){background:var(--k-surface);color:var(--k-text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.k-months{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
.k-months .k-chip{justify-content:center}
a.k-chip{text-decoration:none}
a.k-chip.k-on,a.k-chip.k-on:is(:hover,:focus,:active,:visited){color:var(--k-ok)}

/* ---------- panel (components/sheet.latte) ---------- */
.k-sheet-b.k-flush{padding:0}
.k-sheet-search{position:sticky;top:0;z-index:1;padding:.75rem 1rem;background:var(--k-bg);border-bottom:1px solid var(--k-line)}
form.k-sheet{margin:0}
/* náhľad fotky (a[data-k-photo] → K.sheet, base/10-shell.js) */
.k-photo-big{display:block;max-width:100%;max-height:70vh;margin:0 auto;border-radius:12px}
/* galéria viacerých fotiek ([data-k-photos] → K.sheet, base/10-shell.js) */
.k-gal{display:grid;grid-template-columns:repeat(var(--k-gal-n,3),minmax(0,1fr));gap:.5rem}
.k-gal-i{display:block;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--k-surface-2);border:1px solid var(--k-line)}
.k-gal-i img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .15s}
.k-gal-i:hover img{transform:scale(1.03)}
.k-gal-f{flex-wrap:wrap;align-items:center}
.k-gal-f .k-btn{flex:0 1 auto}
.k-gal-f [data-k-gal-go="1"]{margin-right:auto}

/* ---------- formulárové prvky (components/field.latte) ---------- */
/* chyby formulára nad poľami: <div class="k-form-err">{inputError form}</div> */
.k-form-err:empty{display:none}
.k-form-err{margin-bottom:.75rem;color:var(--k-busy)}
/* výber súboru (fotka, doklad) v .k-field / .k-file */
.k-ui :is(.k-field,.k-file) input[type="file"]{display:block;width:100%;min-height:48px;padding:.6rem .7rem;border:1.5px dashed var(--k-line-2);border-radius:12px;background:var(--k-surface-2);color:var(--k-text);font-size:.9rem}
.k-ferr{font-size:.8rem;color:var(--k-busy);margin-top:.3rem;font-weight:600}
.k-invalid :is(.k-input,.k-select,.form-control,.custom-select,input,select,textarea){border-color:var(--k-busy)}
.k-check span{line-height:1.3}
/* Nette / FormFactory polia s triedami Bootstrap 4 v .k-field – vyzerajú ako .k-input (bez Bootstrap CSS) */
.k-ui .k-field :is(.form-control,.custom-select,select:not([multiple]),input[type="text"],input[type="number"],input[type="date"],input[type="time"],input[type="email"],input[type="tel"],input[type="password"],textarea):not(.k-input):not(.k-select){display:block;width:100%;min-height:48px;border:1.5px solid var(--k-line-2);border-radius:12px;background:var(--k-surface);color:var(--k-text);padding:.55rem .8rem;font-size:1rem;font-family:inherit;line-height:1.3}
.k-ui .k-field textarea{min-height:88px;resize:vertical}
.k-ui .k-field :is(.form-control,.custom-select,select,input,textarea):not(.k-input):not(.k-select):focus{outline:none;border-color:var(--k-ok);box-shadow:0 0 0 3px var(--k-ok-soft)}
.k-ui .k-field .is-invalid{border-color:var(--k-busy)}
.k-ui .k-field .invalid-feedback,.k-ui .k-field .error{font-size:.8rem;color:var(--k-busy);margin-top:.3rem}
/* select2 (FormFactory) v novej téme */
.k-ui .k-field .select2-container{width:100%!important}
.k-ui .k-field .select2-container .select2-selection--single{min-height:48px;border:1.5px solid var(--k-line-2);border-radius:12px;background:var(--k-surface);display:flex;align-items:center}
.k-ui .k-field .select2-container .select2-selection__rendered{color:var(--k-text);padding-left:.8rem}
.k-ui .k-field .select2-container .select2-selection__arrow{height:46px}

/* tlačidlá formulára FormFactory (input type=submit class="btn btn-success") v .k-actions → vzhľad .k-btn */
.k-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.k-ui .k-actions :is(.btn,input[type="submit"],button[type="submit"]){display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.55rem 1.1rem;border-radius:12px;font-weight:650;font-size:.97rem;border:1px solid var(--k-line-2);background:var(--k-surface);color:var(--k-text);text-decoration:none;cursor:pointer;line-height:1.1}
.k-ui .k-actions :is(.btn-success,.btn-primary,input[type="submit"],button[type="submit"]){background:var(--k-ok);border-color:transparent;color:#fff}
.k-ui .k-actions .btn-danger{background:var(--k-busy);border-color:transparent;color:#fff}
[data-theme="night"] .k-ui .k-actions :is(.btn-success,.btn-primary,input[type="submit"],button[type="submit"]){color:#0f1a12}
/* tlačidlá vo formulári rovnako široké (Zrušiť = Uložiť) */
.k-actions>*{flex:1 1 0;min-width:0}
@media (min-width:992px){.k-actions:not(.k-sticky-f)>*{flex:0 1 auto;min-width:9rem}}

/* relatívny čas (base/10-shell.js updateAgo) */
.k-ago{color:var(--k-muted);font-size:.8em;white-space:nowrap}
.k-ago:not(:empty)::before{content:'· '}
.k-ago.k-ago-block{display:block}
.k-ago.k-ago-block:not(:empty)::before{content:''}

/* select2 (FormFactory .select2-show-search) – v novej téme natívny select: CSS select2 sa nenačítava,
   bez neho bol viditeľný select aj kontajner select2 (zdvojené pole). Natívny select je na mobile lepší.
   Hľadanie (člen, lokalita, priradenie značiek) vracia vlastný komponent base/41-combo.js – select[data-k-combo]. */
.k-ui .select2-container{display:none!important}
.k-ui select.select2-hidden-accessible{position:static!important;clip:auto!important;clip-path:none!important;width:100%!important;height:auto!important;margin:0!important;overflow:visible!important;white-space:normal!important;border:1.5px solid var(--k-line-2)!important}
/* checkbox s popisom */
.k-check{display:flex;align-items:center;gap:.6rem;min-height:44px;cursor:pointer;font-weight:500}
.k-check input[type=checkbox]{width:20px;height:20px;margin:0;position:static;flex:0 0 auto}
/* pečiatka s relatívnym časom (ThemeView::stamp): „02.11.2026 21:10 (pred 5 min)“ – história, log */
.k-stamp .k-ago.k-stamp-ago{font-size:.9em}
.k-stamp .k-ago.k-stamp-ago:not(:empty)::before{content:'('}
.k-stamp .k-ago.k-stamp-ago:not(:empty)::after{content:')'}
/* relatívny čas v pravom stĺpci riadku (.k-r) dedí veľkosť písma (návrh S3) */
.k-r .k-ago.k-ago-block{font-size:inherit}
/* ikonové akcie v riadkoch (gaps 0.11): neutrálne ako prototyp – kôš nie je červený (červené je až potvrdenie v paneli/modale);
   farba len pri hover/focus, aby bolo jasné, že ide o mazanie */
.k-ui .k-ibtn,.k-ui .k-ibtn :is(i,svg){color:var(--k-text)}
.k-ui .k-ibtn.k-danger,.k-ui .k-ibtn.k-del{background:var(--k-surface);border-color:var(--k-line-2);color:var(--k-text)}
.k-ui .k-ibtn:is(.k-danger,.k-del):is(:hover,:focus-visible),.k-ui .k-ibtn:is(.k-danger,.k-del):is(:hover,:focus-visible) i{color:var(--k-busy);border-color:var(--k-busy)}
/* kôš s kontraktom .confirmDelete (app.js) – rovnaké pravidlo je v 90-bridge.css (triedy starej knihy len tam) */
/* .k-check bez rámika (návrh S4) – checkbox s popisom v riadku zoznamu / v karte */
.k-check.k-plain{min-height:0;padding:0;border:0;background:none}
/* fáza 4 – návrhy S5 / S1b */
.k-mt{margin-top:1rem}
.k-mt-sm{margin-top:.5rem}
:is(.k-btn,.k-card,.k-empty,.k-chip,.k-badge)[hidden]{display:none!important}
/* .k-seg aj s odkazmi (taby ako GET odkazy, napr. Nastavenia, Návštevy) */
.k-seg a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .6rem;border-radius:9px;font-size:.88rem;font-weight:700;color:var(--k-muted);min-height:38px;white-space:nowrap;text-decoration:none}
.k-seg a:is(:hover,:focus,:active,:visited){color:var(--k-muted);text-decoration:none}
.k-seg a:hover{color:var(--k-text)}
.k-seg a.k-on,.k-seg a.k-on:is(:hover,:focus,:active,:visited),.k-seg a[aria-current="page"]{background:var(--k-surface);color:var(--k-text);box-shadow:0 1px 3px rgba(0,0,0,.12)}

/* štítok „nové“ nepatrí do tlačidiel – rozbíja ich (zalomenie) */
.k-btn .k-new,.k-ibtn .k-new{display:none}
/* tlačidlo vo formulári (Odchádzam z revíru) na celú šírku ako Zapísať návštevu */
.k-cta .k-nav-act,.k-msheet .k-nav-act{display:block;width:100%}
.k-nav-act .k-btn.k-block{width:100%;justify-content:center}

/* ---------- drag & drop radenie (base/50-sortable.js, NOVÉ) – prototyp: assets/sortable.css ----------
   rukoväť .k-sort-h len s JS (html.k-sort-js); ťahá sa len za ňu (touch-action:none) → mobil ďalej scrolluje stránku */
.k-sort-h{display:none;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;color:var(--k-muted);flex:none}
.k-sort-js .k-sort-h{display:inline-flex}
.k-sort-h:hover{color:var(--k-text)}
.k-sort-h:active,.k-sort-dragging .k-sort-h{cursor:grabbing}
.k-sort-h[aria-pressed="true"]{color:#fff;background:var(--k-ok);border-color:var(--k-ok)}
.k-sort-dragging,.k-sort-dragging *{cursor:grabbing;-webkit-user-select:none;user-select:none}
/* miesto, kam položka padne (pôvodná položka počas ťahania) */
.k-sort-ph{position:relative;background:var(--k-surface-2)}
.k-sort-ph>*{visibility:hidden}
.k-sort-ph::after{content:"";position:absolute;inset:4px 6px;border:2px dashed var(--k-line-2);border-radius:10px;pointer-events:none}
.k-table .k-sort-ph td{background:var(--k-surface-2)}
/* ťahaná kópia (absolute v tom istom zozname → rovnaké štýly) */
.k-sort-ghost{position:absolute;top:0;left:0;margin:0;z-index:30;pointer-events:none;background:var(--k-surface);box-shadow:0 10px 28px rgba(0,0,0,.22),0 0 0 2px var(--k-ok);border-radius:10px;opacity:.97;list-style:none}
.k-sort-ghost>td{background:var(--k-surface);border-color:transparent}
/* uchopené klávesnicou */
.k-sort-kb{box-shadow:inset 0 0 0 2px var(--k-ok);background:var(--k-ok-soft)}
.k-table .k-sort-kb td{background:var(--k-ok-soft)}
.k-sort-busy{opacity:.85}
/* šípky hore/dole ostávajú (bez JS / alternatíva) – s JS menej výrazné */
.k-sort-js [data-k-sortable] .k-sort-mv{opacity:.5}
.k-sort-js [data-k-sortable] .k-sort-mv:is(:hover,:focus-visible){opacity:1}
.k-sort-js [data-k-sortable] .k-sort-mv.k-disabled{opacity:.25}
.k-sort-cell{display:inline-flex;align-items:center;gap:.25rem;justify-content:flex-end}
@media (prefers-reduced-motion:reduce){.k-sort-ghost{transition:none}}

/* base/35-flash.css */
/* ==========================================================================
   Hlášky po akcii (components/flash.latte, Revir\Theme\FlashMessages) – namiesto Bootstrap .alert s „×“ vľavo.
   V toku stránky nad obsahom (nič neprekrýva, ani na mobile), ikona typu vľavo, zatváranie ikonou vpravo (44 px cieľ),
   úspech zmizne sám (base/35-flash.js), chyby ostávajú. Farby z tokenov (aj nočný režim).
   ========================================================================== */
.k-flashes{display:flex;flex-direction:column;gap:.5rem;margin:0 0 1rem}
.k-flash{display:flex;align-items:flex-start;gap:.65rem;border-radius:var(--k-r);padding:.55rem .35rem .55rem .9rem;
  background:var(--k-info-soft);color:var(--k-text);border:1px solid transparent;border-left:4px solid var(--k-info);
  box-shadow:var(--k-shadow);font-size:.95rem;line-height:1.4;overflow:hidden;
  transition:opacity .25s ease,transform .25s ease,max-height .3s ease,margin .3s ease,padding .3s ease}
.k-flash-i{flex:0 0 auto;margin-top:.62rem;color:var(--k-info);font-size:1.05rem}
.k-flash-t{flex:1 1 auto;min-width:0;padding:.5rem 0;overflow-wrap:anywhere}
.k-flash-t a{color:inherit;text-decoration:underline}
.k-flash-x{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;
  border:0;border-radius:10px;background:transparent;color:var(--k-muted);font-size:1.05rem;line-height:1;cursor:pointer}
.k-flash-x:hover{background:color-mix(in srgb,var(--k-text) 8%,transparent);color:var(--k-text)}
.k-flash-x:focus-visible{outline:2px solid var(--k-ok);outline-offset:1px}
.k-flash-success{background:var(--k-ok-soft);border-left-color:var(--k-ok)} .k-flash-success .k-flash-i{color:var(--k-ok)}
.k-flash-warning{background:var(--k-warn-soft);border-left-color:var(--k-warn)} .k-flash-warning .k-flash-i{color:var(--k-warn)}
.k-flash-danger{background:var(--k-busy-soft);border-left-color:var(--k-busy)} .k-flash-danger .k-flash-i{color:var(--k-busy)}
.k-flash.k-flash-out{opacity:0;transform:translateY(-4px);max-height:0!important;margin:0;padding-top:0;padding-bottom:0;border-width:0}
.k-flashes:empty{display:none}
/* prihlásenie: bez tieňa v karte */
.k-login-msg .k-flashes{margin:0}
.k-login-msg .k-flash{box-shadow:none}
@media (max-width:991.98px){.k-flash{font-size:.93rem}}
@media (prefers-reduced-motion:reduce){.k-flash{transition:none}}

/* base/37-ios-install.css */
/* iPhone / iPad: návod „Pridať na plochu“ (base/37-ios-install.js) – karta nad spodnou lištou, v úpravách domova skrytá */
.k-ios-inst{position:fixed;z-index:1200;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:calc(var(--k-bnav,64px) + env(safe-area-inset-bottom) + 12px);
  display:flex;align-items:flex-start;gap:.75rem;max-width:520px;margin:0 auto;padding:.85rem .85rem .75rem;border:1px solid var(--k-line-2);border-radius:16px;
  background:var(--k-surface);color:var(--k-text);box-shadow:0 12px 32px rgba(36,26,20,.22);font-size:.88rem;line-height:1.4;
  opacity:0;transform:translateY(14px);transition:opacity .22s ease,transform .22s ease}
.k-ios-inst.k-in{opacity:1;transform:none}
[data-theme="night"] .k-ios-inst{box-shadow:0 12px 32px rgba(0,0,0,.55)}
body.k-nobnav .k-ios-inst{bottom:calc(env(safe-area-inset-bottom) + 12px)}
html.k-dash-on .k-ios-inst{display:none}
.k-ios-inst-i{flex:none;width:44px;height:44px;border-radius:10px}
.k-ios-inst-b{flex:1;min-width:0}
.k-ios-inst-b>b{display:block;font-size:.95rem}
.k-ios-inst-t{display:block;margin-top:1px;color:var(--k-muted);font-size:.8rem}
.k-ios-inst-s{margin:.5rem 0 0;padding-left:1.15rem}
.k-ios-inst-s li{margin:.15rem 0}
.k-ios-inst-k{display:inline-flex;align-items:center;gap:.3rem;padding:0 .4rem;border-radius:6px;background:var(--k-surface-2);font-weight:700;white-space:nowrap}
.k-ios-inst-k>i{font-size:.8em;color:var(--k-brand-2)}
[data-theme="night"] .k-ios-inst-k>i{color:var(--k-sand)}
.k-ios-inst-a{margin-top:.55rem}
.k-ios-inst-x{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin:-.35rem -.35rem 0 0;border:0;border-radius:10px;background:none;color:var(--k-muted);font-size:1rem;cursor:pointer}
.k-ios-inst-x:focus-visible{outline:2px solid var(--k-brand-2);outline-offset:1px}
@media (prefers-reduced-motion:reduce){.k-ios-inst{transition:none}}

/* base/39-push-prompt.css */
/* Výzva „Zapnúť upozornenia na telefón“ (base/39-push-prompt.js) – karta nad spodnou lištou, v úpravách domova skrytá */
.k-push-prompt{position:fixed;z-index:1200;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:calc(var(--k-bnav,64px) + env(safe-area-inset-bottom) + 12px);
  display:flex;align-items:flex-start;gap:.75rem;max-width:520px;margin:0 auto;padding:.85rem;border:1px solid var(--k-line-2);border-radius:16px;
  background:var(--k-surface);color:var(--k-text);box-shadow:0 12px 32px rgba(36,26,20,.22);font-size:.88rem;line-height:1.4;
  opacity:0;transform:translateY(14px);transition:opacity .22s ease,transform .22s ease}
.k-push-prompt.k-in{opacity:1;transform:none}
[data-theme="night"] .k-push-prompt{box-shadow:0 12px 32px rgba(0,0,0,.55)}
body.k-nobnav .k-push-prompt{bottom:calc(env(safe-area-inset-bottom) + 12px)}
html.k-dash-on .k-push-prompt{display:none}
.k-push-prompt-i{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--k-cream);color:var(--k-brand-2);font-size:1.2rem}
[data-theme="night"] .k-push-prompt-i{color:var(--k-sand)}
.k-push-prompt-b{flex:1;min-width:0}
.k-push-prompt-b>b{display:block;font-size:.95rem}
.k-push-prompt-t{display:block;margin-top:1px;color:var(--k-muted);font-size:.8rem}
.k-push-prompt-a{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.6rem}
.k-push-prompt-n{margin-left:auto;padding:.3rem .2rem;border:0;background:none;color:var(--k-muted);font:inherit;font-size:.78rem;text-decoration:underline;cursor:pointer}
@media (prefers-reduced-motion:reduce){.k-push-prompt{transition:none}}

/* base/40-forms.css */
/* ==========================================================================
   Nová téma – spoločné úpravy formulárov FormFactory podľa prototypu (stránka aj panel/modal).
   ========================================================================== */

/* stepper (prototyp .k-stepper) s poľom FormFactory:
   <div class="k-stepper" data-k-stepper><button type="button" data-k-step="-0.5">−</button>{input x}<button type="button" data-k-step="0.5">+</button></div> */
.k-ui .k-field .k-stepper :is(input.form-control,input[type="text"],input[type="number"]):not(.k-input){flex:1;width:auto;min-width:0;min-height:0;border:0;border-radius:0;text-align:center;font-weight:800;font-size:1.05rem;background:transparent;box-shadow:none;padding:.3rem}
.k-stepper button{color:var(--k-text);cursor:pointer}

/* atribút hidden musí vyhrať nad display komponentov (napr. .k-notice{display:flex} – upozornenie „Certifikát … je neplatný“
   v lístku o pôvode sa zobrazovalo stále; .k-hint, .k-field, .k-stepper, .k-seg, .k-chips, .k-fgrid) */
:is(.k-notice,.k-hint,.k-field,.k-fgrid,.k-chips,.k-seg,.k-stepper,.k-actions,.k-sticky-f,.k-check)[hidden]{display:none!important}

/* ---------- chyba poľa (base/40-forms.js K.fieldErrors; vzhľad = prototyp .k-field.invalid / .k-ferr v proto.css) ----------
   .k-field.k-invalid: červený rámik + jemné červené pozadie ovládača (input/select/textarea, select2, stepper, segment,
   skupina čipov / dlaždíc), text chyby s ikonou POD ovládačom. Prázdny div.invalid-feedback (FormErrorRenderer.reset) sa skryje. */
.k-ui .k-field .invalid-feedback:empty{display:none}
.k-ui .k-field :is(.invalid-feedback,.k-ferr){display:flex;align-items:flex-start;gap:.35rem;margin-top:.35rem;font-size:.8rem;font-weight:600;line-height:1.35;color:var(--k-busy)}
.k-ui .k-field :is(.invalid-feedback,.k-ferr)::before{content:"\f06a";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.85em;line-height:1.6;flex:none}
.k-ui .k-field.k-invalid .k-label{color:var(--k-busy)}
.k-ui .k-field.k-invalid :is(.form-control,.custom-select,.k-input,.k-select,select,textarea,input[type="text"],input[type="number"],input[type="date"],input[type="time"],input[type="email"],input[type="tel"],input[type="password"]):not(.k-ul-hid):not(.k-stepper *),
.k-ui .k-field.k-invalid .select2-container .select2-selection,
.k-ui .k-field.k-invalid :is(.k-stepper,.k-seg){border-color:var(--k-busy);background-color:color-mix(in srgb,var(--k-busy) 6%,var(--k-surface))}
.k-ui .k-field.k-invalid :is(.form-control,.custom-select,.k-input,.k-select,select,textarea,input):not(.k-stepper *):focus,
.k-ui .k-field.k-invalid .k-stepper:focus-within{border-color:var(--k-busy);box-shadow:0 0 0 3px var(--k-busy-soft)}
.k-ui .k-field.k-invalid :is(.k-chips,.k-ptiles){padding:.5rem;border:1.5px solid var(--k-busy);border-radius:14px;background:color-mix(in srgb,var(--k-busy) 6%,var(--k-surface))}
.k-ui .k-field.k-invalid .k-stepper button{background:transparent}

/* iOS Safari (aj starší Chrome Android): input type=date/time má vnútornú minimálnu šírku (natívny vzhľad) – v .k-fgrid
   (2 stĺpce na mobile, napr. Nová návšteva „Dátum návštevy“ | „Príchod“) pretiekol do vedľajšieho stĺpca. Bez natívneho
   vzhľadu + min-width:0 sa zmestí do stĺpca; výška a rámik ostávajú z .k-input / FormFactory polí, hodnota zarovnaná vľavo. */
:where(.k-ui,.k-nav-wiz,.k-filters) :is(input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"],input[type="week"]){
  -webkit-appearance:none;appearance:none;box-sizing:border-box;min-width:0;max-width:100%;text-align:left}
.k-field :is(input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"],input[type="week"]):not([hidden]){display:block;width:100%}
:where(.k-ui,.k-nav-wiz,.k-filters) :is(input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"],input[type="week"])::-webkit-date-and-time-value{text-align:left;margin:0}
:where(.k-ui,.k-nav-wiz,.k-filters) :is(input[type="date"],input[type="time"],input[type="datetime-local"])::-webkit-datetime-edit{padding:0}

/* base/41-combo.css */
/* ==========================================================================
   Nová téma – vyhľadávateľný výber (base/41-combo.js) nad pôvodným <select data-k-combo>.
   Pôvodný select je vizuálne skrytý (.k-combo-src) – musí prebiť aj most pre select2 (30-components.css:
   .k-ui select.select2-hidden-accessible{position:static!important…}), preto zdvojená trieda.
   ========================================================================== */
.k-ui select.k-combo-src.k-combo-src{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}
.k-combo{position:relative;scroll-margin-top:88px}
.k-ui .k-combo .k-combo-in{display:block;width:100%;min-height:48px;padding-left:2.4rem;padding-right:2.6rem;font-size:max(16px,1rem);text-overflow:ellipsis;cursor:text}
.k-combo-in::placeholder{color:var(--k-muted);opacity:1}
.k-combo-ico{position:absolute;left:.95rem;top:24px;transform:translateY(-50%);color:var(--k-muted);font-size:.85rem;pointer-events:none}
.k-combo.k-open .k-combo-ico,.k-combo:focus-within .k-combo-ico{color:var(--k-brand,var(--k-text))}
.k-combo-btn{position:absolute;top:0;right:0;width:44px;height:48px;display:flex;align-items:center;justify-content:center;border:0;background:none;color:var(--k-muted);cursor:pointer;border-radius:0 12px 12px 0}
.k-combo-btn i{transition:transform .15s}
.k-combo.k-open .k-combo-btn i{transform:rotate(180deg)}
.k-combo-btn:disabled{cursor:default;opacity:.5}
.k-combo-dis .k-combo-in{opacity:.65;cursor:default}
.k-combo-pop{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:2070;max-height:min(320px,46vh);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--k-surface);border:1px solid var(--k-line-2);border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.16);padding:.3rem}
.k-combo-pop[hidden]{display:none}
.k-combo.k-combo-up .k-combo-pop{top:auto;bottom:calc(100% + 4px)}
.k-combo-inline .k-combo-pop{position:relative;top:auto;margin-top:4px;max-height:40vh;box-shadow:none}
.k-combo-o{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.45rem .65rem;border-radius:9px;color:var(--k-text);font-size:.97rem;line-height:1.25;cursor:pointer;-webkit-tap-highlight-color:transparent}
.k-combo-o .k-grow{min-width:0;overflow-wrap:anywhere}
.k-combo-o mark{background:none;color:inherit;font-weight:800;padding:0}
.k-combo-o.k-on{font-weight:700}
.k-combo-o.k-on>i{color:var(--k-ok);margin-left:auto}
.k-combo-o.k-combo-none{color:var(--k-muted)}
.k-combo-o[aria-selected="true"]{background:var(--k-ok-soft);box-shadow:inset 3px 0 0 var(--k-ok)}
.k-combo-o[aria-disabled="true"]{opacity:.5;cursor:default}
.k-combo-gh{position:sticky;top:-.3rem;z-index:1;background:var(--k-surface);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--k-muted);padding:.6rem .65rem .25rem}
.k-combo-empty{padding:.8rem .7rem;color:var(--k-muted);font-size:.92rem}
@media (hover:hover){.k-combo-o:hover{background:var(--k-surface-2)}.k-combo-o[aria-selected="true"]:hover{background:var(--k-ok-soft)}}

/* base/45-loader.css */
/* ==========================================================================
   Nová téma – indikátor načítavania stránky (base/45-loader.js).
   .k-loadbar: tenký pruh úplne hore nad všetkým (nad paneli 2001 aj toastom 3100), pod stavovým riadkom iPhonu
   (env(safe-area-inset-top) – v standalone PWA s viewport-fit=cover; v prehliadači je 0). Farba z tokenov témy:
   zelená (--k-ok) všade – piesková na svetlom pozadí obsahu nebola vidno. Plnenie k ~90 % (trickle) je CSS
   animácia – na konci čaká; prefers-reduced-motion = statický pruh bez plnenia.
   .k-load-busy: odosielacie tlačidlo počas odosielania (spinner, aria-busy, disabled – nie sivé ako bežné :disabled).
   ========================================================================== */
.k-loadbar{position:fixed;left:0;right:0;top:0;top:env(safe-area-inset-top,0px);height:4px;z-index:4000;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}
.k-loadbar>i{display:block;height:100%;background:var(--k-ok);box-shadow:0 0 8px color-mix(in srgb,var(--k-ok) 80%,transparent),0 1px 0 rgba(255,255,255,.35);transform:scaleX(0);transform-origin:0 50%;border-radius:0 2px 2px 0}
.k-loadbar.k-on{opacity:1;visibility:visible;transition:opacity .15s ease}
.k-loadbar.k-on>i{animation:k-load-trickle 12s cubic-bezier(.08,.75,.25,1) forwards}
/* dokončenie na novej stránke (45-loader.js done): z --k-from do 100 %, potom zmizne */
.k-loadbar.k-done{opacity:1;visibility:visible;transition:opacity .25s ease}
.k-loadbar.k-done>i{animation:k-load-done .3s ease-out forwards}
.k-loadbar.k-done.k-fade{opacity:0}
@keyframes k-load-done{from{transform:scaleX(var(--k-from,.3))}to{transform:scaleX(1)}}
@keyframes k-load-trickle{0%{transform:scaleX(.06)}12%{transform:scaleX(.35)}40%{transform:scaleX(.68)}100%{transform:scaleX(.9)}}

.k-load-busy{cursor:progress!important}
.k-load-busy:disabled,.k-load-busy[disabled]{opacity:.8}
button.k-load-busy::after{content:"";display:inline-block;flex:none;width:.95em;height:.95em;margin-left:.45em;vertical-align:-.12em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:k-load-spin .7s linear infinite}

@keyframes k-load-spin{to{transform:rotate(360deg)}}

@media (prefers-reduced-motion:reduce){
  .k-loadbar.k-on>i{animation:none;transform:scaleX(1);opacity:.75}
  .k-loadbar.k-done>i{animation:none;transform:scaleX(1)}
  button.k-load-busy::after{animation:none;border-right-color:currentColor;border-style:dotted}
}

/* base/90-bridge.css */
/* ==========================================================================
   Most medzi novou témou a starou knihou:
   - Bootstrap 4 modaly (#universalModal – data-modal, #confirmDelete) nad fixným shellom
   - prerobená obrazovka (body.k-content-modern, bez Bootstrap 4 CSS): modaly vyzerajú ako .k-sheet
     (mobil = panel zdola, desktop = dialóg) – JS ostáva Bootstrap 4 (modals.js, app.js)
   - .k-legacy = obsah vykreslený starou šablónou / echo z controllera (Bootstrap 4) vo vnútri nového shellu
   ========================================================================== */

/* ---------- z-index nad shellom (k-top / k-side / k-bnav = 1500, k-sheet = 2001) ---------- */
.modal-backdrop{z-index:2040}
.modal{z-index:2050}
.select2-container--open{z-index:2060}
.ui-datepicker{z-index:2070!important}

/* ---------- prerobená obrazovka: Bootstrap 4 modal bez Bootstrap CSS ---------- */
body.k-content-modern .modal{position:fixed;inset:0;display:none;overflow-x:hidden;overflow-y:auto;outline:0}
body.k-content-modern .modal.show{display:block}
body.k-content-modern .modal-dialog{position:relative;width:auto;max-width:560px;margin:1.75rem auto;padding:0 .5rem;transition:transform .2s ease}
body.k-content-modern .modal.fade:not(.show) .modal-dialog{transform:translateY(24px)}
body.k-content-modern .modal-lg{max-width:800px} body.k-content-modern .modal-xl{max-width:1140px}
body.k-content-modern .modal-content{position:relative;display:flex;flex-direction:column;background:var(--k-bg);color:var(--k-text);border:1px solid var(--k-line);border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.25);overflow:hidden}
body.k-content-modern .modal-header,body.k-content-modern .modal-footer{display:flex;align-items:center;gap:.5rem;padding:.8rem 1rem;background:var(--k-bg)}
body.k-content-modern .modal-header{border-bottom:1px solid var(--k-line)}
body.k-content-modern .modal-title{margin:0;font-size:1.05rem;font-weight:800;color:var(--k-text);line-height:1.2}
body.k-content-modern .modal-footer{border-top:1px solid var(--k-line);justify-content:flex-end;background:var(--k-surface)}
body.k-content-modern .modal-body{padding:1rem;background:var(--k-bg)}
body.k-content-modern .modal-body.p-0{padding:0}
body.k-content-modern .modal .close{margin-left:auto;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;border-radius:11px;font-size:1.6rem;line-height:1;color:var(--k-muted);cursor:pointer}
body.k-content-modern .modal-close{position:absolute;right:.4rem;top:.35rem;z-index:2}
body.k-content-modern .modal-backdrop{position:fixed;inset:0;background:#120c08}
body.k-content-modern .modal-backdrop.fade{opacity:0} body.k-content-modern .modal-backdrop.show{opacity:.5}
body.k-content-modern .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
body.k-content-modern .spinner-border{display:block;width:2rem;height:2rem;margin:2.5rem auto;border:.25em solid var(--k-line-2);border-right-color:var(--k-ok);border-radius:50%;animation:k-spin .75s linear infinite}
body.k-content-modern .text-center{text-align:center}
@keyframes k-spin{to{transform:rotate(360deg)}}
/* formulár novej témy v #universalModal (data-modal): spodok s tlačidlami nie je sticky */
#universalModal .k-sticky-f{position:static;background:none;padding-bottom:0}
/* formulár novej témy (.k-form-card) v #universalModal = panel prototypu K.sheet: hlavička .k-sheet-h (bez ikony, zatvárací krížik
   modalu vpravo), telo .k-sheet-b, spodok .k-sheet-f (Zrušiť + primárne tlačidlo rovnako široké), desktop dialóg 620 px */
body.k-content-modern #universalModal .modal-dialog{max-width:620px}
/* dvojstĺpcové formuláre (úlovok, lístok o pôvode) – široký panel ako prototyp K.sheet(…, {wide:true}) */
body.k-content-modern #universalModal .modal-dialog:is(.modal-lg,.modal-xl,:has(.k-ulf,.k-lpf)){max-width:980px}
#universalModal .k-ul-mh>i{display:none}
#universalModal .k-ui .k-form-card{border:0;border-radius:0;box-shadow:none;max-width:none;margin:0;background:var(--k-bg)}
#universalModal .k-ui .k-form-card>.k-card-h{padding:.8rem 3.6rem .6rem 1rem;border-bottom:1px solid var(--k-line);background:var(--k-bg)}
#universalModal .k-ui .k-form-card>.k-card-h h2{font-size:1.05rem;font-weight:800;margin:0}
#universalModal .k-ui .k-form-card>.k-card-h h2>i{display:none}
#universalModal .k-ui .k-form-card>.k-card-h :is(small,.k-xs){display:block;font-size:.78rem;color:var(--k-muted)}
#universalModal .k-ui .k-form-card>.k-card-b{padding:1rem 1rem 0}
#universalModal .k-ui .k-form-card .k-actions{position:static;display:flex;flex-wrap:nowrap;gap:.5rem;margin:1rem -1rem 0;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));border-top:1px solid var(--k-line);background:var(--k-surface)}
#universalModal .k-ui .k-form-card .k-actions>*{flex:1 1 0;min-width:0}
#universalModal .modal-close .close{position:relative;z-index:3}
body.k-content-modern #universalModal .modal-close{top:.45rem;right:.5rem}
@media (max-width:991.98px){
  /* mobil: úchyt panelu ako .k-sheet-h:before */
  body.k-content-modern #universalModal .modal-content:before{content:"";position:absolute;left:50%;top:6px;width:38px;height:4px;border-radius:4px;background:var(--k-line-2);transform:translateX(-50%);z-index:3}
}
/* tlačidlá #confirmDelete (BS4 triedy – kontrakt s app.js) v štýle .k-btn */
body.k-content-modern #confirmDelete .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.55rem 1rem;border-radius:12px;font-weight:650;font-size:.97rem;border:1px solid var(--k-line-2);background:var(--k-surface);color:var(--k-text);text-decoration:none;cursor:pointer}
body.k-content-modern #confirmDelete .btn-danger{background:var(--k-busy);border-color:transparent;color:#fff}
body.k-content-modern #confirmDelete .modal-footer .btn{flex:1}
@media (max-width:991.98px){
  /* mobil: modal ako panel zdola (rovnako ako .k-sheet) */
  body.k-content-modern .modal-dialog,body.k-content-modern .modal-lg,body.k-content-modern .modal-xl{position:fixed;left:0;right:0;bottom:0;max-width:none;margin:0;padding:0;max-height:92vh;display:flex}
  body.k-content-modern .modal.fade:not(.show) .modal-dialog{transform:translateY(105%)}
  body.k-content-modern .modal-content{width:100%;border-radius:18px 18px 0 0;border-bottom:0;max-height:92vh;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom)}
}

/* nočný režim pre modaly aj na starých obrazovkách */
[data-theme="night"] .modal-content{background:var(--k-surface);color:var(--k-text)}
[data-theme="night"] .modal-header,[data-theme="night"] .modal-body,[data-theme="night"] .modal-footer{background:var(--k-surface);border-color:var(--k-line)}
[data-theme="night"] .modal .close{color:var(--k-text);text-shadow:none}

/* ---------- flash / overPlatnost / infoMessages (BS4 markup) – čitateľné aj bez Bootstrap CSS ---------- */
.k-wrap > .alert, .k-wrap > .k-alert{border-radius:var(--k-r-sm);padding:.75rem 1rem;margin-bottom:1rem;border:1px solid var(--k-line);background:var(--k-surface)}
.k-wrap > .alert-danger{background:var(--k-busy-soft);color:var(--k-busy);border-color:transparent}
.k-wrap > .alert-success{background:var(--k-ok-soft);color:var(--k-ok);border-color:transparent}
.k-wrap > .alert-warning{background:var(--k-warn-soft);color:var(--k-warn);border-color:transparent}
.k-wrap > .alert-info{background:var(--k-info-soft);color:var(--k-info);border-color:transparent}

/* ---------- staré obrazovky v novom shelli (.k-legacy) ---------- */
.k-legacy{background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-r);padding:1rem;box-shadow:var(--k-shadow);overflow-x:auto;font-size:14px}
@media (max-width:991.98px){.k-legacy{padding:.75rem;margin:0 -.25rem}}
.k-legacy .container{max-width:none;padding-left:0;padding-right:0}
.k-legacy .breadcrumb{background:none;padding:0;margin:0 0 .75rem;font-size:.8rem}
.k-legacy .breadcrumb-item, .k-legacy .breadcrumb-item a{color:var(--k-muted)}
.k-legacy .table-responsive, .k-legacy table{max-width:100%}
.k-legacy .btn{min-height:40px}
@media (max-width:991.98px){.k-legacy .btn{min-height:44px}}
.k-legacy a:not(.btn):not(.nav-link):not(.dropdown-item){color:var(--k-ok)}
/* nočný režim pre staré obrazovky – len základ (plné nočné štýly až v prerobených obrazovkách) */
[data-theme="night"] .k-legacy{color:var(--k-text)}
[data-theme="night"] .k-legacy :is(h1,h2,h3,h4,label,legend){color:var(--k-text)}
[data-theme="night"] .k-legacy .table{color:var(--k-text)}
[data-theme="night"] .k-legacy .table-striped tbody tr:nth-of-type(odd),
[data-theme="night"] .k-legacy .table-striped tbody > tr:nth-child(odd) > td{background-color:rgba(255,255,255,.04)}
[data-theme="night"] .k-legacy .form-control, [data-theme="night"] .k-legacy .custom-select{background:var(--k-surface-2);color:var(--k-text);border-color:var(--k-line-2)}
[data-theme="night"] .k-legacy .card, [data-theme="night"] .k-legacy .card-body, [data-theme="night"] .k-legacy .card-header, [data-theme="night"] .k-legacy .list-group-item{background:var(--k-surface);border-color:var(--k-line);color:var(--k-text)}

/* Google Maps / mapy zo starého @headMaps.latte – plná šírka v kontajneri */
.k-legacy #map, .k-legacy .map, .k-legacy #map-canvas{max-width:100%}

/* ---------- tlač: bez shellu ---------- */
@media print{
  .k-top,.k-side,.k-bnav,.k-sheet,.k-bd,.k-foot,.k-themebar,.k-toast,.k-pop{display:none!important}
  body.k-themed{padding:0;background:#fff}
  .k-main{margin:0!important;padding:0!important}
  .k-legacy{border:0;box-shadow:none;padding:0}
}
/* ikonový kôš s kontraktom app.js (.confirmDelete, href="#id" rel="…/delete/") – neutrálny ako prototyp, červený len pri hover/focus
   (gaps 0.11; pravidlo pre .k-danger/.k-del je v 30-components.css) */
.k-ui .k-ibtn.confirmDelete{background:var(--k-surface);border-color:var(--k-line-2);color:var(--k-text)}
.k-ui .k-ibtn.confirmDelete:is(:hover,:focus-visible),.k-ui .k-ibtn.confirmDelete:is(:hover,:focus-visible) i{color:var(--k-busy);border-color:var(--k-busy)}

/* screens/brigady-akcie.css */
/* Prihlasovanie na brigády (NOVÉ) – templates/modern/Brigady/{akcie,akcia,akciaForm,@akciaPrihlasenie}.latte, @tabs.latte. */
.k-ak-filter{margin-bottom:1rem}
.k-ak-list{display:grid;gap:.75rem;grid-template-columns:1fr}
@media (min-width:992px){.k-ak-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.k-ak-item{display:flex;gap:.85rem;padding:.85rem 1rem;align-items:flex-start}
.k-ak-item.k-ak-som{border-color:var(--k-ok)}
.k-ak-item.k-ak-off{opacity:.75}
.k-ak-date{flex:0 0 3.4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;background:var(--k-surface-2);
  border:1px solid var(--k-line);padding:.35rem .25rem;line-height:1.1;text-align:center}
.k-ak-date b{font-size:1.35rem;font-weight:800}
.k-ak-date span{font-size:.8rem;font-weight:700}
.k-ak-date small{font-size:.7rem;color:var(--k-muted);text-transform:uppercase;letter-spacing:.04em}
.k-ak-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem}
.k-ak-title{font-size:1.02rem;font-weight:800;margin:0;line-height:1.25}
.k-ak-title a{color:inherit;text-decoration:none}
.k-ak-obs{display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:center;font-size:.88rem}
.k-ak-rola{border:1px solid var(--k-line-2);border-radius:8px;padding:.05rem .4rem;font-size:.8rem}
.k-ak-rola.k-ak-plna,.k-ak-rolist .k-ak-plna{color:var(--k-muted);text-decoration:line-through}
.k-ak-prog{margin:.15rem 0}
.k-ak-akcie{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.25rem}
.k-ak-inline{display:inline}
.k-ak-moj{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.k-ak-prihl{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.k-ak-pozn{flex:1 1 240px;min-width:0}
.k-ak-roly{display:flex;flex-wrap:wrap;gap:.4rem}
.k-ak-roly .k-btn{white-space:normal;text-align:left}
.k-ak-volne{font-weight:600;opacity:.85;font-size:.8em;margin-left:.15rem}
.k-ak-top{margin-bottom:1rem}
.k-ak-dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem .9rem;margin:0}
.k-ak-dl dt{font-weight:700;color:var(--k-muted);font-size:.85rem}
.k-ak-dl dd{margin:0}
.k-ak-popis{margin:.75rem 0 0;white-space:normal}
.k-ak-sum{font-size:1.05rem;margin-bottom:.35rem}
.k-ak-rolist{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.25rem}
.k-ak-rolist li{display:flex;gap:.5rem;align-items:center;padding:.3rem .5rem;border:1px solid var(--k-line);border-radius:8px}
.k-ak-me{display:flex;flex-direction:column;gap:.45rem;margin-top:.75rem}
.k-ak-gcard{margin-bottom:1rem}
.k-ak-ja td{background:var(--k-ok-soft)}
.k-ak-za{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:flex-end;margin-bottom:.5rem}
.k-ak-f{margin:0;min-width:180px}
.k-ak-rrows{display:flex;flex-direction:column;gap:.4rem}
.k-ak-rrow{display:flex;gap:.4rem;align-items:center}
.k-ak-rn{flex:1 1 auto;min-width:0}
.k-ak-rk{flex:0 0 6rem}
.k-ak-rinfo{flex:0 0 auto}
@media print{.k-ak-akcie form,.k-ak-me form,.k-ak-za{display:none}}

/* screens/brigady.css */
/* Nová téma – Brigády (templates/modern/Brigady/*) */
/* zoznam: poznámka ako ikona v akciách, koše neutrálne (prototyp), hodiny podľa členov (pravý stĺpec) */
.k-brig-pz{margin-right:.2rem;align-self:center}
.k-brig-per{margin-bottom:.3rem}
.k-brig-top>li{padding:.5rem 0}
.k-brig-list .k-r{line-height:1.35}
.k-brig-opts .k-check{align-items:flex-start;padding:.6rem .75rem;border:1.5px solid var(--k-line-2);border-radius:12px;background:var(--k-surface)}
.k-brig-opts .k-check:has(input:checked){border-color:var(--k-ok);background:var(--k-ok-soft)}
/* formulár (stránka aj universalModal) */
.k-brig-form .k-form-card{max-width:640px;margin:0 auto}
#universalModal .k-brig-form .k-form-card{border:0;box-shadow:none;max-width:none;margin:0}
.k-brig-form .k-sticky-f>*{flex:1}
@media (min-width:992px){.k-brig-form .k-sticky-f>*{flex:0 0 auto}}
.k-brig-card .k-card-h h2{font-size:1rem}
.k-brig-list .k-ago{font-size:inherit}

/* screens/chovatelskaprehliadka.css */
/* ==========================================================================
   Chovateľská prehliadka trofejí (CHPT) + C.I.C bodovanie – nová téma
   Zdroj: prototyp assets/chpt.css (prefix k- na všetkých triedach a modifikátoroch).
   Šablóny: templates/modern/ChovatelskaPrehliadka/* (default, rocnik, trofej, trofejPridat, bodovanie,
   @cicMeranie, @fotky, @medal, @kalk). JS: screens/chovatelskaprehliadka.js.
   Len tokeny --k-* (deň / noc), mobile first, desktop od 992 px, dotykové ciele ≥ 44 px.
   ========================================================================== */

/* ---------- medaily (farby = ChovatelskaPrehliadka_Controller::medailaStyle) ---------- */
.k-medal{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:800;padding:.18rem .55rem;border-radius:99px;background:#343a40;color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.3}
.k-medal.k-zlata{background:#d4af37}.k-medal.k-strieborna{background:#8f9094}.k-medal.k-bronzova{background:#b0703c}
.k-medal.k-lg{font-size:1rem;padding:.3rem .8rem}
.k-medal-t{font-size:.74rem;font-weight:700;color:var(--k-muted)}

/* ---------- Príprava CHPT – aktívny ročník (hero) ---------- */
.k-chpt-hero{display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:768px){.k-chpt-hero{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
.k-chpt-hero .k-status .k-g{grid-template-columns:1fr}
.k-chpt-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.8rem}
.k-chpt-kpis>div{background:rgba(255,255,255,.12);border-radius:10px;padding:.45rem .55rem}
.k-chpt-kpis b{display:block;font-size:1.25rem;line-height:1.1}
.k-chpt-kpis small{font-size:.7rem;opacity:.85}
.k-chpt-hero-p{margin:.1rem 0 .8rem}
.k-chpt-prep{align-items:center;flex-wrap:wrap}
.k-chpt-prep .k-grow{min-width:220px}
.k-chpt-prep form{margin:0}
.k-chpt-chev{font-size:.75rem;flex:none}
.k-chpt-tool1{margin-bottom:.5rem}

/* ---------- ročník: rýchla navigácia po sekciách (mobil) ---------- */
.k-chpt-mtop{margin-bottom:.8rem}
.k-chpt-mtop p{margin:0 0 .6rem}
.k-chpt-jump{position:sticky;top:calc(var(--k-demo) + var(--k-top));z-index:30;background:var(--k-bg);padding:.4rem 0 .5rem;margin:-.2rem 0 .6rem;display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none}
.k-chpt-jump::-webkit-scrollbar{display:none}
.k-chpt-jump a{display:inline-flex;align-items:center;gap:.35rem;min-height:38px;padding:.3rem .75rem;border-radius:99px;border:1px solid var(--k-line-2);background:var(--k-surface);color:var(--k-text);font-size:.85rem;font-weight:650;white-space:nowrap;flex:none;text-decoration:none}
.k-chpt-jump a .k-badge{padding:.05rem .4rem}
@media (min-width:992px){.k-chpt-jump{display:none}}
.k-chpt-sec{scroll-margin-top:calc(var(--k-demo) + var(--k-top) + 56px)}
@media (min-width:992px){.k-chpt-sec{scroll-margin-top:calc(var(--k-demo) + 16px)}}

/* poradie sekcií ročníka: mobil kontrola → kandidáti → súpis → dokumenty → nastavenia; ≥1200 kontrola | dokumenty */
.k-chpt-rgrid{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr);align-items:start}
.k-chpt-rgrid>.k-card,.k-chpt-hero>.k-card,.k-chpt-bgrid .k-card+.k-card,.k-chpt-panels .k-card+.k-card{margin-top:0}
@media (max-width:991.98px){.k-chpt-rgrid>.k-chpt-docs{order:1}.k-chpt-rgrid>.k-chpt-nast{order:2}}
@media (min-width:1200px){
  .k-chpt-rgrid{grid-template-columns:minmax(0,1fr) 380px}
  .k-chpt-rgrid>*{grid-column:1/-1}
  .k-chpt-rgrid>.k-chpt-chk{grid-column:1}
  .k-chpt-rgrid>.k-chpt-docs{grid-column:2}
}

/* ---------- checklist „Pripravené na odovzdanie?“ ---------- */
.k-check-l{list-style:none;margin:0;padding:0}
.k-check-l li{display:flex;gap:.7rem;padding:.65rem 1rem;border-top:1px solid var(--k-line)}
.k-check-l li:first-child{border-top:0}
.k-check-l li>i{margin-top:.15rem;width:18px;text-align:center;flex:none}
.k-check-l .k-chk-ok>i{color:var(--k-ok)}
.k-check-l .k-chk-chyba>i{color:var(--k-busy)}
.k-check-l .k-chk-upozornenie>i{color:var(--k-warn)}
.k-check-l .k-chk-info>i{color:var(--k-muted)}
.k-check-l .k-chk-chyba b{font-weight:750}
.k-check-l .k-d{font-size:.82rem;color:var(--k-muted);line-height:1.35;margin-top:.1rem}
.k-check-l .k-chk-chyba .k-d{color:var(--k-busy)}

/* ---------- dokumenty ---------- */
.k-docs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.k-doc{display:flex;align-items:center;gap:.6rem;min-height:56px;padding:.55rem .7rem;border:1px solid var(--k-line-2);border-radius:12px;background:var(--k-surface);color:var(--k-text);text-align:left;font-size:.88rem;font-weight:650;line-height:1.2;width:100%;text-decoration:none}
a.k-doc:is(:hover,:focus,:active,:visited){color:var(--k-text);text-decoration:none}
a.k-doc:hover{background:var(--k-surface-2)}
.k-doc i{font-size:1.15rem;flex:none;width:22px;text-align:center}
.k-doc .fa-file-pdf,.k-doc .fa-tags,.k-doc .fa-file-signature{color:#c0392b}
.k-doc .fa-file-excel{color:#1e7145}
.k-doc small{display:block;font-weight:500;color:var(--k-muted);font-size:.74rem;margin-top:.1rem}
.k-doc.k-dis{opacity:.5;cursor:not-allowed}
a.k-doc.k-doc-main,a.k-doc.k-doc-main:is(:hover,:focus,:active,:visited){grid-column:1/-1;background:var(--k-ok);border-color:transparent;color:#fff;justify-content:center;font-size:.97rem}
.k-doc.k-doc-main i{color:#fff}
[data-theme="night"] a.k-doc.k-doc-main,[data-theme="night"] .k-doc.k-doc-main i{color:#0f1a12}
@media (min-width:1200px){.k-docs.k-docs-c1{grid-template-columns:1fr}}
.k-chpt-docs-h{margin:.6rem 0 0}

/* ---------- súpis trofejí ---------- */
.k-table tr.k-past td{background:var(--k-warn-soft)}
.k-table tr.k-past:hover td{background:var(--k-warn-soft)}
.k-table.k-cards tr.k-past{background:var(--k-warn-soft)}
.k-supis-no{font-weight:800;color:var(--k-muted);font-variant-numeric:tabular-nums}
.k-table td.k-chpt-no{width:3rem}
.k-probs{display:flex;flex-wrap:wrap;gap:.25rem}
.k-chpt-kcb{margin-top:.3rem;display:flex;gap:.3rem;flex-wrap:wrap;align-items:center}
.k-table td.k-kc .k-ico.k-chpt-pastico{background:var(--k-surface)}
.k-legend-past{display:inline-block;width:1.4rem;height:.9rem;border-radius:4px;background:var(--k-warn-soft);border:1px solid var(--k-line-2);vertical-align:middle;margin-right:.3rem}
.k-chpt-nost{color:var(--k-busy)}
.k-chpt-supf{padding:0 1rem .6rem}
.k-chpt-supf .k-row{flex-wrap:wrap}
.k-chpt-supf .k-seg{max-width:420px;flex:1}
.k-chpt-supleg{display:block}
.k-chpt-supis [data-k-prob="0"].k-chpt-hid{display:none}
/* hromadné odobratie zo súpisu – checkbox v 1. stĺpci (desktop) / vľavo v karte (mobil), štýl ako kandidáti */
.k-table td.k-chpt-sel,.k-table th.k-chpt-selh{width:3rem;padding-right:0}
.k-chpt-cbl{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;margin:-.4rem 0;cursor:pointer}
.k-chpt-cbl input{width:22px;height:22px;accent-color:var(--k-ok);flex:none;margin:0;cursor:pointer}
.k-cand.k-chpt-selall{min-height:48px}
.k-chpt-odf{align-items:center}
.k-chpt-odf .k-chpt-odh{margin:0}
@container ktw (max-width:559.98px){
  .k-table.k-cards td.k-chpt-sel{display:flex;flex:none;order:-2;width:auto}
  .k-table.k-cards td.k-chpt-sel .k-chpt-cbl{min-width:28px;margin:-.4rem 0}
}

/* kandidáti z úlovkov */
.k-card.k-chpt-kand{border-color:var(--k-warn);box-shadow:inset 3px 0 0 var(--k-warn),var(--k-shadow)}
.k-cand{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border-top:1px solid var(--k-line);cursor:pointer;min-height:56px;margin:0}
.k-cand:first-child{border-top:0}
.k-cand input{width:22px;height:22px;accent-color:var(--k-ok);flex:none;margin:0}
.k-cand .k-t{font-weight:650;line-height:1.25}
.k-cand .k-t .k-muted{font-weight:500}
.k-cand .k-s{font-size:.82rem;color:var(--k-muted)}
.k-cand.k-all{background:var(--k-surface-2);font-weight:700}
.k-chpt-gt{display:flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-top:1px solid var(--k-line);background:var(--k-surface-2);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:var(--k-muted)}
.k-chpt-gt .k-new{text-transform:none;letter-spacing:0}

/* nastavenia ročníka – rozbaľovacia karta */
.k-card.k-chpt-det>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.9rem 1rem;min-height:52px}
.k-card.k-chpt-det>summary::-webkit-details-marker{display:none}
.k-card.k-chpt-det>summary h2{font-size:1rem;font-weight:700;margin:0}
.k-card.k-chpt-det>summary .k-chev{margin-left:auto;color:var(--k-muted);transition:transform .15s}
.k-card.k-chpt-det[open]>summary .k-chev{transform:rotate(180deg)}
.k-card.k-chpt-det[open]>summary{border-bottom:1px solid var(--k-line)}
.k-chpt-detb{padding-top:1rem}
.k-chpt-detb form{margin:0}

/* ---------- trofej: záložky na mobile, 2 stĺpce na desktope ---------- */
.k-chpt-tabs{position:sticky;top:calc(var(--k-demo) + var(--k-top));z-index:30;background:var(--k-bg);padding:.4rem 0 .6rem}
.k-chpt-tabs .k-seg button{min-height:42px}
.k-chpt-tform{display:contents}
.k-chpt-panels{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}
@media (max-width:991.98px){.k-chpt-panels [data-k-panel]:not(.k-on){display:none}}
.k-chpt-panels>.k-cic-bar,.k-chpt-tform>.k-cic-bar{grid-column:1/-1;margin-top:0;order:1} /* lišta za fotkami (ako prototyp) */
@media (min-width:992px){
  .k-chpt-tabs{display:none}
  .k-chpt-panels{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .k-chpt-panels [data-k-panel="fotky"]{grid-column:1/-1}
}
.k-chpt-del{margin-top:1rem;display:flex;justify-content:flex-end}
.k-chpt-del form{margin:0}
.k-chpt-tnotice .k-probs{margin-top:.35rem}
.k-chpt-cicchg{margin-bottom:1rem}

/* bodovanie úlovku: mobil úlovok → meranie → fotky; desktop úlovok + fotky | meranie */
.k-chpt-bgrid{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:992px){
  .k-chpt-bgrid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:auto 1fr;align-items:start}
  .k-chpt-bgrid>.k-chpt-bu{grid-column:1;grid-row:1}
  .k-chpt-bgrid>.k-chpt-bm{grid-column:2;grid-row:1 / span 2}
  .k-chpt-bgrid>.k-chpt-bf{grid-column:1;grid-row:2}
}

/* ---------- C.I.C meranie (zdieľaný blok – @cicMeranie.latte) ---------- */
.k-cic .k-card-h .k-act{font-weight:650}
.k-cic-ihl{padding:0 1rem .6rem}
.k-cic-g{background:var(--k-surface-2);border-top:1px solid var(--k-line);border-bottom:1px solid var(--k-line);padding:.45rem 1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:var(--k-muted);display:flex;align-items:center;gap:.5rem}
.k-cic-g .k-cic-gs{margin-left:auto;text-transform:none;letter-spacing:0;font-size:.8rem;font-variant-numeric:tabular-nums}
.k-cic-it{padding:.7rem 1rem .75rem;border-top:1px solid var(--k-line)}
.k-cic-g+.k-cic-it{border-top:0}
.k-cic-hd{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.45rem}
.k-cic-hd .k-cic-n{flex:none;min-width:1.5rem;height:1.5rem;border-radius:7px;background:var(--k-cream);color:var(--k-brand-2);font-size:.75rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;transform:translateY(-1px)}
[data-theme="night"] .k-cic-hd .k-cic-n{color:var(--k-sand)}
.k-cic-hd b{font-weight:700;line-height:1.25}
.k-cic-pts{margin-left:auto;flex:none;min-width:4.2rem;text-align:right;font-weight:800;font-variant-numeric:tabular-nums;color:var(--k-ok)}
.k-cic-pts.k-neg{color:var(--k-busy)}
.k-cic-pts:empty:before{content:"–";color:var(--k-line-2);font-weight:600}
.k-cic-in{display:grid;gap:.5rem;grid-template-columns:1fr}
.k-cic-in.k-c2,.k-cic-in.k-c4{grid-template-columns:1fr 1fr}
@media (min-width:560px){.k-cic-in.k-c4{grid-template-columns:repeat(4,1fr)}}
.k-cic-f{display:block;min-width:0;margin:0}
.k-cic-f.k-full{grid-column:1/-1}
.k-cic-f>small{display:block;font-size:.74rem;font-weight:700;color:var(--k-muted);margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-cic-f>small span{font-weight:500}
.k-cic-box{display:flex;align-items:stretch;border:1.5px solid var(--k-line-2);border-radius:12px;background:var(--k-surface);min-height:50px;overflow:hidden}
.k-cic-box:focus-within{border-color:var(--k-ok);box-shadow:0 0 0 3px var(--k-ok-soft)}
.k-cic-box input{flex:1;min-width:0;border:0;background:transparent;color:var(--k-text);font:inherit;font-size:1.12rem;font-weight:700;padding:.4rem .7rem;font-variant-numeric:tabular-nums;box-shadow:none}
.k-cic-box input:focus{outline:none}
.k-cic-box input::placeholder{color:var(--k-line-2);font-weight:600}
.k-cic-box em{font-style:normal;display:flex;align-items:center;padding:0 .7rem;color:var(--k-muted);font-size:.85rem;background:var(--k-surface-2);border-left:1px solid var(--k-line)}
.k-cic-box button{width:46px;border:0;background:var(--k-surface-2);font-size:1.2rem;font-weight:700;color:var(--k-text);flex:none;padding:0}
.k-cic-box button:active{background:var(--k-cream)}
.k-cic-box button:disabled{color:var(--k-muted);cursor:default}
.k-cic-box.k-step input{text-align:center;padding:.4rem .2rem}
.k-cic-box.k-bad{border-color:var(--k-busy);box-shadow:0 0 0 3px var(--k-busy-soft)}
.k-cic-box.k-ro{background:var(--k-surface-2)}
.k-cic-box input.k-txt{font-size:.95rem;font-weight:500}
.k-cic-meta{font-size:.78rem;color:var(--k-muted);margin-top:.35rem;font-variant-numeric:tabular-nums}
.k-cic-meta b{color:var(--k-text)}
.k-cic-sumbox{padding:.8rem 1rem 1rem;border-top:1px solid var(--k-line);font-variant-numeric:tabular-nums}
.k-cic-sumbox .k-r{display:flex;justify-content:space-between;padding:.15rem 0}
.k-cic-sumbox .k-r.k-neg{color:var(--k-busy)}
.k-cic-sumbox .k-tot{display:flex;justify-content:space-between;align-items:center;font-size:1.25rem;font-weight:800;margin-top:.3rem}
.k-cic-sumbox .k-hint{margin-top:.5rem}
.k-cic-empty{margin:.2rem 0 0}

/* lišta so súčtom + uložením (pri meraní je súčet stále na očiach) */
.k-cic-bar{position:sticky;bottom:calc(var(--k-bnav) + env(safe-area-inset-bottom));z-index:25;margin-top:1rem;display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem;background:var(--k-surface);border:1px solid var(--k-line-2);border-radius:16px;box-shadow:0 -2px 16px rgba(36,26,20,.12)}
body.k-nobnav .k-cic-bar{bottom:calc(env(safe-area-inset-bottom) + .4rem)}
.k-cic-bar .k-tot{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.k-cic-bar .k-tot small{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--k-muted)}
.k-cic-bar .k-tot b{font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.k-cic-bar .k-btn{margin-left:auto}
.k-cic-bar .k-btn.k-ghost{margin-left:0}
@media (min-width:992px){.k-cic-bar{bottom:.8rem}}

/* ---------- fotky trofeje (@fotky.latte) ---------- */
.k-foto-up{display:flex;flex-direction:column;gap:.6rem;margin:0 0 1rem}
.k-chpt-fpick .k-chip{position:relative;cursor:pointer;margin:0}
.k-chpt-fpick .k-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.k-chpt-fpick .k-chip:has(input:checked){border-color:var(--k-ok);background:var(--k-ok-soft);color:var(--k-ok);font-weight:700}
.k-chpt-fpick .k-chip:has(input:focus-visible){box-shadow:0 0 0 3px var(--k-ok-soft)}
.k-foto-drop{position:relative;display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:64px;border:2px dashed var(--k-line-2);border-radius:14px;background:var(--k-surface-2);color:var(--k-text);font-weight:700;cursor:pointer;text-align:center;padding:.6rem;margin:0}
.k-foto-drop:hover,.k-foto-drop:focus-within{border-color:var(--k-ok);color:var(--k-ok)}
.k-foto-drop i{font-size:1.3rem}
.k-foto-drop small{font-weight:500}
.k-foto-drop input{position:absolute;width:1px;height:1px;opacity:0}
.k-foto-up.k-busy .k-foto-drop{opacity:.6;pointer-events:none}
.k-fotos{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
@media (min-width:560px){.k-fotos{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1200px){.k-fotos{grid-template-columns:repeat(5,1fr)}}
.k-chpt-bf .k-fotos{grid-template-columns:repeat(2,1fr)}
@media (min-width:560px){.k-chpt-bf .k-fotos{grid-template-columns:repeat(3,1fr)}}
.k-foto{border:1px solid var(--k-line);border-radius:12px;overflow:hidden;background:var(--k-surface);display:flex;flex-direction:column}
.k-foto-img{display:block;aspect-ratio:4/3;background:var(--k-surface-2);cursor:zoom-in}
.k-foto-img img{display:block;width:100%;height:100%;object-fit:cover}
.k-foto .k-fb{display:flex;gap:.35rem;padding:.4rem}
.k-foto .k-fb form{margin:0;display:flex;gap:.35rem}
.k-foto .k-fb form:first-child{flex:1;min-width:0}
.k-foto .k-fb .k-select{min-height:40px;font-size:.88rem;padding:.3rem .5rem}
.k-foto .k-fb .k-ibtn{width:40px;height:40px;color:var(--k-busy)}
.k-foto .k-cap{padding:.4rem .6rem;font-size:.82rem;color:var(--k-muted)}
.k-chpt-fempty{margin:0}

/* ---------- bodovanie – zoznam ---------- */
.k-chpt-bodb{padding-top:1rem}
.k-bod-prog{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}
.k-bod-prog .k-prog{flex:1;min-width:140px}
.k-bod-prog b{font-size:1.25rem}
.k-bod-f{display:grid;gap:.75rem;grid-template-columns:1fr}
.k-bod-f .k-field{margin:0}
.k-bod-f .k-seg{flex-wrap:nowrap}
@media (min-width:768px){.k-bod-f{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}}
.k-chpt-bodt{border-top:1px solid var(--k-line)}
.k-chpt-bodr{flex:none;text-align:right}
.k-chpt-bodr .k-xs{margin-top:.15rem}
.k-tools{display:grid;gap:.5rem;grid-template-columns:1fr}
@media (min-width:768px){.k-tools{grid-template-columns:1fr 1fr}}
.k-tool{display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;border:1px solid var(--k-line);border-radius:12px;background:var(--k-surface);color:var(--k-text);min-height:60px;text-decoration:none}
a.k-tool:is(:hover,:focus,:active,:visited){color:var(--k-text);text-decoration:none}
a.k-tool:hover{background:var(--k-surface-2)}
.k-tool .k-ic{width:38px;height:38px;border-radius:10px;background:var(--k-cream);color:var(--k-brand-2);display:flex;align-items:center;justify-content:center;flex:none}
[data-theme="night"] .k-tool .k-ic{color:var(--k-sand)}
.k-tool b{display:block;font-size:.93rem;line-height:1.2}
.k-tool small{display:block;font-size:.78rem;color:var(--k-muted);line-height:1.3}
.k-tool .k-ext{margin-left:auto;color:var(--k-muted);font-size:.8rem;flex:none}
.k-chpt-mkalk{margin-top:.6rem}

/* úlovok – súhrn pri bodovaní */
.k-chpt-ulsum{display:flex;gap:.8rem;align-items:flex-start}
.k-chpt-ulsum .k-dl{font-size:.92rem}
.k-chpt-ulfoto{display:block;width:96px;height:72px;flex:none;border-radius:10px;overflow:hidden;cursor:zoom-in;background:var(--k-surface-2)}
.k-chpt-ulfoto img{display:block;width:100%;height:100%;object-fit:cover}
@media (min-width:560px){.k-chpt-ulfoto{width:140px;height:105px}}
.k-chpt-pdf{color:#c0392b}

/* odkaz v riadku (klikateľný riadok) – farba textu ako prototyp */
a.k-chpt-rl,a.k-chpt-rl:is(:hover,:focus,:active,:visited){color:inherit;text-decoration:none}

/* screens/clanok.css */
/* Clanok_Controller::show (nová téma) – voľný HTML obsah článku (WYSIWYG) */
.k-clanok{overflow-wrap:anywhere;line-height:1.55}
.k-clanok img{max-width:100%;height:auto}
.k-clanok table{max-width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.k-clanok :is(td,th){border:1px solid var(--k-line);padding:.35rem .5rem}
.k-clanok :is(ul,ol){padding-left:1.3rem}
.k-clanok a{color:var(--k-ok)}
.k-cla-doby{margin-top:1rem}
.k-cla-hint{padding:0 1rem 1rem;margin:.6rem 0 0}
.k-cla-medit{margin-top:1rem}

/* screens/clenovia.css */
/* Obrazovky Clenovia_Controller (nová téma): default (zoznam), item (detail), update (úprava / môj profil), pridat, zmenahesla.
   Selektory len pod .k-cl-* (prefix obrazovky). */

/* ---- zoznam ---- */
.k-cl-card .k-tw{border-radius:var(--k-r)}
.k-cl-off{opacity:.55}
.k-cl-ph{width:50px}
.k-cl-ph .k-avatar{width:34px;height:34px;font-size:.75rem}
.k-avatar.k-cl-av{overflow:hidden;padding:0}
.k-avatar.k-cl-av img{width:100%;height:100%;object-fit:cover;display:block}
.k-cl-in{color:var(--k-ok)}
.k-cl-tools{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}
.k-cl-tools .k-cl-search{flex:1 1 220px;max-width:420px;margin:0}
.k-cl-mrow{display:flex;gap:.4rem;flex-wrap:wrap}
.k-cl-madd{margin-top:1rem}
.k-ibtn.k-cl-wico{color:var(--k-busy)}
.k-cl-mlist > li[hidden]{display:none}
.k-ibtn.k-cl-warn{color:#fff;background:var(--k-busy);border-color:var(--k-busy)}
.k-ibtn.k-cl-ok{color:var(--k-ok);border-color:var(--k-ok)}
.k-ibtn.k-cl-note{color:var(--k-muted);cursor:help}

/* ---- detail ---- */
.k-cl-notice{margin-bottom:1rem}
.k-cl-main .k-card-h{gap:.8rem}
.k-cl-main .k-cl-name{font-size:1.2rem}
.k-cl-cars{display:flex;flex-wrap:wrap;gap:.3rem}
.k-cl-foot{flex-wrap:wrap}
.k-cl-noph{aspect-ratio:1;max-width:220px;text-align:center}
.k-cl-docs .k-cl-doc{padding:.5rem 0}
.k-cl-detail{align-items:start}
.k-cl-who{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem}
.k-cl-name{font-size:1.2rem;font-weight:750;margin:0}
.k-cl-face{display:block;flex:none;width:88px;height:88px;border-radius:50%;overflow:hidden;background:var(--k-cream);border:1px solid var(--k-line)}
.k-cl-face img{width:100%;height:100%;object-fit:cover;display:block}
.k-cl-face-lg{display:block;width:100%;max-width:220px;aspect-ratio:1;border-radius:16px;overflow:hidden;cursor:pointer}
.k-cl-face-lg img{width:100%;height:100%;object-fit:cover;display:block}
.k-cl-mail{min-width:0;overflow-wrap:anywhere}
.k-cl-gal{list-style:none;margin:0 0 .7rem;padding:0}
.k-cl-gi{position:relative;display:flex;flex-direction:column;align-items:center;gap:.25rem;max-width:120px;text-align:center}
.k-cl-gi .k-photo{width:110px;height:84px;border-style:solid}
.k-cl-gdel{position:absolute;top:4px;right:4px;width:32px;height:32px;color:var(--k-busy)}
.k-cl-hd{margin-top:.3rem}
.k-cl-hd summary{cursor:pointer;color:var(--k-ok);font-weight:650;min-height:32px;display:flex;align-items:center}
.k-cl-hd .k-dl{margin-top:.3rem}

/* ---- úprava člena / môj profil ---- */
.k-cl-tabs{max-width:640px;margin-bottom:1rem}
.k-cl-tabs[hidden]{display:none}
.k-cl-top{align-items:start}
.k-cl-pan + .k-cl-pan{margin-top:1rem}
.k-cl-tabs:not([hidden]) ~ .k-cl-form .k-cl-pan + .k-cl-pan{margin-top:0}
.k-cl-btns{flex-wrap:wrap;gap:.5rem}
.k-cl-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.k-cl-auto{align-items:flex-start;gap:.8rem;margin-bottom:.6rem}
.k-cl-aph{flex:0 0 auto;width:120px}
.k-cl-aph img{width:120px;height:86px;object-fit:cover;border-radius:10px;display:block}
.k-cl-aph .k-ph{width:120px;height:86px;font-size:1.4rem}
.k-cl-new{border-style:dashed}
.k-cl-admin{margin-bottom:.8rem}
.k-cl-acl{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.4rem 1rem}
.k-cl-acl .k-check{padding:.55rem .75rem}
.k-cl-save{max-width:640px;margin-left:auto}

/* môj profil (prototyp profil.html) */
.k-cl-me{gap:.8rem;margin-bottom:1rem;align-items:center}
.k-cl-me .k-cl-name{font-size:1.15rem}
.k-cl-me-more{align-items:start;margin-top:1rem}
.k-cl-pwerr{color:var(--k-busy)}
.k-cl-pwerr[hidden]{display:none}

/* ---- pridať / zmena hesla ---- */
.k-cl-formcard{max-width:760px}
.k-cl-err:empty{display:none}
.k-cl-err{margin-bottom:1rem;color:var(--k-busy);font-weight:650}

/* náhľad fotky (data-k-photo) */
/* detail: v kartovom režime tabuliek (úzky kontajner) je detail = klik na riadok a poznámka je v texte karty */
@container ktw (max-width:559.98px){.k-cl-detail .k-cl-info,.k-cl-detail .k-cl-note{display:none}}
@media (max-width:575.98px){.k-cl-formcard .k-fgrid{grid-template-columns:1fr}.k-cl-face-lg{max-width:140px}}

/* ---- zoznam: vzhľad, ktorý si členovia zvolili (theme.userSwitch, len správca členov) ---- */
.k-cl-vzsum{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .45rem;margin:-.25rem 0 1rem}
.k-cl-vzsum .k-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* screens/clenske.css */
/* Členské (NOVÉ) – templates/modern/Clenske/*.latte: prehľad sezóny, detail predpisu, Moje členské, platba, denník, generovanie, nastavenia. */
.k-cs-kpis{margin-bottom:1rem}
.k-cs-kpis .k-kpi b{font-variant-numeric:tabular-nums}
.k-cs-bar{display:block;height:6px;border-radius:3px;background:var(--k-line-2,rgba(0,0,0,.08));overflow:hidden;margin-top:.35rem}
.k-cs-bar>span{display:block;height:100%;background:var(--k-ok);border-radius:3px}
.k-cs-filters{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;margin-bottom:.75rem}
.k-cs-filters .k-chips{flex:1 1 auto;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:2px}
.k-cs-filters .k-chips::-webkit-scrollbar{display:none}
.k-cs-filters .k-chip{white-space:nowrap}
.k-cs-filters .k-chip small{opacity:.7;margin-left:.25rem;font-weight:600}
.k-cs-search{display:flex;gap:.5rem;flex:1 1 260px;max-width:460px}
.k-cs-search .k-input,.k-cs-search .k-select{min-width:0}
.k-cs-bulk{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding:.55rem .75rem;border-bottom:1px solid var(--k-line)}
.k-cs-bulk .k-cs-sel{font-weight:700;margin-right:auto;font-size:.88rem}
.k-cs-bulkf{display:inline-flex;gap:.4rem;align-items:center}
.k-cs-bulk .k-input,.k-cs-bulk .k-select{width:auto;min-height:36px;padding-top:.25rem;padding-bottom:.25rem}
.k-cs-chk{width:1px}
.k-cs-chk input,.k-cs-cchk{width:20px;height:20px;accent-color:var(--k-ok)}
.k-cs-vs{font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.02em}
.k-cs-acts{display:flex;gap:.3rem;align-items:center;justify-content:flex-end;flex-wrap:nowrap}
.k-cs-inline{display:inline;margin:0}
.k-cs-pay{white-space:nowrap}
.k-cs-num{font-variant-numeric:tabular-nums;white-space:nowrap}
.k-cs-zost{font-weight:700}
.k-cs-ok{color:var(--k-ok)}
.k-cs-danger{color:var(--k-busy,#c62828)}
tr.k-cs-target{outline:2px solid var(--k-ok);outline-offset:-2px}
.k-cs-undo{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.k-cs-undo form{margin:0 0 0 auto}
/* detail predpisu / moje */
.k-cs-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}
@media (min-width:980px){.k-cs-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr)}}
.k-cs-items{width:100%;border-collapse:collapse}
.k-cs-items td,.k-cs-items th{padding:.5rem .25rem;border-bottom:1px solid var(--k-line);vertical-align:top;text-align:left}
.k-cs-items th{font-size:.78rem;color:var(--k-muted);font-weight:600}
.k-cs-items .k-num{text-align:right}
.k-cs-items tr.k-cs-sum td{font-weight:800;border-bottom:0;border-top:2px solid var(--k-line-2)}
.k-cs-qrbox{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}
.k-cs-qr{width:min(240px,70vw);aspect-ratio:1;background:#fff;border-radius:12px;padding:6px;box-shadow:0 0 0 1px var(--k-line-2,rgba(0,0,0,.1))}
.k-cs-qr svg{width:100%;height:100%;display:block}
.k-cs-pbs{font-size:.78rem;color:var(--k-muted)}
.k-cs-pbs b{color:var(--k-text,inherit)}
.k-cs-copy{display:grid;grid-template-columns:minmax(0,1fr);gap:.4rem;width:100%;margin-top:.25rem}
.k-cs-copy button{display:flex;align-items:center;gap:.6rem;justify-content:space-between;width:100%;text-align:left;padding:.55rem .75rem;border:1px solid var(--k-line-2);
	border-radius:var(--k-r-sm,10px);background:var(--k-surface);color:inherit;cursor:pointer;min-height:48px;font:inherit}
.k-cs-copy button small{display:block;color:var(--k-muted);font-size:.72rem}
.k-cs-copy button b{font-variant-numeric:tabular-nums;word-break:break-all}
.k-cs-copy button i{color:var(--k-muted)}
.k-cs-copy button.k-cs-copied{border-color:var(--k-ok);background:var(--k-ok-soft)}
.k-cs-copy button.k-cs-copied i{color:var(--k-ok)}
.k-cs-hero{display:flex;flex-direction:column;gap:.35rem}
.k-cs-hero .k-cs-big{font-size:2.1rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.k-cs-hero .k-cs-due{font-size:.95rem}
.k-cs-paid{border-color:var(--k-ok);background:var(--k-ok-soft)}
.k-cs-paid .k-cs-big{color:var(--k-ok)}
.k-cs-tl{list-style:none;margin:0;padding:0}
.k-cs-tl li{position:relative;padding:.1rem 0 .7rem 1.1rem;border-left:2px solid var(--k-line-2);margin-left:.35rem}
.k-cs-tl li:before{content:"";position:absolute;left:-6px;top:.35rem;width:10px;height:10px;border-radius:50%;background:var(--k-surface);border:2px solid var(--k-muted)}
.k-cs-tl li.k-cs-tl-ok:before{border-color:var(--k-ok);background:var(--k-ok)}
.k-cs-tl li.k-cs-tl-x:before{border-color:var(--k-busy,#c62828)}
.k-cs-tl .k-s{font-size:.78rem;color:var(--k-muted)}
.k-cs-plist li{align-items:flex-start}
.k-cs-plist li.k-cs-storno .k-t{text-decoration:line-through;opacity:.6}
.k-cs-more summary{cursor:pointer;font-weight:600;padding:.25rem 0}
.k-cs-more[open] summary{margin-bottom:.5rem}
.k-cs-quick{display:flex;flex-direction:column;gap:.6rem}
.k-cs-quick .k-fgrid{margin:0}
.k-cs-paybtn{width:100%;min-height:52px;font-size:1.05rem}
/* formulár platby */
.k-cs-form{max-width:560px}
.k-cs-amount{font-size:1.6rem !important;font-weight:800;min-height:56px;font-variant-numeric:tabular-nums}
.k-cs-segr{display:flex;gap:.35rem;flex-wrap:wrap}
.k-cs-segr label{flex:1 1 0;min-width:90px;margin:0}
.k-cs-segr input{position:absolute;opacity:0;pointer-events:none}
.k-cs-segr span{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:46px;border:1px solid var(--k-line-2);border-radius:var(--k-r-sm,10px);font-weight:700;cursor:pointer;background:var(--k-surface)}
.k-cs-segr input:checked+span{border-color:var(--k-ok);background:var(--k-ok-soft);color:var(--k-ok)}
.k-cs-segr input:focus-visible+span{outline:2px solid var(--k-ok);outline-offset:2px}
.k-cs-warn{display:none}
.k-cs-warn.k-show{display:flex}
/* nastavenia */
.k-cs-nst{max-width:980px}
/* karty nastavení: .k-nst-tabs (nastavenia.css) má max-width 420px pre 2–3 karty – 5 kariet by sa orezalo a ukázal by sa
   posuvník; vyššia špecifickosť, šírka podľa obsahu, na úzkom displeji posun bez viditeľného posuvníka */
.k-seg.k-nst-tabs.k-cs-tabs{max-width:100%;width:max-content;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.k-seg.k-nst-tabs.k-cs-tabs::-webkit-scrollbar{display:none}
.k-seg.k-nst-tabs.k-cs-tabs>a{flex:0 0 auto;padding:.45rem .85rem}
@media (max-width:560px){.k-seg.k-nst-tabs.k-cs-tabs{width:100%}}
.k-cs-matrix{width:100%;border-collapse:collapse;min-width:520px}
.k-cs-matrix th,.k-cs-matrix td{padding:.35rem;border-bottom:1px solid var(--k-line);text-align:left;vertical-align:middle}
.k-cs-matrix th{font-size:.78rem;color:var(--k-muted);font-weight:600}
.k-cs-matrix .k-input{min-width:70px;width:100%;max-width:120px}
.k-cs-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.k-cs-tokens code{font-size:.82rem;padding:.05rem .3rem;border-radius:4px;background:var(--k-line,rgba(0,0,0,.06))}
.k-cs-vzorky li{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-bottom:1px dashed var(--k-line)}
.k-cs-vzorky b{font-variant-numeric:tabular-nums}
.k-cs-gen th,.k-cs-gen td{white-space:normal}
@media (max-width:560px){
	.k-cs-hero .k-cs-big{font-size:1.75rem}
	.k-cs-bulk{position:sticky;bottom:calc(var(--k-bnav-h,64px) + env(safe-area-inset-bottom,0px));z-index:5;background:var(--k-surface);border-top:1px solid var(--k-line-2);
		box-shadow:0 -6px 16px rgba(0,0,0,.08)}
	.k-cs-bulk[data-cs-empty]{display:none}
	.k-cs-search{max-width:none}
}
/* prehľad – kartový režim (mobil): riadok s „Zaplatené“ dá akcie na celý druhý riadok karty (veľké tlačidlo pre palec) */
@container ktw (max-width:559.98px){
	.k-table.k-cards.k-cs-tbl tr:has(.k-cs-pay){flex-wrap:wrap;row-gap:.55rem}
	.k-table.k-cards.k-cs-tbl tr:has(.k-cs-pay) td.k-kc{flex:1 1 100%}
	.k-table.k-cards.k-cs-tbl tr:has(.k-cs-pay) td.k-ka{flex:1 1 100%;max-width:none;justify-content:flex-start;padding-left:2.1rem}
	.k-table.k-cards.k-cs-tbl td.k-ka .k-cs-acts{width:100%;justify-content:flex-start}
	.k-table.k-cards.k-cs-tbl .k-cs-acts form{flex:1 1 auto;display:flex}
	.k-table.k-cards.k-cs-tbl .k-cs-pay{flex:1 1 auto;min-height:44px;justify-content:center}
	.k-table.k-cards.k-cs-tbl td.k-kc .k-badge{flex:none;align-self:flex-start}
}
/* Moje členské – mobil: suma → Zaplatiť (QR, kopírovanie) → rozpis → platby */
@media (max-width:979.98px){
	.k-cs-moje>.k-cs-left{display:contents}
	.k-cs-moje .k-cs-herocard{order:1}
	.k-cs-moje>.k-cs-right{order:2}
	.k-cs-moje>.k-cs-left>:not(.k-cs-herocard){order:3}
}
.k-cs-moje .k-card{margin-bottom:0}
.k-cs-left,.k-cs-right{display:flex;flex-direction:column;gap:1rem}
/* detail predpisu – mobil: rýchla úhrada → položky → platby → QR → akcie → časová os */
@media (max-width:979.98px){
	.k-cs-det>.k-cs-left,.k-cs-det>.k-cs-right{display:contents}
	.k-cs-det .k-cs-o1{order:1}.k-cs-det .k-cs-o2{order:2}.k-cs-det .k-cs-o3{order:3}.k-cs-det .k-cs-o4{order:4}.k-cs-det .k-cs-o5{order:5}.k-cs-det .k-cs-o6{order:6}
}
.k-cs-grid .k-card{margin-bottom:0}
/* prehľad – menu akcií riadku „⋯“ (popover v top layer – neoreže ho .k-tw overflow; vzor hlasenieulovku.css .k-ul-pop) */
.k-pop.k-cs-pop{position:fixed;inset:auto;margin:0;min-width:220px;max-width:min(300px,calc(100vw - 16px));bottom:auto;left:auto;right:auto;padding:.35rem;overflow:visible}
.k-pop.k-cs-pop:not(:popover-open):not(.k-open){display:none}
.k-cs-pop .k-pop-i{white-space:normal}
.k-cs-pop .k-cs-popf{margin:0}
.k-cs-morebtn[aria-expanded="true"]{background:var(--k-surface-2);border-color:var(--k-ok)}
/* prehľad – kto nemá predpis, oprava omylu (storno úhrad / zmazanie) */
.k-cs-info{margin:-.25rem 0 .75rem}
.k-cs-chyba b{white-space:nowrap}
.k-cs-fix{display:inline-block;position:relative}
.k-cs-fix>summary{list-style:none;cursor:pointer}
.k-cs-fix>summary::-webkit-details-marker{display:none}
.k-cs-fix[open]{flex-basis:100%}
.k-cs-fixb{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.4rem;padding:.5rem;border:1px dashed var(--k-line-2,var(--k-line));border-radius:10px}
.k-cs-fixb .k-check{margin:0}
.k-cs-oslc{margin-top:1rem}

/* screens/dashboard.css */
/* ==========================================================================
   Prispôsobiteľný domov (NOVÉ) – Revir\Theme\DashboardLayout, šablóny templates/modern/Mainpage/main.latte (karty + panel
   „Upraviť domov“ #k-home-edit) a templates/modern/Nastavenia/domov.latte (zoznam kariet knihy). JS: screens/dashboard.js.
   Karta = .k-dash-card[data-k-card] – mobil: poradie z --k-o (jeden stĺpec .k-home-z), výška data-k-mh (S / M / L), desktop
   bez JS ≥ 1200 px: poradie v DOM (hlavný / bočný stĺpec, mainpage.css). S JS ≥ 992 px: mriežka GridStack (.k-home-z.k-dash-gs >
   .grid-stack.k-dash-grid > .grid-stack-item > .grid-stack-item-content > karta; triedy grid-stack* / ui-resizable* / size-to-content
   sú z knižnice), režim úprav .k-home.k-dash-editing + lišta .k-dash-bar. Mobil < 992 px v úpravách: GridStack v jednom stĺpci
   (.k-home-z.k-dash-mgs > .grid-stack.k-dash-mgrid, lišta karty .k-dash-mtools). Zoznam kariet (záložný panel, Nastavenia) =
   .k-list + K.sortable (.k-sort-*).
   ========================================================================== */
.k-home-z .k-dash-card{order:var(--k-o,0);min-width:0}
.k-home-z .k-dash-card[hidden]{display:none}
@media (min-width:1200px){.k-home-z .k-home-col>.k-dash-card{order:0}}
/* štítok zóny vnútri karty (staré bloky) – rovnaký odstup ako predtým (gap 1rem − .45rem) */
.k-dash-card>.k-home-zl{margin:.35rem 0 .55rem .15rem}
.k-home-col>.k-dash-card:first-child>.k-home-zl{margin-top:0}
.k-home-kvsub{margin:-.2rem 0 .45rem}

/* Revír dnes ako karta (pás hore): čipy sa zalamujú podľa šírky karty, v úzkej karte pod seba; klik = panel s plnou kartou */
.k-dash-card[data-k-card="revirdnes"]{container-type:inline-size}
.k-dash-card>.k-home-rd{margin:0;align-items:flex-start;border-radius:var(--k-r)}
/* mobil (jeden stĺpec) = pás ako doteraz (jeden riadok, vodorovný posun); mriežka = zalomenie, úzka karta pod seba */
.k-dash-grid .k-dash-card>.k-home-rd .k-rd-strip{flex-wrap:wrap;overflow:visible;padding:2px}
@container (max-width:340px){
  .k-dash-grid .k-dash-card>.k-home-rd{flex-direction:column;align-items:stretch}
  .k-dash-grid .k-dash-card>.k-home-rd .k-rd-strip{flex-direction:column;align-items:stretch}
  .k-dash-grid .k-dash-card>.k-home-rd .k-rd-chip{justify-content:flex-start}
}
@media (min-width:992px){.k-dash-card>.k-home-rd .k-rd-strip{display:flex}}
[data-theme="night"] .k-home-rd .k-rd-chip.k-home-rdmore{color:var(--k-sand)}

.k-dash-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .75rem;margin:1.5rem 0 .5rem}
.k-dash-foot .k-hint{margin:0}

/* zoznam kariet (panel aj Nastavenia) */
.k-dash-intro{margin:0 0 .75rem}
.k-dash-list+.k-dash-list{margin-top:0}
.k-list>li.k-dash-row{gap:.55rem;padding:.55rem .35rem;min-height:58px;background:var(--k-surface)}
.k-dash-txt{min-width:0}
.k-dash-txt b{display:block;line-height:1.25}
.k-dash-txt .k-s{display:block}
.k-dash-row.k-dash-off .k-dash-txt,.k-dash-row.k-dash-off .k-ico{opacity:.45}
.k-list>li.k-dash-locked{background:var(--k-surface-2);border-radius:10px;border-top:0;margin-bottom:.25rem}
.k-dash-lock{border-style:dashed;color:var(--k-muted);cursor:default}
.k-dash-mv{display:inline-flex;gap:.2rem;flex:none}
.k-dash-def{margin-top:.6rem}

/* prepínač zobrazenia – skutočný checkbox (klávesnica, čítačky), vzhľad switch */
.k-dash-show{position:relative;display:inline-flex;align-items:center;flex:none;cursor:pointer;padding:.35rem 0}
.k-dash-show input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.k-dash-sw{position:relative;width:42px;height:24px;border-radius:99px;background:var(--k-line-2);transition:background .15s}
.k-dash-sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .15s}
.k-dash-show input:checked+.k-dash-sw{background:var(--k-ok)}
.k-dash-show input:checked+.k-dash-sw::after{transform:translateX(18px)}
.k-dash-show input:focus-visible+.k-dash-sw{outline:2px solid var(--k-brand-2);outline-offset:2px}
.k-dash-show input:disabled+.k-dash-sw{opacity:.5}

/* úzky mobil: bez ikony karty, nech sa zmestí úchyt, text, prepínač a šípky */
@media (max-width:430px){
  .k-dash-row .k-ico{display:none}
  .k-dash-mv .k-ibtn.k-sm{width:32px}
}
#k-home-edit .k-sheet-f{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
#k-home-edit[aria-busy="true"] .k-sheet-f .k-btn{pointer-events:none;opacity:.7}
@media (prefers-reduced-motion:reduce){.k-dash-sw,.k-dash-sw::after{transition:none}}

/* výška karty na mobile (DashboardLayout::MOBILE_H – S 220 / M 360 / L 560 px, vnútorný scroll; mapa = výška mapy) */
@media (max-width:991.98px){
  .k-home-z .k-dash-card:is([data-k-mh="1"],[data-k-mh="2"],[data-k-mh="3"]):not([data-k-card="mapa"]){overflow:auto;border-radius:var(--k-r)}
  .k-home-z .k-dash-card[data-k-mh="1"]:not([data-k-card="mapa"]){max-height:220px}
  .k-home-z .k-dash-card[data-k-mh="2"]:not([data-k-card="mapa"]){max-height:360px}
  .k-home-z .k-dash-card[data-k-mh="3"]:not([data-k-card="mapa"]){max-height:560px}
  .k-home-z .k-dash-card[data-k-card="mapa"][data-k-mh="1"] #map-canvas{height:220px;min-height:0}
  .k-home-z .k-dash-card[data-k-card="mapa"][data-k-mh="2"] #map-canvas{height:360px;min-height:0}
  .k-home-z .k-dash-card[data-k-card="mapa"][data-k-mh="3"] #map-canvas{height:560px;min-height:0}
}
.k-dash-mhsel{display:block;margin-top:.35rem;max-width:200px;font:inherit;font-size:.8rem;padding:.25rem .45rem;border:1px solid var(--k-line-2);border-radius:8px;background:var(--k-surface);color:var(--k-text)}

/* ---- mriežka (desktop ≥ 992 px, GridStack) – okraj karty 8 px (MARGIN_PX) → mriežka o okraj širšia, nech lícuje s hlavičkou */
.k-home-z.k-dash-gs{display:block}
.k-home-z.k-dash-gs>.k-home-col{display:none}
.k-dash-grid{margin:-8px}
.k-dash-grid>.grid-stack-item>.grid-stack-item-content{overflow:hidden;border-radius:var(--k-r);isolation:isolate}
/* isolation: vlastný kontext vrstiev – z-index obsahu (Leaflet panes/controls 400–1000) neprerastie lištu karty .k-dash-tools */
.k-dash-grid .k-dash-card{min-width:0}
.k-dash-grid>.grid-stack-item:not(.size-to-content) .k-dash-card{height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border-radius:var(--k-r)}
.k-dash-grid>.grid-stack-item:not(.size-to-content) .k-dash-card>:is(.k-card,.k-status):only-child{min-height:100%}
.k-dash-grid .k-dash-card>:is(.k-card,.k-status):last-child{margin-bottom:0}
.k-dash-grid .k-dash-card>.k-home-zl:first-child{margin-top:0}
.k-dash-grid .k-dash-card>.k-home-ok{margin:0}
/* mapa s pevnou výškou vyplní kartu (Leaflet – KMap ResizeObserver → invalidateSize) */
.k-dash-grid>.grid-stack-item:not(.size-to-content) .k-dash-card[data-k-card="mapa"]{overflow:hidden}
.k-dash-grid>.grid-stack-item:not(.size-to-content) .k-dash-card[data-k-card="mapa"] #map-canvas{height:100%;min-height:0}

/* ==========================================================================
   Režim úprav (desktop ≥ 992 px) – editor: .k-home.k-dash-editing (+ .k-dash-dimin po nábehu, .k-dash-hassel = vybraná karta,
   .k-dash-moving = ťahanie / zmena veľkosti), html.k-dash-on (miesto pre panel, posun toastov), panel .k-dash-dock (fixný dole
   v strede obsahu), stlmenie [data-k-dash-dim] ZA mriežkou (mriežka nad ním). Animácie len transform / opacity.
   ========================================================================== */
.k-home{--k-dash-acc:var(--k-brand-2);--k-dash-acc-soft:rgba(100,73,64,.14);--k-dash-guide:rgba(100,73,64,.07);--k-dash-ease:cubic-bezier(.2,.8,.2,1)}
[data-theme="night"] .k-home,[data-theme="night"] .k-dash-dock{--k-dash-acc:var(--k-sand);--k-dash-acc-soft:rgba(213,185,143,.16);--k-dash-guide:rgba(213,185,143,.06)}
.k-dash-dock{--k-dash-acc:var(--k-sand);--k-dash-ease:cubic-bezier(.2,.8,.2,1)}
[data-k-dash-edit-open][aria-pressed="true"]{background:var(--k-surface-2);border-color:var(--k-dash-acc);box-shadow:0 0 0 3px var(--k-dash-acc-soft)}

/* stlmenie plochy mimo mriežky (hlavička, novinky); mriežka je nad ním */
.k-dash-dim{position:fixed;inset:0;z-index:1;background:rgba(36,26,20,.07);opacity:0;pointer-events:none;transition:opacity .25s var(--k-dash-ease)}
.k-dash-dim[hidden]{display:none}
[data-theme="night"] .k-dash-dim{background:rgba(0,0,0,.28)}
.k-dash-editing.k-dash-dimin>.k-dash-dim{opacity:1;pointer-events:auto}
.k-dash-editing.k-dash-hassel>.k-dash-dim{background:rgba(36,26,20,.11)}
[data-theme="night"] .k-dash-editing.k-dash-hassel>.k-dash-dim{background:rgba(0,0,0,.4)}
.k-dash-editing>.k-home-z,.k-dash-editing>.k-dash-banner{position:relative;z-index:2}
html.k-dash-on .k-home{padding-bottom:120px}

/* plátno mriežky: vodiace stĺpce (12) a jemné riadky (ROW_PX 40 px) */
.k-dash-grid{transition:background-color .25s var(--k-dash-ease)}
.k-dash-editing .k-dash-grid{min-height:240px;border-radius:calc(var(--k-r) + 6px);background-color:color-mix(in srgb,var(--k-surface) 45%,transparent);
  background-image:repeating-linear-gradient(to right,transparent 0 8px,var(--k-dash-guide) 8px calc(100% / 12 - 8px),transparent calc(100% / 12 - 8px) calc(100% / 12)),
  linear-gradient(to bottom,var(--k-dash-guide) 1px,transparent 1px);background-size:100% 100%,100% 40px;
  box-shadow:inset 0 0 0 1px var(--k-line)}

/* karta v režime úprav */
.k-dash-grid>.grid-stack-item>.grid-stack-item-content{transition:box-shadow .2s var(--k-dash-ease),opacity .2s var(--k-dash-ease),transform .2s var(--k-dash-ease),filter .2s var(--k-dash-ease)}
/* pozadie obsahu = povrch karty: karta „podľa obsahu“ je o zvyšok riadku nižšia ako jej miesto v mriežke – rámik ju obopne celú */
.k-dash-editing .k-dash-grid>.grid-stack-item>.grid-stack-item-content{pointer-events:none;user-select:none;background:var(--k-surface);box-shadow:0 0 0 1px var(--k-line-2),0 2px 10px rgba(36,26,20,.08)}
.k-dash-editing .k-dash-grid>.grid-stack-item:not(.size-to-content) .k-dash-card{overflow:hidden}
.k-dash-editing .k-dash-grid>.grid-stack-item:hover>.grid-stack-item-content{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--k-dash-acc) 55%,transparent),0 8px 24px rgba(36,26,20,.12);transform:translateY(-1px)}
.k-dash-editing.k-dash-hassel .k-dash-grid>.grid-stack-item:not(.k-dash-selected):not(:hover)>.grid-stack-item-content{opacity:.62;filter:saturate(.7)}
.k-dash-editing .k-dash-grid>.grid-stack-item.k-dash-selected>.grid-stack-item-content{box-shadow:0 0 0 2px var(--k-dash-acc),0 0 0 6px var(--k-dash-acc-soft),0 14px 34px rgba(36,26,20,.18);transform:translateY(-2px)}
.k-dash-editing .k-dash-grid>.grid-stack-item.k-dash-selected{z-index:5}
.k-dash-editing .k-dash-grid>.grid-stack-item.ui-draggable-dragging>.grid-stack-item-content{opacity:1;filter:none;transform:scale(1.015) rotate(.4deg);box-shadow:0 0 0 2px var(--k-dash-acc),0 22px 50px rgba(36,26,20,.28)}
.k-dash-editing .k-dash-grid>.grid-stack-item.ui-resizable-resizing>.grid-stack-item-content{opacity:1;filter:none;box-shadow:0 0 0 2px var(--k-dash-acc),0 18px 40px rgba(36,26,20,.2)}
.k-dash-editing .k-dash-grid>.grid-stack-item.k-dash-new>.grid-stack-item-content{animation:k-dash-pop .6s var(--k-dash-ease)}
@keyframes k-dash-pop{0%{transform:scale(.96);opacity:.3}100%{transform:none;opacity:1}}
[data-theme="night"] .k-dash-editing .k-dash-grid>.grid-stack-item>.grid-stack-item-content{box-shadow:0 0 0 1px var(--k-line-2),0 2px 12px rgba(0,0,0,.4)}
[data-theme="night"] .k-dash-editing .k-dash-grid>.grid-stack-item.k-dash-selected>.grid-stack-item-content{box-shadow:0 0 0 2px var(--k-dash-acc),0 0 0 6px var(--k-dash-acc-soft),0 14px 34px rgba(0,0,0,.55)}

/* placeholder pri ťahaní: obrys v brand farbe + šrafa */
:is(.k-dash-grid,.k-dash-mgrid)>.grid-stack-placeholder>.placeholder-content{border:2px dashed var(--k-dash-acc,var(--k-brand-2));border-radius:var(--k-r);background-color:var(--k-dash-acc-soft,rgba(100,73,64,.1));
  background-image:repeating-linear-gradient(-45deg,transparent 0 9px,var(--k-dash-acc-soft,rgba(100,73,64,.1)) 9px 18px)}

/* vrstva nad kartou = úchyt GridStack (celá karta), štítok s názvom, × */
.k-dash-tools{position:absolute;top:var(--gs-item-margin-top,8px);right:var(--gs-item-margin-right,8px);bottom:var(--gs-item-margin-bottom,8px);left:var(--gs-item-margin-left,8px);z-index:6;border-radius:var(--k-r);cursor:grab;touch-action:none}
.k-dash-moving .k-dash-tools,.ui-draggable-dragging>.k-dash-tools{cursor:grabbing}
.k-dash-pinned .k-dash-tools{cursor:default}
.k-dash-tag{position:absolute;top:-11px;left:12px;display:inline-flex;align-items:center;gap:.2rem;max-width:calc(100% - 64px);height:26px;padding:0 .6rem 0 .1rem;border-radius:99px;
  background:var(--k-surface);color:var(--k-text);border:1px solid var(--k-line-2);box-shadow:0 2px 8px rgba(36,26,20,.12);font-size:.76rem;line-height:1;transition:background-color .15s,color .15s,border-color .15s}
.k-dash-grip{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:99px;color:var(--k-muted);cursor:grab;touch-action:none}
.k-dash-grip:focus-visible{outline:2px solid var(--k-dash-acc);outline-offset:1px}
.k-dash-pinned .k-dash-grip{cursor:default}
.k-dash-tname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.k-dash-tnote{flex:none;margin-left:.35rem;color:var(--k-muted);font-weight:500}
.k-dash-selected .k-dash-tag{background:var(--k-dash-acc);border-color:var(--k-dash-acc);color:#fff}
.k-dash-selected .k-dash-grip{color:rgba(255,255,255,.85)}
[data-theme="night"] .k-dash-selected .k-dash-tag{color:#120d0a}
[data-theme="night"] .k-dash-selected .k-dash-grip{color:rgba(18,13,10,.75)}
.k-dash-x{position:absolute;top:-11px;right:10px;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border-radius:99px;border:1px solid var(--k-line-2);
  background:var(--k-surface);color:var(--k-muted);box-shadow:0 2px 8px rgba(36,26,20,.12);cursor:pointer;font-size:.8rem;opacity:0;transform:scale(.85);transition:opacity .15s,transform .15s,background-color .15s,color .15s}
.grid-stack-item:is(:hover,.k-dash-selected,:focus-within)>.k-dash-tools>.k-dash-x{opacity:1;transform:none}
.k-dash-x:hover{background:var(--k-busy-soft);color:var(--k-busy);border-color:var(--k-busy)}
.k-dash-x:focus-visible{opacity:1;transform:none;outline:2px solid var(--k-dash-acc);outline-offset:1px}
.k-dash-ph{height:100%}
.k-dash-phb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;height:100%;padding:2rem 1rem 1rem;border-style:dashed;color:var(--k-muted);text-align:center}
.k-dash-phb>i{font-size:1.4rem;opacity:.6}
.k-dash-phcard{border-style:dashed;background:color-mix(in srgb,var(--k-surface) 70%,transparent)}
.k-dash-phcard h2 i{color:var(--k-muted);margin-right:.3rem}
.k-dash-phtxt{padding:0 1rem 1.1rem;color:var(--k-muted);font-size:.86rem}

/* roh pre zmenu veľkosti – úchyt v brand farbe (len v režime úprav, GridStack ho mimo úprav nevykreslí) */
.k-dash-grid>.grid-stack-item>.ui-resizable-se{z-index:7;width:18px;height:18px;right:calc(var(--gs-item-margin-right,8px) - 4px);bottom:calc(var(--gs-item-margin-bottom,8px) - 4px);transform:none;background:none;
  opacity:.0;transition:opacity .15s}
.k-dash-grid>.grid-stack-item>.ui-resizable-se::before{content:"";position:absolute;inset:3px;border-radius:5px;background:var(--k-surface);border:2px solid var(--k-dash-acc,var(--k-brand-2));box-shadow:0 2px 6px rgba(36,26,20,.2)}
.k-dash-editing .k-dash-grid>.grid-stack-item:is(:hover,.k-dash-selected)>.ui-resizable-se,.k-dash-editing .k-dash-grid>.grid-stack-item.ui-resizable-resizing>.ui-resizable-se{opacity:1}

/* banner náhľadu domova člena (?domov=clen) */
.k-dash-banner{display:flex;align-items:center;gap:.8rem;margin:0 0 1rem;padding:.75rem 1rem;border-radius:var(--k-r);background:var(--k-info-soft);color:var(--k-text);border:1px solid color-mix(in srgb,var(--k-info) 35%,transparent)}
.k-dash-banner>i{color:var(--k-info);font-size:1.15rem}
.k-dash-banner b{display:block}

/* ---- plávajúci panel nástrojov (fixný, dole v strede obsahu – vpravo od bočného menu; nad menu 1500, pod panelmi K.sheet 2000+ a toastom) */
.k-dash-dock{position:fixed;z-index:1600;left:calc(var(--k-side,264px) + (100vw - var(--k-side,264px)) / 2);bottom:20px;display:flex;align-items:center;gap:.35rem;max-width:calc(100vw - var(--k-side,264px) - 32px);
  padding:.4rem .45rem .4rem .5rem;border-radius:16px;background:#1d1612;color:#f5ebd9;border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 48px rgba(18,12,8,.35),0 2px 6px rgba(18,12,8,.25);font-size:.86rem;
  opacity:0;transform:translate(-50%,24px) scale(.98);transition:opacity .22s var(--k-dash-ease),transform .22s var(--k-dash-ease)}
.k-dash-dock.k-in{opacity:1;transform:translate(-50%,0)}
.k-dash-dock[hidden]{display:none}
[data-theme="night"] .k-dash-dock{background:#2a2019;border-color:var(--k-line-2)}
.k-dash-dsel{display:flex;align-items:center;gap:.55rem;min-width:0;width:210px;padding-right:.35rem}
.k-dash-dico{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.09);color:var(--k-dash-acc)}
.k-dash-dtxt{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.k-dash-dtxt small{font-size:.7rem;color:rgba(245,235,217,.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-dash-dtxt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.88rem}
.k-dash-nosel .k-dash-dtxt b{color:rgba(245,235,217,.6);font-weight:600}
.k-dash-dirty{color:#f2c46b;font-weight:700}
.k-dash-isdirty .k-dash-mode{display:none}
.k-dash-dock:focus{outline:none}
.k-dash-dirty i{display:inline-block;width:7px;height:7px;margin:0 .3rem 1px 0;border-radius:50%;background:#f2c46b;box-shadow:0 0 0 3px rgba(242,196,107,.2)}
.k-dash-acts{display:inline-flex;align-items:center;gap:.25rem}
.k-dash-grp{display:inline-flex;align-items:center;gap:1px;padding:2px;border-radius:11px;background:rgba(255,255,255,.06)}
.k-dash-dr{display:inline-flex;align-items:center;gap:.35rem;margin-left:.25rem}
.k-dash-vsep{width:1px;height:24px;margin:0 .15rem;background:rgba(255,255,255,.14)}
.k-dash-tb{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:9px;background:none;color:inherit;font:inherit;cursor:pointer;transition:background-color .12s,color .12s,opacity .12s}
.k-dash-tb:hover:not(:disabled){background:rgba(255,255,255,.12)}
.k-dash-tb:focus-visible,.k-dash-dock .k-btn:focus-visible,.k-dash-mi:focus-visible{outline:2px solid var(--k-dash-acc);outline-offset:1px}
.k-dash-tb:disabled{opacity:.32;cursor:default}
.k-dash-tb[aria-pressed="true"]{background:var(--k-dash-acc);color:#1d1612}
.k-dash-tb[aria-expanded="true"]{background:rgba(255,255,255,.16)}
.k-dash-pm{font-weight:800;font-size:.68rem;margin-left:1px;line-height:1}
.k-dash-dock .k-btn{position:relative;min-height:34px}
.k-dash-dock .k-btn.k-ghost{background:transparent;border-color:rgba(255,255,255,.2);color:inherit}
.k-dash-dock .k-btn.k-ghost:hover:not(:disabled){background:rgba(255,255,255,.1)}
.k-dash-dock .k-btn.k-ghost:disabled{opacity:.4}
.k-dash-dock .k-btn.k-ok{box-shadow:0 4px 14px rgba(46,125,62,.35)}
.k-dash-dock.k-dash-isdirty .k-dash-save{box-shadow:0 0 0 3px rgba(111,191,127,.3),0 4px 14px rgba(46,125,62,.4)}
.k-dash-dock[aria-busy="true"] :is(.k-btn,.k-dash-tb){pointer-events:none;opacity:.6}
.k-dash-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;margin-left:.15rem;border-radius:99px;background:var(--k-dash-acc);color:#1d1612;font-size:.7rem;font-weight:800}
.k-dash-count[hidden]{display:none}

/* tooltipy panela (data-k-tip) */
.k-dash-dock [data-k-tip]::after{content:attr(data-k-tip);position:absolute;left:50%;bottom:calc(100% + 10px);z-index:3;padding:.3rem .5rem;border-radius:7px;background:#0f0b09;color:#f5ebd9;font-size:.72rem;font-weight:600;line-height:1.2;white-space:nowrap;
  pointer-events:none;opacity:0;transform:translate(-50%,4px);transition:opacity .12s,transform .12s;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.k-dash-dock [data-k-tip]:is(:hover,:focus-visible)::after{opacity:1;transform:translate(-50%,0);transition-delay:.25s}
.k-dash-dock [aria-expanded="true"]::after{display:none}

/* popover Pridať kartu / ⋯ menu – nad panelom */
.k-dash-add{position:relative;display:inline-flex}
.k-dash-pop{position:absolute;right:0;bottom:calc(100% + 12px);z-index:4;min-width:280px;max-width:340px;max-height:min(420px,60vh);overflow:auto;padding:.35rem;border-radius:14px;background:var(--k-surface);color:var(--k-text);
  border:1px solid var(--k-line-2);box-shadow:0 18px 44px rgba(18,12,8,.28);animation:k-dash-in .16s var(--k-dash-ease)}
.k-dash-pop[hidden]{display:none}
@keyframes k-dash-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.k-dash-mh{padding:.45rem .65rem .3rem;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--k-muted)}
.k-dash-mi{display:flex;align-items:flex-start;gap:.65rem;width:100%;padding:.55rem .65rem;border:0;border-radius:9px;background:none;color:var(--k-text);font:inherit;font-size:.86rem;text-align:left;text-decoration:none;cursor:pointer}
.k-dash-mi>i{flex:none;width:18px;margin-top:2px;text-align:center;color:var(--k-brand-2)}
[data-theme="night"] .k-dash-mi>i{color:var(--k-sand)}
.k-dash-mi b{display:block;font-weight:650}
.k-dash-mi small{display:block;margin-top:1px;color:var(--k-muted);font-size:.75rem;line-height:1.3}
.k-dash-mi:is(:hover,:focus-visible):not(:disabled){background:var(--k-surface-2)}
.k-dash-mi:disabled{opacity:.45;cursor:default}
.k-dash-pop hr{margin:.3rem .4rem;border:0;border-top:1px solid var(--k-line)}

/* coachmark – prvé otvorenie editora */
.k-dash-coach{position:absolute;left:50%;bottom:calc(100% + 14px);display:flex;align-items:center;gap:.75rem;width:max-content;max-width:min(520px,calc(100vw - 32px));padding:.65rem .7rem .65rem .9rem;border-radius:12px;
  background:var(--k-surface);color:var(--k-text);border:1px solid var(--k-line-2);box-shadow:0 14px 36px rgba(18,12,8,.25);transform:translateX(-50%);animation:k-dash-coach .25s var(--k-dash-ease) .15s both}
@keyframes k-dash-coach{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}
.k-dash-coach::after{content:"";position:absolute;left:50%;top:100%;width:12px;height:12px;margin:-6px 0 0 -6px;background:inherit;border-right:1px solid var(--k-line-2);border-bottom:1px solid var(--k-line-2);transform:rotate(45deg)}
.k-dash-coach p{display:flex;gap:.55rem;align-items:flex-start;margin:0;font-size:.84rem;line-height:1.35}
.k-dash-coach p>i{margin-top:2px;color:var(--k-brand-2)}
[data-theme="night"] .k-dash-coach p>i{color:var(--k-sand)}
.k-dash-coachok{flex:none;background:var(--k-brand-2);color:#fff;border-color:transparent}
[data-theme="night"] .k-dash-coachok{background:var(--k-sand);color:#120d0a}

/* nápoveda (K.sheet) */
.k-dash-keys{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1rem;margin:0 0 .9rem;align-items:center}
.k-dash-keys dt{margin:0;text-align:right}
.k-dash-keys dd{margin:0;color:var(--k-text)}
.k-dash-keys kbd{display:inline-block;padding:.2rem .45rem;border-radius:6px;border:1px solid var(--k-line-2);border-bottom-width:2px;background:var(--k-surface-2);color:var(--k-text);font-family:inherit;font-size:.78rem;font-weight:650;line-height:1.2;white-space:nowrap}

/* počas úprav: toasty nad panelom, lišta „Kniha zaznamenáva polohu…“ (screens/poloha) sa na čas úprav skryje – po úpravách sa vráti */
html.k-dash-on .k-geo-bar{opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .2s,transform .2s}
@media (min-width:992px){
  html.k-dash-on .k-toast{bottom:92px}
}
@media (min-width:992px) and (max-width:1399.98px){
  .k-dash-dsel{width:150px}
  .k-dash-lbl{display:none}
}
@media (min-width:992px) and (max-width:1179.98px){
  .k-dash-dsel{display:none}
  .k-dash-tb{width:31px}
}

/* mobilný panel #k-home-edit – pätička s tlačidlami prilepená dole, zelené Uložiť výrazné */
#k-home-edit .k-sheet-f{position:sticky;bottom:0;z-index:2;background:var(--k-bg);border-top:1px solid var(--k-line);box-shadow:0 -6px 18px rgba(36,26,20,.06)}
#k-home-edit .k-dash-save{flex:1 1 140px;font-weight:750}
#k-home-edit .k-dash-reset,#k-home-edit [data-k-dash-book]{flex:0 1 auto}

/* ==========================================================================
   Režim úprav – MOBIL < 992 px (screens/dashboard.js mEnter): GridStack v jednom stĺpci .k-home-z.k-dash-mgs > .grid-stack.k-dash-mgrid,
   položka = rám s lištou .k-dash-mtools (úchyt .k-dash-mgrip – jediné miesto, odkiaľ sa ťahá; touch-action:none len tam, inde sa stránka
   posúva) + kompaktný náhľad obsahu pod lištou (orezaný, výška podľa kroku výšky). Lacné efekty: bez filter / blur / scale.
   ========================================================================== */
.k-home-z.k-dash-mgs{display:block}
.k-home-z.k-dash-mgs>.k-home-col{display:none}
.k-dash-mgrid{margin:0 -5px}
.k-dash-mtools{position:absolute;top:var(--gs-item-margin-top,5px);right:var(--gs-item-margin-right,5px);bottom:var(--gs-item-margin-bottom,5px);left:var(--gs-item-margin-left,5px);
  border-radius:var(--k-r);background:var(--k-surface);border:1px solid var(--k-line-2);box-shadow:0 1px 3px rgba(36,26,20,.08)}
[data-theme="night"] .k-dash-mtools{box-shadow:0 1px 4px rgba(0,0,0,.4)}
.k-dash-mrow{display:flex;align-items:center;gap:2px;height:43px;padding:0 3px 0 1px;border-bottom:1px solid var(--k-line)}
.k-dash-mgrip{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:42px;padding:0;border:0;border-radius:10px;background:none;color:var(--k-muted);
  font-size:1rem;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
.k-dash-mgrip:disabled{cursor:default;opacity:1;color:var(--k-dash-acc)}
.k-dash-mname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:700}
.k-dash-mnote{flex:none;padding-right:.6rem;color:var(--k-muted);font-size:.74rem}
.k-dash-mb{display:inline-flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;padding:0;border:0;border-radius:10px;background:none;color:var(--k-text);
  font:inherit;font-size:.9rem;cursor:pointer;-webkit-tap-highlight-color:transparent}
.k-dash-mb:active:not(:disabled){background:var(--k-surface-2)}
.k-dash-mb:disabled{opacity:.28;cursor:default}
.k-dash-mb:focus-visible,.k-dash-mgrip:focus-visible{outline:2px solid var(--k-dash-acc);outline-offset:-2px}
.k-dash-mb.k-dash-mhb{width:auto;min-width:62px;height:30px;margin-right:2px;padding:0 .5rem;gap:.3rem;border-radius:99px;background:var(--k-surface-2);border:1px solid var(--k-line-2);font-size:.72rem;font-weight:700}
.k-dash-mhb>i{font-size:.7rem;color:var(--k-muted)}
.k-dash-mx{color:var(--k-muted)}
/* náhľad obsahu pod lištou – orezaný, bez interakcie (odkazy, mapa); prechod do povrchu dole = „pokračuje“ */
/* .k-home-z navyše: gridstack.min.css sa načíta až po kniha-modern.css a jeho .grid-stack>.grid-stack-item>.grid-stack-item-content
   (top = okraj, overflow-y:auto) by pri rovnakej špecificite prebil posun pod lištu – obsah by prekryl lištu s úchytom */
.k-home-z>.k-dash-mgrid>.grid-stack-item>.grid-stack-item-content{top:calc(var(--gs-item-margin-top,5px) + 44px);right:calc(var(--gs-item-margin-right,5px) + 1px);bottom:calc(var(--gs-item-margin-bottom,5px) + 1px);
  left:calc(var(--gs-item-margin-left,5px) + 1px);overflow:hidden;overflow-y:hidden;border-radius:0 0 calc(var(--k-r) - 1px) calc(var(--k-r) - 1px);pointer-events:none;-webkit-user-select:none;user-select:none;isolation:isolate}
.k-dash-mgrid>.grid-stack-item>.grid-stack-item-content::after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:1001;height:26px;background:linear-gradient(transparent,var(--k-surface));pointer-events:none}
.k-home-z>.k-dash-mgrid>.grid-stack-item>.grid-stack-item-content>.k-dash-card{max-height:none;height:auto;overflow:visible;border-radius:0}
.k-dash-mgrid .k-dash-card>:is(.k-card,.k-status){margin:0;border:0;border-radius:0;box-shadow:none}
.k-dash-mgrid .k-dash-card>.k-home-zl:first-child{margin-top:.35rem}
.k-dash-mgrid .k-dash-card[data-k-card="mapa"] #map-canvas{height:220px;min-height:0}
.k-dash-mgrid .k-dash-ph{height:100%}
.k-dash-mgrid .k-dash-phb{padding:.6rem 1rem;gap:.3rem;font-size:.8rem}
.k-dash-mgrid .k-dash-phb>i{font-size:1.1rem}
/* ťahanie / pripnuté / pridaná karta */
.k-dash-mgrid>.grid-stack-item.ui-draggable-dragging>.k-dash-mtools{border-color:var(--k-dash-acc);box-shadow:0 0 0 1px var(--k-dash-acc),0 12px 28px rgba(36,26,20,.25)}
[data-theme="night"] .k-dash-mgrid>.grid-stack-item.ui-draggable-dragging>.k-dash-mtools{box-shadow:0 0 0 1px var(--k-dash-acc),0 12px 28px rgba(0,0,0,.6)}
.k-dash-mgrid>.grid-stack-item.ui-draggable-dragging{z-index:10}
.k-dash-moving .k-dash-mgrip,.ui-draggable-dragging .k-dash-mgrip{cursor:grabbing;color:var(--k-dash-acc)}
.k-dash-mgrid>.k-dash-pinned>.k-dash-mtools{background:var(--k-surface-2)}
.k-dash-mgrid>.grid-stack-item.k-dash-new>.k-dash-mtools{border-color:var(--k-dash-acc);box-shadow:0 0 0 2px var(--k-dash-acc-soft)}

/* dock na mobile: celá šírka nad spodnou lištou (bnav) a safe-area; len Pridať kartu, ⋯, Zrušiť, Uložiť */
@media (max-width:991.98px){
  .k-dash-dock{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:calc(var(--k-bnav,64px) + env(safe-area-inset-bottom) + 22px);max-width:none;
    padding:.35rem;border-radius:14px;transform:translateY(16px)}
  .k-dash-dock.k-in{transform:none}
  body.k-nobnav .k-dash-dock{bottom:calc(env(safe-area-inset-bottom) + 8px)}
  .k-dash-dsel,.k-dash-acts,.k-dash-dock [data-k-dash-helpbtn],.k-dash-vsep{display:none}
  .k-dash-dr{flex:1;min-width:0;margin-left:0;gap:.3rem}
  .k-dash-dock [data-k-dash-cancel]{margin-left:auto}
  .k-dash-dock .k-btn{min-height:42px;white-space:nowrap}
  .k-dash-dock .k-dash-tb{width:42px;height:42px}
  .k-dash-dock .k-dash-save{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:750}
  .k-dash-dock .k-dash-add{position:static}
  .k-dash-dock .k-dash-pop{left:0;right:0;bottom:calc(100% + 8px);min-width:0;max-width:none;max-height:min(420px,calc(100vh - 240px))}
  .k-dash-dock .k-dash-mi{padding:.7rem .65rem}
  .k-dash-dock [data-k-tip]::after{display:none}
  .k-dash-dock .k-dash-coach{bottom:calc(100% + 10px)}
  /* toasty počas úprav hore pod lištou – neprekryjú panel ani ponuky Pridať kartu / ⋯ (bnav ostáva o 22 px nižšie – tlačidlo + z nej trčí) */
  html.k-dash-on .k-toast{top:calc(var(--k-demo,0px) + var(--k-top,56px) + 10px);bottom:auto}
  /* banner náhľadu domova členov – text a tlačidlo pod sebou */
  .k-dash-banner{flex-wrap:wrap;align-items:flex-start}
  .k-dash-banner>.k-grow{flex:1 1 calc(100% - 2.6rem);min-width:0}
  .k-dash-banner>.k-btn{margin-left:auto}
  html.k-dash-on .k-dash-foot{display:none}
  html.k-dash-on .k-home{padding-bottom:90px}
}
/* dlhé Uložiť (náhľad členov, predvolené pre rolu) – Pridať kartu len ikona s počtom */
@media (max-width:429.98px){
  .k-dash-dock:has(.k-dash-save:not([data-k-dash-save=""])) .k-dash-lbl{display:none}
}
@media (max-width:379.98px){
  .k-dash-dock .k-dash-lbl{display:none}
  .k-dash-mb{width:34px}
  .k-dash-mb.k-dash-mhb{min-width:54px;padding:0 .4rem}
}

@media (prefers-reduced-motion:reduce){
  .k-dash-dim,.k-dash-dock,.k-dash-grid,.k-dash-tag,.k-dash-x,.k-dash-tb,.k-dash-dock [data-k-tip]::after,
  .k-dash-grid>.grid-stack-item>.grid-stack-item-content,.k-dash-grid>.grid-stack-item>.ui-resizable-se{transition:none}
  .k-dash-pop,.k-dash-coach,.k-dash-editing .k-dash-grid>.grid-stack-item.k-dash-new>.grid-stack-item-content{animation:none}
  .k-dash-editing .k-dash-grid>.grid-stack-item>.grid-stack-item-content{transform:none!important}
  .k-dash-mgrid>.grid-stack-item{transition:none!important}
}
@media print{.k-dash-dock,.k-dash-tools,.k-dash-mtools,.k-dash-dim,.k-dash-banner{display:none!important}}
/* Posledné úlovky: náhľad fotky namiesto ikony (Mainpage/main.latte) */
.k-home-ulovky .k-home-ulimg{width:48px;height:48px;overflow:hidden;padding:0;background:var(--k-surface-2)}
.k-home-ulovky .k-home-ulimg>img{display:block;width:100%;height:100%;object-fit:cover}

/* screens/divina.css */
/* Divina (NOVÉ) – templates/modern/Divina/*.latte (prehľad, divina člena, formulár prídelu), Nastavenia/divina.latte. */
.k-dv-kpis,.k-dv-sum{margin-bottom:1rem}
.k-dv-zline{font-size:.88rem;line-height:1.35}
.k-dv-zline+.k-dv-zline{margin-top:.15rem}
.k-dv-zost{color:var(--k-ok);font-weight:600}
.k-dv-nad{color:var(--k-warn);font-weight:600}
.k-dv-card.k-dv-has{border-color:var(--k-ok)}
.k-dv-dl dd{margin-bottom:.15rem}
.k-dv-warn{margin:.5rem 0 0}
.k-dv-inline{display:inline}
.k-dv-acts{display:flex;gap:.25rem;align-items:center;justify-content:flex-end;flex-wrap:nowrap}
.k-dv-rules .k-s b{font-weight:600}
.k-dv-typy{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
/* nastavenia – pravidlo druhu */
.k-dv-rule{border:1px solid var(--k-line,rgba(0,0,0,.1));border-radius:.5rem;padding:.5rem .65rem;margin-bottom:.4rem}
.k-dv-rule.k-on{border-color:var(--k-ok)}
.k-dv-rule.k-invalid{border-color:var(--k-danger,#c0392b)}
.k-dv-rule-f{display:none;flex-wrap:wrap;gap:.5rem .75rem;align-items:flex-end;margin-top:.4rem}
.k-dv-rule.k-on .k-dv-rule-f,.k-dv-rule.k-invalid .k-dv-rule-f{display:flex}
.k-dv-rule:has(.k-dv-rule-on input:checked) .k-dv-rule-f{display:flex}
.k-dv-sf{display:flex;flex-direction:column;min-width:150px}
.k-dv-sf.k-check{flex-direction:row;min-width:0;align-self:center}
.k-dv-num{min-width:0;width:100px}
/* rýchly prídel kusa (Divina/kus.latte): desktop 2 stĺpce (kus | formulár), mobil 1 stĺpec; max. šírka stránky */
.k-dv-kus{max-width:980px}
.k-dv-kusgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}
@media (min-width:900px){.k-dv-kusgrid{grid-template-columns:minmax(260px,340px) minmax(0,1fr)}}
.k-dv-kuscard .k-card-b,.k-dv-kusform .k-card-b{padding:1rem 1.1rem 1.1rem}
.k-dv-kusform .k-card-b>*+*{margin-top:1rem}
.k-dv-kusform .k-field{margin-bottom:0}
.k-dv-kusp{margin:.75rem 0 0;border-top:1px solid var(--k-line)}
.k-dv-kusp li{padding:.5rem 0}
.k-dv-clist{max-height:min(42vh,360px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--k-line-2);border-radius:var(--k-r-sm,10px);margin-top:.5rem;background:var(--k-surface)}
.k-dv-clist li{padding:0;border-bottom:1px solid var(--k-line)}
.k-dv-clist li:last-child{border-bottom:0}
.k-dv-copt{display:flex;align-items:center;gap:.65rem;width:100%;padding:.55rem .75rem;cursor:pointer;margin:0}
.k-dv-copt input{flex:none}
.k-dv-copt .k-s{display:block}
.k-dv-clist li:has(input:checked){background:var(--k-ok-soft)}
.k-dv-vaha .k-input{max-width:180px}
.k-dv-bigacts{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.k-dv-big{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-height:92px;height:auto;padding:.7rem .8rem;font-size:1.15rem;text-align:center;white-space:normal;line-height:1.25}
.k-dv-big small{font-size:.78rem;font-weight:400;opacity:.9}
.k-dv-more summary{cursor:pointer;padding:.25rem 0;font-weight:600}
.k-dv-more .k-fgrid{margin-top:.75rem}
.k-dv-kusf{justify-content:space-between;align-items:center}
@media (max-width:480px){.k-dv-bigacts{grid-template-columns:1fr}.k-dv-big{min-height:72px}}
/* zoznam úlovkov: akcia a odznak diviny – farebná logika: nepridelený = warn, čiastočne = info, pridelený = ok */
.k-ibtn.k-dv-act{background:var(--k-ok-soft);border-color:var(--k-ok);color:var(--k-ok)}
.k-ibtn.k-dv-act:hover{background:var(--k-ok);color:#fff}
.k-ibtn.k-dv-act.k-dv-volny{background:var(--k-warn-soft);border-color:var(--k-warn);color:var(--k-warn)}
.k-ibtn.k-dv-act.k-dv-volny:hover{background:var(--k-warn);color:#fff}
.k-ibtn.k-dv-act.k-dv-ciastocne{background:var(--k-info-soft);border-color:var(--k-info);color:var(--k-info)}
.k-ibtn.k-dv-act.k-dv-ciastocne:hover{background:var(--k-info);color:#fff}
.k-ibtn.k-dv-act.k-dv-prideleny{background:var(--k-surface-2);border-color:var(--k-line-2);color:var(--k-muted)}
.k-dv-kus-badge{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
a.k-dv-kus-badge{text-decoration:none}
/* Nastavenia → Divina: voľby „každý N. ulovený kus“ len pri tomto nároku (bez :has ostanú viditeľné) */
.k-dv-rule:not(:has(select[name$="[narok]"] option[value="kazdy"]:checked)) .k-dv-kazdy{display:none}
/* predaj cudziemu (typ „predaj“): odznak, texty „do kasy“, 3. tlačidlo rýchleho prídelu, pole Kupujúci len pri tomto type (bez :has viditeľné) */
.k-badge.k-dv-predaj{background:var(--k-info-soft);border-color:var(--k-info);color:var(--k-info)}
.k-dv-pred{color:var(--k-info);font-weight:600}
.k-dv-bigacts.k-dv-c3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:480px){.k-dv-bigacts.k-dv-c3{grid-template-columns:1fr}}
.k-dv-form:has([data-k-dv-typ]:checked):not(:has([data-k-dv-typ][value="predaj"]:checked)) .k-dv-kup{display:none}
.k-dv-kasa .k-dv-kasa-sub{white-space:normal;overflow-wrap:anywhere}
.k-dv-spolu td{border-top:2px solid var(--k-line,rgba(0,0,0,.15))}
@media print{.k-dv-spolu td{border-top:2px solid #000}}
/* súhrn – klikateľný druh (divina/suhrn?druh=…): KPI karta, súčet; aktívny druh zvýraznený */
a.k-dv-druh{color:inherit;text-decoration:none;position:relative;transition:border-color .15s}
a.k-dv-druh:hover,a.k-dv-druh:focus-visible{border-color:var(--k-ok);text-decoration:none;color:inherit}
a.k-dv-druh.k-on{border-color:var(--k-ok);box-shadow:0 0 0 2px var(--k-ok-soft,rgba(46,125,50,.15))}
.k-dv-druh-i{font-size:.7rem;opacity:.5;margin-left:.25rem}
a.k-dv-druh-a{color:inherit;text-decoration:underline dotted}
.k-dv-detail{margin-bottom:1rem}
@media print{a.k-dv-druh .k-dv-druh-i{display:none}}
.k-dv-posledne{scroll-margin-top:88px}
/* mobil: hlavička .k-lg-head je pod 992 px skrytá (base/10-proto.css) → akcie Divina / Divina člena / súhrnu v rade tlačidiel (k-sm-only),
   vodorovne posúvateľnom (k-hscroll); na okraji jemné stmavenie naznačí, že rad pokračuje */
.k-dv-macts{margin:0 0 .8rem;padding-bottom:4px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;
	mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}
.k-dv-macts>.k-btn{scroll-snap-align:start;white-space:nowrap;min-height:40px}
.k-dv-macts>.k-btn:last-child{margin-right:24px}
.k-dv-macts:not(:has(*)){display:none!important}
@media print{.k-dv-macts{display:none!important}}
.k-dv-druhy{margin:-.25rem 0 1rem;line-height:1.6}
.k-dv-pozn{margin:.75rem 0 0}

/* screens/hlasenieulovku.css */
/* ==========================================================================
   Hlásenie úlovku (Hlasenieulovku_Controller) – nová téma.
   Šablóny: templates/modern/Hlasenieulovku/{default,@tableUlovky,add,update,item}.latte (+ apac wrappery).
   Triedy .k-ul-err / .k-ul-mh / .k-ul-grid / .k-ul-act používa aj formulár lístka o pôvode (screens/listokpovod.css).
   ========================================================================== */

/* ---------- zoznam ---------- */
.k-ul-mact{display:flex;gap:.5rem;margin-bottom:.75rem}
.k-ul-allsez{padding:0 1rem 1rem}
/* Všetky / Moje + čipy kategórií zveri (prototyp P.ulovky) */
.k-ul-quick{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.75rem}
.k-ul-seg{flex-wrap:nowrap}
.k-ul-kat{align-items:center}
.k-ul-kat a.k-chip:not(.k-on),.k-ul-kat a.k-chip:not(.k-on):is(:hover,:focus,:active,:visited){color:var(--k-text);text-decoration:none}
@media (min-width:992px){
  .k-ul-quick{flex-direction:row;align-items:center;gap:.75rem}
  .k-ul-seg{flex:0 1 300px}
  .k-ul-kat{flex-wrap:wrap;overflow:visible}
}
/* indikátory: export do Polovstatu (decentne pri dátume), chladiace zariadenie (vločka), poznámka */
.k-ul-exp{color:var(--k-muted);font-size:.72rem;margin-left:.4rem;opacity:.75;cursor:help;vertical-align:.05em}
.k-ul-exp:hover{opacity:1;color:var(--k-info)}
.k-ul-cold{color:var(--k-info);font-size:.8rem}
.k-kc .k-t .k-ul-cold,.k-kc .k-t .k-ul-exp{margin-left:.35rem}
.k-ul-who,.k-ul-who:is(:hover,:focus,:active,:visited),.k-ul-zl,.k-ul-zl:is(:hover,:focus,:active,:visited){color:inherit;text-decoration:none}
.k-ul-zl:is(:hover,:focus-visible){text-decoration:underline}
.k-ul-note{color:var(--k-muted);cursor:help;font-size:.8rem}
.k-ul-zn .fa-tag{color:var(--k-muted);font-size:.75rem}
/* ---------- prepracovaný zoznam (Jakub): skupiny po dňoch, Druh s miniatúrou, stĺpec Divina, akcie = stav + Upraviť + ⋯ ---------- */
/* hlavička dňa (tr.k-ul-day > th[colspan]) – nie je klikateľná */
.k-table tr.k-ul-day th{background:var(--k-surface-2);color:var(--k-text);text-transform:none;letter-spacing:0;font-size:.82rem;font-weight:600;padding:.5rem 1rem;border-top:1px solid var(--k-line)}
.k-table tbody tr.k-ul-day:first-child th{border-top:0}
.k-table tbody tr.k-ul-day:hover{background:none}
.k-ul-dayn{color:var(--k-muted);font-weight:400}
/* stĺpce: čas úzky, lokalita orezaná, čísla vpravo */
.k-table .k-ul-cas{width:1%;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--k-muted)}
.k-table td.k-ul-cas{color:var(--k-text);font-weight:600}
.k-table td.k-ul-lok{max-width:14rem;min-width:6rem;color:var(--k-muted)}
.k-table td.k-ul-whoc{max-width:13rem}
/* Druh: miniatúra / ikona + názov tučne + meta */
.k-ul-dr{display:flex;align-items:center;gap:.6rem;min-width:0}
.k-ul-mini,.k-ul-noph{position:relative;width:38px;height:38px;flex:none;border-radius:9px;overflow:hidden}
.k-ul-mini{padding:0;border:1px solid var(--k-line-2);background:var(--k-surface-2);cursor:zoom-in}
.k-ul-mini img{display:block;width:100%;height:100%;object-fit:cover}
.k-ul-mini:focus-visible{outline:2px solid var(--k-ok);outline-offset:2px}
.k-ul-minin{position:absolute;right:1px;bottom:1px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:rgba(0,0,0,.65);color:#fff;font-size:.6rem;font-weight:700;line-height:15px;text-align:center}
.k-ul-noph{display:flex;align-items:center;justify-content:center;background:var(--k-cream);color:var(--k-brand-2);font-size:.9rem}
[data-theme="night"] .k-ul-noph{color:var(--k-sand)}
.k-ul-zt{font-weight:700;line-height:1.25}
.k-ul-zt .k-ul-cold,.k-ul-zt .k-ul-note{margin-left:.35rem;font-weight:400}
.k-ul-meta{margin-top:.12rem}
/* Divina – pilulka stavu kusa (nepridelený = warn, ½ = info, pridelený = ok, viac ako kus = busy); hospodár: odkaz „Prideliť“ */
.k-dv-pill,.k-dv-pill:is(:hover,:focus,:active,:visited){display:inline-flex;align-items:center;gap:.35rem;max-width:15rem;padding:.2rem .6rem;border-radius:999px;font-size:.76rem;font-weight:600;line-height:1.35;text-decoration:none;border:1px solid transparent;white-space:nowrap}
.k-dv-pill span{overflow:hidden;text-overflow:ellipsis}
.k-dv-pill.k-dv-p-volny{background:var(--k-warn-soft);color:var(--k-warn);border-color:color-mix(in srgb,var(--k-warn) 35%,transparent)}
.k-dv-pill.k-dv-p-ciastocne{background:var(--k-info-soft);color:var(--k-info);border-color:color-mix(in srgb,var(--k-info) 35%,transparent)}
.k-dv-pill.k-dv-p-prideleny{background:var(--k-ok-soft);color:var(--k-ok);border-color:color-mix(in srgb,var(--k-ok) 35%,transparent)}
.k-dv-pill.k-dv-p-nad{background:var(--k-busy-soft);color:var(--k-busy);border-color:color-mix(in srgb,var(--k-busy) 35%,transparent)}
a.k-dv-pill:is(:hover,:focus-visible){filter:brightness(.95);border-color:currentColor;text-decoration:none}
a.k-dv-pill:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.k-table td.k-ul-dvc{width:1%;white-space:nowrap}
/* akcie: stavové ikony (bez rámika) + Upraviť + ⋯; pevné sloty → ikony v stĺpcoch pod sebou */
.k-ul-acts{display:inline-flex;gap:.3rem;justify-content:flex-end;align-items:center;vertical-align:middle}
.k-ul-slot{display:inline-block;width:36px;height:36px;flex:none}
.k-ul-slot.k-ul-slot-st{width:26px}
.k-ul-st,.k-ul-st:is(:hover,:focus,:active,:visited){display:inline-flex;align-items:center;justify-content:center;width:26px;height:36px;flex:none;color:var(--k-muted);font-size:.85rem;text-decoration:none}
.k-ul-st-exp{cursor:help}
.k-ul-st-lp,.k-ul-st-lp:is(:hover,:focus,:active,:visited){color:var(--k-info)}
.k-ul-st-lp:focus-visible{outline:2px solid var(--k-info);outline-offset:1px;border-radius:6px}
.k-ul-unexp{white-space:nowrap}
.k-ul-del{color:var(--k-busy)} /* Prehladlovu/@ulovky.latte */
/* ponuka ⋯ – [popover] v top layer (neoreže ju tabuľka); pozíciu nastaví screens/hlasenieulovku.js podľa tlačidla */
.k-pop.k-ul-pop{position:fixed;inset:auto;margin:0;min-width:240px;max-width:min(320px,calc(100vw - 16px));bottom:auto;left:auto;right:auto;padding:.35rem;overflow:visible}
.k-pop.k-ul-pop:not(:popover-open):not(.k-open){display:none}
.k-ul-pop .k-pop-i{white-space:normal}
.k-ul-morebtn[aria-expanded="true"]{background:var(--k-surface-2);border-color:var(--k-ok)}
/* kartový režim (úzky kontajner, mobil): karta = miniatúra/ikona, druh + čas, člen · lokalita, spôsob · zn. · váha, pilulka diviny;
   pod tým stav + Upraviť + ⋯ vpravo; hlavička dňa cez celú šírku */
.k-ul-th{position:relative;width:44px;height:44px;flex:none;padding:0;border:0;border-radius:11px;overflow:hidden;background:var(--k-surface-2)}
.k-ul-th img{display:block;width:100%;height:100%;object-fit:cover}
.k-ul-thn{position:absolute;right:2px;bottom:2px;min-width:16px;height:16px;padding:0 3px;border-radius:8px;background:rgba(0,0,0,.6);color:#fff;font-size:.62rem;font-weight:700;line-height:16px;text-align:center}
.k-ul-kcas{float:right;margin-left:.5rem;font-size:.8rem;font-weight:600;color:var(--k-muted);font-variant-numeric:tabular-nums}
.k-ul-kdv{margin-top:.35rem}
.k-ul-kdv.k-ul-kdv-e:empty{margin-top:0}
@container ktw (max-width:559.98px){
  .k-table.k-cards tr.k-ul-day{display:block;padding:0;border-top:0}
  .k-table.k-cards tr.k-ul-day th{display:block;padding:.5rem 1rem;border-top:1px solid var(--k-line)}
  .k-table.k-cards tbody tr.k-ul-day+tr{border-top:0}
  /* akcie v pravom dolnom rohu karty, v riadku s pilulkou diviny (nie samostatný riadok) */
  .k-table.k-cards.k-ul-tbl tr.k-ul-row{position:relative}
  .k-table.k-cards.k-ul-tbl td.k-kc{flex:1 1 100%;align-items:flex-start}
  .k-table.k-cards.k-ul-tbl td.k-ka{position:absolute;right:1rem;bottom:.7rem;max-width:none;background:none}
  .k-table.k-cards.k-ul-tbl td.k-ka:not(:has(.k-ibtn,.k-btn,.k-ul-st)){display:none}
  /* miesto pre akcie podľa ich počtu: Upraviť + ⋯ (2 × 36 px), + stavové ikony (26 px) */
  .k-table.k-cards.k-ul-tbl tr.k-ul-row:has(td.k-ka :is(.k-ibtn,.k-btn,.k-ul-st)) .k-ul-kdv{display:flex;align-items:center;min-height:36px;margin-top:.4rem;padding-right:5.5rem}
  .k-table.k-cards.k-ul-tbl tr.k-ul-row:has(td.k-ka .k-ul-st) .k-ul-kdv{padding-right:7.5rem}
  .k-table.k-cards.k-ul-tbl tr.k-ul-row:has(td.k-ka .k-ul-st ~ .k-ul-st) .k-ul-kdv{padding-right:9.5rem}
  .k-table.k-cards.k-ul-tbl tr.k-ul-row:has(td.k-ka .k-ul-unexp) .k-ul-kdv{padding-right:8.5rem}
  .k-ul-acts{gap:.4rem}
  .k-ul-slot{display:none}
  .k-dv-pill{max-width:100%}
}

/* export (panel) */
.k-ul-exf .k-check{align-items:flex-start}
.k-ul-exf .k-check input{margin-top:.1rem}
.k-ul-exb{display:flex;gap:.5rem}
.k-ul-exb .k-btn{flex:1}
.k-ul-exf .k-hint{margin:.6rem 0 0}

/* ---------- formulár úlovku (nový / úprava) – aj v modale snippet--addUlovok ---------- */
.k-ul-mh{display:none}
#universalModal .k-ul-mh{display:block;font-size:1.1rem;font-weight:800;margin:0 0 1rem;padding-right:2.6rem;color:var(--k-text)}
#universalModal :is(.k-ulf,.k-lpf){padding:1rem}
.k-ul-grid{align-items:start}
.k-ul-err:empty{display:none}
.k-ul-err{margin-bottom:1rem;color:var(--k-busy);font-weight:600}
.k-ul-rules{margin:-.5rem 0 1rem}
/* povinné podľa druhu zveri (data-k-ul-rules, screens/hlasenieulovku.js) */
.k-ul-dep.k-ul-on .k-label::after{content:" *";color:var(--k-busy)}
.k-ul-fhint{margin:-.4rem 0 .9rem}
.k-ulf .k-check{margin-top:.25rem}
/* pôvodné pole formulára pod vylepšeným ovládačom (čipy, segment, dlaždica, submit) – ostáva v DOM a v POST */
.k-ul-hid{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:0}
/* zver v dvoch krokoch (1 Kategória → 2 Druh, súhrn Kategória › Druh) – komponenty .k-pstep / .k-cats / .k-ptiles / .k-picked
   z prototypu (base/10-proto.css); spôsob, spotreba diviny = čipy s ✓; segment pohlavia */
.k-ul-ui .k-chip[disabled],.k-ul-ui .k-ptile[disabled]{opacity:.45;cursor:not-allowed}
.k-ul-ui :is(.k-ptiles,.k-picked){margin-bottom:0}
.k-ul-ui .k-ul-cats{margin-bottom:.9rem}
.k-ul-ui .k-ptile{font-family:inherit}
.k-ul-enh[data-k-ul-ui="zver"] .k-ul-ui{margin-bottom:.15rem}
/* zver: nadpis karty = popis (prototyp bez popisu poľa) – popis ostáva pre čítačky */
.k-ul-enh[data-k-ul-ui="zver"] .k-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.k-ul-enh .k-seg button{min-height:44px}
/* počet ks – vždy 1 (readonly) */
.k-ui .k-ul-ks .k-field input[readonly]:not(.k-input):not(.k-select),.k-ui .k-ul-ks .k-field input.k-input[readonly]{background:var(--k-surface-2)}
/* stepper počtu rán (pôvodný input vnútri .k-stepper) */
.k-ui .k-field .k-stepper.k-ul-stepper input.k-ul-stin{min-height:0;border:0;border-radius:0;box-shadow:none;background:transparent;padding:0 .3rem;text-align:center;font-weight:800;font-size:1.05rem}
.k-ul-stepper button{color:var(--k-text);min-height:44px}
.k-ul-stepper:focus-within{border-color:var(--k-ok);box-shadow:0 0 0 3px var(--k-ok-soft)}
/* fotky – dlaždice 88×88 (prototyp .k-photo), náhľad + × */
.k-ul-photos{margin-bottom:1rem}
.k-ul-photos:not(.k-ul-enh){display:block}
.k-ul-photos.k-ul-enh .k-ul-file{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
.k-ul-photos.k-ul-enh .k-ul-fdel{display:none}
.k-ul-pslot{position:relative}
.k-ul-photos:not(.k-ul-enh) .k-ul-pslot+.k-ul-pslot{margin-top:.25rem}
.k-ul-tile:empty{display:none}
.k-ul-pick{padding:0;font-size:1.1rem}
.k-ul-pick:focus-visible{outline:2px solid var(--k-ok);outline-offset:2px}
.k-ul-pick:has(img){border-style:solid}
.k-ui .k-ul-px.k-ibtn.k-sm{position:absolute;top:4px;right:4px;width:28px;height:28px;min-height:0;border-radius:8px;font-size:.8rem;background:var(--k-surface)}
.k-ul-px::after{content:"";position:absolute;inset:-8px}
.k-ul-photos:not(.k-ul-enh) .k-ul-pexist{display:none}
/* tlačidlá: Zrušiť úzke, hlavné široké (prototyp .k-sticky-f max-width 640px vpravo) */
.k-ul-act{justify-content:flex-end}
.k-actions.k-ul-act>.k-ul-cancel{flex:0 0 auto}
.k-ul-act>.k-ul-hid{flex:none}
.k-ul-fdel{align-self:center}
@media (min-width:992px){
  .k-ul-act{max-width:640px;margin-left:auto}
  .k-actions.k-ul-act>:not(.k-ul-cancel):not(.k-ul-hid){flex:1 1 0;min-width:140px}
  .k-ul-act .k-ul-save:not(.k-ul-hid){display:flex}
  .k-ul-act .k-ul-save:not(.k-ul-hid)>*{flex:1}
}

/* ---------- detail ---------- */
.k-ul-item .k-card-h{gap:.75rem}
.k-ul-ico{width:52px;height:52px;border-radius:14px;background:var(--k-cream);color:var(--k-brand-2);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex:none}
[data-theme="night"] .k-ul-ico{color:var(--k-sand)}
.k-card-h .k-ul-zver{font-size:1.2rem}
.k-ul-zver .k-ul-cold,.k-ul-zver .k-ul-exp{font-size:.95rem;margin-left:.15rem;vertical-align:.08em}
.k-ul-dl{grid-template-columns:minmax(8.5rem,30%) 1fr}
.k-ul-na{font-weight:400}
.k-ul-pozn{white-space:pre-line;overflow-wrap:anywhere}
.k-ul-strelec{color:var(--k-ok);font-weight:700;text-decoration:none}
.k-ul-strelec:is(:hover,:focus-visible){text-decoration:underline}
/* fotografie – mriežka náhľadov (1–3 v riadku), klik = galéria v paneli ([data-k-photos], base/10-shell.js) */
.k-ul-gal{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}
.k-ul-gal.k-ul-gal1{grid-template-columns:1fr}
.k-ul-gal.k-ul-gal3{grid-template-columns:repeat(3,1fr)}
.k-ul-ph{display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;border-radius:10px;overflow:hidden;background:var(--k-surface-2);cursor:zoom-in}
.k-ul-ph img{display:block;width:100%;height:100%;object-fit:cover}
.k-ul-ph:focus-visible{outline:2px solid var(--k-ok);outline-offset:2px}
.k-ul-map{height:280px;border-radius:16px;overflow:hidden}
.k-ul-hd{margin-top:.2rem}
.k-ul-hd summary{cursor:pointer}
.k-ul-hdl{margin-top:.4rem}
.k-ul-hdl dd{font-weight:400}
@media (max-width:767.98px){.k-ul-acts .k-btn{flex:0 1 auto}}

/* bodovanie C.I.C (CHPT) na detaile – HTML z ChovatelskaPrehliadka_Controller::ulovokCardHtml() (Bootstrap markup: .card > .card-header
   + .card-body s .badge a .btn) v k-karte; vnútorná BS karta bez vlastného rámu (Bootstrap 4 CSS sa na novej obrazovke nenačíta) */
.k-ul-cicb :where(.card){border:0;background:none;box-shadow:none;margin:0}
.k-ul-cicb :where(.card-header){background:none;border:0;padding:0 0 .6rem;font-size:1rem}
.k-ul-cicb :where(.card-header) i{color:var(--k-muted);margin-right:.25rem}
.k-ul-cicb :where(.card-body){padding:0;display:flex;flex-wrap:wrap;gap:.6rem 1rem;justify-content:space-between;align-items:center}
.k-ul-cicb :where(.badge){display:inline-block;padding:.2rem .5rem;border-radius:6px;font-weight:700;background:var(--k-surface-2)}
.k-ul-cicb :where(.text-muted){color:var(--k-muted)}
.k-ul-cicb :where(.btn){display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:.45rem .85rem;margin:.15rem .1rem;border:1px solid var(--k-line-2);border-radius:10px;
  background:var(--k-surface);color:var(--k-text);font-weight:600;font-size:.88rem;text-decoration:none}
.k-ul-cicb :where(.btn-primary){background:var(--k-ok);border-color:var(--k-ok);color:#fff}
.k-ul-cicb :where(.btn-outline-danger){color:var(--k-busy)}

/* screens/kvota.css */
/* Kvóta lovu člena (NOVÉ) – components/kvota.latte (Domov, Menu, detail člena), Clenovia/kvota.latte (prehľad hospodára),
   Nastavenia/kvota.latte (nastavenie). Prototyp: pages-c.js KV (domov, menu, clen, nastavenia-kvota.html). */
.k-kvota-num{font-size:1.05rem;margin-bottom:.45rem}
.k-kvota-num b{font-size:1.6rem;line-height:1}
.k-kvota-link,.k-kvota-link:is(:hover,:focus,:visited){color:inherit;text-decoration:none!important;display:inline-flex;align-items:baseline;gap:.35rem}
.k-kvota-link:hover b{color:var(--k-ok)}
.k-kvota-prog{height:10px}
.k-kvota-prog span{background:var(--k-warn)}
.k-kvota-prog span.k-kvota-done{background:var(--k-ok)}
.k-kvota-hint{margin:.55rem 0 0}
.k-kvota.k-kvota-ok{border-color:var(--k-ok)}
.k-kvota-mlist{margin-bottom:.9rem}
.k-kvota-mrow small{display:block}
.k-kvota-mrow .k-kvota-prog{display:block;height:6px;margin-top:.3rem;max-width:220px}
/* prehľad hospodára */
.k-kvota-sum{margin-bottom:1rem}
.k-kvota-row .k-kvota-prog{margin-top:.3rem;max-width:260px}
.k-kvota-cell{min-width:140px}
/* nastavenia */
.k-kvota-zver{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.35rem 1rem}
.k-kvota-kat{margin:.6rem 0 .25rem;font-weight:700;font-size:.85rem;color:var(--k-muted)}
.k-kvota-preview{margin-top:1rem}

/* screens/listokpovod.css */
/* ==========================================================================
   Lístok o pôvode zveri (ListokPovod_Controller) – nová téma, templates/modern/ListokPovod/@form.latte.
   Spoločné triedy formulára (.k-ul-err, .k-ul-mh, .k-ul-grid, .k-ul-act, .k-ul-cancel, .k-ul-save, .k-ul-hid) sú v screens/hlasenieulovku.css.
   ========================================================================== */
.k-lpf .k-dl dd{overflow-wrap:anywhere}
.k-lp-nhint{margin:-.5rem 0 1rem}
.k-lp-exr{margin-top:.6rem;flex-wrap:wrap}

/* --------------------------------------------------------------------------
   Žiadanka ŠVPS – AMO / KMO / trichinelóza (templates/modern/ListokPovod/ziadanka*.latte, NOVÉ)
   -------------------------------------------------------------------------- */
.k-zs-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr);align-items:start}
@media (min-width:992px){.k-zs-grid{grid-template-columns:minmax(240px,320px) minmax(0,1fr)}.k-zs-grid>.k-stack:first-child .k-fgrid{grid-template-columns:minmax(0,1fr)}}
.k-zs-set{border:0;padding:0;margin:0 0 1rem;min-width:0}
.k-zs-opts{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem}
.k-zs-opts .k-check{margin:0}
.k-zs-short{max-width:14rem}
.k-zs-gps{gap:.5rem}
.k-zs-acts{margin-top:.25rem}
.k-zs-del{margin:.25rem 0 0}
.k-zs-save{flex-wrap:wrap;gap:.5rem}
.k-zs-filter .k-card-b{align-items:end}
.k-zs-fbtn{display:flex;align-items:flex-end}
.k-zs-qv{display:flex;gap:.25rem;align-items:center;flex-wrap:wrap}
.k-zs-qv .k-select{width:auto;min-width:0;padding-block:.25rem;font-size:.85rem}
.k-zs-cb{width:2rem}
.k-zs-kcb{margin-top:.35rem;font-size:.85em}
.k-zs-lplink{margin-left:.25rem}
@media (max-width:575.98px){.k-zs-save .k-btn{flex:1 1 auto}}

/* --------------------------------------------------------------------------
   Lístky o pôvode – evidencia tlače a hromadná tlač (templates/modern/Nastavenia/listokPovod.latte, NOVÉ; JS [data-k-lp-list])
   vytlačený = červené PDF + zelený štítok s dátumom, nevytlačený = oranžový štítok; zoznam úlovkov: .k-ul-st-lp.k-lp-tl
   -------------------------------------------------------------------------- */
.k-lp-tbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start;justify-content:space-between}
.k-lp-fil{flex:0 1 auto}
.k-lp-warn{color:var(--k-warn)!important;font-weight:800}
.k-lp-datum{position:relative}
.k-lp-datum>summary{list-style:none;cursor:pointer}
.k-lp-datum>summary::-webkit-details-marker{display:none}
.k-lp-dform{margin:.5rem 0 0;min-width:min(22rem,92vw)}
@media (min-width:576px){.k-lp-datum[open] .k-lp-dform{position:absolute;right:0;z-index:30;box-shadow:var(--k-shadow)}}
.k-lp-dacts{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.k-lp-selbar{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:.6rem}
.k-lp-cb{width:2rem}
.k-lp-cb input,.k-lp-kcb input{width:1.15rem;height:1.15rem}
.k-lp-kcb{margin-top:.35rem;font-size:.85em}
.k-lp-kst{margin-top:.2rem}
[data-k-lp-tl="1"] .k-lp-nie,[data-k-lp-tl="0"] .k-lp-ano{display:none}
[data-k-lp-tl="1"] .k-lp-pdf{color:#fff;background:var(--k-busy);border-color:transparent}
[data-k-lp-tl="0"] .k-lp-pdf{color:var(--k-muted)}
@media (max-width:575.98px){.k-lp-selbar .k-grow{display:none}.k-lp-selbar>.k-btn{flex:1 1 auto}}
.k-ul-st-lp.k-lp-tl,.k-ul-st-lp.k-lp-tl:is(:hover,:focus,:visited){color:var(--k-busy)}

/* Nastavenia → Lístky o pôvode → Druhy zveri (tab=druhy): kategória s „celá kategória“ vpravo */
.k-lpd-kat{display:flex;align-items:center;gap:.5rem;width:100%}
.k-lpd-all{margin-left:auto;font-weight:400}

/* screens/mailing.css */
/* Mailing / Notifikácie (NOVÉ) – Mailing_Controller (nastavenia, denník, detail, upozornenia člena), Odhlasenie_Controller. */
.k-ml-tabs{flex-wrap:wrap}
/* obal stránok mailingu – NIE .k-ml (to je utilita margin-left:auto v 10-proto.css, odsunula stránku doprava) */
.k-mlw{max-width:1180px}
.k-ml-kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;text-align:center}
.k-ml-kpi>*{background:var(--k-surface-2);border-radius:var(--k-r);padding:.7rem .4rem}
.k-ml-kpi b{display:block;font-size:1.6rem;line-height:1.1;font-variant-numeric:tabular-nums}
.k-ml-kpi span{font-size:.8rem;color:var(--k-muted)}
.k-ml-rule{border:1px solid var(--k-line);border-radius:var(--k-r);padding:.7rem .9rem;margin-bottom:.6rem;background:var(--k-surface)}
.k-ml-rule.k-on{border-color:var(--k-ok);box-shadow:inset 3px 0 0 var(--k-ok)}
.k-ml-rule .k-check .k-sub,.k-ml-pref .k-sub{display:block;font-weight:400}
.k-ml-rule-f{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:flex-end;margin:.6rem 0 0 2rem}
.k-ml-sf{display:flex;flex-direction:column;gap:.2rem;min-width:7rem}
.k-ml-sf.k-check{flex-direction:row;align-items:center}
.k-ml-sf .k-input{max-width:11rem}
/* NOVÉ: výber funkcií príjemcov pri pravidle (nový úlovok) */
.k-ml-komu{margin:.6rem 0 0 2rem;padding:0;border:0;min-width:0}
.k-ml-port{max-width:6.5rem}
.k-ml-pref{padding:.7rem 0;border-bottom:1px solid var(--k-line)}
.k-ml-alloff{border-bottom:0;margin-top:.4rem}
.k-ml-steps{list-style:none;padding:0;margin:0 0 .8rem}
.k-ml-steps li{padding:.35rem 0}
.k-ml-steps li i{width:1.2rem}
.k-ml-ok{box-shadow:inset 4px 0 0 var(--k-ok)}
.k-ml-bad{box-shadow:inset 4px 0 0 var(--k-busy)}
.k-ml-tests{margin-top:.8rem;flex-wrap:wrap}
.k-ml-tests form{display:inline}
.k-ml-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}
.k-ml-fix{margin-top:.35rem}
.k-ml-fix code{display:block;white-space:pre-wrap;word-break:break-all;background:var(--k-surface-2);padding:.4rem .55rem;border-radius:8px;font-size:.82rem;user-select:all}
.k-ml-dl{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:0 0 .8rem}
.k-ml-dl dt{color:var(--k-muted);font-weight:600;font-size:.86rem}
.k-ml-dl dd{margin:0;word-break:break-word}
.k-ml-preview{width:100%;height:560px;border:1px solid var(--k-line);border-radius:var(--k-r);background:#fff}
.k-ml-text{white-space:pre-wrap;font-size:.85rem;background:var(--k-surface-2);padding:.8rem;border-radius:var(--k-r)}
.k-ml-pad{padding:.8rem 1rem;margin:0}
.k-ml-search{display:flex;gap:.5rem}
.k-ml-search .k-input{flex:1}
.k-inline{display:inline}
@media (max-width:640px){
  .k-ml-rule-f{margin-left:0}
  .k-ml-komu{margin-left:0}
  .k-ml-preview{height:420px}
  .k-ml-dl{grid-template-columns:1fr}
  .k-ml-dl dt{margin-top:.3rem}
}
.k-mlw .k-sub:not(.k-s2):not(.k-s3):not(.k-s4),.k-ml-detail .k-sub{display:block;font-size:.84rem;color:var(--k-muted);font-weight:400;line-height:1.4}
.k-ml-rule .k-check .k-sub,.k-ml-pref .k-sub{margin-top:.15rem}

/* ---------- NOVÉ: podkarty Nastavení (Prehľad / Pravidlá / …) – čipy pod hlavnými kartami, aby nevznikli dve rovnaké lišty ---------- */
.k-ml-sub{gap:.4rem}
.k-ml-sub .k-chip{min-height:36px;padding:.3rem .8rem;font-size:.88rem;font-weight:650;text-decoration:none;color:var(--k-muted)}
.k-ml-sub .k-chip:is(:hover,:focus-visible){color:var(--k-text);text-decoration:none}
.k-ml-sub .k-chip.k-on{color:var(--k-ok)}

/* ---------- NOVÉ: stav spustenia automatických upozornení (Mailing/@spustenie.latte) ---------- */
.k-ml-act{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.1rem;border-left:4px solid var(--k-warn)}
.k-ml-act.k-ml-act-on{border-left-color:var(--k-ok)}
.k-ml-act-ic{flex:none;width:2.75rem;height:2.75rem;border-radius:12px;display:grid;place-items:center;font-size:1.15rem;background:var(--k-warn-soft);color:var(--k-warn)}
.k-ml-act-on .k-ml-act-ic{background:var(--k-ok-soft);color:var(--k-ok)}
.k-ml-act-k{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--k-muted)}
.k-ml-act h2{margin:.1rem 0 .3rem;font-size:1.12rem;line-height:1.3}
.k-ml-act-p{margin:0;color:var(--k-text);line-height:1.45;max-width:72ch}
.k-ml-act-l{list-style:none;margin:.55rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem 1.25rem;font-size:.88rem;color:var(--k-muted)}
.k-ml-act-l i{color:var(--k-ok);margin-right:.25rem}
.k-ml-act-l .fa-clock{color:var(--k-warn)}
.k-ml-actn.k-ok{background:var(--k-ok-soft)}
.k-ml-actn.k-ok>i{color:var(--k-ok)}

/* ---------- NOVÉ: prehľad – Odosielanie (definícia) + Posledných 7 dní rovnako vysoké ---------- */
.k-ml-sum{align-items:stretch}
.k-ml-sum>.k-card{display:flex;flex-direction:column}
.k-ml-sum>.k-card>.k-card-b{flex:1;display:flex;flex-direction:column;gap:.6rem}
.k-ml-def{grid-template-columns:minmax(8.5rem,max-content) 1fr;gap:.55rem 1rem;margin:0}
.k-ml-def dd{line-height:1.4}
.k-ml-def dd .k-sub{display:block}
.k-ml-addr{overflow-wrap:anywhere}
.k-ml-def dd>.k-ml-addr:not(.k-sub){color:var(--k-text)}
.k-ml-week .k-ml-kpi{flex:1;align-items:stretch}
.k-ml-week .k-ml-kpi>*{display:flex;flex-direction:column;justify-content:center;min-height:5.5rem}
a.k-ml-kpi-i,a.k-ml-kpi-i:is(:hover,:focus,:visited){color:inherit;text-decoration:none}
a.k-ml-kpi-i:hover{background:color-mix(in srgb,var(--k-ok) 8%,var(--k-surface-2))}
a.k-ml-kpi-i:focus-visible{outline:2px solid var(--k-ok);outline-offset:2px}
.k-ml-kpi-i.k-tx-busy span{color:var(--k-busy)}
.k-ml-last{margin:0;font-size:.86rem}
.k-ml-last i{color:var(--k-muted);margin-right:.2rem}

/* ---------- NOVÉ: Čo kniha posiela – kanál, komu, stav ---------- */
.k-ml-evs>li.k-ml-ev{align-items:flex-start;gap:.8rem;padding:.8rem 1rem}
.k-ml-ev>.k-badge{margin-top:.15rem;flex:none}
.k-ml-ev-ic{flex:none;width:2.1rem;height:2.1rem;border-radius:10px;display:grid;place-items:center;background:var(--k-surface-2);color:var(--k-muted)}
.k-ml-ev-off b{color:var(--k-muted)}
.k-ml-meta{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}
.k-ml-ch{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:650;line-height:1.2;padding:.18rem .5rem;border-radius:99px;background:var(--k-surface-2);color:var(--k-muted);white-space:nowrap}
.k-ml-ch i{font-size:.85em}
.k-ml-who{background:transparent;border:1px solid var(--k-line)}
a.k-ml-chl,a.k-ml-chl:is(:hover,:focus,:visited){color:var(--k-ok);text-decoration:none;background:transparent}
a.k-ml-chl:hover{text-decoration:underline}

/* denník – hľadanie v riadku */
.k-ml-search .k-btn{flex:none}

@media (max-width:640px){
  .k-ml-act{gap:.7rem;padding:.9rem}
  .k-ml-act-ic{width:2.1rem;height:2.1rem;font-size:.95rem;border-radius:10px}
  .k-ml-act h2{font-size:1.02rem}
  .k-ml-act-l{flex-direction:column}
  .k-ml-sub{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:-1rem;margin-right:-1rem;padding:0 1rem}
  .k-ml-sub::-webkit-scrollbar{display:none}
  .k-ml-sub .k-chip{flex:none}
  .k-ml-def{grid-template-columns:1fr;gap:.15rem}
  .k-ml-def dd{margin-bottom:.45rem}
  .k-ml-evs>li.k-ml-ev{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.7rem;row-gap:0;padding:.75rem .9rem}
  .k-ml-ev>.k-badge{grid-column:2;justify-self:start;margin-top:.45rem}
  .k-ml-ev-ic{width:1.8rem;height:1.8rem}
  .k-ml-week .k-ml-kpi>*{min-height:4.5rem}
}

/* ---------- NOVÉ: denník – kanál Všetko / E-mail / Telefón, filter člena, riadky upozornení na telefón (Revir\Push\PushHistory) ---------- */
.k-ml-chbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin:0 0 .75rem}
.k-ml-chan{align-items:center}
.k-ml-chan-l{font-size:.8rem;font-weight:700;color:var(--k-muted);margin-right:.1rem}
.k-ml-chan .k-chip i{font-size:.9em}
.k-ml-member{display:inline-flex;align-items:center;font-size:.85rem;padding:.2rem .3rem .2rem .7rem;gap:.45rem;border-radius:99px;color:var(--k-text);background:var(--k-surface)}
.k-ml-member>i{color:var(--k-muted)}
.k-ml-member-x{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:99px;color:var(--k-muted);text-decoration:none}
.k-ml-member-x:is(:hover,:focus-visible){background:var(--k-surface-2);color:var(--k-text);text-decoration:none}
.k-ml-chi{width:1.15em;margin-right:.15rem;text-align:center;color:var(--k-muted);font-size:.9em}
.k-ml-push .k-ml-chi{color:var(--k-info)}
.k-ml-body{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:.1rem}
.k-ml-err{max-width:16rem;white-space:normal;overflow-wrap:anywhere;font-size:.78rem}
.k-mlw .k-ml-err.k-ml-err{color:var(--k-busy)}
.k-ml-chav{flex:none;width:2.2rem;height:2.2rem;border-radius:10px;display:grid;place-items:center;background:var(--k-surface-2);color:var(--k-muted)}
.k-ml-chav.k-ml-chav-p{background:var(--k-info-soft);color:var(--k-info)}
/* detail upozornenia (Mailing/upozornenie.latte) – náhľad ako na telefóne */
.k-ml-hist{display:inline-block;margin-top:.25rem;font-size:.86rem}
.k-ml-pushprev{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem .95rem;border:1px solid var(--k-line);border-radius:14px;background:var(--k-surface-2);max-width:30rem}
.k-ml-pushprev-ic{flex:none;width:2.2rem;height:2.2rem;border-radius:10px;display:grid;place-items:center;background:var(--k-ok-soft);color:var(--k-ok)}
.k-ml-pushprev-t{display:block;line-height:1.3}
.k-ml-pushprev-b{margin:.2rem 0 0;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere}
.k-ml-pushurl{margin:.9rem 0 0;font-size:.88rem}
@media (max-width:640px){
  .k-ml-chbar{gap:.5rem}
  .k-ml-chan{flex-wrap:nowrap}
  .k-ml-chan .k-chip{flex:none}
}

/* ---------- NOVÉ: Pravidlá → Nová návšteva revíru (navsteva.nova, @navstevaPravidla.latte) a profil → Upozornenia ---------- */
.k-ml-nv{margin:.6rem 0 0 2rem}
.k-ml-nv-hint{margin:0 0 .5rem}
.k-ml-nv-sami{margin-bottom:.6rem}
.k-ml-nv-rule{border:1px dashed var(--k-line-2);border-radius:var(--k-r);padding:.6rem .8rem;margin:0 0 .6rem;min-width:0}
.k-ml-nv-rule legend{padding:0 .3rem;margin:0}
.k-ml-nv-rule.k-ml-nv-off{opacity:.55}
.k-ml-nv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.7rem 1.2rem}
.k-ml-nv-f{min-width:0;display:flex;flex-direction:column;gap:.35rem}
.k-ml-nv-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.k-ml-nv-chips:empty{display:none}
.k-ml-nv-chip{min-height:36px;padding:.3rem .6rem;font-size:.85rem}
.k-ml-nv-pri{margin-top:.6rem}
.k-ml-nv-del{margin-top:.5rem}
.k-ml-nv-addrule{margin-bottom:.4rem}
.k-ml-nvp-f{margin-left:2rem}
.k-ml-nvp-rezim .k-check{margin:0 0 .25rem}
@media (max-width:640px){
  .k-ml-nv,.k-ml-nvp-f{margin-left:0}
}

/* screens/mainpage-brigady.css */
/* Domov – karta „Brigády – prihlasovanie“ (NOVÉ) – templates/modern/components/brigady-akcie.latte. Dátum, obsadenosť a roly z brigady-akcie.css
   (.k-ak-date, .k-ak-obs, .k-ak-rola, .k-ak-akcie). Úzka karta (bočný stĺpec, mobil) = pod sebou; široká (cez celú šírku) = vedľa seba. */
.k-home-ak-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.k-home-ak-item{display:flex;gap:.7rem;align-items:flex-start;padding:.6rem .65rem;border:1px solid var(--k-line);border-radius:var(--k-r-sm,10px);min-width:0}
.k-home-ak-item.k-ak-som{border-color:var(--k-ok)}
.k-home-ak-item .k-ak-date{flex-basis:3rem}
.k-home-ak-item .k-ak-title{font-size:.98rem}
.k-home-ak-item .k-ak-title a{overflow-wrap:anywhere}
.k-home-ak-item .k-ak-akcie .k-btn{min-height:38px}
@media (max-width:420px){.k-home-ak-item .k-ak-akcie .k-btn{flex:1 1 auto;justify-content:center}.k-home-ak-item .k-ak-inline{flex:1 1 auto;display:flex}}

/* screens/mainpage-revirdnes.css */
/* ==========================================================================
   Nová téma – Domov: karta „Revír dnes“ (templates/modern/Mainpage/@revirDnes.latte, Revir\Theme\RevirDnes).
   Počasie (teplota, vietor so šípkou, tlak …), východ/západ slnka + súmrak, mesiac (SVG fáza), predpoveď pri západe/východe.
   Samostatný súbor (paralelná práca na mainpage.css). Mobile first, nočný režim cez --k-*.
   ========================================================================== */
.k-rd .k-card-h h2 .k-new{vertical-align:middle}
.k-rd-date{text-transform:capitalize}
.k-rd-b{display:flex;flex-direction:column;gap:.8rem;padding-top:.25rem}
.k-rd .k-s{font-size:.82rem;color:var(--k-muted);line-height:1.35}
.k-rd .k-t{font-weight:700}

/* počasie teraz */
.k-rd-now{display:flex;align-items:center;gap:.75rem}
.k-rd-wico{flex:none;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--k-info-soft);color:var(--k-info);font-size:1.55rem}
.k-rd-wico.k-rd-sunny{background:var(--k-warn-soft);color:var(--k-warn)}
.k-rd-temp{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;line-height:1.2}
.k-rd-temp .k-s{white-space:nowrap}
.k-rd-temp b{font-size:1.6rem;font-weight:800;line-height:1.1;white-space:nowrap}
.k-rd-desc{font-size:.88rem;font-weight:600}
.k-rd-wind{margin-left:auto;display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-radius:12px;background:var(--k-surface-2);border:1px solid var(--k-line);flex:0 1 auto;min-width:0}
.k-rd-arrow{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--k-brand-2);color:#fff;font-size:1rem;flex:none}
.k-rd-arrow i{display:block;transition:transform .3s}
.k-rd-wtxt{display:flex;flex-direction:column;line-height:1.2}
.k-rd-wtxt>b{font-size:1rem;font-weight:800}
.k-rd-meta{gap:.35rem}
.k-rd-meta .k-badge i{opacity:.75}

/* slnko a mesiac – 3 dlaždice (prototyp infoStrip) */
.k-rd-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.k-rd-tile{padding:.55rem .65rem;border-radius:var(--k-r-sm);background:var(--k-surface-2);border:1px solid var(--k-line);min-width:0}
.k-rd-tile small{display:block;font-size:.68rem;font-weight:800;color:var(--k-muted);text-transform:uppercase;letter-spacing:.05em}
.k-rd-tile b{display:flex;align-items:center;gap:.3rem;font-size:1.05rem;font-weight:800;line-height:1.2;margin-top:.15rem;white-space:nowrap}
.k-rd-tile span{display:block;font-size:.76rem;color:var(--k-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-rd-sunico{font-size:.78rem;color:var(--k-warn)}
.k-rd-bar{height:6px;border-radius:6px;background:var(--k-line);overflow:hidden;margin-bottom:.3rem}
.k-rd-bar span{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--k-sand),var(--k-warn))}
.k-rd-strong{color:var(--k-text)}

/* mesiac */
.k-rd-msvg{width:1em;height:1em;flex:none}
.k-rd-mdark{fill:var(--k-line-2)}
.k-rd-mlit{fill:#f3d98b}
[data-theme="night"] .k-rd-mdark{fill:#3a2e24}
[data-theme="night"] .k-rd-mlit{fill:#e9d49a}
.k-rd-moon{display:flex;align-items:flex-start;gap:.7rem;padding-top:.7rem;border-top:1px solid var(--k-line)}
.k-rd-mbig{width:40px;height:40px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.18))}
.k-rd-moon .k-t{font-weight:700}
.k-rd-moon .k-s{font-size:.82rem;color:var(--k-muted);margin-top:.1rem}

/* predpoveď večer / ráno */
.k-rd-fc{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.k-rd-fci{padding:.55rem .65rem;border-radius:var(--k-r-sm);border:1px solid var(--k-line);min-width:0}
.k-rd-fci small{display:block;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;line-height:1.3}
.k-rd-fci small .k-muted{font-weight:600;text-transform:none;letter-spacing:0}
.k-rd-fcv{display:flex;align-items:baseline;gap:.35rem;margin:.2rem 0 .1rem;flex-wrap:wrap}
.k-rd-fcv i{color:var(--k-info);font-size:1rem}
.k-rd-fcv b{font-size:1.1rem;font-weight:800}
.k-rd-fci .k-s{font-size:.78rem;color:var(--k-muted)}
.k-rd-farr{font-size:.75rem;color:var(--k-text)}
.k-rd-src a,.k-rd-src a:is(:hover,:focus,:visited){color:inherit;text-decoration:underline}

@media (max-width:359.98px){
	.k-rd-now{flex-wrap:wrap}
	.k-rd-wind{margin-left:0}
	.k-rd-fc{grid-template-columns:1fr}
}

/* kompaktný pás hore na domove (compact: true) */
.k-rd-strip{display:flex;gap:.4rem;margin-bottom:1rem;overflow-x:auto;scrollbar-width:none;padding:2px 2px 4px}
.k-rd-strip::-webkit-scrollbar{display:none}
.k-rd-chip{flex:none}
.k-rd-chip{display:inline-flex;align-items:center;gap:.35rem;min-height:34px;padding:.3rem .65rem;border-radius:99px;background:var(--k-surface);border:1px solid var(--k-line);font-size:.85rem;white-space:nowrap;box-shadow:var(--k-shadow)}
.k-rd-chip .k-rd-msvg{width:1.1em;height:1.1em}
.k-rd-chipx{color:var(--k-muted);font-size:.78rem}
.k-rd-chipw{color:var(--k-info)}
@media (max-width:420px){.k-rd-chipx{display:none}.k-rd-chip{padding:.3rem .55rem;font-size:.82rem}}
@media (min-width:992px){.k-rd-strip{display:none}} /* desktop: karta je v pravom stĺpci */

/* screens/mainpage.css */
/* ==========================================================================
   Nová téma – Domov (Mainpage_Controller::main) 1:1 s prototypom (domov.html – P.domov / hospHome).
   Šablóna templates/modern/Mainpage/main.latte. Mapa: KMap.viewProto (src/assets/maps/kmap.js).
   ========================================================================== */
.k-home .k-head p{margin:.2rem 0 0}
.k-home-kpis{margin-bottom:1rem}
.k-home-kpis .k-kpi>span{display:block}
.k-home .k-kpi small .k-new{display:inline-block;vertical-align:middle}
.k-home-warn{color:var(--k-warn)}
.k-home-map-admin{height:min(58vh,560px)}
@media (max-width:991.98px){.k-home-map-admin{height:46vh}}

/* stavová karta (base .k-status) */
.k-home-dot{font-size:.5rem;vertical-align:middle}
.k-status .k-g.k-home-g1{grid-template-columns:1fr}
.k-home .k-status .k-btn{white-space:normal;min-width:0;text-align:center;justify-content:center}
.k-home .k-status .k-trunc{min-width:0}
.k-home .k-status a.k-btn,.k-home .k-status a.k-btn:is(:hover,:focus,:active,:visited){text-decoration:none;color:#fff}
.k-home .k-status a.k-btn.k-solid,.k-home .k-status a.k-btn.k-solid:is(:hover,:focus,:active,:visited){color:var(--k-brand)}
[data-theme="night"] .k-home .k-status a.k-btn.k-solid{color:#0f1a12}
.k-home-mine .k-nav-act{display:flex;margin:0}
.k-home-mine .k-nav-act .k-btn{width:100%}
.k-home-mine .k-nav-blocked{grid-column:1/-1;color:inherit;opacity:.9;margin:0}

/* slnko a mesiac */
.k-home-sun{grid-template-columns:repeat(3,1fr);gap:.5rem}
.k-home-sun .k-kpi{padding:.6rem .75rem}
.k-home-sun .k-kpi b{font-size:1.05rem}
.k-home-moon{font-size:.8rem}

/* kto je v revíri – riadok ako K.visitRow */
.k-home .k-gt .k-dot{margin-right:.1rem}
.k-home-vrow .k-avatar.k-avatar-on{background:var(--k-ok);color:#fff}
.k-home-lok{color:var(--k-text)}
.k-home-ucdot{margin-right:.25rem}
.k-home-ucdot-none{background:var(--k-line-2)}
.k-home .k-list .k-r{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex:none}

/* oznamy */
.k-home-oznam{align-items:flex-start}
.k-home-otext{margin-top:.15rem;line-height:1.45;overflow-wrap:anywhere}
.k-home-ofiles{margin-top:.4rem}
/* dlhé názvy príloh v oznamoch – skrátiť s „…“, celý názov v title */
.k-home-ofiles{min-width:0;max-width:100%}
a.k-home-file{display:inline-flex;align-items:center;gap:.35em;max-width:100%;min-width:0;overflow:hidden}
a.k-home-file i{flex:none}
a.k-home-file span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
a.k-home-file,a.k-home-file:is(:hover,:focus,:active,:visited){color:var(--k-text);text-decoration:none}

/* úlovky – riadok ako K.ulovokRow */
.k-home-info{color:var(--k-info)}
.k-home-cam{font-size:.8rem}

/* plán lovu */
.k-home-pbar{margin-bottom:.8rem}
.k-home-pbar:last-child{margin-bottom:0}
.k-home-pbar .k-prog{margin-top:.25rem}
.k-home-over{color:var(--k-busy);font-weight:700}

/* iné knihy (onlyMapHomepage: false): fázy mesiaca / počasie – staré markupy */
.k-home-legacy .k-card-b{overflow-x:auto}
.k-home-legacy :where(table){width:100%;border-collapse:collapse;font-size:.85rem}
.k-home-legacy :where(td,th){padding:.25rem;text-align:center}
.k-home-legacy :where(img){max-width:100%;height:auto}

/* ==========================================================================
   Domov v2 (nové usporiadanie 3.11.) – zóny Teraz → Na vybavenie → Sezóna → sekundárne. 1:1 s prototypom assets/domov.css.
   Mobil: .k-home-z = flex stĺpec, .k-home-col display:contents, poradie .k-oN; desktop ≥ 1200 px: hlavný + bočný stĺpec 380 px.
   Revír dnes: pás (screens/mainpage-revirdnes.css ho na desktope skrýva) tu viditeľný aj na desktope, klik = panel #k-home-rd.
   ========================================================================== */
/* Revír dnes – pás aj na desktope, klik = panel s detailom */
.k-home-rd{display:flex;align-items:center;gap:.4rem;margin-bottom:1rem;cursor:pointer;border-radius:99px}
.k-home-rd .k-rd-strip{display:flex;margin:0;flex:1 1 auto;min-width:0}
.k-home-rd:focus-visible{outline:2px solid var(--k-brand-2);outline-offset:3px}
.k-home-rd .k-rd-chip.k-home-rdmore{flex:none;font-weight:700;color:var(--k-brand-2)}
.k-home-rd:hover .k-home-rdmore{background:var(--k-surface-2)}
.k-home-rdsheet .k-rd{border:0;box-shadow:none;background:none}
.k-home-rdsheet .k-rd>.k-card-h{display:none}
.k-home-rdsheet .k-rd-b{padding:0}

/* zóny + poradie */
.k-home-z{display:flex;flex-direction:column;gap:1rem}
.k-home-col{display:contents}
.k-home-z .k-o1{order:1}.k-home-z .k-o2{order:2}.k-home-z .k-o3{order:3}.k-home-z .k-o4{order:4}.k-home-z .k-o5{order:5}.k-home-z .k-o6{order:6}
.k-home-z .k-o7{order:7}.k-home-z .k-o8{order:8}.k-home-z .k-o9{order:9}.k-home-z .k-o10{order:10}.k-home-z .k-o11{order:11}.k-home-z .k-o12{order:12}
.k-home-zl{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--k-muted);margin:.35rem 0 -.45rem .15rem}
@media (min-width:1200px){
  .k-home-z{display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:start}
  .k-home-col{display:flex;flex-direction:column;gap:1rem;min-width:0}
  .k-home-z .k-home-col>*{order:0}
  .k-home-col>.k-home-zl:first-child{margin-top:0}
}
.k-home-z .k-home-map-admin{height:38vh;min-height:240px}
@media (min-width:992px){.k-home-z .k-home-map-admin{height:min(48vh,460px)}}

/* V revíri teraz – súhrn dňa + poloha */
.k-home-sub{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;padding:0 1rem .8rem;font-size:.82rem;color:var(--k-muted)}
.k-home-sub b{color:var(--k-text)}
.k-home-geo{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.3rem;text-decoration:none}
.k-home-none{padding:0 1rem .85rem;font-size:.88rem;color:var(--k-muted)}

/* Na vybavenie + Povolenky a CHPT – riadky */
.k-home-ti{display:block;border-top:1px solid var(--k-line)}
.k-home-tr{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;min-height:56px;color:inherit;text-decoration:none;cursor:pointer;list-style:none}
.k-home-tr::-webkit-details-marker{display:none}
.k-home-tr:hover{background:var(--k-surface-2)}
.k-home-tic{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--k-surface-2);color:var(--k-muted)}
.k-home-t-warn{background:var(--k-warn-soft);color:var(--k-warn)}
.k-home-t-busy{background:var(--k-busy-soft);color:var(--k-busy)}
.k-home-t-info{background:var(--k-info-soft);color:var(--k-info)}
.k-home-tt{display:block;font-weight:700;line-height:1.25}
.k-home-ts{display:block;font-size:.8rem;color:var(--k-muted);line-height:1.35;margin-top:.1rem}
.k-home-tch{transition:transform .2s}
.k-home-ti[open] .k-home-tch{transform:rotate(180deg)}
.k-home-ti>.k-list{background:var(--k-surface-2)}
.k-home-ti>.k-list>li{padding-left:1.25rem}
.k-home-bad{color:var(--k-busy)}
.k-home-ok{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border-radius:var(--k-r);background:var(--k-ok-soft);color:var(--k-ok);font-weight:700;font-size:.88rem}

/* Sezóna */
.k-home-sez{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start}
.k-home-psum{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.9rem}
.k-home-psum>div{padding:.5rem .7rem;border-radius:var(--k-r-sm);background:var(--k-surface-2);border:1px solid var(--k-line);min-width:0}
.k-home-psum b{display:block;font-size:1.3rem;font-weight:800;line-height:1.15}
.k-home-psum small{display:block;font-size:.75rem;color:var(--k-muted);line-height:1.3}
.k-home-kvnum{font-size:1.05rem;margin-bottom:.45rem}
.k-home-kvnum b{font-size:1.6rem;line-height:1}
.k-home-kvhint{margin:.55rem 0 0}

/* screens/nastavenia-hub.css */
/* ==========================================================================
   Nastavenia – rozcestník novej témy (templates/modern/Nastavenia/hub.latte, JS screens/nastavenia-hub.js). Prefix k-nsth-.
   Skupiny = karty v stĺpcoch (CSS columns – vyváženie výšky ako masonry, karta sa nedelí), od 1 stĺpca (mobil) po 5 (široké
   obrazovky – obal obsahu sa pre rozcestník rozšíri). Riadky kompaktné: popis na jeden riadok s výpustkou (celý v title).
   + panel sekcie Správa v rozložení menu „Sekcie + panel“ (rail, @layout.latte .k-nav2-nst) – podstránky Nastavení po skupinách.
   ========================================================================== */

/* ---------- hľadanie + stav ---------- */
.k-nsth-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem 1rem;margin-bottom:.9rem}
.k-nsth-bar[hidden]{display:none}
.k-nsth-search{flex:1 1 320px;max-width:560px}
.k-nsth-search .k-input{padding-right:2.6rem}
.k-nsth-search input::-webkit-search-cancel-button{margin-right:1.6rem}
.k-nsth-kbd{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);pointer-events:none}
.k-nsth-search:focus-within .k-nsth-kbd{display:none}
.k-nsth-search:focus-within input::-webkit-search-cancel-button{margin-right:0}
.k-nsth-st{margin:0;font-size:.8rem;color:var(--k-muted)}
@media (hover:none),(max-width:991.98px){.k-nsth-kbd{display:none}.k-nsth-search input::-webkit-search-cancel-button{margin-right:0}}

/* ---------- rýchly prístup (pripnuté, naposledy) ---------- */
.k-nsth-quick{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:1rem}
.k-nsth-quick[hidden],.k-nsth-qrow[hidden]{display:none}
.k-nsth-qrow{display:flex;align-items:center;gap:.5rem;min-width:0;max-width:100%}
.k-nsth-ql{flex:none;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--k-muted);white-space:nowrap}
.k-nsth-ql .fa-star{color:var(--k-warn)}
.k-nsth-chips{display:flex;flex-wrap:wrap;gap:.35rem;min-width:0}
a.k-nsth-chip{display:inline-flex;align-items:center;gap:.4rem;max-width:16rem;min-height:34px;padding:.25rem .7rem .25rem .55rem;border:1px solid var(--k-line-2);border-radius:999px;background:var(--k-surface);color:var(--k-text);font-size:.84rem;font-weight:600;line-height:1.2;text-decoration:none}
a.k-nsth-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
a.k-nsth-chip>i{color:var(--k-brand-2);font-size:.85em}
[data-theme="night"] a.k-nsth-chip>i{color:var(--k-sand)}
a.k-nsth-chip:hover{background:var(--k-surface-2);color:var(--k-text);text-decoration:none}
a.k-nsth-chip:focus-visible{outline:2px solid var(--k-ok);outline-offset:1px}
@media (max-width:767.98px){
	.k-nsth-qrow{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -1rem;padding:0 1rem;max-width:none;width:calc(100% + 2rem)}
	.k-nsth-qrow::-webkit-scrollbar{display:none}
	.k-nsth-chips{flex-wrap:nowrap}
	.k-nsth-quick{gap:.5rem}
}

/* ---------- skupiny: stĺpce s kartami ---------- */
.k-nsth-groups{columns:300px;column-gap:1rem}
.k-nsth-g.k-card{break-inside:avoid;margin:0 0 1rem;display:block}
.k-nsth-g[hidden]{display:none}
/* málo skupín (malá kniha, ≤ 3) – mriežka: karty rovnako široké ako pri plnej knihe, nie úzke stĺpce s prázdnym miestom */
.k-nsth[data-k-nsth-few] .k-nsth-groups{columns:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;align-items:start}
.k-nsth[data-k-nsth-few] .k-nsth-g.k-card{margin:0}
.k-nsth-g>.k-card-h{padding-top:.7rem;padding-bottom:.55rem}
.k-nsth-g h2{font-size:.98rem}
.k-nsth-gn{display:inline-block;min-width:1.4rem;margin-left:.25rem;padding:0 .35rem;border-radius:99px;background:var(--k-surface-2);color:var(--k-muted);font-size:.72rem;font-weight:700;line-height:1.35rem;text-align:center;vertical-align:1px}

/* kompaktné riadky */
.k-nsth-list>li.k-nsth-row{gap:.65rem;padding:.48rem .55rem .48rem .85rem;min-height:52px}
.k-nsth-list>li.k-nsth-row[hidden]{display:none}
.k-nsth-list>li.k-nsth-row:not([hidden]) ~ li.k-nsth-row:not([hidden]){border-top:1px solid var(--k-line)}
.k-nsth-list>li.k-nsth-row{border-top:0}
.k-nsth-row .k-ico{width:32px;height:32px;border-radius:9px;font-size:.88rem}
.k-nsth-row .k-t{font-size:.93rem;display:flex;align-items:center;gap:.35rem;min-width:0}
.k-nsth-row .k-t>a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;text-decoration:none}
.k-nsth-row .k-t>a:focus-visible{outline:2px solid var(--k-ok);outline-offset:2px;border-radius:3px}
.k-nsth-row .k-s{font-size:.78rem;margin-top:.05rem}
.k-nsth-row .k-r>.fa-chevron-right{font-size:.75rem;margin-right:.3rem}
/* štítok „nové“ – menší, bez rámu, nech pri 10+ nových nezahltí zoznam */
.k-nsth .k-nsth-new{flex:none;margin-left:0;padding:.02rem .3rem;font-size:.58rem;border-color:transparent}
.k-nsth .k-nsth-new[hidden]{display:none}

.k-nsth-none{text-align:center;color:var(--k-muted)}
.k-nsth-none[hidden]{display:none}
.k-nsth-none>i{font-size:1.4rem;margin-bottom:.5rem;opacity:.6}
.k-nsth-none p{margin:0}

/* mobil: jeden stĺpec, karty od okraja po okraj ako zoznam (kompaktné nadpisy skupín) */
@media (max-width:767.98px){
	.k-nsth-groups,.k-nsth[data-k-nsth-few] .k-nsth-groups{columns:auto;display:block}
	.k-nsth[data-k-nsth-few] .k-nsth-g.k-card{margin:0 -1rem .75rem}
	.k-nsth-g.k-card{margin:0 -1rem .75rem;border-radius:0;border-left:0;border-right:0;box-shadow:none}
	.k-nsth-g>.k-card-h{padding:.55rem 1rem .4rem}
	.k-nsth-g h2{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--k-muted)}
	.k-nsth-gn{display:none}
	.k-nsth-list>li.k-nsth-row{padding-left:1rem;padding-right:.5rem}
}
/* široké obrazovky: obal obsahu rozcestníka širší (inak .k-main>.k-wrap max 1320 px → najviac 4 stĺpce) */
@media (min-width:1760px){.k-main>.k-wrap:has(.k-nsth){max-width:1660px}}

/* ---------- rail (Sekcie + panel): podstránky Nastavení v paneli sekcie Správa ---------- */
.k-nav2-nst{display:none}
@media (min-width:992px){
	html[data-k-nav="rail"][data-k-nav2-sec="sprava"] .k-side .k-nav2-nst{display:block;padding-bottom:.6rem}
	.k-nav2-nst-h{margin:.75rem .9rem .2rem 1.1rem;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#cbb9a1;opacity:.85}
	html[data-k-nav="rail"] .k-side .k-nav2-nst a.k-side-link{min-height:36px;padding-top:.3rem;padding-bottom:.3rem;font-size:.88rem}
	html[data-k-nav="rail"] .k-side .k-nav2-nst .k-nav2-desc{display:none}
	html[data-k-nav="rail"] .k-side .k-nav2-nst .k-star{margin-top:.15rem}
}

/* screens/nastavenia.css */
/* ==========================================================================
   Nastavenia (Nastavenia_Controller) – rozcestník, číselníky, lokality, kŕmne, hranice, články, značky, lístky, log.
   Šablóny: templates/modern/Nastavenia/*.latte. Prefix k-nst-. Mobile first, desktop od 992 px.
   ========================================================================== */

/* ---------- spoločné ---------- */
.k-nst-narrow{max-width:640px}
.k-nst-pad .k-card-b{padding-top:1rem}
.k-nst-wrap{flex-wrap:wrap;gap:.5rem}
.k-nst-grow0{flex:0 0 auto}
.k-ibtn.k-nst-dis{opacity:.35;cursor:not-allowed}
.k-nst-mono .k-input,.k-nst-mono-c{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem}
.k-nst-mono-c{word-break:break-all}
.k-nst-ord{width:3rem;color:var(--k-muted)}
.k-nst-num{font-weight:800;font-size:.9rem}
.k-table tr.k-nst-on td{background:var(--k-ok-soft)}
.k-nst-url{word-break:break-all}
.k-nst-search{max-width:520px}

/* ---------- rozcestník ---------- */
.k-nst-hub{align-items:start}

/* ---------- fotky v zoznamoch ---------- */
.k-nst-thumb{width:64px}
.k-nst-thumb img{display:block;width:50px;height:40px;object-fit:cover;border-radius:8px}
.k-nst-ph{width:50px;height:40px;border-radius:8px}
.k-nst-kimg{width:40px;height:40px;object-fit:cover;border-radius:11px;flex:none}
.k-nst-pos{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all;max-width:22rem}

/* ---------- formulár s mapou (lokalita, kŕmne, hranice) – mapa vľavo, polia vpravo (≥1200 px), inak pod sebou ---------- */
.k-nst-mapform{align-items:start;margin:0}
.k-nst-map{height:clamp(320px,52vh,520px)}
@media (min-width:992px){.k-nst-map{height:clamp(420px,70vh,820px)}}
@media (min-width:1200px){.k-nst-mapform>.k-card{position:sticky;top:1rem}}
@media (max-width:767.98px){.k-nst-map{margin:0 -1rem;border-radius:0;border-left:0;border-right:0}}
.k-nst-foto{display:flex;align-items:center;gap:.6rem;margin-top:.6rem}
.k-nst-foto img{display:block;width:96px;height:72px;object-fit:cover;border-radius:10px}
.k-nst-conv{margin-top:.5rem}
/* polia knihy z lokalitaFormExtra() (Bootstrap form-group) */
.k-nst-extra .form-group+.form-group{margin-top:1rem}
.k-nst-extra label{display:block;font-weight:650;font-size:.88rem;margin-bottom:.35rem}

/* ---------- článok (CKEditor nahradí textarea) ---------- */
.k-nst-editor{min-height:320px}

/* ---------- hranice: dlhý zoznam bodov ---------- */
@media (min-width:992px){.k-nst-scroll .k-tw{max-height:70vh;overflow-y:auto}}

/* stránkovanie (prihlásenia, zmeny) → components/pager.latte + base/30-components.css (.k-pager) */

/* ---------- FormFactory (Kubomikita\Form) vykreslený {control} – značky, odberateľ, prepravca ---------- */
.k-nst-ff .form-group{margin:0 0 .9rem}
.k-nst-ff label{display:block;font-weight:650;font-size:.88rem;margin-bottom:.35rem}
.k-nst-ff .d-flex{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem .8rem;align-items:end}
.k-nst-ff .d-flex .form-group{margin:0}
.k-ui .k-nst-ff .d-flex :is(input,.form-control){width:100%!important}
.k-nst-ff .d-flex>:last-child{grid-column:1/-1;margin-top:.3rem!important}
.k-ui .k-nst-ff :is(.btn,input[type="submit"],button[type="submit"]){display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.55rem 1.1rem;border-radius:12px;font-weight:650;font-size:.97rem;border:1px solid transparent;background:var(--k-ok);color:#fff;cursor:pointer;line-height:1.1}
[data-theme="night"] .k-ui .k-nst-ff :is(.btn,input[type="submit"],button[type="submit"]){color:#0f1a12}
.k-ui .k-nst-ff input[readonly]{background:var(--k-surface-2);color:var(--k-muted)}
@media (min-width:768px){.k-nst-ff .d-flex{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- evidencia značiek ---------- */
.k-nst-zn-top{align-items:start}
.k-nst-cb{width:44px}
.k-nst-cb input,.k-nst-all input{width:22px;height:22px;accent-color:var(--k-ok);vertical-align:middle}
.k-nst-all{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:650;cursor:pointer;min-height:44px}
.k-table tr.k-nst-used td{color:var(--k-muted)}
.k-table tr.k-nst-sel td{background:var(--k-ok-soft)}
.k-nst-zn-bar[hidden]{display:none}
.k-nst-zn .k-search{margin:0}

/* ---------- lístky o pôvode ---------- */
.k-nst-lp{align-items:start}
.k-nst-lpno{flex-direction:column;line-height:1.05;font-size:.78rem}
.k-nst-lpno small{font-size:.66rem;color:var(--k-muted);font-weight:600}

/* číselníky v kartovom režime (úzky kontajner): riadok otvára úpravu – ceruzka navyše netreba, názov dostane miesto */
@container ktw (max-width:559.98px){ .k-nst-cis .k-table.k-cards td.k-ka a[data-k-nf]{display:none} }

/* ==========================================================================
   S5 – 1:1 s prototypom (pages-c.js): rozcestník s počtami, taby, číselníky (Lov, Farba, počty), lokality s mapou,
   značky (čipy, stránkovanie, Odobrať), lístky (taby), prihlásenia / zmeny (taby). Návrhy do base: .k-nst-tabs (k-seg s odkazmi),
   .k-nst-mt (utilita margin-top), [hidden] pri prvkoch s display (k-btn, k-card, k-empty).
   ========================================================================== */
body[data-k-screen^="nastavenia:"] [hidden]{display:none!important}
.k-nst-mt{margin-top:1rem}

/* rozcestník – podnadpis dlaždice na 1 riadok (prototyp k-trunc) */
.k-nst-tile .k-grow{min-width:0}
.k-nst-tile .k-s{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-nst-hubhint{margin-top:1rem}
/* NOVÉ: hviezdička „Pripnúť do obľúbených“ pri podstránke (base/15-nav.js [data-k-star]; .k-mstar = base/22-nav.css) */
.k-nst-tile .k-r{display:flex;align-items:center;gap:.1rem;flex:none}
.k-nst-star{width:36px;height:36px;margin:-.35rem 0;border-radius:9px}
.k-nst-star:hover{background:rgba(0,0,0,.05)}
@media (hover:hover) and (pointer:fine){
  .k-nst-star{opacity:.45}
  .k-nst-tile:hover .k-nst-star,.k-nst-star:focus-visible,.k-nst-star[aria-pressed="true"]{opacity:1}
}

/* taby (k-seg s odkazmi) – Prihlásenia · Zmeny, Lístky · Odberatelia · Prepravcovia */
.k-nst-tabs{max-width:420px;flex-wrap:nowrap;overflow-x:auto}
.k-nst-tabs3{max-width:560px}
.k-nst-tabs4{max-width:720px}
.k-nst-tabs>a{flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .6rem;border-radius:9px;font-size:.88rem;font-weight:700;color:var(--k-muted);min-height:38px;white-space:nowrap;text-decoration:none}
.k-nst-tabs>a:hover{color:var(--k-text)}
.k-nst-tabs>a.k-on{background:var(--k-surface);color:var(--k-text);box-shadow:0 1px 3px rgba(0,0,0,.12)}

/* číselníky */
.k-nst-dot{width:14px;height:14px;vertical-align:-2px}
.k-nst-pos-b{min-width:28px;justify-content:center;flex:none}
.k-nst-lock{font-size:.75rem}
.k-nst-farby{flex-wrap:wrap;gap:.4rem;align-items:center}
.k-nst-farba{width:44px;min-width:44px;justify-content:center;padding:0}
.k-nst-farba .k-dot{width:16px;height:16px}
.k-nst-farba.k-on{outline:2px solid var(--k-ok);outline-offset:1px}
.k-nst-color{width:52px;height:44px;border:1px solid var(--k-line-2);border-radius:10px;background:none;padding:2px;cursor:pointer}
@container ktw (max-width:559.98px){
	.k-nst-cis td.k-ka{flex-wrap:nowrap}
	.k-table.k-cards tr.k-nst-on{background:var(--k-ok-soft)}
	.k-table.k-cards tr.k-nst-on td{background:transparent}
	/* karta: úprava aj vymazanie sú v paneli (ťuknutie na riadok) – ostáva poradie (prototyp moveBtns) */
	.k-nst-cis .k-table.k-cards tr[data-k-nf-row] td.k-ka .k-nst-del{display:none}
}

/* lokality – zoznam + mapa vedľa seba (desktop), pod sebou (mobil) */
.k-nst-lokgrid{align-items:start}
.k-nst-lokcol{min-width:0}
.k-nst-lokcol .k-search{margin:0;max-width:none}
.k-nst-chips{gap:.4rem}
.k-nst-chips .k-dot{margin-right:.15rem}
.k-nst-scrollbox{max-height:70vh;overflow:auto}
/* sticky hlavička tabuľky je v scrollboxe → top 0 (globálne top:44px pod lištou by ju posunulo cez prvé riadky – pri 1 lokalite neviditeľný riadok) */
.k-main .k-nst-scrollbox .k-table thead th{top:0}
.k-nst-none{padding:1.5rem 1rem}
.k-nst-lokmapw{position:relative;min-width:0}
.k-nst-lokmap{height:clamp(340px,64vh,760px)}
@media (min-width:992px){.k-nst-lokmapw{position:sticky;top:1rem}.k-nst-lokmap{height:min(78vh,760px)}}
.k-nst-legend{position:absolute;left:.6rem;bottom:.6rem;z-index:500;display:flex;flex-wrap:wrap;gap:.7rem;padding:.35rem .7rem;border-radius:999px;background:rgba(255,255,255,.94);color:#222;box-shadow:0 1px 4px rgba(0,0,0,.25);pointer-events:none}
.k-nst-legend>span{display:inline-flex;align-items:center;gap:.3rem}
.k-nst-lg-free{background:#39B54A}
.k-nst-lg-busy{background:#EA4335}
.k-nst-lg-line{display:inline-block;width:14px;height:3px;background:#ff3b30;border-radius:2px}
.k-actions.k-nst-formacts>.k-nst-grow0{flex:0 0 auto;min-width:46px}
.k-nst-lockhint{margin-top:.5rem}

/* evidencia značiek – generovanie 2×2 (prototyp), náhľad, tabuľka, stránkovanie */
@media (min-width:768px){.k-nst-ff.k-nst-zngen .d-flex{grid-template-columns:repeat(2,minmax(0,1fr))}}
.k-nst-ff .d-flex>.k-nst-znprev{grid-column:1/-1;margin:0}
.k-ui .k-nst-ff .d-flex input[type="submit"]{width:auto!important}
.k-nst-znhint{margin:.25rem 0 0}
.k-nst-ff .k-nst-znhint{margin:.3rem 0 0}
.k-nst-znfilter{padding-bottom:.6rem}
.k-nst-znfilter .k-search{margin:0 0 .6rem}
.k-nst-znpager{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.7rem 1rem;border-top:1px solid var(--k-line)}
.k-nst-pgb{gap:.3rem;align-items:center;flex-wrap:wrap}
.k-nst-pgb .k-btn{min-width:40px}
.k-nst-znm{display:flex;align-items:center;gap:.4rem}
.k-nst-znm .k-grow{min-width:0}
.k-nst-znfoot{padding:0 1rem .8rem;margin:0}
.k-sheet-f>.k-nst-grow0{flex:0 0 auto;min-width:52px}
.k-nst-ff.k-nst-zngen .d-flex{align-items:start}
.k-nst-zngen .form-group:has(input[required]:not([readonly])) label::after{content:" *";color:var(--k-busy)}
.k-ui .k-field.k-nst-ff input[readonly]{background:var(--k-surface-2)!important;color:var(--k-muted)}
.k-actions.k-nst-formacts>:not(.k-nst-grow0){flex:1 1 0;min-width:0}
/* Menu – položky (NOVÉ, Nastavenia_Controller::menu) – nadpisy skupín */
.k-nst-mgroup{margin:.9rem 0 .35rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--k-muted)}
.k-nst-mgroup:first-of-type{margin-top:0}

/* screens/navstevareviru.css */
/* ==========================================================================
   Nová téma – Návštevy revíru (Navstevareviru_Controller): default (zoznam), item (detail), update, pridat (sprievodca).
   Šablóny: templates/modern/Navstevareviru/*.latte, prototyp navstevy.html / navsteva.html / navsteva-nova.html (fáza 4 – 1:1).
   ========================================================================== */

/* ---------- spoločné ---------- */
.k-nav-dot{margin-right:.15rem;background:var(--k-line-2);vertical-align:middle}
a.k-nav-plain,a.k-nav-plain:hover{color:inherit;text-decoration:none}
a.k-nav-plain:hover{text-decoration:underline}
.k-nav-strong{color:var(--k-text)}
.k-nav-light,.k-dl .k-nav-light{font-weight:400}
.k-nav-carico{font-size:.7rem}

/* ---------- zoznam ---------- */
.k-nav-topact{display:none}
.k-nav-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.75rem;align-items:center}
.k-nav-tabs{flex:1 1 320px;max-width:460px}
.k-nav-tabs a{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .6rem;border-radius:9px;font-size:.88rem;font-weight:700;color:var(--k-muted);min-height:38px;white-space:nowrap;text-decoration:none}
.k-nav-tabs a:hover{color:var(--k-text);text-decoration:none}
.k-nav-tabs a.k-on{background:var(--k-surface);color:var(--k-text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.k-nav-search{flex:0 1 300px}
.k-nav-search .k-new{position:absolute;right:.6rem;top:50%;transform:translateY(-50%)}
.k-nav-search .k-input{padding-right:3.4rem}
.k-nav-now{margin-bottom:.75rem;align-items:center;color:var(--k-text);text-decoration:none}
.k-nav-now:hover{color:var(--k-text);text-decoration:none}
.k-nav-chips{margin-bottom:1rem}
.k-nav-card{margin-bottom:1rem}
.k-nav-card .k-card-h h2.k-nav-lh{font-size:1rem}
.k-nav-nofind{padding:1rem;margin:0;text-align:center}
.k-nav-mnew{margin-top:1rem;min-height:48px}
.k-nav-note{margin-right:.35rem;cursor:help}
.k-table.k-nav-tbl td.k-nav-ucel-td{padding-left:.75rem}
.k-nav-kr{flex:none;display:none}
.k-nav-exform .k-stack-sm{margin-bottom:.5rem}
.k-nav-exopt{border:1.5px solid var(--k-line-2);border-radius:12px;padding:.65rem .8rem;align-items:flex-start;cursor:pointer}
.k-nav-exopt:has(input:checked){border-color:var(--k-ok);background:var(--k-ok-soft)}
.k-nav-exopt input{margin-top:.2rem}
/* kartový režim (mobil, úzky stĺpec domova) = K.visitRow: karta + vpravo Zavolať / šípka; úpravy sú na detaile */
@container ktw (max-width:559.98px){
	.k-table.k-cards.k-nav-tbl td.k-ka{display:none}
	.k-table.k-cards.k-nav-tbl td.k-kc .k-nav-kr{display:inline-flex;align-items:center;margin-left:auto}
	.k-table.k-cards.k-nav-tbl td.k-kc .k-nav-kr .k-ibtn{width:40px;height:40px}
}
@media (max-width:991.98px){
	.k-nav-topact.k-sm-only{display:flex;justify-content:flex-end;margin-bottom:.5rem}
	.k-nav-tabs{max-width:none}
}

/* ---------- detail ---------- */
.k-nav-dh{padding-bottom:.6rem}
.k-nav-dh h2.k-nav-dname{font-size:1.15rem}
.k-nav-dfoot .k-nav-act .k-btn.k-danger-ghost.k-nav-end{background:var(--k-busy);border-color:var(--k-busy);color:#fff}
.k-nav-dfoot .k-nav-act .k-btn.k-danger-ghost.k-nav-end .k-new{color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35)}
.k-nav-dfoot .k-nav-blocked{flex-basis:100%}
.k-nav-dnote{padding:0 1rem .8rem;margin:0}
.k-nav-dmapc{overflow:hidden}
.k-nav-dmap{height:340px;border:0;border-radius:var(--k-r)}
.k-nav-more .k-list li.k-link{cursor:pointer}
.k-nav-none{padding:0 1rem 1rem;margin:0}
.k-nav-hd{margin-top:.25rem}
.k-nav-hd summary{cursor:pointer}
.k-nav-hd .k-dl{margin-top:.4rem}
.k-nav-hd .k-dl dd{font-weight:400}
@media (max-width:991.98px){
	.k-nav-dfoot .k-btn,.k-nav-dfoot .k-nav-act{flex:1 1 100%}
	.k-nav-dfoot .k-nav-act .k-btn{width:100%}
}

/* ---------- nová návšteva – sprievodca / úprava ---------- */
.k-nav-form{max-width:1180px}
.k-nav-steps{max-width:900px}
.k-nav-wt{font-size:1.15rem;margin:0 0 .2rem}
.k-nav-wsub{margin:0 0 1rem}
.k-nav-w480{max-width:480px}
.k-nav-w640{max-width:640px}
.k-nav-foot{max-width:640px}
.k-nav-wiz .k-nav-foot .k-nav-backbtn,.k-nav-wiz .k-nav-foot .k-nav-cancel-btn{flex:0 0 auto}
.k-nav-wiz .k-nav-foot [hidden]{display:none}
.k-nav-preloc,.k-nav-occn,.k-nav-near{margin-bottom:.75rem}
.k-nav-lctl{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;align-items:center}
.k-nav-view{flex:0 0 auto}
.k-nav-view button{display:inline-flex;align-items:center;gap:.3rem}
.k-nav-lsearch{min-width:200px;position:relative}
.k-nav-lsearch .k-new{position:absolute;right:.6rem;top:50%;transform:translateY(-50%)}
.k-nav-lsearch .k-input{padding-right:3.4rem}
.k-nav-gchips{margin-bottom:.75rem}
.k-nav-gt{padding:.5rem 0 .35rem;display:flex;align-items:center;gap:.35rem}
.k-nav-loks{margin-bottom:.5rem}
.k-nav-lokgrid .k-lok{cursor:pointer;color:var(--k-text);font:inherit}
.k-nav-nearc{margin:.2rem .2rem 0 0}
.k-nav-mapcard{margin-bottom:1rem;overflow:hidden}
.k-nav-map{height:min(60vh,560px);border:0;border-radius:var(--k-r) var(--k-r) 0 0}
.k-nav-maphint{margin:0;padding:.6rem 1rem}
.k-nav-dchips{margin-bottom:.4rem}
.k-nav-durs{margin-bottom:.5rem}
.k-nav-autos{margin-bottom:.5rem}
.k-nav-noauto-a{margin-top:.5rem}
.k-nav-opts{margin-top:.1rem}
.k-nav-opts .k-opt{cursor:pointer;color:var(--k-text);font:inherit}
.k-nav-sum{max-width:640px}
.k-nav-sum .k-card-b{padding-top:1rem}
.k-nav-cancel{max-width:640px;text-align:center;margin:.25rem 0 0}
.k-nav-edit{max-width:780px}
.k-nav-edit .k-card-b{padding-top:1rem}
.k-nav-hint{margin:-.35rem 0 1rem}
.k-nav-noauto{margin-bottom:.5rem}
/* JS (k-nav-enh): kroky + natívne selecty starej knihy ostávajú v DOM (POST, app.js), len sa vizuálne skryjú */
.k-nav-enh .k-nav-ws[hidden]{display:none}
.k-nav-enh .k-nav-ucelfield > select,.k-nav-enh .k-nav-lokfield > select,.k-nav-enh #auto select,
.k-nav-enh .k-nav-ucellbl,.k-nav-enh .k-nav-loklbl{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden;clip:rect(0 0 0 0)}
.k-nav-enh .k-nav-ucelfield,.k-nav-enh .k-nav-lokfield,.k-nav-enh #auto{position:relative}
.k-nav-enh .k-nav-dinp.k-nav-dhide{display:none}
.k-nav-wiz [hidden],.k-nav-mapcard[hidden]{display:none !important}
/* bez JS: celý formulár naraz, dlaždice/čipy skryté (hidden), mapa pod formulárom */

/* mobil: sprievodca a úprava bez spodnej navigácie (prototyp bnav:none), sticky Zrušiť / Pokračovať */
@media (max-width:991.98px){
	body[data-k-screen="navstevareviru:pridat"] .k-bnav,body[data-k-screen="navstevareviru:update"] .k-bnav{display:none}
	body.k-themed[data-k-screen="navstevareviru:pridat"],body.k-themed[data-k-screen="navstevareviru:update"]{padding-bottom:env(safe-area-inset-bottom)}
	body[data-k-screen="navstevareviru:pridat"] .k-sticky-f,body[data-k-screen="navstevareviru:update"] .k-sticky-f{bottom:0}
}

/* ---------- NOVÉ: Ukončiť návštevu / +1 h (templates/modern/Navstevareviru/@akcie.latte) ---------- */
/* štítok „nové“ – z prototypu (proto.css .k-new); v base/10-proto.css zatiaľ nie je → lokálne, kým sa nepregeneruje base */
.k-new{display:inline-block;vertical-align:middle;margin-left:.3rem;padding:.08rem .32rem;border-radius:4px;font-size:.62rem;font-weight:700;line-height:1.2;letter-spacing:.02em;
  color:var(--k-info);background:var(--k-info-soft);border:1px dashed color-mix(in srgb,var(--k-info) 40%,transparent);white-space:nowrap;text-transform:none;font-style:normal;cursor:help;position:relative;top:-.05em}
.k-top .k-new,.k-side .k-new,.k-status .k-new,.k-btn.k-ok .k-new,.k-btn.k-danger .k-new{color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35)}
.k-nav-act{display:inline-flex;margin:0}
.k-table td.k-ka .k-nav-act + .k-nav-act, .k-table td.k-ka .k-nav-act + .k-ibtn{margin-left:.25rem}
.k-nav-akcie .k-card-b{padding:.85rem 1rem}
.k-nav-akcie-g{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.65rem}
.k-nav-blocked{flex-basis:100%;margin:0}
/* autá člena „Pridať ako“: chyba z ajax.php?auto=1 (data-k-err) sa ukáže v #k-nav-noauto – text pod skrytým selectom nie */
.k-nav-enh #auto .k-ferr{display:none}
/* lokality účelu sa nenačítali (app.js knihaLokality → data-k-err): hláška + „Skúsiť znova“ v .k-nav-lokhint */
.k-nav-lokhint .k-nav-lokerr{color:var(--k-busy);font-weight:600;margin-right:.35rem}
.k-nav-lokhint [data-k-nav-lokretry]{margin-top:.35rem}

/* screens/navstevy-statistika.css */
/* Štatistika lovu (NOVÉ) – templates/modern/Navstevareviru/{statistika,uspesnost,@statistikaFilter}.latte. */
.k-st-tabs{max-width:460px;margin-bottom:.75rem}
.k-st-filter{padding:.75rem 1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.6rem}
.k-st-chips{gap:.35rem}
.k-st-fgrid{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:flex-end}
.k-st-f{margin:0;flex:0 1 180px;min-width:140px}
.k-st-fbtn{display:flex;gap:.4rem;flex-wrap:wrap}
.k-st-kpis{margin-bottom:1rem}
.k-st-prog{height:4px;margin-top:.3rem;max-width:180px}
.k-st-pct{min-width:110px}
.k-st-zero td{color:var(--k-muted)}
.k-st-me td{background:var(--k-ok-soft)}
.k-st-note{margin:.75rem 0 0}
@media print{.k-st-filter,.k-st-tabs{display:none}}

/* screens/oznamy.css */
/* Oznamy_Controller (nová téma): default, item, pridat, edit */
.k-oz-list>li{align-items:flex-start}
.k-oz-text{margin-top:.15rem;overflow-wrap:anywhere}
.k-oz-text .k-row-a{color:inherit;text-decoration:none}
.k-oz-files{margin-top:.45rem}
.k-oz-files .k-badge{text-decoration:none;color:var(--k-text)}
.k-oz-acts{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:flex-end}
.k-oz-acts .k-ibtn.k-on{color:var(--k-ok);border-color:var(--k-ok);background:var(--k-ok-soft)}
.k-oz-foot{flex-wrap:wrap}
@media (max-width:575.98px){.k-oz-list>li{flex-wrap:wrap}.k-oz-acts{width:100%;padding-left:calc(40px + .75rem);justify-content:flex-start}}
.k-oz-body{overflow-wrap:anywhere;line-height:1.55}
.k-oz-body img{max-width:100%;height:auto}
.k-oz-att .k-list>li,.k-oz-att>li{padding:.55rem 1rem}
.k-oz-formcard{max-width:900px}
.k-oz-grid{align-items:start}
.k-oz-editor textarea{min-height:200px}
.k-oz-main label{display:flex;align-items:center;gap:.6rem;min-height:44px;cursor:pointer}
.k-oz-main input[type=checkbox]{width:22px;height:22px;accent-color:var(--k-ok)}
.k-oz-att .k-grow{min-width:0}

/* screens/plany.css */
/* Plány chovu a lovu (NOVÉ) – templates/modern/Plany/*.latte (prehľad, editor plánu, sčítanie, poľovačky, starostlivosť, záznam, nastavenia). */
.k-pl-page{max-width:1280px}
.k-pl-page>*+*,.k-pl-form>*+*{margin-top:1rem}
.k-pl-warn{color:var(--k-warn)}
.k-pl-mt{margin-top:.75rem}
.k-pl-h3{font-size:.95rem;margin:1rem 0 .4rem}
.k-pl-inline{display:inline}
/* prehľad sezóny (Plany/default.latte) – postup podľa termínov roka; triedy .k-plp-* (mimo .k-pl-* editorov a .k-pl-grid prehľadu lovu) */
.k-plp-roky{margin:0 -.1rem 1rem;padding:0 .1rem 2px}
.k-plp-roky .k-chip{gap:.4rem}
.k-plp-stitok{font-size:.7rem;font-weight:700;color:var(--k-muted);background:var(--k-surface-2);border:1px solid var(--k-line);border-radius:99px;padding:.05rem .45rem;line-height:1.3}
.k-plp-stitok.k-plp-prip{background:var(--k-info-soft);color:var(--k-info);border-color:transparent}
.k-plp-h{font-size:1.05rem;margin:0}
.k-plp-intro .k-card-b{display:flex;flex-direction:column;gap:.55rem}
.k-plp-introa{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.2rem}
.k-plp-prog-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem}
.k-plp-bar{height:8px;border-radius:8px;background:var(--k-surface-2);border:1px solid var(--k-line);overflow:hidden}
.k-plp-bar>span{display:block;height:100%;min-width:0;background:var(--k-ok);border-radius:8px}
/* časová os */
.k-plp-postup{list-style:none;margin:1.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:1.1rem}
.k-plp-g{position:relative;padding-left:2.4rem}
.k-plp-g::before{content:"";position:absolute;left:.9rem;top:1.9rem;bottom:-1.1rem;border-left:2px solid var(--k-line-2)}
.k-plp-g:last-child::before{display:none}
.k-plp-gh{display:flex;align-items:center;min-height:1.9rem;margin-bottom:.45rem}
.k-plp-dot{position:absolute;left:0;top:0;width:1.9rem;height:1.9rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;
    background:var(--k-surface);border:2px solid var(--k-line-2);color:var(--k-muted)}
.k-plp-dot-ok{background:var(--k-ok);border-color:var(--k-ok);color:#fff}
[data-theme="night"] .k-plp-dot-ok{color:#0f1a12}
.k-plp-dot-warn{background:var(--k-warn-soft);border-color:var(--k-warn);color:var(--k-warn)}
.k-plp-gt{font-size:1rem;margin:0;line-height:1.25}
.k-plp-gs{display:block;font-size:.8rem;font-weight:400;color:var(--k-muted)}
/* riadky krokov – mobil: ikona + text, stav pod textom, akcie na celú šírku */
.k-plp-list{list-style:none;margin:0;padding:0;overflow:hidden}
.k-plp-row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:.35rem .75rem;align-items:start;padding:.8rem 1rem;border-top:1px solid var(--k-line)}
.k-plp-row:first-child{border-top:0}
.k-plp-row.k-plp-late{box-shadow:inset 3px 0 0 var(--k-warn)}
.k-plp-row .k-ico,.k-plp-calc .k-ico{width:40px;height:40px;border-radius:11px;background:var(--k-cream);color:var(--k-brand-2);display:flex;align-items:center;justify-content:center;flex:none}
[data-theme="night"] :is(.k-plp-row,.k-plp-calc) .k-ico{color:var(--k-sand)}
.k-plp-main{min-width:0}
.k-plp-rt{font-size:.97rem;font-weight:650;margin:0;line-height:1.3}
.k-plp-rt a{color:inherit;text-decoration:none}
.k-plp-rt a:hover,.k-plp-rt a:focus-visible{text-decoration:underline}
.k-plp-rd{font-size:.82rem;color:var(--k-muted);margin:.1rem 0 0;line-height:1.35}
.k-plp-st{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem}
.k-plp-term{font-size:.8rem;color:var(--k-muted);white-space:nowrap}
.k-plp-term-warn{color:var(--k-warn);font-weight:650}
.k-plp-act{grid-column:1/-1;display:flex;gap:.45rem;margin-top:.3rem}
.k-plp-act>.k-btn{flex:1 1 0;min-width:0}
@media (max-width:767.98px){.k-plp-act>.k-btn:first-child:not([href*="export"]){flex-grow:1.5}}
@media (min-width:768px){
  .k-plp-row{grid-template-columns:40px minmax(0,1fr) 13.5rem 17rem;align-items:center;gap:.75rem}
  .k-plp-st{grid-column:auto;flex-direction:column;align-items:flex-start;gap:.2rem}
  .k-plp-act{grid-column:auto;justify-content:flex-end;margin-top:0}
  .k-plp-act>.k-btn{flex:0 0 auto}
}
@media (min-width:768px) and (max-width:1099.98px){
  .k-plp-row{grid-template-columns:40px minmax(0,1fr) 11.5rem}
  .k-plp-act{grid-column:2/-1;justify-content:flex-start}
}
/* nastavenie výpočtov */
.k-plp-calc{margin-top:1.25rem}
.k-plp-calc .k-card-b{display:flex;flex-direction:column;gap:.75rem}
.k-plp-calc-r{display:flex;flex-wrap:wrap;gap:.6rem .75rem;align-items:center}
.k-plp-calc-r .k-grow{flex:1 1 14rem}
@media (max-width:767.98px){.k-plp-calc-r>.k-btn{width:100%}}
.k-plp-notice{margin:0}
/* stav plánu */
.k-pl-stav{display:flex;flex-wrap:wrap;gap:.35rem .9rem;align-items:center}
.k-pl-stavf{display:flex;flex-wrap:wrap;gap:.45rem;align-items:flex-end;margin:.75rem 0 .35rem}
.k-pl-dat{display:flex;flex-direction:column;margin:0}
.k-pl-dat .k-input{width:auto;min-width:9.5rem}
/* kontroly */
.k-pl-klist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}
.k-pl-klist li{display:flex;gap:.45rem;align-items:baseline;font-size:.88rem}
.k-pl-err>i{color:var(--k-busy)}
.k-pl-varn>i{color:var(--k-warn)}
.k-pl-okk>i{color:var(--k-ok)}
.k-pl-kontroly .k-card-b{padding:.7rem 1rem}
.k-pl-zdroje{font-size:.88rem}
.k-pl-zdroje summary{cursor:pointer}
/* editor */
.k-pl-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;position:sticky;top:var(--k-top-h,0);z-index:3;background:var(--k-bg);padding:.4rem 0}
.k-pl-tabs{flex:1 1 auto;margin:0}
.k-pl-vyber{position:relative}
.k-pl-vyber summary{list-style:none}
.k-pl-vyber summary::-webkit-details-marker{display:none}
.k-pl-vyberb{position:absolute;right:0;z-index:5;background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-r-sm,10px);box-shadow:var(--k-shadow);padding:.6rem .8rem;min-width:15rem;display:flex;flex-direction:column;gap:.3rem}
.k-pl-rezim{white-space:nowrap}
.k-pl-dcard .k-card-b{padding:.75rem .9rem}
.k-pl-hide{display:none}
.k-pl-dparams{display:flex;flex-wrap:wrap;gap:.5rem .9rem;margin-bottom:.6rem}
.k-pl-dparams label{display:flex;flex-direction:column;margin:0}
.k-pl-num{width:6.5rem}
.k-pl-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.2rem}
.k-pl-t{border-collapse:collapse;width:100%;font-size:.86rem}
.k-pl-t th,.k-pl-t td{border-bottom:1px solid var(--k-line);padding:.2rem .25rem;text-align:center;vertical-align:middle}
.k-pl-t thead th{font-weight:600;font-size:.76rem;color:var(--k-muted);white-space:nowrap}
.k-pl-t .k-pl-rh{text-align:left;font-weight:400;min-width:7.5rem;position:sticky;left:0;background:var(--k-surface);z-index:1}
.k-pl-rl{font-size:.76rem;color:var(--k-muted)}
@media (max-width:575.98px){.k-pl-t .k-pl-rh{min-width:2.4rem;max-width:7rem}.k-pl-t .k-pl-rl{display:none}}
.k-pl-in{width:4.4rem;min-width:3.4rem;padding:.25rem .35rem;text-align:right;font-variant-numeric:tabular-nums}
.k-pl-tst .k-pl-in{width:5rem}
.k-pl-rcalc{background:var(--k-surface-2)}
.k-pl-rcalc .k-pl-rh{background:var(--k-surface-2)}
.k-pl-c{position:relative}
.k-pl-c .k-pl-in{background:transparent;border-style:dashed}
.k-pl-c .k-pl-in::placeholder{color:var(--k-text);opacity:.85}
.k-pl-man .k-pl-in{border-style:solid;border-color:var(--k-warn);background:var(--k-warn-soft);font-weight:700}
.k-pl-reset{position:absolute;top:-.1rem;right:-.05rem;border:0;background:var(--k-warn);color:#fff;border-radius:50%;width:1rem;height:1rem;line-height:1rem;font-size:.7rem;padding:0;cursor:pointer}
.k-pl-sum{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.k-pl-na{color:var(--k-muted)}
.k-pl-odch{font-style:italic}
.k-pl-bad .k-pl-in{border-color:var(--k-busy);box-shadow:0 0 0 2px var(--k-busy-soft)}
.k-pl-badw .k-pl-in{border-color:var(--k-warn);box-shadow:0 0 0 2px var(--k-warn-soft)}
.k-pl-acts{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;position:sticky;bottom:0;background:var(--k-bg);padding:.6rem 0;z-index:2}
@media (min-width:992px){.k-pl-acts{position:static;background:none;padding:0}}
.k-pl-cielinfo .k-btn{margin-top:.4rem}
/* údaje revíru, sčítanie, poľovačky */
.k-pl-druh{border:1px solid var(--k-line-2);border-radius:var(--k-r-sm,10px);padding:.55rem .75rem .7rem;margin:.75rem 0 0;min-width:0}
.k-pl-druh legend{font-size:.92rem;padding:0 .3rem;width:auto;margin:0}
.k-pl-bgrid{display:flex;flex-wrap:wrap;gap:.45rem .7rem;align-items:flex-end}
.k-pl-bgrid label{display:flex;flex-direction:column;margin:0}
.k-pl-blabel{flex-basis:100%}
.k-pl-scgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:0 .9rem}
@media (min-width:992px){.k-pl-scgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.k-pl-tsum td{text-align:left}
.k-pl-pair{display:inline-flex;gap:.25rem;margin-right:.75rem;white-space:nowrap}
/* záznam, prenos */
.k-pl-uhyn{background:var(--k-warn-soft)}
.k-pl-nochg{opacity:.6}
.k-pl-chg{color:var(--k-ok)}
/* nastavenia */
.k-pl-presety{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem}
@media (min-width:768px){.k-pl-presety{grid-template-columns:repeat(3,minmax(0,1fr))}}
.k-pl-preset{display:flex;gap:.55rem;align-items:flex-start;border:1px solid var(--k-line-2);border-radius:var(--k-r-sm,10px);padding:.6rem .7rem;margin:0;cursor:pointer}
.k-pl-preset>span{display:flex;flex-direction:column;gap:.15rem}
.k-pl-preset:has(input:checked){border-color:var(--k-ok);background:var(--k-ok-soft)}
.k-pl-map{display:flex;flex-direction:column;gap:.3rem}
.k-pl-maprow{display:grid;grid-template-columns:minmax(0,1fr);gap:.2rem;margin:0;padding:.25rem 0;border-bottom:1px solid var(--k-line)}
@media (min-width:768px){.k-pl-maprow{grid-template-columns:minmax(10rem,1fr) minmax(0,2fr);align-items:center}}
.k-pl-maprow.k-pl-man .k-select{border-color:var(--k-warn)}
.k-pl-mapn{font-weight:600}

/* screens/pocutevystrely.css */
/* Nová téma – Počuté výstrely (templates/modern/Pocutevystrely/*) */
/* zoznam: kôš neutrálny (prototyp .k-del), mobil – „Pridať výstrel“ pod zoznamom */
.k-vys-add{margin-top:1rem}
.k-vys-list .k-r{line-height:1.35}
/* formulár (stránka aj universalModal) */
.k-vys-form .k-form-card{max-width:640px;margin:0 auto}
#universalModal .k-vys-form .k-form-card{border:0;box-shadow:none;max-width:none;margin:0}
.k-vys-pocet{align-items:center}
.k-ui .k-vys-pocet>input.k-vys-iny{flex:1 1 84px;max-width:120px;min-width:0}
.k-vys-pocet .k-chip{min-width:52px;justify-content:center}
.k-vys-form .k-sticky-f>*{flex:1}
@media (min-width:992px){.k-vys-form .k-sticky-f>*{flex:0 0 auto}}
.k-vys-form .k-card-h small{display:block;font-size:.8rem;font-weight:500}
.k-vys-card .k-card-h h2{font-size:1rem}
.k-vys-list .k-ago{font-size:inherit}

/* screens/poloha-timeline.css */
/* Časová os polôh (NOVÉ) – navstevareviru/poloha-trasa (templates/modern/Navstevareviru/polohaTrasa.latte, screens/poloha-timeline.js). Prototyp: poloha-timeline.html (assets/poloha-timeline.css = rovnaký obsah),
   jadro: src/assets/modern/screens/poloha-timeline.css. Dynamické časti (posuvník, značky, zoznam, piny) štýluje KMap.timelineUI (kmap.js).
   Mobile first: filter → mapa → posuvník + stav → zoznam udalostí; od 992 px mapa vľavo, zoznam vpravo (rolovací). */
.k-geo-tl-filter{display:grid;grid-template-columns:1fr 1fr;gap:.6rem .75rem;align-items:end;padding:.8rem 1rem;margin-bottom:1rem}
.k-geo-tl-filter .k-field{margin:0;min-width:0}
.k-geo-tl-filter .k-geo-tl-fnav{grid-column:1/-1}
.k-geo-tl-filter .k-geo-tl-fmimo{grid-column:1/-1;display:flex;align-items:center;gap:.5rem;min-height:44px}
.k-geo-tl-filter select,.k-geo-tl-filter input[type=date]{width:100%;min-height:44px}
@media (min-width:768px){.k-geo-tl-filter{grid-template-columns:minmax(150px,1fr) minmax(180px,1.4fr) minmax(220px,2fr) auto}.k-geo-tl-filter .k-geo-tl-fnav,.k-geo-tl-filter .k-geo-tl-fmimo{grid-column:auto}}
.k-geo-tl-grid{display:grid;gap:1rem;margin-bottom:1rem}
@media (min-width:992px){.k-geo-tl-grid{grid-template-columns:minmax(0,3fr) minmax(300px,2fr);align-items:start}}
.k-geo-tl-mapcard{overflow:hidden}
.k-geo-tl-map{position:relative;height:52vh;min-height:300px}
@media (min-width:992px){.k-geo-tl-map{height:62vh;min-height:420px}}
.k-geo-tl-bar{padding:.7rem 1rem .9rem;display:flex;flex-direction:column;gap:.55rem;border-top:1px solid var(--k-line)}
.k-geo-tl-head{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.k-geo-tl-head b{font-size:1.35rem;font-variant-numeric:tabular-nums}
.k-geo-tl-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.k-geo-tl-ctl .k-ibtn,.k-geo-tl-ctl .k-btn{min-height:44px;min-width:44px}
.k-geo-tl-speed{display:inline-flex;border:1px solid var(--k-line);border-radius:10px;overflow:hidden}
.k-geo-tl-speed button{min-height:42px;min-width:46px;padding:0 .6rem;border:0;background:none;color:var(--k-text);font-weight:600;cursor:pointer}
.k-geo-tl-speed button.on,.k-geo-tl-speed button.k-on{background:var(--k-ok);color:#fff}
.k-geo-tl-ctl .k-geo-tl-sp{flex:1}
.k-geo-tl-listcard .k-card-h{flex-wrap:wrap;gap:.4rem .6rem}
.k-geo-tl-list{max-height:none}
@media (min-width:992px){.k-geo-tl-list{max-height:calc(62vh + 9rem);overflow:auto}}
.k-geo-tl-legend{display:flex;flex-wrap:wrap;gap:.35rem .9rem;margin:0}
.k-geo-tl-legend i.fas{width:1.1rem;text-align:center}
.k-geo-tl-pings{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;min-height:36px;margin-left:auto}
.k-geo-tl-note{margin-bottom:1rem}
.k-geo-tl-out{color:#c62828}
.k-geo-mycard .k-geo-mynote{padding:0 1rem .8rem;margin:0}
.k-geo-tl-pings[hidden]{display:none}

/* screens/poloha.css */
/* Poloha člena (NOVÉ) – screens/poloha.js. Formulár návštevy (Navstevareviru/@poloha.latte), lišta po prihlásení,
   informácia pre členov (modal), prehľad navstevareviru/polohy, Nastavenia → Poloha členov. Prototyp: pages-poloha.js (GEO). Mobile first. */
.k-geo-field .k-geo-state{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.15rem 0 .45rem}
.k-geo-field .k-geo-state .k-badge{font-size:.8rem;padding:.3rem .65rem;white-space:normal}
.k-geo-field .k-geo-low{margin-left:.35rem;font-weight:700;color:var(--k-warn)}
.k-geo-field .k-geo-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.k-geo-field .k-geo-actions .k-btn{min-height:44px}
.k-geo-field .k-geo-help{margin-top:.6rem;padding:.75rem .9rem;border-radius:var(--k-r);background:var(--k-surface-2);font-size:.86rem;line-height:1.45}
.k-geo-field .k-geo-help ol{margin:.35rem 0 .35rem 1.1rem;padding:0}
.k-geo-field .k-geo-help details{margin-top:.4rem}
.k-geo-field .k-geo-help summary{cursor:pointer;font-weight:600;color:var(--k-muted)}
.k-geo-field .k-geo-nogps{margin-top:.6rem}
.k-geo-field .k-geo-dovod{margin-top:.45rem}
.k-geo-field.k-invalid .k-geo-state .k-badge{outline:2px solid var(--k-busy);outline-offset:1px}

/* informácia pre členov (GDPR) */
.k-geo-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.45);padding:0}
.k-geo-mbox{width:100%;max-width:560px;max-height:90vh;overflow:auto;background:var(--k-surface);color:var(--k-text);border-radius:var(--k-r) var(--k-r) 0 0;padding:1.1rem 1.1rem calc(1rem + env(safe-area-inset-bottom));box-shadow:0 -6px 30px rgba(0,0,0,.25)}
.k-geo-mbox h2{font-size:1.1rem;margin:0 0 .6rem}
.k-geo-mbox h2 i{color:var(--k-ok)}
.k-geo-mbox p{font-size:.92rem;line-height:1.5}
.k-geo-mact{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap;margin-top:.8rem}
.k-geo-mact .k-btn{min-height:44px}
@media (min-width:768px){.k-geo-modal{align-items:center;padding:1rem}.k-geo-mbox{border-radius:var(--k-r)}}

/* lišta po prihlásení */
.k-geo-bar{position:fixed;left:.6rem;right:.6rem;bottom:calc(4.6rem + env(safe-area-inset-bottom));z-index:1500;display:flex;align-items:center;gap:.6rem;padding:.7rem .8rem;border-radius:var(--k-r);background:var(--k-surface);border:1px solid var(--k-line);box-shadow:0 6px 24px rgba(0,0,0,.18);font-size:.88rem}
.k-geo-bar>i{color:var(--k-ok)}
.k-nobnav .k-geo-bar{bottom:calc(.8rem + env(safe-area-inset-bottom))}
@media (min-width:992px){.k-geo-bar{left:auto;right:1.2rem;bottom:1.2rem;max-width:520px}}

/* prehľad */
.k-geo-kpis{margin-bottom:1rem}
.k-geo-kpi-out b{color:var(--k-busy)}
.k-geo-grid{display:grid;gap:1rem;margin-bottom:1rem}
@media (min-width:992px){.k-geo-grid{grid-template-columns:3fr 2fr}}
.k-geo-map{height:58vh;min-height:320px}
.k-geo-legend{display:flex;flex-wrap:wrap;gap:.35rem .9rem;padding:.6rem 1rem;margin:0}
.k-geo-dot{display:inline-block;width:.75rem;height:.75rem;border-radius:50%;vertical-align:-1px;border:2px solid #fff;box-shadow:0 0 0 1px var(--k-line)}
.k-geo-in{background:#2e7d32}.k-geo-out{background:#c62828}.k-geo-unk{background:#6b6b6b}
.k-avatar.k-geo-av-in{background:#2e7d32;color:#fff}
.k-avatar.k-geo-av-out{background:#c62828;color:#fff}
.k-avatar.k-geo-av-unk{background:var(--k-surface-2);color:var(--k-muted)}
.k-geo-alerts{margin-bottom:1rem}
/* prepínač okna + posledné známe polohy bez návštevy (NOVÉ) – sivé */
.k-geo-okno-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1rem}
.k-geo-okno{flex:0 1 auto;max-width:100%}
.k-geo-okno a{min-height:40px}
.k-geo-okno-hint{margin:0}
.k-geo-side{display:grid;gap:1rem;align-content:start;min-width:0}
.k-geo-videni .k-list{max-height:min(50vh,520px);overflow:auto}
.k-geo-stale{background:#9e9e9e}
.k-avatar.k-geo-av-stale{background:#9e9e9e;color:#fff;box-shadow:0 0 0 2px var(--k-surface),0 0 0 4px #bdbdbd}
.k-avatar.k-geo-av-stale-in{box-shadow:0 0 0 2px var(--k-surface),0 0 0 4px #2e7d32}
.k-avatar.k-geo-av-stale-out{box-shadow:0 0 0 2px var(--k-surface),0 0 0 4px #c62828}

/* nastavenia */
.k-geo-set .k-block{display:block}
.k-geo-funkcie{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.35rem 1rem}
.k-geo-note{margin-top:1rem}
.k-geo-acts{display:inline-flex;flex-wrap:wrap;gap:.4rem;margin-left:auto}

/* screens/polovstat.css */
/* Nová téma – Polovstat (templates/modern/Polovstat/default.latte) */
.k-ps-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem}
.k-ps-row .k-ps-f{margin:0;flex:1 1 9rem}
.k-ps-btns{display:flex;flex-wrap:wrap;gap:.5rem;flex:1 1 100%}
.k-ps-btns .k-btn[hidden]{display:none}
.k-ps-ok,.k-ps-err{margin-top:.75rem}
.k-ps-ok[hidden],.k-ps-err[hidden]{display:none}
.k-notice.k-ps-ok{background:var(--k-ok-soft)}
.k-notice.k-ps-ok>i{color:var(--k-ok)}
.k-notice.k-ps-err>i{color:var(--k-busy)}
.k-ps-msg{font-size:.88rem;line-height:1.45;min-width:0;overflow-wrap:anywhere}
.k-ps-imgs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
@media (min-width:992px){
  .k-ps-btns{flex:0 1 auto}
}
.k-ps-hint{margin-bottom:0}
.k-ps-per{margin-top:0}
.k-ps-sent .k-list>li{padding:.5rem 0}
.k-ps-none{margin:0}
.k-ps-row .k-ps-f{flex:0 1 auto}
.k-ps-row .k-ps-f .k-select{width:auto;max-width:100%}

/* screens/povolenky.css */
/* Povolenky na lov (NOVÉ) – Povolenky_Controller (zoznam, detail, formulár vydať/upraviť v paneli), Nastavenia → Povolenky,
   karta „Povolenky“ v detaile člena (components/povolenky.latte). Prototyp: assets/povolenky.css (k-pv-*), modifikátory s prefixom k-. */
/* číslo AC */
.k-pv-ac{display:flex;align-items:stretch}
.k-pv-ac>span{display:flex;align-items:center;padding:0 .7rem;border:1.5px solid var(--k-line-2);border-right:0;border-radius:12px 0 0 12px;background:var(--k-surface-2);font-weight:800;color:#b71c1c;letter-spacing:.04em}
.k-pv-ac .k-input{border-radius:0 12px 12px 0;font-family:"Courier New",ui-monospace,monospace;font-weight:700;font-size:1.15rem;letter-spacing:.12em;color:#b71c1c}
.k-pv-acn{font-family:"Courier New",ui-monospace,monospace;letter-spacing:.06em;color:#b71c1c}
[data-theme=night] .k-pv-acn,[data-theme=night] .k-pv-ac .k-input,[data-theme=night] .k-pv-ac>span{color:#ff8a80}
.k-pv-acbox{flex:0 0 auto;width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--k-cream);color:#b71c1c;font:700 .82rem "Courier New",ui-monospace,monospace;border:1px dashed #e0a39b}
[data-theme=night] .k-pv-acbox{color:#ff8a80;border-color:#6b3a35}
.k-pv-link{border:0;background:none;padding:0;color:var(--k-ok);font-weight:700;font-size:.85rem;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.k-pv-link:disabled{color:var(--k-muted);opacity:.6;cursor:not-allowed;text-decoration:none}
.k-hint .k-pv-link{font-size:inherit;margin-left:.25rem}
.k-pv-red{color:#c62828;font-weight:700}
[data-theme=night] .k-pv-red{color:#ff8a80}

/* držiteľ */
.k-pv-who{display:flex;align-items:center;gap:.7rem;padding:.6rem .75rem;border:1px solid var(--k-line);border-radius:12px;background:var(--k-surface-2);margin-bottom:.9rem}
.k-pv-who small{display:block;color:var(--k-muted);font-size:.8rem}
.k-pv-prefill{margin:-.4rem 0 1rem}

/* sekcie s počítadlom */
.k-pv-sec{display:flex;align-items:center;gap:.5rem}
.k-pv-cnt{margin-left:auto;font-size:.75rem;font-weight:700;padding:.1rem .5rem;border-radius:99px;background:var(--k-surface-2);border:1px solid var(--k-line);color:var(--k-muted);text-transform:none;letter-spacing:0}
.k-pv-cnt.k-pv-over{background:var(--k-busy-soft);color:var(--k-busy);border-color:var(--k-busy)}

/* druhy zveri – výber s poradím (label + skrytý checkbox) */
.k-pv-zver{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}
@media (min-width:900px){ .k-pv-zver{grid-template-columns:repeat(3,1fr)} }
.k-pv-zv{display:flex;align-items:center;gap:.45rem;min-height:44px;padding:.35rem .5rem;line-height:1.2;border:1.5px solid var(--k-line-2);border-radius:11px;background:var(--k-surface);text-align:left;font-size:.86rem;color:var(--k-text);cursor:pointer;position:relative}
.k-pv-zv .k-pv-n{flex:0 0 auto;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;background:var(--k-surface-2);color:var(--k-muted);border:1px solid var(--k-line)}
.k-pv-zv.k-on{border-color:var(--k-ok);background:var(--k-ok-soft);font-weight:700}
.k-pv-zv.k-on .k-pv-n{background:var(--k-ok);color:#fff;border-color:var(--k-ok)}
.k-pv-zv.k-pv-dis{opacity:.45;cursor:not-allowed}
.k-pv-zv:focus-within{outline:2px solid var(--k-ok);outline-offset:2px}
.k-pv-custom{display:flex;gap:.5rem;margin-top:.5rem}
.k-pv-custom .k-input{flex:1;min-width:0}
.k-pv-custom .k-btn{flex:0 0 auto}
.k-pv-order .k-label{margin:.8rem 0 .35rem}
.k-pv-order ol{list-style:none;margin:0;padding:0;border:1px solid var(--k-line);border-radius:12px;overflow:hidden;background:var(--k-surface)}
.k-pv-order li{display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem .3rem .75rem;border-top:1px solid var(--k-line);font-size:.9rem}
.k-pv-order li:first-child{border-top:0}
.k-pv-order li .k-pv-n{width:1.6rem;color:var(--k-muted);font-weight:700}
.k-pv-order li.k-pv-doba{color:#c62828;font-weight:700;background:var(--k-surface-2);min-height:44px}
[data-theme=night] .k-pv-order li.k-pv-doba{color:#ff8a80}
.k-pv-order li.k-pv-doba .k-xs{color:var(--k-muted);font-weight:400}
.k-pv-doba.k-check{margin-top:.7rem}

/* značka GG · 206 · 12321 */
.k-pv-znt{display:inline-flex;align-items:stretch;border:1.5px solid var(--k-text);border-radius:6px;overflow:hidden;font-family:"Courier New",ui-monospace,monospace;font-size:.92rem;line-height:1;background:var(--k-surface);color:var(--k-text)}
.k-pv-znt>*{padding:.3rem .32rem;display:flex;align-items:center}
.k-pv-znt .k-pv-s{background:var(--k-text);color:var(--k-surface);font-weight:700;letter-spacing:.06em}
.k-pv-znt .k-pv-o{border-right:1px dashed var(--k-line-2);color:var(--k-muted);font-weight:700}
.k-pv-znt b{font-size:1.05em;letter-spacing:.08em}
.k-pv-znbar{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;margin-bottom:.5rem}
.k-pv-zns{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.45rem}
.k-pv-zn{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.5rem .55rem;border:1.5px solid var(--k-line-2);border-radius:11px;background:var(--k-surface);cursor:pointer;text-align:left;min-height:44px;color:var(--k-text);position:relative}
.k-pv-zn:focus-within{outline:2px solid var(--k-ok);outline-offset:2px}
.k-pv-zn .k-pv-st{font-size:.74rem;color:var(--k-ok);font-weight:700}
.k-pv-zn.k-on{border-color:var(--k-ok);background:var(--k-ok-soft);box-shadow:inset 0 0 0 1px var(--k-ok)}
.k-pv-zn.k-on .k-pv-znt{border-color:var(--k-ok)}
.k-pv-zn.k-on .k-pv-znt .k-pv-s{background:var(--k-ok)}
.k-pv-zn.k-pv-dis{cursor:not-allowed}
.k-pv-zn.k-pv-st-pov.k-pv-dis{background:var(--k-warn-soft);border-style:dashed;border-color:var(--k-warn)}
.k-pv-zn.k-pv-st-pov .k-pv-st{color:var(--k-warn)}
.k-pv-zn.k-pv-st-used.k-pv-dis,.k-pv-zn.k-pv-st-off.k-pv-dis{background:var(--k-surface-2);opacity:.6}
.k-pv-zn.k-pv-st-used .k-pv-st,.k-pv-zn.k-pv-st-off .k-pv-st{color:var(--k-muted)}
.k-pv-zn.k-pv-st-used .k-pv-znt b{text-decoration:line-through}
.k-pv-zn.k-pv-st-free.k-pv-dis{opacity:.5}
.k-pv-leg{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin-top:.55rem;font-size:.75rem;color:var(--k-muted)}
.k-pv-leg span{display:inline-flex;align-items:center;gap:.3rem}
.k-pv-sw{display:inline-block;width:14px;height:10px;border-radius:3px;border:1.5px solid var(--k-line-2);background:var(--k-surface)}
.k-pv-sw.k-on{border-color:var(--k-ok);background:var(--k-ok-soft)}
.k-pv-sw.k-pv-pov{border:1.5px dashed var(--k-warn);background:var(--k-warn-soft)}
.k-pv-sw.k-pv-used{background:var(--k-surface-2);opacity:.6}
.k-pv-seg{max-width:240px}
.k-pv-seg label{cursor:pointer}

/* pätička formulára – dve rovnako veľké tlačidlá (stránka aj panel) */
.k-pv-foot{display:flex;gap:.5rem}
.k-pv-foot .k-btn{flex:1 1 0;min-width:0}
.k-pv-page>.k-pv-foot{position:sticky;bottom:0;padding:.75rem 0;background:var(--k-bg,var(--k-surface));z-index:2}
.k-pv-form{max-width:980px}
.k-sheet .k-pv-form{max-width:none}

/* zoznam */
.k-pv-filters{display:flex;flex-wrap:wrap;gap:.5rem .8rem;align-items:center;margin-bottom:.7rem}
.k-pv-search{max-width:360px}
.k-pv-sez{display:flex;align-items:center;gap:.5rem}
.k-pv-sez .k-label{margin:0}
.k-pv-sez .k-select{width:auto;min-width:170px}
.k-pv-stav{margin-bottom:1rem}
.k-pv-typ{display:inline-flex;gap:.4rem;margin-left:auto}
@media (max-width:640px){ .k-pv-typ{margin-left:0} }
.k-pv-r{display:flex;align-items:center;gap:.4rem}
.k-pv-mfab{display:flex;gap:.5rem;margin-top:1rem}
.k-pv-mfab .k-btn{flex:1}
.k-pv-kpis{margin-bottom:1rem}
.k-pv-okc{color:var(--k-ok)}
.k-pv-off{opacity:.6}
.k-pv-pq{margin-bottom:.8rem}

/* detail */
.k-pv-ol{margin:0;padding-left:1.4rem}
.k-pv-ol li{padding:.2rem 0}
.k-pv-ol li.k-pv-doba{color:#c62828;font-weight:700}
[data-theme=night] .k-pv-ol li.k-pv-doba{color:#ff8a80}
.k-pv-znl{list-style:none;margin:0;padding:0;counter-reset:zn}
.k-pv-znl li{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;border-top:1px solid var(--k-line);counter-increment:zn}
.k-pv-znl li:first-child{border-top:0}
.k-pv-znl li:before{content:counter(zn) ".";width:1.4rem;color:var(--k-muted);font-weight:700;font-size:.85rem}
.k-pv-c2{align-items:start}
.k-pv-m0,.k-pv-mt0{margin-top:0;margin-bottom:0}
.k-pv-mseg{margin-bottom:.8rem;max-width:460px}
/* náhľad tlače – SVG (povolenky.js svgPrint = prototyp PV.svg), viewBox v mm, na mobile vodorovný posun ako prototyp */
.k-pv-prev{border:1px solid var(--k-line);border-radius:10px;overflow:auto;background:#fff;-webkit-overflow-scrolling:touch}
.k-pv-prev .k-pv-svg{display:block;width:100%;min-width:560px;height:auto}
.k-pv-noprev{margin:0;padding:1rem;text-align:center}
.k-pv-prevcard .k-hint{margin-bottom:0}
.k-pv-prevcard .k-card-f{flex-wrap:wrap}
.k-pv-inl-form{display:inline}
[data-theme=night] .k-pv-prev{border-color:#444}
/* UX fix (Jakub 3. 11.): §29 áno/nie ako segmentový prepínač, fieldset bez rámu prehliadača, pätička v šírke formulára, Uložiť sekundárne */
.k-pv-form fieldset.k-field{border:0;margin:0;padding:0;min-width:0}
.k-pv-form fieldset.k-field>legend.k-label{padding:0;margin-bottom:.35rem;float:none;width:auto}
.k-pv-seg{display:flex;flex-wrap:nowrap;max-width:240px}
.k-pv-seg label{flex:1;display:flex;align-items:center;justify-content:center;min-height:38px;padding:.45rem .8rem;border-radius:9px;font-size:.92rem;font-weight:700;color:var(--k-muted);cursor:pointer;margin:0;user-select:none}
.k-pv-seg label:is(.k-on,:has(input:checked)){background:var(--k-surface);color:var(--k-text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.k-pv-seg label:has(input:focus-visible){outline:2px solid var(--k-ok);outline-offset:1px}
.k-pv-page>.k-pv-foot{max-width:980px}
.k-sheet .k-pv-page>.k-pv-foot{max-width:none}
.k-ui .k-pv-foot .k-btn.k-ghost{background:var(--k-surface);color:var(--k-text);border-color:var(--k-line-2)}
.k-ui .k-pv-foot .k-btn.k-ghost:hover{background:var(--k-surface-2)}

/* screens/prehladlovu.css */
/* Nová téma – Prehľad lovu (templates/modern/Prehladlovu/*) */
.k-pl-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}
.k-pl-bar .k-select{max-width:100%}
.k-pl-grid{align-items:start}
.k-pl-cat .k-card-h{gap:.5rem}
.k-pl-toggle{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.k-pl-toggle h2{margin:0}
.k-pl-chev{font-size:.8rem;transition:transform .15s ease}
.k-pl-toggle[aria-expanded="false"] .k-pl-chev{transform:rotate(-90deg)}
.k-pl-off{opacity:.62}
.k-pl-list>li.k-pl-row{flex-wrap:wrap;row-gap:.35rem}
.k-pl-list>li.k-pl-full{background:var(--k-busy-soft)}
.k-pl-list>li.k-pl-head{display:none;padding-top:.45rem;padding-bottom:.45rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--k-muted)}
.k-pl-nums{display:flex;align-items:center;gap:.9rem;margin-left:auto;text-align:right;flex:none}
.k-pl-nums>span{display:inline-flex;align-items:baseline;gap:.3rem;white-space:nowrap}
.k-pl-l{font-size:.72rem;color:var(--k-muted)}
.k-pl-ks.k-input{width:5.2rem;min-height:40px;text-align:right}
.k-pl-acts{display:flex;gap:.35rem;flex:none}
.k-pl-on{color:var(--k-ok)}
.k-pl-save{justify-content:center}
.k-pl-save .k-btn{flex:1 1 0}
@media (min-width:992px){.k-pl-save .k-btn{flex:0 1 240px}}
/* režim čítania (predvolený): ulovené / plán + pruh plnenia, „loví sa“ */
.k-pl-macts{display:flex;flex-wrap:wrap;gap:.4rem;width:100%}
.k-pl-chips{margin-bottom:1rem}
.k-pl-list>li.k-pl-rrow{flex-wrap:wrap;row-gap:.4rem}
.k-pl-rrow>.k-grow{min-width:55%}
.k-pl-rrow .k-s .k-badge{margin-right:.2rem}
.k-pl-rrow .k-r b{font-size:1.02rem}
.k-pl-over{color:var(--k-busy)}
.k-pl-prog{flex:1 0 100%}
@media (max-width:420px){
  .k-pl-list>li.k-pl-row>.k-grow{flex-basis:100%}
  .k-pl-nums{margin-left:0}
  .k-pl-acts{margin-left:auto}
}
@media (min-width:992px){
  .k-pl-list>li.k-pl-head{display:flex;align-items:center;gap:.75rem}
  .k-pl-head .k-pl-nums>span{width:5.2rem;justify-content:flex-end}
  .k-pl-head .k-pl-acts{width:calc(36px * 2 + .35rem)}
  .k-pl-row .k-pl-nums>span{min-width:5.2rem;justify-content:flex-end}
  .k-pl-row .k-pl-l{display:none}
}
/* úprava zveri */
.k-zv-grid{align-items:start}
/* úprava zveri (prototyp PL_edit): checkboxy ako .k-check (rámik), príznaky v mriežke */
.k-zv-check{margin-bottom:.35rem}
.k-zv-check input[type="checkbox"]{width:22px;height:22px;flex:none;accent-color:var(--k-ok);margin:0}
.k-zv-check label{margin:0;cursor:pointer;flex:1}
.k-zv-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 1rem}
.k-zv-form .k-form-card,.k-pz-form .k-form-card{max-width:760px;margin:0 auto}
.k-zv-form .k-sticky-f>*{flex:1}
@media (min-width:992px){.k-zv-form .k-sticky-f>*{flex:0 0 auto}}
/* tabuľka úlovkov (detail druhu); Polovstat používa Hlasenieulovku/@tableUlovky.latte (screens/hlasenieulovku.css) */
.k-ul-del{color:var(--k-busy)}
/* pridanie zveri / kategórie */
.k-pz-form .k-form-card{max-width:640px;margin:0 auto}
.k-pz-form .k-sticky-f>*{flex:1}
@media (min-width:992px){.k-pz-form .k-sticky-f>*{flex:0 0 auto}}

/* odznak bodovania C.I.C (CHPT, ChovatelskaPrehliadka_Controller::cicBadgeHtml – <a class="btn"> s .badge alebo „CIC“) pri druhu zveri */
.k-pl-cic{margin-top:.25rem}
.k-pl-cic :where(.btn){display:inline-flex;align-items:center;gap:.3rem;min-height:32px;padding:.15rem .5rem;border:1px solid var(--k-line-2);border-radius:8px;
  background:var(--k-surface);color:var(--k-text);font-size:.75rem;font-weight:600;text-decoration:none}
.k-pl-cic :where(.badge){display:inline-block;padding:.1rem .4rem;border-radius:6px;font-size:.75rem;font-weight:700}

/* screens/psy.css */
/* Psy (NOVÉ) – templates/modern/Psy/*.latte (prehľad, formulár psa), components/psy.latte (karta v detaile člena), Nastavenia/psy.latte. */
.k-ps-info,.k-ps-filter{margin-bottom:1rem}
.k-ps-filter .k-chip.k-ps-hot{border-color:var(--k-warn);color:var(--k-warn)}
.k-ps-off{opacity:.6}
.k-ps-bon{color:var(--k-ok);font-weight:600}
.k-ps-nz{opacity:.75}
.k-ps-exp{color:var(--k-busy)}
.k-ps-inline{display:inline}
.k-notice.k-ok{background:var(--k-ok-soft);color:var(--k-ink,inherit);border-color:transparent}
.k-notice.k-ok>i{color:var(--k-ok)}
.k-notice.k-warn{background:var(--k-warn-soft);border-color:transparent}
.k-notice.k-warn>i{color:var(--k-warn)}
.k-ps-stav .k-small{margin-top:.15rem}
/* formulár psa – mobil 1 stĺpec, desktop max. šírka */
.k-ps-page{max-width:920px}
.k-ps-form>*+*,.k-ps-page>*+*{margin-top:1rem}
.k-ps-fcard .k-card-b{padding:1rem 1.1rem 1.1rem}
.k-ps-sk{position:relative;border:1px solid var(--k-line-2);border-radius:var(--k-r-sm,10px);padding:.65rem .75rem .75rem;margin:.75rem 0 0;min-width:0}
.k-ps-sk.k-invalid{border-color:var(--k-busy)}
.k-ps-skf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem .75rem}
.k-ps-skf label{display:flex;flex-direction:column;min-width:0;margin:0}
.k-ps-skf .k-ps-f2{grid-column:1/-1}
@media (min-width:768px){.k-ps-skf{grid-template-columns:2fr 1fr 1fr .6fr 1fr}.k-ps-skf .k-ps-f2:first-child{grid-column:auto}.k-ps-skf .k-ps-f2:last-child{grid-column:1/-1}}
.k-ps-skdel{position:absolute;top:.35rem;right:.35rem}
.k-ps-add{margin-top:.75rem}
.k-ps-acts{position:sticky;bottom:0;background:var(--k-bg);padding:.6rem 0;z-index:2}
@media (min-width:992px){.k-ps-acts{position:static;background:none;padding:0}}
.k-ps-more>*+*{margin-top:.85rem}
.k-ps-hosp{display:flex;flex-wrap:wrap;gap:.5rem}
.k-ps-approve .k-card-b{padding:.85rem 1.1rem}
/* nastavenia */
.k-ps-skrows{display:flex;flex-direction:column;gap:.35rem;margin:.5rem 0}
.k-ps-skrow{display:flex;align-items:center;gap:.75rem}
.k-ps-skrow .k-input{flex:1;min-width:0}
.k-ps-skrow .k-check{flex:none;white-space:nowrap}
.k-ps-new .k-input{border-style:dashed}
.k-ps-bonus .k-fgrid{margin:.5rem 0}
.k-ps-hist{margin-top:.75rem;border-top:1px solid var(--k-line)}
.k-ps-hist li{padding:.4rem 0;display:flex;gap:.5rem}
/* kartový režim (mobil): odznaky stavu a očkovania sa zalamujú (vedľa tlačidla Schváliť) */
.k-ps-card td.k-kc .k-s{white-space:normal;overflow:visible;text-overflow:clip}
.k-ps-card td.k-kc .k-badge{white-space:normal}

/* screens/push.css */
/* Upozornenia na telefón a zariadenia (NOVÉ) – Môj profil → Upozornenia (mailing:notifikacie, screens/push.js),
   Nastavenia → Appka a upozornenia (mailing:zariadenia). Prefix k-push-. */
.k-push{margin-bottom:1rem}
.k-push-st[hidden]{display:none}
.k-push-state{margin:0 0 .8rem}
.k-push-ok i{color:var(--k-ok)}
.k-push-warn{color:var(--k-busy, #9b2c2c)}
.k-push-acts{display:flex;flex-wrap:wrap;gap:.5rem}
.k-push-how{margin:0 0 .4rem;padding-left:1.1rem}
.k-push-how li{margin:.3rem 0}
.k-push-msg{margin:.7rem 0 0;font-size:.92rem;color:var(--k-muted);min-height:1.2em}
.k-push-msg:empty{display:none}
.k-push-msg.k-push-bad{color:var(--k-busy, #9b2c2c)}
.k-push-devs{margin-bottom:1rem}
.k-push-devlist{list-style:none;margin:0;padding:0}
.k-push-dev{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--k-line)}
.k-push-dev:last-child{border-bottom:0}
.k-push-dev .k-sub{display:block;font-size:.85rem;color:var(--k-muted)}
.k-push-dev-me{background:var(--k-surface-2)}
.k-push-dev-ic{flex:none;width:2.4rem;height:2.4rem;border-radius:12px;display:grid;place-items:center;background:var(--k-surface-2);color:var(--k-muted);font-size:1.1rem}
.k-push-on{color:var(--k-ok)}
.k-push-legend{margin:0 0 .4rem}
.k-push-pref{display:block}
.k-push-ev b{font-weight:700}
.k-push-ev .k-sub{display:block;font-weight:400}
.k-push-chs{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem;margin-top:.35rem}
.k-push-chk{flex:none;white-space:nowrap}
.k-push-chk i{color:var(--k-muted);width:1.1em;text-align:center}
/* hospodár: prehľad */
.k-push-lead{margin:0 0 .8rem;font-size:1.05rem}
.k-push-cnt{display:inline-block;min-width:1.4em;padding:0 .35em;margin-left:.2em;border-radius:999px;background:var(--k-surface-2);font-size:.8em;text-align:center;font-weight:700;color:var(--k-muted)}
.k-push-yes{color:var(--k-ok);font-weight:600;white-space:nowrap}
.k-push-confirm{border-color:var(--k-ok);box-shadow:inset 4px 0 0 var(--k-ok)}
.k-push-confirm h2{font-size:1.1rem;margin:0 0 .4rem}
.k-push-hd{flex-wrap:wrap;row-gap:.6rem}
.k-pwa-reload{margin-left:.5rem}

/* hospodár – KPI (k-kpis) ako filtre, čipy, pozvánka, tabuľka v dvoch skupinách */
.k-push-kpis{margin-bottom:1rem}
.k-push-kpis>a,.k-push-kpis>a:is(:hover,:focus,:visited){color:inherit;text-decoration:none}
.k-push-kpis>a:hover{border-color:var(--k-line-2)}
.k-push-kpis>a:focus-visible{outline:2px solid var(--k-ok);outline-offset:2px}
.k-push-kpis>a.k-push-kpi-on{border-color:var(--k-ok);box-shadow:inset 0 0 0 1px var(--k-ok)}
.k-push-of{font-size:.55em;font-weight:700;color:var(--k-muted)}
.k-push-filters{margin-bottom:.75rem}
.k-push-filters a{text-decoration:none}
.k-push-filters a .k-push-cnt{background:transparent;padding:0;min-width:0}
.k-push-invite{display:flex;align-items:center;gap:1rem;padding:.9rem 1rem}
.k-push-invite h2{font-size:1rem;margin:0 0 .2rem}
.k-push-invite-ic{flex:none;width:2.6rem;height:2.6rem;border-radius:12px;display:grid;place-items:center;background:var(--k-ok-soft);color:var(--k-ok);font-size:1.1rem}
.k-push-invite-p{margin:0;font-size:.9rem;line-height:1.45;color:var(--k-muted);max-width:78ch}
.k-push-invite-p b{color:var(--k-text)}
.k-push-invite-p+.k-push-invite-p{margin-top:.35rem}
.k-push-navod{flex:none}
.k-push-tbl td{padding-top:.45rem;padding-bottom:.45rem}
.k-push-tbl td .k-sub{margin-top:0}
.k-push-grp th{background:var(--k-bg);color:var(--k-muted);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:.5rem 1rem;border-top:1px solid var(--k-line);border-bottom:1px solid var(--k-line)}
.k-push-grp th i{margin-right:.3rem}
.k-push-g-aktivni .k-push-grp th{color:var(--k-ok)}
.k-push-tbl tbody:first-of-type .k-push-grp th{border-top:0}
.k-push-on-row td:first-child{box-shadow:inset 3px 0 0 var(--k-ok)}
.k-push-off-row td{color:var(--k-muted)}
.k-push-off-row td b{color:var(--k-text);font-weight:600}
.k-push-none{font-size:.85rem}
.k-push-plat{white-space:nowrap}
.k-push-plat i{color:var(--k-muted)}
.k-push-off-row td{padding-top:.4rem;padding-bottom:.4rem}
.k-push-fn{color:var(--k-muted);font-size:.84rem;margin-left:.35rem}
.k-push-never{opacity:.6}
.k-push-none i{margin-right:.2rem;opacity:.7}
.k-push-noem{display:inline-flex;align-items:center;gap:.25rem;margin-left:.35rem;padding:0 .4rem;border-radius:99px;background:var(--k-warn-soft);color:var(--k-warn);font-size:.72rem;font-weight:700;white-space:nowrap;vertical-align:1px}
.k-push-av{flex:none;width:2.2rem;height:2.2rem;border-radius:10px;display:grid;place-items:center;background:var(--k-surface-2);color:var(--k-muted)}
.k-push-av-on{background:var(--k-ok-soft);color:var(--k-ok)}
@media (max-width:640px){
	.k-push-acts .k-btn{width:100%}
	.k-push-find{margin-left:0;flex:1 1 100%}
	.k-push-find>div{flex:1}
	.k-push-invite{flex-wrap:wrap;align-items:flex-start}
	.k-push-invite-ic{width:2.2rem;height:2.2rem;font-size:1rem}
	.k-push-navod{flex-basis:100%}
	.k-push-navod .k-btn{width:100%}
}
/* kartový režim tabuľky (.k-table.k-cards pod 560 px kontajnera .k-tw) – nadpis skupiny cez celú šírku */
@container ktw (max-width:559.98px){
	.k-push-tbl tr.k-push-grp{padding:0}
	.k-push-grp th{flex:1 1 100%;display:block;padding:.45rem 1rem}
	.k-push-on-row{box-shadow:inset 3px 0 0 var(--k-ok)}
}

/* NOVÉ: posledné upozornenie pri členovi (Appka a upozornenia) a Posledné upozornenia v profile (Mailing/notifikacie.latte) */
.k-push-last{font-size:.8rem;color:var(--k-muted);white-space:nowrap}
.k-push-last i{margin-right:.2rem;opacity:.75}
.k-push-last a{color:inherit;text-decoration:underline;text-decoration-color:var(--k-line-2);text-underline-offset:2px}
.k-push-last a:is(:hover,:focus-visible){color:var(--k-ok);text-decoration-color:currentColor}
.k-push-last-ok{color:var(--k-ok)}
.k-push-last-busy{color:var(--k-busy, #9b2c2c)}
.k-push-last-warn{color:var(--k-warn)}
.k-push-none .k-push-last{display:inline;margin-left:.5rem}
.k-push-hist{margin-bottom:1rem}
.k-push-histlist{list-style:none;margin:0;padding:0}
.k-push-hi{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--k-line)}
.k-push-hi:last-child{border-bottom:0}
.k-push-hi-t{display:block;line-height:1.3}
.k-push-hi .k-sub{display:block;font-size:.86rem;color:var(--k-muted);line-height:1.4}
.k-push-hi-b{color:var(--k-text)!important;margin-top:.1rem;overflow-wrap:anywhere}
.k-push-hi-m{margin-top:.2rem;font-size:.78rem!important}
.k-push-hi-open{flex:none;align-self:center}
@media (max-width:640px){
	.k-push-hi{flex-wrap:wrap;row-gap:.5rem}
	.k-push-hi-c{flex:1 1 calc(100% - 3.2rem);min-width:0}
	.k-push-hi-open{margin-left:3.15rem;align-self:flex-start}
	.k-push-last{white-space:normal}
}

/* screens/pzrevir.css */
/* Pzrevir_Controller (nová téma): udaje, edit, zariadenia, soliska */
.k-rv-grid{align-items:start}
.k-rv-doc{flex-wrap:wrap}
.k-rv-docacts{display:flex;gap:.4rem;align-items:center}
.k-rv-maplbl{margin:.2rem 0 -.6rem}
.k-rv-map{height:300px;border-radius:var(--k-r);overflow:hidden;border:1px solid var(--k-line)}
.k-rv-save{max-width:640px;margin-left:auto}

.k-pz-map{height:min(48vh,460px);min-height:260px;margin-bottom:1rem;border-radius:var(--k-r);overflow:hidden}
.k-pz-tools{display:flex;gap:.5rem;align-items:center;margin-bottom:.8rem}
.k-pz-chips{display:flex;gap:.4rem;min-width:0;flex:1 1 auto}
.k-pz-search{flex:0 1 260px;margin:0}
@media (max-width:575.98px){.k-pz-search{flex:1 0 150px}}
.k-pz-grid>li[hidden]{display:none}
.k-pz-none{margin-top:1rem}
.k-pz-none[hidden]{display:none}
.k-pz-top{gap:.4rem;align-items:center;min-width:0}
.k-pz-sub{margin-top:-.3rem}
.k-pz-acts{gap:.4rem;margin-top:auto}
.k-pz-off{opacity:.6;pointer-events:none}
.k-pz-madd,.k-pz-mlink{margin:0 0 1rem}
.k-pz-mlink{margin:1rem 0 0}
.k-pz-ph-sm{height:90px}
.k-pz-b-sm{gap:.2rem;padding:.6rem .8rem}
.k-pz-grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.k-pz-grid-sm{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.k-pz-item{overflow:hidden;display:flex;flex-direction:column}
.k-pz-ph{display:block;height:110px;background:var(--k-cream)}
.k-pz-ph img{width:100%;height:100%;object-fit:cover;display:block}
.k-pz-ph.k-ph{border-radius:0;font-size:1.6rem;display:flex}
.k-pz-b{padding:.65rem .8rem .8rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.k-pz-b .k-row{min-width:0}
.k-pz-popis{margin:0;overflow-wrap:anywhere}
.k-pz-grid>.k-card{margin-top:0}
.k-pz-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;line-height:1.25}
.k-rv-doc .k-tx-busy{color:var(--k-busy)}

/* screens/signin.css */
/* SignIn_Controller (nová téma): login, zabudnuteHeslo, obnovaHesla – bez shellu (body.k-noshell).
   Hlavička je div[role=banner] (nie <header> – modified.css), preto vlastné štýly namiesto .k-login header z prototypu. */
body.k-noshell .k-login{min-height:100vh}
.k-login-hd{background:var(--k-brand);color:#fff;text-align:center;padding:clamp(2rem,8vh,5rem) 1.5rem 5rem;position:relative;overflow:hidden}
.k-login-hd::after{content:"";position:absolute;inset:auto -10% -40% -10%;height:70%;background:radial-gradient(ellipse at center,rgba(255,255,255,.07),transparent 70%);pointer-events:none}
.k-login-hd>*{position:relative;z-index:1}
.k-login-hd .k-brand-mark{width:64px;height:64px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25))}
.k-login-hd>i{font-size:2.2rem;color:var(--k-sand)}
.k-login-hd h1{font-size:1.5rem;margin:.6rem 0 0;color:#fff;font-weight:750;overflow-wrap:anywhere}
.k-login-hd p{color:var(--k-sand);margin:.3rem 0 0;font-size:.92rem}
.k-login-b{padding:1.2rem}
.k-login-rem{margin-bottom:1rem}
.k-check.k-login-rem{border:0;background:none;padding:0;min-height:44px;font-size:.9rem}
.k-login-thr{margin-bottom:1rem}
.k-login-msg:empty{display:none}
.k-login-msg{margin-bottom:1rem}
.k-login-links{display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap;margin-top:.4rem}
.k-login-links a{color:var(--k-ok);font-weight:650;min-height:44px;display:inline-flex;align-items:center}
.k-login-p{margin-top:0}
.k-login-back{margin-top:1rem}
/* prihlasovacia obrazovka bez shellu: hlavička na celú šírku (inak ju obmedzí .k-main>.k-wrap max 1320px) */
body.k-noshell .k-main>.k-wrap{max-width:none;margin:0;padding:0}
body.k-noshell .k-content{padding:0;margin:0;border:0;background:none;box-shadow:none}
/* hlavička je position:relative (dekorácia ::after) → karta so záporným marginom musí byť nad ňou */
.k-login-card{position:relative;z-index:2}
.k-login-card .k-card{box-shadow:0 10px 30px rgba(40,25,15,.12)}
@media (min-width:768px){
  .k-login-hd{padding:clamp(3rem,10vh,6rem) 1.5rem 6rem}
  .k-login-hd h1{font-size:2rem}
  .k-login-hd p{font-size:1rem}
  .k-login-card{max-width:420px;margin-top:-4rem}
  .k-login-b{padding:1.6rem}
}
/* päta: články 3 a 4 (kontakt hospodára, copyright) – pod kartou, centrované, tlmené */
.k-login-foot{width:100%;max-width:640px;margin:.5rem auto 0;padding:0 1.25rem 2.5rem;color:var(--k-muted);font-size:.84rem;line-height:1.55;text-align:center}
.k-login-art{display:grid;gap:.9rem;padding-top:1.1rem;border-top:1px solid var(--k-line)}
.k-login-art .k-clanok{overflow-wrap:anywhere}
.k-login-art .k-clanok :is(p,div,h1,h2,h3,h4,h5,h6){margin:0;font-size:inherit;line-height:inherit;color:inherit;font-weight:inherit}
.k-login-art .k-clanok :is(b,strong){color:var(--k-text);font-weight:650}
.k-login-art .k-clanok a{color:var(--k-ok);font-weight:600}
.k-login-art .k-clanok br+br{display:none}
@media (min-width:560px){
  .k-login-art2{grid-template-columns:1fr 1fr;gap:0}
  .k-login-art2 .k-clanok{padding:0 1.25rem}
  .k-login-art2 .k-clanok+.k-clanok{border-left:1px solid var(--k-line)}
}
.k-login-copy{margin-top:1rem;font-size:.78rem;opacity:.85}

/* screens/sms.css */
/* Sms_Controller::send (nová téma) */
.k-sms-grid{align-items:start}
.k-sms-seg{flex-wrap:wrap}
.k-sms-seg[hidden]{display:none}
.k-sms-seg button[disabled]{opacity:.5;cursor:not-allowed}
.k-sms-list{max-height:260px;overflow:auto;border:1px solid var(--k-line);border-radius:12px;padding:.2rem .7rem}
.k-sms-row{display:flex;align-items:center;gap:.7rem;min-height:44px;border-top:1px solid var(--k-line);cursor:pointer}
.k-sms-row:first-child{border-top:0}
.k-sms-row input{width:20px;height:20px;accent-color:var(--k-ok);flex:none}
.k-sms-msg{min-height:140px}
.k-sms-log>li{align-items:flex-start}
.k-sms-txt{margin-top:.15rem;overflow-wrap:anywhere}

/* screens/ulohy.css */
/* Úlohy brigád (NOVÉ) – templates/modern/Brigady/{ulohy,uloha,ulohaForm,@tabs}.latte, upozornenie vo formulári návštevy (Navstevareviru/pridat.latte),
   karta na domove (components/ulohy.latte), Nastavenia/brigady.latte. */
.k-ul-tabs,.k-ul-filter{margin-bottom:1rem}
.k-ul-tabs .k-chip{gap:.35rem}
.k-ul-filter .k-chip.k-ul-hot{border-color:var(--k-warn);color:var(--k-warn)}
.k-ul-off{opacity:.6}
.k-ul-inline{display:inline}
.k-head .k-acts .k-ul-inline{display:inline-flex}
/* mobil: akcie správcu v detaile úlohy (hlavička .k-lg-head je pod 992 px skrytá) – rad pod záložkami; zmazanie pod formulárom úpravy */
.k-ul-macts{margin:0 0 .8rem}
.k-ul-macts .k-ul-inline{display:inline-flex}
.k-ul-macts .k-btn{white-space:nowrap;min-height:40px}
.k-ul-del{display:flex;justify-content:flex-end;margin-top:1.25rem}
[data-k-ul-meno][hidden],[data-k-ul-only][hidden],[data-k-ul-nover][hidden],.k-ul-nblok[hidden]{display:none!important}
.k-notice.k-ok{background:var(--k-ok-soft);border-color:transparent}
.k-notice.k-ok>i{color:var(--k-ok)}
.k-notice.k-warn{background:var(--k-warn-soft);border-color:transparent}
.k-notice.k-warn>i{color:var(--k-warn)}
.k-ul-nblok{margin:.5rem 0 1rem}
.k-ul-nover{margin-top:.5rem}
/* detail */
.k-ul-moja .k-card-b>*+*{margin-top:.6rem}
.k-ul-done{display:flex;flex-direction:column;gap:.6rem;margin-top:.85rem}
.k-ul-done .k-btn{align-self:flex-start}
.k-ul-clist .k-ul-crow{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:flex-start}
.k-ul-cacts{display:flex;flex-wrap:wrap;gap:.35rem;align-items:flex-start}
.k-ul-det{position:relative}
.k-ul-det>summary{list-style:none;cursor:pointer}
.k-ul-det>summary::-webkit-details-marker{display:none}
.k-ul-det[open]>summary{border-color:var(--k-line-2)}
.k-ul-pop{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding:.75rem;border:1px solid var(--k-line-2);border-radius:var(--k-r-sm,10px);background:var(--k-bg);min-width:min(320px,80vw)}
.k-ul-pop .k-btn{align-self:flex-start}
.k-ul-popis{margin-top:.75rem;white-space:normal}
.k-mt{margin-top:.5rem}
/* formulár */
.k-ul-page{max-width:920px}
.k-ul-form>*+*,.k-ul-page>*+*{margin-top:1rem}
.k-ul-fcard .k-card-b{padding:1rem 1.1rem 1.1rem}
.k-ul-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.15rem .75rem}
.k-ul-clenovia{max-height:360px;overflow:auto;padding:.25rem;border:1px solid var(--k-line-2);border-radius:var(--k-r-sm,10px)}
.k-ul-ctl{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.5rem}
.k-ul-search{flex:1 1 200px;max-width:320px}
.k-ul-acts{position:sticky;bottom:0;background:var(--k-bg);padding:.6rem 0;z-index:2;display:flex;gap:.5rem}
@media (min-width:992px){.k-ul-acts{position:static;background:none;padding:0}}
/* domov */
.k-home-ul .k-list li{align-items:center}
/* Odoslať členom (detail úlohy – panel #ul-odoslat / formulár ?odoslat=1) */
.k-ul-send{display:flex;flex-direction:column;gap:1rem}
.k-ul-send .k-field{margin:0;border:0;padding:0;min-width:0}
.k-ul-send .k-field>*+*{margin-top:.45rem}
.k-ul-seg label{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:38px;padding:.45rem .6rem;border-radius:9px;font-size:.88rem;font-weight:700;color:var(--k-muted);cursor:pointer;text-align:center;position:relative}
.k-ul-seg input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.k-ul-seg label:has(input:checked){background:var(--k-surface);color:var(--k-text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.k-ul-seg label:has(input:focus-visible){outline:2px solid var(--k-ok);outline-offset:1px}
.k-ul-seg label:has(input:disabled){opacity:.45;cursor:not-allowed}
.k-ul-slist{list-style:none;margin:0;padding:.25rem;max-height:300px;overflow:auto;border:1px solid var(--k-line-2);border-radius:var(--k-r-sm,10px)}
.k-ul-slist .k-ul-srow{align-items:flex-start;padding:.4rem .35rem;min-height:0}
.k-ul-slist .k-ul-srow input{margin-top:.15rem}
.k-ul-srow .k-t,.k-ul-srow .k-s{display:block}
.k-ul-srow .k-s{overflow-wrap:anywhere;font-weight:400}
.k-ul-pbox{border:1px solid var(--k-line-2);border-radius:var(--k-r-sm,10px);background:var(--k-surface-2);padding:.6rem .75rem;display:flex;flex-direction:column;gap:.4rem}
.k-ul-psub{font-weight:700;overflow-wrap:anywhere}
.k-ul-ptext{margin:0;white-space:pre-wrap;font:inherit;font-size:.85rem;max-height:220px;overflow:auto;color:var(--k-muted)}
.k-ul-psms{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;background:none;color:var(--k-text);padding:0}
.k-ul-pnote{font-size:.85rem}
.k-ul-pnote[hidden],.k-ul-prev[hidden],.k-ul-ssum[hidden],[data-k-ul-smscena][hidden]{display:none!important}
.k-ul-hlist li{font-size:.85rem;padding:.35rem 0}
.k-ul-sform{margin-bottom:1rem}
.k-ul-scard .k-card-b{padding:1rem 1.1rem 1.1rem}
.k-ul-scard .k-ul-acts{margin-top:1rem}

/* screens/znacka.css */
/* Nová téma – Vydané značky v2 (templates/modern/Znacka/default.latte, @riadky.latte, @rozsah.latte) – mobile first.
   Prototyp: znacky.html (assets/znacky.css, 1:1, modifikátory s prefixom k-). Stránkovanie: base/30-components.css .k-pager. */
/* KPI – vždy 3 stĺpce */
.k-grid.k-zn-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-bottom:.75rem}
.k-zn-kpis .k-kpi{padding:.7rem .8rem}
.k-zn-kpis .k-kpi small{overflow-wrap:anywhere}
.k-zn-kpis .k-kpi b{font-size:1.35rem}
.k-zn-free{color:var(--k-ok)}
.k-zn-warn{color:var(--k-warn)}

/* série – vodorovne posuvné karty */
.k-zn-sers{display:flex;gap:.5rem;overflow-x:auto;margin-bottom:.75rem;padding-bottom:2px}
.k-zn-ser{flex:0 0 auto;min-width:11.5rem;display:flex;flex-direction:column;gap:.25rem;padding:.55rem .75rem;border:1.5px solid var(--k-line);border-radius:12px;background:var(--k-surface);color:inherit;text-decoration:none}
.k-zn-ser:hover{border-color:var(--k-line-2)}
.k-zn-ser.k-on{border-color:var(--k-ok);background:var(--k-ok-soft)}
.k-zn-bar{display:block;height:6px;min-width:3.5rem}
.k-zn-bar>span{background:var(--k-brand-2)}

/* filter */
.k-zn-filter{padding:.75rem;margin-bottom:.75rem;display:flex;flex-direction:column;gap:.6rem}
.k-zn-frow{display:flex;gap:.5rem;align-items:flex-end}
.k-zn-q{flex:1;min-width:0;margin:0}
.k-zn-q .k-label,.k-zn-filter .k-zn-f .k-label{font-size:.72rem}
.k-zn-go{flex:none;min-height:44px}
.k-zn-gol{display:none}
.k-zn-adv{display:none}
.k-zn-f{margin:0;min-width:0}
.k-zn-more>summary{list-style:none;cursor:pointer;width:max-content}
.k-zn-more>summary::-webkit-details-marker{display:none}
.k-zn-advm{display:grid;grid-template-columns:1fr;gap:.5rem;margin-top:.6rem}
.k-zn-frow2{display:flex;flex-direction:column;gap:.5rem}
.k-zn-st{display:flex;gap:.4rem;overflow-x:auto}
.k-zn-st .k-chip{flex:none;text-decoration:none;color:inherit}
.k-zn-st .k-chip.k-on{color:var(--k-ok)}
.k-zn-view{flex-wrap:nowrap}
.k-zn-view a,.k-zn-na a{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .6rem;border-radius:9px;font-size:.88rem;font-weight:700;color:var(--k-muted);min-height:38px;white-space:nowrap;text-decoration:none}
.k-zn-view a.k-on,.k-zn-na a.k-on{background:var(--k-surface);color:var(--k-text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.k-zn-na{display:inline-flex;vertical-align:middle}
.k-zn-na a{min-height:32px;padding:.25rem .6rem}

/* aktívne filtre */
.k-zn-active{margin-bottom:.75rem;align-items:center}
.k-zn-active .k-chip{text-decoration:none}
.k-zn-active .k-chip b{font-weight:800}

/* členovia → rozsahy → značky (natívne <details>, bez JS) */
.k-list>li.k-zn-m,.k-list>li.k-zn-r{display:block;padding:0}
.k-zn-m>details>summary,.k-zn-r>details>summary{display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;cursor:pointer;list-style:none;min-height:56px}
.k-zn-m>details>summary::-webkit-details-marker,.k-zn-r>details>summary::-webkit-details-marker{display:none}
.k-zn-m>details>summary:hover,.k-zn-r>details>summary:hover{background:var(--k-surface-2)}
.k-zn-m>details>summary:focus-visible,.k-zn-r>details>summary:focus-visible{outline:2px solid var(--k-ok);outline-offset:-2px}
.k-zn-chev{color:var(--k-muted);font-size:.8rem;transition:transform .15s;flex:none}
details[open]>summary>.k-zn-chev{transform:rotate(180deg)}
.k-zn-mr,.k-zn-rr{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;min-width:5.5rem}
.k-zn-mr .k-zn-bar,.k-zn-rr .k-zn-bar{width:100%}
.k-zn-m>details[open]{background:var(--k-surface-2)}
.k-zn-m .k-zn-rl{margin:0 .5rem .25rem 1.25rem;border-left:2px solid var(--k-line-2);background:var(--k-surface);border-radius:0 10px 10px 0}
.k-zn-r .k-list.k-zn-il{background:var(--k-surface-2)}
.k-zn-r>details>summary .k-ico{width:34px;height:34px;border-radius:9px}
.k-zn-items{padding:0 0 .25rem}
.k-zn-items>a{display:block;padding:.6rem 1rem}
.k-zn-il>li{padding:.55rem 1rem .55rem 1.25rem;gap:.6rem}
.k-zn-no{font-weight:800;font-variant-numeric:tabular-nums;min-width:3.4rem}
.k-zn-il .k-s a{color:inherit}
.k-zn-mf{padding:.4rem 1rem .7rem 2.25rem}
.k-zn-mf a{color:var(--k-muted)}

/* zoznam */
.k-table tr.k-zn-used>td{color:var(--k-muted)}
.k-zn-pf{flex-direction:column;align-items:stretch;gap:.6rem}
.k-zn-more-btn{width:100%;justify-content:center}

@media (max-width:419.98px){ .k-zn-view a{padding:.45rem .4rem;font-size:.84rem;gap:.25rem} }
@media (min-width:768px){
  .k-grid.k-zn-kpis{gap:1rem}
  .k-zn-kpis .k-kpi b{font-size:1.6rem}
  .k-zn-advm{grid-template-columns:repeat(3,1fr)}
  .k-zn-frow2{flex-direction:row;align-items:center;justify-content:space-between}
  .k-zn-view{flex:none}
}
@media (min-width:992px){
  .k-zn-filter{padding:1rem}
  .k-zn-adv{display:flex;gap:.5rem;flex:0 1 auto}
  .k-zn-adv .k-zn-f{width:12.5rem}
  .k-zn-adv .k-zn-f:first-child{width:15rem}
  .k-zn-q{max-width:26rem}
  .k-zn-gol{display:inline}
  .k-zn-mr,.k-zn-rr{flex-direction:row;align-items:center;gap:.75rem;min-width:15rem;justify-content:flex-end}
  .k-zn-mr .k-zn-bar,.k-zn-rr .k-zn-bar{width:6rem}
  .k-zn-m .k-zn-rl{margin-left:2.75rem}
  .k-zn-pf{flex-direction:row;align-items:center}
  .k-zn-more-btn{width:auto}
}
/* starý fallback (@stare.latte) */
.k-zn-search{max-width:440px;margin-bottom:1rem}
.k-table td.k-kc .k-r{margin-left:auto;flex:none}
#k-zn-list .k-kc .k-s a{color:inherit;text-decoration:none}
.k-zn-il>li.k-link{cursor:pointer}
/* Nastavenia → Evidencia značiek (templates/modern/Nastavenia/znacky.latte) – serverový filter nad tabuľkou */
.k-nst-znq{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:.6rem}
.k-nst-znq .k-search{flex:1 1 14rem;margin:0}
.k-nst-znq .k-nst-znser{width:auto;flex:0 0 auto}
.k-nst-znpager .k-pager{width:auto;flex:1 1 auto}

