/* Figtree (Erik Kennedy), SIL Open Font License 1.1, licencia v static/fonts/OFL.txt. Lokalny subor, ziadne
   Google Fonts: IP adresa navstevnika nejde tretej strane. Variabilny rez 300 az 900, latinka aj latin-ext. */
@font-face { font-family: "Figtree"; src: url("/static/fonts/Figtree-wght.woff2") format("woff2");
             font-weight: 300 900; font-style: normal; font-display: swap; }
:root {
  --bg: #FBFAF6; --paper: #FFFFFF; --ink: #101010; --ink-2: #3A3934; --muted: #55534D; --label: #6B6962;
  --line: #101010; --hair: #E9E8E1; --soft: #D6D4CB; --edge: #E2E0D8; --cobalt: #2438FF; --warn: #E3530F; --warn-bg: #FFF4EE;
  --off: #8C8A82; --warn-ink: #9A3208; --cobalt-bg: #EEF0FF; --cobalt-ink: #1B2BC4; --off-bg: #EFEDE6;
  --green: #0B7A43; --green-bg: #E5F4EB; --green-ink: #075E33;
  /* farby V1 + namornicka (Richard 26. 9. 2026): --warn-text = oranzova na text (4,7 : 1 na krem), --pole = okraj
     polozky formulara (3,3 : 1), --navy a --navy-akcent len na tmave plochy (panel prihlasenia), nie na text a tlacidla */
  --warn-text: #C4480D; --pole: #8C8A82; --navy: #0D0E82; --navy-akcent: #3270E8; --navy-stitok: #B7BAE6;
  --side: 248px; --obsah: 1200px;
  /* zaoblenie (smer C, 26. 9. 2026): 6 drobne prvky, 8 ovladacie prvky, 12 karty a panely, pilulka pre stavy
     a filtre. Tabulky vnutri panelov, lista a menu ostavaju rovne. Vnutorny roh = vonkajsi minus odsadenie. */
  --r-s: 6px; --r-m: 8px; --r-l: 12px; --r-full: 999px;
  --tien: 0 1px 2px rgba(16, 16, 16, .04), 0 2px 10px rgba(16, 16, 16, .045);
  --tien-pop: 0 12px 32px rgba(16, 16, 16, .12);
  --focus: 0 0 0 3px rgba(36, 56, 255, .28);
}
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); color: var(--ink); }
body { font-family: "Figtree", system-ui, sans-serif; font-size: 15px; line-height: 1.45;
       font-feature-settings: "tnum" 1; -webkit-font-smoothing: antialiased; }
a { color: var(--ink); text-decoration: none; }
a:hover { color: var(--cobalt); }
h1 { margin: 0; font-size: 36px; line-height: 1.05; font-weight: 700; letter-spacing: -0.02em; }
h2 { margin: 0; font-size: 20px; font-weight: 700; letter-spacing: -0.01em; }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; }
/* jeden viditelny stav zamerania pre klavesnicu, mys ho neukaze */
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--cobalt); outline-offset: 2px; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline-offset: 0; }
.ico { width: 18px; height: 18px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8;
       stroke-linecap: round; stroke-linejoin: round; }

/* ---------- kostra: menu vlavo, lista hore, obsah v strede ---------- */
.shell { display: grid; grid-template-columns: var(--side) minmax(0, 1fr); min-height: 100vh; }
.side { position: sticky; top: 0; height: 100vh; overflow-y: auto; display: flex; flex-direction: column; gap: 22px;
        padding: 22px 16px 20px; border-right: 1px solid var(--edge); background: var(--bg); }
.brand { display: flex; align-items: center; gap: 10px; font-size: 21px; font-weight: 700; letter-spacing: -0.02em; padding: 0 6px; }
.brand:hover { color: var(--ink); }
.klient { position: relative; }
.klient select { width: 100%; height: 42px; padding: 0 34px 0 12px; appearance: none; -webkit-appearance: none; cursor: pointer;
                 background: var(--paper); border: 1px solid var(--pole); border-radius: var(--r-m); font: inherit; font-size: 14px;
                 font-weight: 600; color: var(--ink); }
.klient select:hover { border-color: var(--ink); }
.klient::after { content: ""; position: absolute; right: 14px; top: 16px; width: 7px; height: 7px; pointer-events: none;
                 border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); transform: rotate(45deg); }
.snav { display: flex; flex-direction: column; gap: 2px; }
.snav a { display: flex; align-items: center; gap: 12px; height: 40px; padding: 0 12px; border-radius: var(--r-full);
          font-size: 14.5px; font-weight: 500; color: var(--ink-2); }
.snav a:hover { background: var(--off-bg); color: var(--ink); }
.snav a.on { background: var(--ink); color: var(--bg); }
.snav hr { width: 100%; border: 0; border-top: 1px solid var(--hair); margin: 10px 0; }
.snav .cnt { margin-left: auto; font-size: 12px; font-weight: 700; }
.side-foot { margin-top: auto; display: flex; flex-direction: column; gap: 16px; padding: 16px 6px 0; border-top: 1px solid var(--hair); }
.side-foot .row { display: flex; flex-direction: column; gap: 6px; }
.meter { height: 6px; background: var(--hair); position: relative; border-radius: var(--r-full); overflow: hidden; }

.main { min-width: 0; display: flex; flex-direction: column; }
.lista { height: 64px; display: flex; align-items: center; gap: 10px; padding: 0 28px; border-bottom: 1px solid var(--hair); }
.lista .brand, .lista .mmenu { display: none; }
.lista .vpravo { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.lista .stav { font-size: 12.5px; color: var(--muted); margin-right: 6px; white-space: nowrap; }
.kruh { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--edge); background: var(--paper);
        display: inline-flex; align-items: center; justify-content: center; position: relative; color: var(--ink); cursor: pointer; }
