/* ===== ERNTE · FIT – nič sa neprekrýva, nič nepretŕča, nadpisy a popisy čitateľné (29. 10.) =====
   Platí pre všetky prihlásenia. Pravidlá majú #app, aby vyhrali nad štýlmi modulov. */
/* jednostĺpcové mriežky sa nesmú roztiahnuť podľa najdlhšieho riadku */
#app .owh,#app .owsec,#app .hub{grid-template-columns:minmax(0,1fr)}
#app .owg,#app .owpg{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr))}
@media (max-width:520px){#app .owg,#app .owpg{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* nadpisy sekcií: zalomia sa, štítok (napr. „iba Martin a Jana“) ide pod nadpis */
#app .owsh{flex-wrap:wrap;row-gap:6px}
#app .owsh>span{white-space:normal;min-width:0}
/* hlavička Prehľadu: dátum + nadpis vľavo, ↻ vpravo, popis pod celým riadkom */
#app .owhd,#app .hubh{align-items:center}
#app .owhd>div,#app .hubh>div{min-width:0}
#app .hubt{overflow-wrap:anywhere}
/* dlaždice Prehľadu: obsah zarovnaný na stred */
#app .owt{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px}
#app .owt .owi{margin-left:auto;margin-right:auto}
#app .owt .owv{max-width:100%}
/* všeobecne: dlhé slová a mená sa zalomia, nevytŕčajú */
#app h1,#app h2,#app h3,#app .t,#app .ds-ttl b,#app .ds-ttl small{overflow-wrap:anywhere}
#app .card,#app .ds-fc,#app .ds-tile{min-width:0;max-width:100%}
#app img,#app video,#app canvas,#app iframe{max-width:100%}
/* tlačidlá: text sa nikdy neoreže – radšej sa zalomí */
#app .btns{flex-wrap:wrap}
#app .btns>button,#app .btns>a{max-width:100%;white-space:normal}
/* popisy funkcií (ℹ️) vždy na celú šírku */
#app .fdesc{max-width:100%;box-sizing:border-box}
/* hlavička aplikácie: logo + názov hore, tlačidlá (↻ Podpora ⏻) pod ním na stred */
header.top{flex-wrap:wrap;justify-content:center;row-gap:8px}
header.top>.tt{flex:1 1 calc(100% - 90px);min-width:0}
header.top>.tt h1,header.top>.tt small{overflow-wrap:anywhere}
@media (min-width:700px){header.top{justify-content:flex-end}header.top>.tt{flex:1 1 auto}}
/* okrúhle ikonové tlačidlá (obálka, zvonček, téma, A+, ↻, ⏻) – presný kruh, nie vajce */
#app .hrow{justify-content:center;flex-wrap:wrap;row-gap:8px}
#app .hrow>button:not(.hbtn):not(.mtbtn),header.top>.topref,header.top>.out,#app .hubr{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px;flex:0 0 44px!important;padding:0!important;border-radius:50%!important;aspect-ratio:1/1;display:inline-flex!important;align-items:center;justify-content:center;gap:1px;box-sizing:border-box;line-height:1}
#app .hrow>button:not(.hbtn):not(.mtbtn) *{line-height:1}
#app .hrow>.mtbtn{width:auto!important;height:44px;min-height:44px;padding:0 14px!important;border-radius:999px!important;white-space:nowrap;flex:0 0 auto!important;display:inline-flex;align-items:center;gap:6px}
@media (min-width:700px){#app .hrow{justify-content:flex-end}}
header.top>button{margin-left:0!important;margin-right:0!important}
/* cenové dlaždice Prehľadu: obsah na stred */
#app .owp{text-align:center}
#app .owp .owpn{justify-content:center}
#app .owp .owps{justify-items:center}
#app .owp .owps small{max-width:100%}
/* na mobile tlačidlá a štítky v kartách na stred */
@media (max-width:600px){#app .btns{justify-content:center}#app .ds-meta{justify-content:center}}
/* mobil: logo + názov na stred, tlačidlá v druhom riadku na stred */
@media (max-width:699px){header.top::before{content:"";order:2;flex:0 0 100%;height:0}
  header.top>img,header.top>.tt{order:1}header.top>.tt{flex:0 1 auto;max-width:calc(100% - 80px)}header.top>button{order:3}}
/* stránka sa nikdy neposúva do strany (na iPhone potom „ujde“ aj okno Ako to funguje) */
html{overflow-x:hidden}
/* zatváracie ✕ a malé okrúhle tlačidlá – presný kruh všade */
.hx,.sgx,.obx,.ftx,.duex,.wxp-x,.wlx,.nbx,.fbx,.fax,.cxx,.cax,.cammx,.ofx,.spdx,.kkdel,.rdel,button.x,button.xr{
  width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important;
  flex:0 0 44px!important;padding:0!important;border-radius:50%!important;aspect-ratio:1/1;box-sizing:border-box!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;font-size:1.15rem}
/* iPhone: písmo v políčkach aspoň 16 px – inak Safari pri ťuknutí do políčka priblíži stránku a spodný panel sekcií „chodí“ po obrazovke */
@media (hover:none) and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}}
/* KPI dlaždice (.hrk): slovo sa nesmie lámať uprostred („nezapísa-né“) – menšie písmo na úzkom mobile */
#app .hrk b{overflow-wrap:normal;word-break:normal;hyphens:manual}
@media (max-width:430px){#app .hrk b{font-size:clamp(1rem,4.6vw,1.3rem)}}
/* Zúčtovanie: dlaždice hore, usporiadané (1 veľká + 2×2, na širšom 2 + 3) – 30. 10. */
.zt .zgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0 14px}
.zt .zgrid .zbtn:first-child{grid-column:1/-1}
.zt .zbtn{justify-items:center!important;text-align:center!important;align-content:center;min-height:112px;padding:14px 10px!important;min-width:0}
.zt .zbtn b{font-size:1rem;line-height:1.2;overflow-wrap:anywhere}.zt .zbtn small{line-height:1.3;overflow-wrap:anywhere}
.zt .zbtn span{font-size:1.7rem;line-height:1}
@media (min-width:700px){.zt .zgrid{grid-template-columns:repeat(6,minmax(0,1fr))}.zt .zgrid .zbtn{grid-column:span 2}
 .zt .zgrid .zbtn:nth-child(-n+2){grid-column:span 3}}
/* Zúčtovanie odberateľa: hľadanie + oprava lístka – 30. 10. */
.odq{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.odq label{flex:1 1 220px;min-width:0}.odq input{width:100%;box-sizing:border-box}.odq button{flex:0 0 auto;min-height:44px}
.odv .oded{display:block;margin:6px 0 0 auto;padding:6px 10px!important;min-height:36px;font-size:.82rem;white-space:nowrap;border-radius:10px}
.odfx{display:block;font-style:normal;font-size:.72rem;color:#fbbf24;margin-top:3px}
.odedf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;margin:-4px 0 6px;border-radius:14px;border:1px solid rgba(190,242,100,.45);background:rgba(190,242,100,.06)}
.odedf .w{grid-column:1/-1}.odedf label{min-width:0}.odedf input,.odedf select{width:100%;box-sizing:border-box}
.odedf .btns{display:flex;flex-wrap:wrap;gap:8px}.odedf .btns button{flex:1 1 140px}
@media (min-width:700px){.odedf{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Zúčtovanie farmára: na telefóne a Folde lístky ako karty (celé údaje), tabuľka iba na širokom displeji; dlaždice a tlačidlá na stred – 30. 10. */
.zlc{display:none;gap:10px}
.zlci{border:1px solid var(--line,rgba(255,255,255,.12));border-radius:16px;padding:12px;background:rgba(255,255,255,.04);min-width:0}
.zlch{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 10px;margin-bottom:8px;text-align:center}.zlch span{opacity:.75;font-size:.85rem}
.zlcg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.zlcg>div{display:grid;justify-items:center;text-align:center;gap:2px;padding:7px 4px;border-radius:12px;background:rgba(255,255,255,.04);min-width:0}
.zlcg small{font-size:.7rem;opacity:.7}.zlcg b{font-size:.92rem;overflow-wrap:anywhere}.zlcg .wn b{color:#fbbf24}
.zlcg .zlcs{grid-column:1/-1;background:rgba(190,242,100,.12);border:1px solid rgba(190,242,100,.35)}.zlcg .zlcs b{font-size:1.15rem;color:#bef264}
.zlct{border-color:rgba(190,242,100,.45)}
@media (max-width:1100px){.hrt:has(+ .zlc){display:none}.zlc{display:grid}}
@media (min-width:600px) and (max-width:1100px){.zlc{grid-template-columns:repeat(2,minmax(0,1fr))}.zlct{grid-column:1/-1}}
.zt .zsg>div{text-align:center;justify-items:center;align-content:center;height:auto!important;min-height:0}.zt .zsg>div b{overflow-wrap:anywhere}
.zt .btns{justify-content:center}
html[data-theme=light] .zlcg .zlcs b{color:#3f6212}

/* mapy Leaflet: globálne img,svg{max-width:100%} zmenšovalo vrstvu trás na 0 px (30. 10.) */
.leaflet-container svg,.leaflet-container canvas{max-width:none!important}

/* 30. 10.: skryté tlačidlá v hlavičke (prihlasovacia obrazovka) sa nesmú ukázať – kruhové pravidlo vyššie prebíjalo atribút hidden */
header.top>[hidden],#app .hrow>button[hidden]{display:none!important}
/* Odhlásiť v kruhu hlavičky: iba ikona ⏻ (text sa do kruhu nezmestil), názov ostáva v aria-label / title */
header.top>.out .oi{display:inline!important;font-size:1.05rem;line-height:1}header.top>.out .ot{display:none!important}