.kruh:hover { border-color: var(--ink); color: var(--ink); }
.kruh .bodka { position: absolute; top: 4px; right: 4px; width: 8px; height: 8px; border-radius: 50%; background: var(--green);
               border: 2px solid var(--paper); }
.kruh .bodka.zle { background: var(--warn); }
.avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--ink); color: var(--bg); display: flex;
          align-items: center; justify-content: center; font-weight: 700; font-size: 13px; cursor: pointer; }

/* vysuvacie menu bez JS */
details.pop { position: relative; }
details.pop > summary { list-style: none; }
details.pop > summary::-webkit-details-marker { display: none; }
.pop-in { position: absolute; right: 0; top: calc(100% + 8px); z-index: 20; min-width: 290px; padding: 6px 0;
          background: var(--paper); border: 1px solid var(--edge); border-radius: var(--r-l); box-shadow: var(--tien-pop);
          overflow: hidden; }
.pop-in .hl { padding: 12px 16px; border-bottom: 1px solid var(--hair); display: flex; flex-direction: column; gap: 2px; }
.pop-in .pol { display: flex; align-items: center; gap: 12px; padding: 11px 16px; font-size: 14px; }
.pop-in .pol .small { margin-left: auto; white-space: nowrap; }
.pop-in a.pol:hover { background: var(--bg); }
.pop-in .pozn { padding: 10px 16px 8px; border-top: 1px solid var(--hair); font-size: 12px; color: var(--muted); }

/* ---------- obsah ---------- */
.wrap { width: 100%; max-width: calc(var(--obsah) + 80px); margin: 0 auto; padding: 32px 40px 64px;
        display: flex; flex-direction: column; gap: 24px; }
.head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; }
.head .lead { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.akcie { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.sub { font-size: 15px; color: var(--ink-2); }
.small { font-size: 12px; color: var(--muted); }
.label { font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 600; color: var(--label); }
.blue { color: var(--cobalt); }
.grey { color: var(--label); }
.btn { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; background: var(--ink);
       color: var(--bg); font-size: 13.5px; font-weight: 600; border: 0; border-radius: var(--r-m); font-family: inherit;
       cursor: pointer; white-space: nowrap; transition: background-color .15s, border-color .15s, color .15s; }
.btn:hover { color: var(--bg); background: var(--cobalt); }
.btn.sec { background: var(--paper); color: var(--ink); border: 1px solid var(--soft); }
.btn.sec:hover { color: var(--ink); border-color: var(--ink); background: var(--paper); }
.link { font-size: 13px; font-weight: 600; color: var(--cobalt); }
.info { display: inline-flex; vertical-align: -3px; color: var(--cobalt); cursor: help; }
.info .ico { width: 15px; height: 15px; }

.banner { padding: 14px 18px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; border: 1px solid var(--warn);
          border-radius: var(--r-l); background: var(--warn-bg); }
.banner .sq { width: 12px; height: 12px; background: var(--warn); flex-shrink: 0; }
.banner .btn { margin-left: auto; }
.note { padding: 14px 18px; border: 1px solid var(--edge); border-radius: var(--r-l); background: var(--paper); font-size: 14px;
        color: var(--ink-2); }

/* karty s cislami */
.kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.kpis.k3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kpis.k1 { grid-template-columns: minmax(0, 360px); }
.kcard { background: var(--paper); border: 1px solid var(--edge); border-radius: var(--r-l); box-shadow: var(--tien);
         padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.kcard b { font-size: 32px; line-height: 1.1; font-weight: 700; }
.kcard b.m { font-size: 24px; }
.kcard.zle { border-color: var(--warn); background: var(--warn-bg); }
.kcard.zle b { color: var(--warn-ink); }
.card { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px; background: var(--paper); border: 1px solid var(--edge);
        border-radius: var(--r-l); box-shadow: var(--tien); }
.card p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--ink-2); }
.card p b { color: var(--ink); }

/* zalozky */
.tabs { display: flex; gap: 28px; border-bottom: 1px solid var(--hair); overflow-x: auto; scrollbar-width: none; }
.tabs::-webkit-scrollbar { display: none; }
.tabs a { padding: 12px 0; margin-bottom: -1px; font-size: 14.5px; font-weight: 600; color: var(--muted); white-space: nowrap;
          border-bottom: 2px solid transparent; }
.tabs a:hover { color: var(--ink); }
.tabs a.on { color: var(--ink); border-bottom-color: var(--ink); }
.tabs .n { font-weight: 500; color: var(--label); margin-left: 4px; }
.pills { display: flex; gap: 6px; flex-wrap: wrap; }
.pills a { height: 36px; padding: 0 14px; border-radius: var(--r-full); border: 1px solid var(--soft); display: inline-flex;
           align-items: center; font-size: 13px; font-weight: 600; }
.pills a.on { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.filters { display: flex; gap: 6px; flex-wrap: wrap; }
.filters a { height: 36px; padding: 0 14px; border-radius: var(--r-full); border: 1px solid var(--soft); display: inline-flex;
             align-items: center; font-size: 13px; font-weight: 600; }
.filters a.on { background: var(--ink); color: var(--bg); border-color: var(--ink); }

/* tabulky z mriezky */
.panel { background: var(--paper); border: 1px solid var(--edge); border-radius: var(--r-l); box-shadow: var(--tien); overflow: hidden; }
.panel > .ph { padding: 16px 20px; border-bottom: 1px solid var(--hair); display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.table { display: flex; flex-direction: column; }
.panel .table .thead, .panel .table .trow { padding-left: 20px; padding-right: 20px; }
.thead, .trow { display: grid; gap: 16px; align-items: center; }
.thead { padding-top: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--hair); background: var(--bg); }
.panel .thead { background: #FDFDFB; }
.trow { min-height: 64px; border-bottom: 1px solid var(--hair); padding-top: 10px; padding-bottom: 10px; }
.trow:last-child { border-bottom: 0; }
a.trow:hover { background: var(--bg); color: var(--ink); }
.cols-klienti { grid-template-columns: 2fr 90px 110px 120px 130px 2.2fr; }
.name { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.name b { font-size: 16px; }
.chip { font-size: 12px; font-weight: 600; padding: 3px 7px; border: 1px solid var(--ink); border-radius: var(--r-s);
        display: inline-block; line-height: 1.2; }
.chips { display: flex; gap: 6px; flex-wrap: wrap; }

/* stavy: jeden slovnik v texts.CHIP */
.st-chip { display: inline-flex; align-items: center; gap: 7px; height: 26px; padding: 0 11px; font-size: 12.5px;
           font-weight: 700; white-space: nowrap; border: 1px solid transparent; border-radius: var(--r-full); }
.st-chip::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
/* zelena = bezi, kobalt = akcia alebo pripravene; tvar bodky nesie vyznam aj bez farby */
.s-on { background: var(--green); color: #fff; }
.s-ok { background: var(--green-bg); color: var(--green-ink); }
.s-prep { background: var(--cobalt-bg); color: var(--cobalt-ink); border-color: var(--cobalt); }
.s-prep::before { background: transparent; border: 2px solid currentColor; width: 5px; height: 5px; }
.s-wait { color: var(--ink); border-color: var(--ink); }
.s-wait::before { background: transparent; border: 2px solid currentColor; width: 5px; height: 5px; }
.s-off { background: var(--off-bg); color: var(--muted); }
.s-ext { color: var(--muted); border: 1px dashed var(--off); }
.s-ext::before { border-radius: 0; background: transparent; border: 1.5px solid currentColor; width: 6px; height: 6px; }
.s-warn { background: var(--warn-bg); color: var(--warn-ink); border-color: var(--warn); }
.s-warn::before { border-radius: 0; background: var(--warn); }
.rnote { font-size: 13px; color: var(--ink-2); min-width: 0; }
.badtext { color: var(--warn-ink); }
.clamp { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.empty { padding: 18px 20px; border: 1px dashed var(--soft); border-radius: var(--r-l); font-size: 14px; color: var(--ink-2);
         background: var(--paper); }
.note.ext { border: 1px dashed var(--off); }
.st { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; white-space: nowrap; }
.dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; flex-shrink: 0; }
.dot.on { background: var(--green); }
.dot.wait { width: 10px; height: 10px; border: 2px solid var(--ink); }
.dot.prop { border: 2px solid var(--cobalt); }
.dot.off { background: var(--soft); }
.dot.warn { border-radius: 0; background: var(--warn); }
.engine { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--ink); font-weight: 700; }
.engine .dot { background: var(--soft); }
.engine.e-on .dot { background: var(--green); box-shadow: 0 0 0 3px var(--green-bg); }
.engine.e-dry .dot { background: transparent; border: 2px solid var(--cobalt); }
.ok { color: var(--green); font-weight: 700; }
.bad { color: var(--warn-text); font-weight: 700; }

/* nahlad postu: obrazok z Mety, pod nim tvar ako zaloha */
.nahlad { width: 56px; height: 56px; position: relative; flex-shrink: 0; background: var(--off-bg); overflow: hidden; border-radius: var(--r-s);
          display: flex; align-items: center; justify-content: center; }
.nahlad.tall { width: 42px; height: 64px; margin: 0 7px; }
.nahlad img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nahlad .tvar { display: block; background: var(--ink); width: 24px; height: 24px; }
.nahlad.tall .tvar { width: 16px; height: 28px; background: var(--cobalt); }
.nahlad.dim { opacity: .55; }
.nahlad .typ { position: absolute; left: 3px; bottom: 3px; z-index: 1; font-size: 9.5px; font-weight: 700; padding: 1px 4px; border-radius: 3px;
               background: var(--paper); color: var(--ink); line-height: 1.3; }

/* posty */
.split { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
.split > aside { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 24px; }
/* Posty: 4 stlpce (nahlad, post, kam + vyvoj dosahu, stav a rozhodnutie). Graf dosahu je v stlpci kam, nie vo vlastnom
   150 px stlpci: pri 1281 az 1372 px a 1101 az 1146 px sa pevne stlpce nezmestili a panel orezal Schvalit/Zamietnut.
   Sirka postu = riadok - pevne stlpce: nad 1440 px min(W, 1528) - 1206 (235 az 322 px), 1361 az 1440 px W - 1146
   (215 az 294 px), 1001 az 1360 px (aside pod zoznamom) W - 822 (179 az 538 px), 901 az 1000 px so stavom pod postom
   W - 626 (275 az 374 px), 641 az 900 px W - 330 (311 az 570 px). */
.cols-posty { grid-template-columns: 64px minmax(0, 1fr) 170px 190px; gap: 16px; min-height: 88px; }
.spark { display: block; width: 100%; max-width: 150px; height: 28px; margin-top: 6px; overflow: visible; }
.spark polyline { fill: none; stroke: var(--cobalt); stroke-width: 2; }
.spark.nie polyline { stroke: var(--off); }
.ptitle { font-size: 15px; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pstate { display: flex; flex-direction: column; gap: 3px; align-items: flex-end; text-align: right; }
.route { font-size: 13px; font-weight: 600; }
.metric { font-size: 12.5px; color: var(--ink-2); }
.bigcount { font-size: 30px; font-weight: 700; }
.routes { display: flex; flex-direction: column; }
.routes > div { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--hair); }
.routes > div:last-child { border-bottom: 0; }
.routes .sq { width: 30px; height: 30px; background: var(--ink); margin: 0 auto; }
.routes .tall { width: 20px; height: 36px; background: var(--cobalt); margin: 0 auto; }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--hair); }
.grid2 > div { background: var(--paper); padding: 14px 20px; display: flex; flex-direction: column; gap: 4px; }
.grid2 b { font-size: 20px; font-weight: 600; }
.cols-feed { grid-template-columns: 64px minmax(0, 1fr) 160px 150px; }

/* graf vysledkov */
.graf { padding: 18px 20px 12px; }
.graf svg { width: 100%; height: auto; display: block; overflow: visible; }
.graf .os { stroke: var(--hair); stroke-width: 1; }
.graf .osa-t { font-size: 11px; fill: var(--muted); font-weight: 500; }
.graf .hod { font-size: 11px; fill: var(--ink); font-weight: 700; }
.graf .stlpec { fill: var(--cobalt); }
.graf .stlpec.nula { fill: var(--hair); }
.sucty { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--hair); }
.sucty > div { padding: 14px 20px; display: flex; flex-direction: column; gap: 4px; border-right: 1px solid var(--hair); }
.sucty > div:last-child { border-right: 0; }
.sucty b { font-size: 20px; font-weight: 700; }

/* kampane */
.cols-kampane { grid-template-columns: 130px minmax(0, 2fr) 1.1fr 1.6fr 110px; }
/* prepinac zapnute / vypnute ako v Ads Manageri (zoznam a detail kampane, 28. 9. 2026). Vypnuty v tone --pole
   (3,3 : 1 na bielej), aby bol viditelny aj bez farby; zapnuty kobalt ako akcia. */
.prepinac-form { display: inline-flex; margin: 0; position: relative; z-index: 1; }
.prepinac { position: relative; width: 36px; height: 20px; padding: 0; border: 0; border-radius: var(--r-full); flex-shrink: 0;
            background: var(--pole); cursor: pointer; transition: background .15s; }
.prepinac i { position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff;
              box-shadow: 0 1px 2px rgba(16, 16, 16, .25); transition: transform .15s; }
.prepinac.on { background: var(--cobalt); }
.prepinac.on i { transform: translateX(16px); }
.prepinac:hover { background: var(--muted); }
.prepinac.on:hover { background: var(--cobalt-ink); }
.prepinac:disabled { cursor: not-allowed; opacity: .45; }
.prepinac:disabled:hover { background: var(--pole); }
.prepinac.on:disabled:hover { background: var(--cobalt); }
.stav-prepinac { display: inline-flex; align-items: center; gap: 10px; }
@media (prefers-reduced-motion: reduce) { .prepinac, .prepinac i { transition: none; } }
/* cely riadok kampane vedie na detail (odkaz cez celu plochu), prepinac nad nim ostava klikatelny */
.trow.klik { position: relative; }
.trow.klik:hover { background: var(--bg); }
.trow.klik > a.odkaz::after { content: ""; position: absolute; inset: 0; }
.trow.adset-riadok { min-height: 50px; background: #FDFDFB; }
.adset-riadok .name { padding-left: 14px; border-left: 2px solid var(--hair); }
.adset-riadok.vypnuty .name, .adset-riadok.vypnuty .rnote { opacity: .55; }
.adset { border: 1px solid var(--edge); border-radius: var(--r-l); box-shadow: var(--tien); background: var(--paper); overflow: hidden;
          display: grid; grid-template-columns: 56px 1fr; }
.adset .bar { border-right: 1px solid var(--hair); background: #FDFDFB; display: flex; align-items: flex-start; justify-content: center;
              padding-top: 22px; }
.adset .body { padding: 18px 22px; display: flex; flex-direction: column; gap: 14px; }
.facts { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 8px 20px; font-size: 14px; margin: 0; }
.facts dt { color: var(--muted); }
.facts dd { margin: 0; overflow-wrap: anywhere; }
.msg { font-size: 14px; display: flex; gap: 10px; align-items: flex-start; }
.msg i { width: 10px; height: 10px; background: var(--warn); flex-shrink: 0; margin-top: 5px; }
.msg.err i { background: var(--ink); }
.kpi { display: flex; flex-direction: column; gap: 4px; }
.kpi b { font-size: 30px; font-weight: 700; }

/* pripojene ucty */
.ucet { background: var(--paper); border: 1px solid var(--edge); border-radius: var(--r-l); box-shadow: var(--tien); overflow: hidden; }
.ucet .uh { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 20px; border-bottom: 1px solid var(--hair); }
.ucet .uh h2 { font-size: 17px; }
.ucet .uh .vpravo { margin-left: auto; display: flex; gap: 8px; align-items: center; }
.cols-zdroje { grid-template-columns: 44px minmax(0, 1.4fr) 140px minmax(0, 1.6fr); }
.ucet .trow { padding-left: 20px; padding-right: 20px; min-height: 58px; }
.spravca summary { cursor: pointer; font-weight: 600; font-size: 14px; }
.spravca[open] summary { margin-bottom: 8px; }

.predvolby-riadok { grid-template-columns: 1.2fr 2fr; min-height: 56px; }

/* prihlasenie, formulare, hlasky po akcii */
.login { min-height: calc(100vh - 40px); display: flex; align-items: center; justify-content: center; padding: 32px 16px; }
.login-rozlozenie { width: 100%; max-width: 940px; display: grid; grid-template-columns: minmax(0, 1fr) 440px; background: var(--paper);
                    border: 1px solid var(--edge); border-radius: 16px; box-shadow: 0 2px 4px rgba(16, 16, 16, .03), 0 18px 48px rgba(16, 16, 16, .08);
                    overflow: hidden; }
.login-znacka { background: var(--navy); color: var(--bg); padding: 36px; display: flex; flex-direction: column; gap: 32px;
                position: relative; overflow: hidden; }
.login-znacka::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 220px; height: 220px; background: var(--navy-akcent);
                       border-radius: 28px; transform: rotate(12deg); opacity: .9; }
.login-znacka .brand { padding: 0; color: var(--bg); }
.login-znacka-text { margin-top: auto; display: flex; flex-direction: column; gap: 12px; position: relative; z-index: 1; }
.login-znacka .label { color: var(--navy-stitok); }
.login-znacka-h { margin: 0; font-size: 30px; line-height: 1.12; font-weight: 700; letter-spacing: -0.02em; max-width: 380px; }
.login-kroky { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; position: relative; z-index: 1;
               font-size: 15px; font-weight: 600; }
.login-kroky li { display: flex; align-items: center; gap: 12px; }
.login-kroky span { width: 32px; height: 32px; border-radius: var(--r-m); background: rgba(251, 250, 246, .1); display: inline-flex;
                    align-items: center; justify-content: center; font-size: 12px; font-weight: 700; }
.login-karta { width: 100%; display: flex; flex-direction: column; gap: 22px; padding: 40px; background: var(--paper); }
.login-karta > .brand { display: none; }          /* na pocitaci je logo v lavom paneli */
.login-vyvoj { margin: 0; padding: 10px 12px; border-radius: var(--r-m); background: var(--warn-bg); color: var(--warn-ink); font-size: 12.5px; }
.login-vyvoj a { color: var(--warn-ink); font-weight: 700; text-decoration: underline; }
.login-karta .brand { padding: 0; }
.login-karta h1 { font-size: 30px; margin-bottom: 6px; }
.login-form { display: flex; flex-direction: column; gap: 16px; }
.login-form .btn { height: 46px; justify-content: center; font-size: 15px; }
.pole { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; }
.pole input { height: 46px; padding: 0 14px; border: 1px solid var(--pole); background: var(--paper); font: inherit;
              font-size: 16px; font-weight: 400; color: var(--ink); border-radius: var(--r-m); transition: border-color .15s, box-shadow .15s; }
.pole input:hover { border-color: var(--off); }
.pole input:focus { outline: none; border-color: var(--cobalt); box-shadow: var(--focus); }
.hlaska { padding: 12px 16px; font-size: 14px; border: 1px solid var(--cobalt); border-radius: var(--r-m); background: var(--cobalt-bg);
          color: var(--cobalt-ink); }
.hlaska.chyba { border-color: var(--warn); background: var(--warn-bg); color: var(--warn-ink); }
.rozhodni { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; margin-top: 4px; }
.rozhodni form { margin: 0; }
.btn.mini { height: 32px; padding: 0 12px; font-size: 12.5px; }
.pop-in form { margin: 0; }
.pop-in button.pol { width: 100%; border: 0; background: none; font: inherit; font-size: 14px; cursor: pointer; color: var(--ink); text-align: left; }
.pop-in button.pol:hover { background: var(--bg); color: var(--cobalt); }
.cols-schval { grid-template-columns: 64px minmax(0, 1fr) 200px 190px; min-height: 92px; }
.tabs .n.zle { color: var(--warn-text); font-weight: 700; }

/* vyvojove prostredie (BOOST_PROSTREDIE=vyvoj) */
.vyvoj { padding: 8px 28px; background: var(--warn); color: var(--ink); font-size: 13px; font-weight: 700; letter-spacing: .02em; }

/* ---------- mensie obrazovky ---------- */
@media (max-width: 1440px) {
  .split { grid-template-columns: minmax(0, 1fr) 300px; }
  .cols-posty { grid-template-columns: 64px minmax(0, 1fr) 160px 180px; }
}
@media (max-width: 1360px) {
  .split { grid-template-columns: minmax(0, 1fr); }
  .split > aside { position: static; }
}
@media (max-width: 1280px) {
  .cols-schval { grid-template-columns: 64px minmax(0, 1fr) 180px; }
  .cols-schval > .hide-l { display: none; }
}
@media (max-width: 1100px) {
  .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cols-klienti { grid-template-columns: minmax(0, 2fr) 110px 130px minmax(0, 2fr); }
  .cols-klienti > :nth-child(2), .cols-klienti > :nth-child(4) { display: none; }
  .cols-kampane { grid-template-columns: 120px minmax(0, 2fr) minmax(0, 1.4fr); }
  .cols-kampane > :nth-child(4), .cols-kampane > :nth-child(5) { display: none; }
}
@media (max-width: 1000px) {
  /* stav a rozhodnutie pod post, inak by na post ostalo 79 az 178 px (901 az 1000 px) a 115 az 374 px (641 az 900 px) */
  .cols-posty { grid-template-columns: 64px minmax(0, 1fr) 160px; row-gap: 8px; }
  .cols-posty > .pstate { grid-column: 2 / -1; }
}
@media (max-width: 900px) {
  .login-rozlozenie { max-width: 440px; grid-template-columns: 1fr; }
  .login-znacka { display: none; }
  .login-karta > .brand { display: flex; }
  .shell { display: block; }
  .side { display: none; }
  .lista { position: sticky; top: 0; z-index: 30; background: var(--bg); padding: 0 16px; border-bottom-color: var(--edge); }
  .lista .brand, .lista .mmenu { display: flex; }
  .lista .brand { padding: 0; font-size: 19px; }
  .lista .stav { display: none; }
  .mmenu .pop-in { left: -16px; right: auto; width: 100vw; min-width: 0; top: calc(100% + 12px); padding: 12px 16px 18px;
                   display: flex; flex-direction: column; gap: 14px; border-left: 0; border-right: 0; border-radius: 0 0 var(--r-l) var(--r-l); }
  .wrap { padding: 22px 16px 48px; gap: 20px; }
  h1 { font-size: 30px; }
  .sucty { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sucty > div:nth-child(2) { border-right: 0; }
  .sucty > div:nth-child(-n+2) { border-bottom: 1px solid var(--hair); }
}
@media (max-width: 640px) {
  .kpis, .kpis.k3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .kcard { padding: 14px 16px; }
  .kcard b { font-size: 26px; }
  .kcard b.m { font-size: 20px; }
  .thead.cols-klienti, .thead.cols-kampane, .thead.cols-zdroje, .thead.cols-feed, .thead.cols-schval { display: none; }
  .cols-klienti { grid-template-columns: minmax(0, 1fr) auto; row-gap: 6px; }
  .cols-klienti > :nth-child(3) { display: none; }
  .cols-klienti > :nth-child(6) { grid-column: 1 / -1; }
  .cols-klienti > :nth-child(6):empty { display: none; }
  .cols-kampane { grid-template-columns: minmax(0, 1fr) auto; }
  .cols-kampane > :nth-child(1) { order: 2; }
  .cols-kampane > :nth-child(3) { display: none; }
  .cols-zdroje { grid-template-columns: 36px minmax(0, 1fr) auto; row-gap: 4px; }
  .cols-zdroje > :nth-child(4) { grid-column: 2 / -1; }
  .cols-posty, .cols-feed, .cols-schval { grid-template-columns: 56px minmax(0, 1fr); row-gap: 8px; }
  .cols-posty > .pstate, .cols-feed > .pstate, .cols-schval > .pstate { grid-column: 2; align-items: flex-start; text-align: left; }
  .cols-posty .hide-m, .cols-feed .hide-m, .cols-schval .hide-m { display: none; }
  .rozhodni { justify-content: flex-start; }
  .login-karta { padding: 26px 20px; }
  .panel .table .thead, .panel .table .trow, .ucet .trow { padding-left: 14px; padding-right: 14px; }
  .facts { grid-template-columns: 1fr; }
  .tabs { gap: 20px; }
}

/* prihlasenie odkazom, registracia, zabudnute heslo (wf4) */
.pole-hl { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.pole-hl a { font-weight: 500; color: var(--cobalt); text-decoration: underline; text-underline-offset: 2px; }
.alebo { display: flex; align-items: center; gap: 12px; font-size: 12.5px; color: var(--muted); }
.alebo::before, .alebo::after { content: ""; flex: 1; border-top: 1px solid var(--hair); }
.btn.fb { height: 46px; justify-content: center; font-size: 15px; background: #1877F2; color: #fff; }
.btn.fb:hover { background: #166FE5; color: #fff; }
.btn.fb .ico { fill: currentColor; stroke: none; }
.login-pata { margin: 0; }
.login-pata a, .login-text a { color: var(--cobalt); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.login-text { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ink-2); }
.pole input.kod { font-size: 24px; letter-spacing: .4em; font-variant-numeric: tabular-nums; text-align: center; }
.suhlas { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 1.45; color: var(--ink-2); }
.suhlas input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--cobalt); flex-shrink: 0; }
.suhlas a { color: var(--cobalt); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.vyvoj a { color: var(--ink); text-decoration: underline; }
.cols-pouz { grid-template-columns: minmax(0, 1.6fr) 150px 150px minmax(0, 1.6fr); }
.posta-sprava pre { margin: 0; white-space: pre-wrap; word-break: break-word; font: inherit; font-size: 14px; line-height: 1.55; color: var(--ink-2); }
@media (max-width: 900px) {
  .cols-pouz { grid-template-columns: minmax(0, 1fr) auto; row-gap: 8px; }
  .cols-pouz > :nth-child(3) { display: none; }
  .cols-pouz > :nth-child(4) { grid-column: 1 / -1; }
  .thead.cols-pouz { display: none; }
}

/* Pomoc (26. 9. 2026): /pomoc, obsah z boost/web/pomoc/*.md cez boost/verejny/md.py. Len triedy pomoc-*,
   ostatne stranky adminu neovplyvni. Tabulky na mobile ako karty (td::before s data-label ako na webe). */
.pomoc-grid { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 36px; align-items: start; }
.pomoc-nav { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 18px;
             max-height: calc(100vh - 48px); overflow-y: auto; padding-bottom: 8px; }
.pomoc-sek { display: flex; flex-direction: column; gap: 2px; }
.pomoc-sek .label { display: flex; align-items: center; gap: 6px; padding: 0 10px 4px; }
.pomoc-sek a { padding: 6px 10px; border-radius: var(--r-m); font-size: 14px; line-height: 1.3; color: var(--ink-2); }
.pomoc-sek a:hover { background: var(--off-bg); color: var(--ink); }
.pomoc-sek a.on { background: var(--ink); color: var(--bg); }
.pomoc .chip { font-size: 10.5px; padding: 1px 6px; letter-spacing: 0; text-transform: none; }
.pomoc .head .small a { color: var(--muted); text-decoration: underline; text-underline-offset: 2px; }
.pomoc-nav-m { display: none; }
.pomoc-clanok { min-width: 0; max-width: 760px; font-size: 16px; line-height: 1.6; color: var(--ink-2); }
.pomoc-clanok > :first-child { margin-top: 0; }
.pomoc-clanok h2 { margin: 36px 0 10px; font-size: 22px; line-height: 1.25; color: var(--ink); }
.pomoc-clanok h3 { margin: 24px 0 8px; font-size: 17px; color: var(--ink); }
.pomoc-clanok p { margin: 0 0 14px; }
.pomoc-clanok ul, .pomoc-clanok ol { margin: 0 0 16px; padding-left: 22px; }
.pomoc-clanok li { margin: 5px 0; }
.pomoc-clanok li > ul, .pomoc-clanok li > ol { margin: 4px 0 0; }
.pomoc-clanok strong { color: var(--ink); font-weight: 650; }
.pomoc-clanok a { color: var(--cobalt); text-decoration: underline; text-underline-offset: 2px; }
.pomoc-clanok a:hover { color: var(--cobalt-ink); }
.pomoc-clanok code { padding: 1px 5px; border-radius: var(--r-s); background: var(--off-bg); color: var(--ink);
                     font-size: 13.5px; overflow-wrap: anywhere; }
.pomoc-clanok .tabulka { margin: 4px 0 20px; overflow-x: auto; background: var(--paper); border: 1px solid var(--edge);
                         border-radius: var(--r-l); box-shadow: var(--tien); }
.pomoc-clanok table { width: 100%; border-collapse: collapse; font-size: 14.5px; line-height: 1.45; }
.pomoc-clanok th { text-align: left; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; font-weight: 600;
                   color: var(--label); background: #FDFDFB; }
.pomoc-clanok th, .pomoc-clanok td { padding: 10px 14px; border-bottom: 1px solid var(--hair); vertical-align: top; }
.pomoc-clanok tbody tr:last-child td { border-bottom: 0; }
.pomoc-clanok .callout { margin: 6px 0 20px; padding: 12px 16px; border: 1px solid var(--edge); border-radius: var(--r-l);
                         background: var(--paper); font-size: 15px; color: var(--ink); }
.pomoc-clanok .callout p { margin: 0; }
.pomoc-clanok .callout.tip { background: var(--cobalt-bg); border-color: #C9CEFF; }
.pomoc-clanok .callout.pozor { background: var(--warn-bg); border-color: #F2C2A6; }
.pomoc-clanok .callout.pozor strong:first-child { color: var(--warn-ink); }
.pomoc-clanok .callout.tip strong:first-child { color: var(--cobalt-ink); }
.pomoc-clanok figure.obrazok { margin: 8px 0 24px; }
.pomoc-clanok figure.obrazok img { display: block; width: 100%; height: auto; background: var(--paper);
                                   border: 1px solid var(--edge); border-radius: var(--r-l); box-shadow: var(--tien); }
.pomoc-clanok figcaption { margin-top: 8px; font-size: 13px; line-height: 1.45; color: var(--muted); }
.pomoc-clanok mark.chyba { padding: 1px 4px; border-radius: var(--r-s); background: var(--warn-bg); color: var(--warn-ink); }
.pomoc-clanok .pomoc-overene { margin: 28px 0 0; font-size: 12.5px; color: var(--muted); }
.pomoc-dalsie { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; padding-top: 18px;
                border-top: 1px solid var(--hair); }
.pomoc-clanok .pomoc-dalsie a { display: flex; flex-direction: column; gap: 2px; padding: 12px 16px; color: var(--ink);
                                text-decoration: none; background: var(--paper); border: 1px solid var(--edge);
                                border-radius: var(--r-l); }
.pomoc-clanok .pomoc-dalsie a:hover { border-color: var(--ink); color: var(--ink); }
.pomoc-dalsie .dal { grid-column: 2; text-align: right; }
.pomoc-uvod { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pomoc-karta { padding: 18px 20px 20px; background: var(--paper); border: 1px solid var(--edge); border-radius: var(--r-l);
               box-shadow: var(--tien); }
.pomoc-karta.prva { border-color: var(--ink); }
.pomoc-karta h2 { display: flex; align-items: center; gap: 8px; font-size: 18px; }
.pomoc-karta > .small { margin: 4px 0 0; font-size: 13px; }
.pomoc-karta ul { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.pomoc-karta li { display: flex; flex-direction: column; gap: 2px; }
.pomoc-karta li b { font-size: 15px; }
.pomoc-karta li a:hover b { color: var(--cobalt); }
.pomoc-karta li .small { font-size: 13px; line-height: 1.4; }
@media (max-width: 1100px) {
  .pomoc-uvod { grid-template-columns: minmax(0, 1fr); }
  .pomoc-grid { grid-template-columns: 210px minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 900px) {
  .pomoc-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .pomoc-nav { display: none; }
  .pomoc-nav-m { display: block; background: var(--paper); border: 1px solid var(--edge); border-radius: var(--r-l); }
  .pomoc-nav-m > summary { padding: 12px 16px; font-weight: 600; cursor: pointer; }
  .pomoc-nav-m > nav { display: flex; flex-direction: column; gap: 14px; padding: 4px 6px 14px; }
  .pomoc-clanok { font-size: 15.5px; }
  .pomoc-clanok h2 { margin-top: 30px; font-size: 20px; }
}
@media (max-width: 640px) {
  .pomoc-clanok .tabulka { overflow: visible; background: none; border: 0; border-radius: 0; box-shadow: none; }
  .pomoc-clanok table, .pomoc-clanok tbody, .pomoc-clanok tr, .pomoc-clanok td { display: block; width: 100%; }
  .pomoc-clanok thead { display: none; }
  .pomoc-clanok tbody tr { margin-bottom: 10px; padding: 6px 0; background: var(--paper); border: 1px solid var(--edge);
                           border-radius: var(--r-l); }
  .pomoc-clanok td, .pomoc-clanok tbody tr:last-child td { padding: 5px 14px; border-bottom: 0; }
  .pomoc-clanok td::before { content: attr(data-label); display: block; margin-bottom: 1px; font-size: 11px;
                             letter-spacing: .06em; text-transform: uppercase; font-weight: 600; color: var(--label); }
  .pomoc-dalsie { grid-template-columns: minmax(0, 1fr); }
  .pomoc-dalsie .dal { grid-column: 1; }
}

/* ------------------------------------------------------------------ bez inline stylov (CSP style-src 'self')
   Triedy nahradzaju povodne style= v sablonach. Velkost a farba pisma s !important: povodny inline styl vyhral
   nad kazdym pravidlom (napr. .name b, .kpi b), tieto triedy musia tiez. */
.sr-only { position: absolute; left: -9999px; }
.ink { color: var(--ink) !important; }
.fs-12 { font-size: 12px !important; }
.fs-14 { font-size: 14px !important; }
.fs-15 { font-size: 15px !important; }
.fs-16 { font-size: 16px !important; }
.fs-18 { font-size: 18px !important; }
.fs-24 { font-size: 24px !important; }
.zarovnaj-vpravo { text-align: right; }
.vypln { padding: 16px 20px; }
.meter svg { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.meter rect { fill: var(--green); }
.meter.zle rect { fill: var(--warn); }
.pop-in .side-foot { margin: 0; }
.pop-in .pozn.pokracovanie { border-top: 0; padding-top: 0; }
.pop-in.profil { min-width: 260px; }
.wrap.hlaska-wrap { padding-bottom: 0; }
.kruh.maly { width: 36px; height: 36px; }
.kpi .z-celku { font-size: 18px; font-weight: 600; }
.adsety { display: flex; flex-direction: column; gap: 16px; }
.adset.vypnuty .bar, .adset.vypnuty .facts { opacity: .5; }
.hlava-adsetu .stav-prepinac { margin-left: auto; }
.adset .bar .tvar-adsetu { display: block; width: 34px; height: 34px; background: #101010; }
.adset .bar .tvar-adsetu.vysoky { width: 24px; height: 42px; background: #2438FF; }
.hlava-adsetu { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.hlava-kampane { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; }
.routes .sq.nikam { background: var(--hair); }

/* podpora (predtym <style> v podpora.html) */
.cols-podpora { grid-template-columns: 70px minmax(0, 1.6fr) 1.3fr 150px 130px 150px; }
.trow.cols-historia { grid-template-columns: 150px 160px minmax(0, 1fr); min-height: 40px; }
.lehota-po { color: var(--warn-ink); font-weight: 700; }
.lehota-blizko { color: var(--warn); font-weight: 700; }
.hladaj { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.hladaj input { height: 40px; min-width: 260px; padding: 0 12px; border: 1px solid var(--soft); font: inherit; background: var(--paper); }
.hladaj button { height: 40px; padding: 0 16px; border: 1px solid var(--ink); background: var(--paper); font: inherit; cursor: pointer; }
.sprava-text { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; padding: 16px; background: var(--paper); border: 1px solid var(--soft); font: inherit; font-size: 15px; line-height: 1.55; }
.surove { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; margin: 0; }
@media (max-width: 760px) {
  .wrap.podpora-wrap { padding: 20px 16px 40px; }
  .cols-podpora { grid-template-columns: 1fr; gap: 4px; }
  .cols-podpora.thead { display: none; }
  .podpora-wrap .facts { grid-template-columns: 1fr; }
}

/* pripojenia Facebooku a pridanie zdrojov (25. 10. 2026) */
.pripojenie { margin-bottom: 18px; }
.pripojenie .ph .vpravo { margin-left: auto; }
.card.plain { border: 0; border-radius: 0; box-shadow: none; border-top: 1px solid var(--hair); }
.cols-pripojenie { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) 160px; min-height: 54px; }
.cols-b2 { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.2fr) minmax(0, 1.5fr); }
.cols-b2 .volby { display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.cols-b2 .volby label { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.cols-b2 select { width: 100%; min-width: 0; }
.trow.zle { box-shadow: inset 3px 0 0 var(--warn); background: var(--warn-bg); }
.akcie-riadok { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; flex-direction: row; }
.ucty-zoznam { margin: 0 0 8px; padding-left: 18px; line-height: 1.6; color: var(--ink-2); }
@media (max-width: 900px) {
  .cols-pripojenie, .cols-b2 { grid-template-columns: 1fr; gap: 8px; }
  .thead.cols-pripojenie, .thead.cols-b2 { display: none; }
}

/* 2FA (dvojfaktor.html, 26. 10. 2026) */
.dvf-postup { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.dvf-qr { align-self: flex-start; background: #fff; padding: 4px; border: 1px solid var(--hair); }
.dvf-qr svg { display: block; width: 180px; height: 180px; }
.dvf-kluc { word-break: break-all; }
.dvf-kody { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.dvf-kody code { display: block; padding: 8px 10px; border: 1px solid var(--hair); background: var(--paper); font-size: 14px; }
.dvf-odhlas { margin-top: 4px; }

/* Pouzivatelia: rola a klienti uctu (26. 10. 2026) */
.pouz-form { display: flex; flex-direction: column; gap: 16px; max-width: 680px; }
.pouz-rola, .pouz-klienti { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pouz-rola legend, .pouz-klienti legend { font-size: 13px; font-weight: 600; margin-bottom: 8px; padding: 0; }
.pouz-klienti { max-height: 360px; overflow-y: auto; }
.volba { display: flex; align-items: baseline; gap: 8px; font-size: 14px; cursor: pointer; flex-wrap: wrap; }
.volba input { width: 16px; height: 16px; accent-color: var(--cobalt); flex-shrink: 0; margin: 0; align-self: center; }
.trow .vpravo { justify-self: end; color: var(--cobalt); }
