/* ==========================================================================
   BSG Digital Hub — styles.css · JEDINÉ miesto štýlov domovskej stránky Hubu (previerka A5, 25. 9. 2026);
   tokeny a písmo sú od 14. 10. 2026 v public/hub-tokeny.css (spoločný zdroj pre domov, podstránky aj moduly)

   TYPOGRAFICKÝ KONTRAKT (platí bez výnimky)
   · písmo Poppins, Helvetica, sans-serif cez token --brand-font; načítaný je LEN rez
     Regular (400) → font-synthesis:none, nikde font-weight 500/600/700, <strong>/<b>
     zvýrazňujeme FARBOU (--emphasis), nie hrúbkou
   · bežný text 13 px, riadkovanie 1,5; nadpisy 1,25; stupnica nadpisov 13/15/18/22/28 px
     (--fs-1 … --fs-5); popisky 11 px (--fs-label), nič pod 11 px; <small> 12 px
   · farba bežného textu #575962 (--brand-text) platí na SVETLÝCH plochách (BSG klasika,
     Retro panel, biele karty, tlač); na TMAVÝCH plochách Hubu platí --ui-text/--text
     (#575962 na #050608 má len ~2,9:1)
   · kontrast: bežný text ≥ 4,5:1, veľký text a rámy ovládacích prvkov ≥ 3:1 (WCAG 1.4.11)
     v KAŽDOM Ambiente — hodnoty tokenov nižšie sú overené výpočtom (dd/A5-vysledky.md)
   · polia a selecty na telefóne 16 px (inak iOS pri ťuknutí priblíži stránku);
     dotykové ciele ≥ 44 px (na hrubom ukazovateli globálne, viď sekcia 11)
   · rozostup písmen: len tri hodnoty — --ls-caps (verzálkové popisky), --ls-title (h1),
     --ls-display (architektonické nápisy na scéne); bežný text 0

   PORIADOK SÚBORU
    1 písmo + tokeny (hub-tokeny.css)  2 základ  3 hlavička, dok, lišta zvuku, konzola Dafne
    4 scéna recepcie  5 pracovný panel oddelenia  6 Výluky z poistenia  7 brána prihlásenia
    8 Administrácia/Nastavenia  9 Ambiente (prepisy tokenov + výnimky)  10 tablet ≤ 900 px
   11 telefón ≤ 640 px  12 hrubý ukazovateľ / obmedzený pohyb  13 tlač  14 dedičstvo
   BREAKPOINTY: iba 900 px (tablet) a 640 px (telefón). Media query nevie čítať var(),
   preto je to konvencia — iné prahy sa nezavádzajú. Mobilné pravidlá sú vždy AŽ ZA
   desktopovými a majú rovnakú špecificitu (žiadne mŕtve mobilné pravidlá).
   ========================================================================== */

/* 1 ─ PÍSMO A TOKENY ---------------------------------------------------- */
/* 14. 10. 2026: @font-face Poppins a všetky tokeny (--brand-*, --fs-*, --text*, --gold*, --line*, --surface-*, --ui-*,
   --emphasis) sú v jedinom zdroji public/hub-tokeny.css – index.html ho načíta PRED týmto súborom. Rovnaké hodnoty
   ako doteraz, takže recepcia ani panely sa vizuálne nemenia. Hodnoty tokenov pri Ambiente sú tiež tam (sekcia 4). */

/* 2 ─ ZÁKLAD ------------------------------------------------------------- */
html{font:var(--brand-weight) var(--brand-size)/var(--brand-line) var(--brand-font);color:var(--brand-text);font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%;color-scheme:dark;background:var(--surface-0);min-height:100%}
body{margin:0;min-height:100%;background:var(--surface-0);color:var(--ui-text)} /* tmavý shell Hubu — kontrast (viď kontrakt) */
h1,h2,h3,h4,h5,h6{font-weight:var(--brand-weight);line-height:var(--brand-line-head)}
strong,b{font-weight:var(--brand-weight);color:var(--emphasis)}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}
/* Ikony zo sprite-u (kolega): <svg class="i"><use href="…"/></svg> — Lucide sú ťahové ikony,
   preto stroke:currentColor; veľkosť 20 px, v tlačidlách sedí na základnej línii textu. */
.i{width:20px;height:20px;display:inline-block;vertical-align:-.3em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
/* Šípky ako maska v currentColor (Poppins nemá ← → ↗): kolega odstráni znaky z textu a pridá triedu. */
.btn-back::before,.btn-next::after,.btn-open::after{content:"";width:14px;height:14px;flex-shrink:0;background:currentColor;-webkit-mask:var(--sipka) center/contain no-repeat;mask:var(--sipka) center/contain no-repeat}
.btn-back{--sipka:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19-7-7 7-7'/%3E%3Cpath d='M19 12H5'/%3E%3C/svg%3E")}
.btn-next{--sipka:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E")}
.btn-open{--sipka:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h10v10'/%3E%3Cpath d='M7 17 17 7'/%3E%3C/svg%3E")}
.btn-back,.btn-next,.btn-open{display:inline-flex;align-items:center;gap:8px}
/* Vizuálne skryté, pre čítačky ostáva (popis „Ambiente" na telefóne). */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* 3 ─ HLAVIČKA, DOK ODDELENÍ, LIŠTA ZVUKU, KONZOLA DAFNE ------------------ */
.brand-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:16px 24px;border-bottom:1px solid var(--line);color:var(--ui-text)}
.brand-header img{width:210px;max-width:58%;height:auto}
.ambiente-control{display:flex;align-items:center;gap:7px;margin-left:auto;color:var(--ui-text)}
.ambiente-control select{max-width:150px;min-height:44px;padding:5px 8px;border:1px solid var(--ui-border);border-radius:6px;background:transparent;color:var(--ui-text)}
.ambiente-control select option{background:var(--ui-surface);color:var(--ui-text)}
.sector-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--ui-text)}
.sector-toolbar select{min-height:44px;min-width:165px;max-width:100%;padding:8px 12px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-text)}
/* Previerka 7. 10. 2026 (V1): výber zamerania bez popisu vyzeral ako nadpis, nie ako filter – a ticho skrýval nástroje. */
.sector-toolbar-text{font-size:var(--fs-1,13px);color:var(--ui-text);opacity:.85;white-space:nowrap}
.sign-out-btn{min-height:44px;padding:8px 16px;border:1px solid var(--ui-border);border-radius:999px;background:transparent;color:var(--ui-text);cursor:pointer}
.sign-out-btn:hover{border-color:var(--ui-accent);color:var(--ui-accent)}

.department-dock{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;padding:18px 24px;background:#0d0e10}
.department-dock button{min-height:50px;border:1px solid var(--line-control);border-radius:12px;background:#1b1915;color:var(--gold-soft);cursor:pointer}
.department-dock button:hover{background:#33291a;border-color:var(--gold-soft)}
/* MOJE OBĽÚBENÉ (majiteľ 15. 10. 2026): pripnuté dlaždice pod menu oddelení – scénu recepcie ani menu neprekrývajú,
   šesť oddelení ostáva nad nimi. Veľa pripnutých: na počítači sa zalamujú do riadkov, na telefóne jeden posuvný rad. */
.moje-oblubene{padding:2px 24px 18px;background:#0d0e10}
.moje-oblubene h2{margin:0 0 10px;font-size:var(--fs-1,11px);font-weight:400;letter-spacing:var(--ls-caps,.08em);text-transform:uppercase;color:var(--gold-deep)}
.oblubene-zoznam{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.oblubene-zoznam li{display:flex;align-items:stretch;min-width:0;max-width:100%;border:1px solid var(--line-control);border-radius:12px;background:#1b1915}
.oblubene-zoznam li:hover,.oblubene-zoznam li:focus-within{border-color:var(--gold-soft)}
.oblubena-otvor{display:flex;align-items:center;gap:10px;min-width:0;min-height:50px;padding:6px 8px 6px 14px;border:0;border-radius:12px 0 0 12px;background:transparent;color:var(--gold-soft);font:inherit;text-align:left;cursor:pointer}
.oblubena-otvor .i{flex-shrink:0;width:18px;height:18px;color:var(--gold)}
.oblubena-otvor span{display:flex;flex-direction:column;min-width:0}
.oblubena-otvor strong{overflow:hidden;font-weight:400;color:inherit;white-space:nowrap;text-overflow:ellipsis} /* nie --emphasis: farbu dáva Ambiente radu (Retro bolo 1,1 : 1) */
.oblubena-otvor small{font-size:11px;color:var(--text-muted)}
.oblubena-zrus{display:grid;flex-shrink:0;place-items:center;width:44px;min-height:44px;padding:0;border:0;border-left:1px solid var(--line-control);border-radius:0 12px 12px 0;background:transparent;color:var(--text-muted);cursor:pointer}
.oblubena-zrus .i{width:16px;height:16px}
.oblubena-zrus:hover{color:var(--gold-soft)}
.oblubena-otvor:focus-visible,.oblubena-zrus:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.oblubene-stav{margin:10px 0 0;color:var(--text-muted)}
/* NOVINKY NA RECEPCII (majiteľ 15. 10. 2026): pevný pás pod menu oddelení, hneď nad „Moje obľúbené“ – scénu ani menu
   neprekrýva a nie je to siedme oddelenie. KOMPAKTNÝ (majiteľ ~22:00 „karta je príliš veľká“): nápis NOVINKY, pri ňom
   iba pre editora nenápadné „Spravovať“, potom malé čipy (ikona a druh, „Nové“, nadpis, šípka) – najviac 10, na počítači
   zalomené, na telefóne jeden posuvný rad. Spravovanie je dialóg (.novinky-sprava: zoznam + formulár .novinka-formular). */
.novinky-pas{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:2px 24px 14px;background:#0d0e10}
.novinky-hlavicka{display:flex;align-items:center;gap:10px}
.novinky-pas h2{margin:0;font-size:var(--fs-1,11px);font-weight:400;letter-spacing:var(--ls-caps,.08em);text-transform:uppercase;color:var(--gold-deep)}
.novinky-spravovat{min-height:32px;padding:2px 12px;border:1px solid var(--line-control);border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:var(--fs-small);cursor:pointer}
.novinky-spravovat:hover{border-color:var(--gold-soft);color:var(--gold-soft)}
.novinky-cipy{display:flex;flex:1 1 360px;flex-wrap:wrap;gap:8px;min-width:0;margin:0;padding:0;list-style:none}
.novinky-cipy li{min-width:0;max-width:100%}
.novinka-cip{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:36px;padding:4px 10px 4px 12px;border:1px solid var(--line-control);border-radius:999px;background:#1b1915;color:var(--gold-soft);font:inherit;line-height:1.2;text-align:left;cursor:pointer}
.novinka-cip:hover{border-color:var(--gold-soft)}
.novinka-cip-pripnuta{border-color:var(--gold)}
.novinka-cip[aria-disabled="true"]{border-style:dashed;cursor:default}
.novinka-cip .i{flex:none;width:16px;height:16px;color:var(--gold)}
.novinka-cip .i:last-child{width:14px;height:14px;color:inherit}
.novinka-cip-druh{font-size:var(--fs-label);letter-spacing:var(--ls-caps);text-transform:uppercase;white-space:nowrap;color:var(--gold)}
.novinka-cip-nove{padding:1px 7px;border-radius:999px;background:#d8292f;color:#fff;font-style:normal;font-size:var(--fs-label);letter-spacing:var(--ls-caps);text-transform:uppercase;white-space:nowrap}
.novinka-cip-nadpis{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:inherit}
.novinky-stav{flex-basis:100%;margin:0;color:var(--text-muted)}
.novinka-cip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.novinky-spravovat:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
/* Spravovať: zoznam noviniek pre tím (na páse / mimo pásu / skončené) – formulár je druhý pohľad toho istého dialógu */
.novinky-sprava{width:min(660px,calc(100vw - 32px))}
.nsp-zoznam-pohlad{display:grid;gap:12px;padding:20px}
.nsp-hlavicka{display:flex;align-items:center;justify-content:space-between;gap:12px}
.nsp-hlavicka h2{margin:0;font-size:var(--fs-3);color:var(--gold-soft)}
.nsp-uvod,.nsp-stav,.nsp-prazdne{margin:0;color:var(--text-muted)}
.nsp-stav:empty{display:none}
.nsp-zavriet,.nsp-pridat,.nsp-akcie button{min-height:44px;padding:6px 14px;border:1px solid var(--line-control);border-radius:999px;background:transparent;color:var(--gold-soft);font:inherit;cursor:pointer}
.nsp-pridat{justify-self:start;border-color:var(--gold);background:var(--gold);color:#1a1305}
.novinky-sprava h3{margin:6px 0 0;font-size:var(--fs-1);font-weight:400;letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--gold-deep)}
.nsp-zoznam{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.nsp-riadok{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:10px 12px;border:1px solid var(--line-control);border-radius:12px;background:var(--surface-3)}
.nsp-skoncena{border-style:dashed}
.nsp-text{display:grid;gap:2px;min-width:0}
.nsp-druh{display:flex;align-items:center;gap:6px;font-size:var(--fs-label);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--gold)}
.nsp-druh .i{width:14px;height:14px}
.nsp-text strong{color:var(--gold-soft);overflow-wrap:anywhere}
.nsp-text small{font-size:var(--fs-small);color:var(--text-muted)}
.nsp-akcie{display:flex;flex-wrap:wrap;gap:6px}
.novinky-sprava :focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.novinka-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:1px solid var(--line-control);border-radius:16px;background:var(--surface-2);color:var(--text);color-scheme:dark}
.novinka-dialog::backdrop{background:rgba(5,6,8,.72)}
.novinka-formular{display:grid;gap:12px;padding:20px}
.novinka-formular h2{margin:0;font-size:var(--fs-3);color:var(--gold-soft)}
.novinka-formular label{display:grid;gap:4px;color:var(--text)}
.novinka-formular label small{font-size:var(--fs-small);color:var(--text-muted)}
.novinka-formular input:not([type=checkbox]),.novinka-formular select,.novinka-formular textarea{box-sizing:border-box;width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--line-control);border-radius:8px;background:var(--surface-input);color:var(--text);font:inherit}
.novinka-formular textarea{resize:vertical}
.novinka-formular .novinka-volba{display:flex;align-items:center;gap:10px;min-height:44px}
.novinka-volba input{width:20px;height:20px;margin:0;accent-color:var(--gold)}
.novinka-chyba{margin:0;color:#ffb3b6}
.novinka-tlacidla{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.novinka-tlacidla button{min-height:44px;padding:8px 18px;border:1px solid var(--line-control);border-radius:999px;background:transparent;color:var(--gold-soft);font:inherit;cursor:pointer}
.novinka-tlacidla .novinka-ulozit{border-color:var(--gold);background:var(--gold);color:#1a1305}
.novinka-tlacidla button:disabled{opacity:.6;cursor:wait}
.novinka-formular :focus-visible{outline:2px solid var(--gold);outline-offset:2px}

.ambience-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;padding:8px 24px;background:var(--ui-surface);color:var(--ui-text)}
.ambience-toolbar button{min-height:44px;padding:8px 14px;border:1px solid var(--ui-border);border-radius:24px;background:transparent;color:var(--ui-text);cursor:pointer}
.ambience-toolbar button[aria-pressed=true]{border-color:var(--ui-accent)}

.dafne-console{margin:0;padding:20px 24px 28px;background:var(--ui-surface);color:var(--ui-text);border-top:1px solid var(--ui-border)}
.dafne-console-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.dafne-console-heading strong{font-size:var(--fs-4);line-height:var(--brand-line-head);color:var(--ui-accent)}
.dafne-console-heading span{color:var(--ui-muted)}
#dafne-form{display:flex;align-items:center;gap:12px;max-width:1000px;margin:auto;border:1px solid var(--ui-border);border-radius:18px;padding:12px;background:var(--ui-surface)}
#dafne-form button{min-height:48px;flex-shrink:0;padding:10px 16px;border:1px solid var(--ui-border);border-radius:12px;background:transparent;color:var(--ui-text);cursor:pointer}
#dafne-form #dafne-console-mic{width:48px;padding:0;font-size:24px;border-radius:50%;color:var(--ui-accent)}
#dafne-console-mic[aria-pressed=true]{box-shadow:0 0 0 4px var(--ui-border)}
.dafne-input-wrap{flex:1;min-width:0;display:grid;gap:4px}
.dafne-input-wrap span{color:var(--ui-accent)}
#dafne-query{width:100%;box-sizing:border-box;min-height:44px;border:0;background:transparent;color:var(--ui-text)}
#dafne-query::placeholder{color:var(--ui-muted);opacity:1}
#dafne-response{max-width:1000px;margin:12px auto 0}

/* 4 ─ SCÉNA RECEPCIE ----------------------------------------------------- */
#bsg-immersive{position:relative;width:100%;aspect-ratio:16/9;min-height:0;overflow:hidden;border-radius:24px;background:var(--surface-0);color:var(--text-strong);font-size:var(--brand-size);line-height:var(--brand-line);isolation:isolate}
#bsg-immersive *{box-sizing:border-box}
#bsg-immersive button{font:inherit}
#bsg-immersive button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
#bsg-immersive[data-focus="true"]{z-index:10000}
#bsg-immersive .scene{position:absolute;inset:0;transition:opacity .5s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
#bsg-immersive .lobby-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:none;transition:transform .3s cubic-bezier(.2,.8,.2,1),filter .2s ease} /* 17. 10. 2026: pod nepriehľadným panelom netreba 0,85 s */
#bsg-immersive[data-focus="true"] .lobby-image{transform:scale(1.12);filter:saturate(.7) brightness(.25)}
#bsg-immersive .veil{position:absolute;inset:0;background:transparent;pointer-events:none}
/* Neviditeľné dotykové zóny miestností; polohu podľa obrazu nastavuje ambiente.js. */
#bsg-immersive .hotspot{position:absolute;z-index:8;border:1px solid transparent;border-radius:34px;background:rgba(4,5,7,.01);color:transparent;cursor:pointer;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}
#bsg-immersive .hotspot:hover{background:#ffffff05;box-shadow:inset 0 0 20px #ffffff12;border-color:#ffffff35}
#bsg-immersive .hotspot.studio{left:4.5%;top:12%;width:33%;height:32%}
#bsg-immersive .hotspot.clients{right:4.5%;top:12%;width:31%;height:32%}
#bsg-immersive .hotspot.admin{left:4.5%;top:45%;width:30%;height:28%}
#bsg-immersive .hotspot.business{right:4.5%;top:45%;width:30%;height:28%}
#bsg-immersive .hotspot.core{left:36%;top:52%;width:28%;height:21%}
#bsg-immersive .stair-zone{position:absolute;z-index:7;bottom:5%;width:24%;height:43%;border:0;background:transparent;color:transparent;cursor:crosshair}
#bsg-immersive .stair-zone.left{left:0;clip-path:polygon(0 0,52% 18%,100% 100%,0 100%)}
#bsg-immersive .stair-zone.right{right:0;clip-path:polygon(48% 18%,100% 0,100% 100%,0 100%)}
#bsg-immersive .fountain-live{position:absolute;z-index:9;left:50%;bottom:4%;width:33%;height:24%;transform:translateX(-50%);border:0;background:transparent;color:transparent;cursor:pointer}
#bsg-immersive .fountain-ring{position:absolute;left:50%;bottom:6%;border:1px solid rgba(255,210,121,.75);border-radius:50%;transform:translateX(-50%) scale(.55);opacity:0;animation:bsg-ring 3.2s ease-out infinite;box-shadow:0 0 15px rgba(243,189,91,.3)}
#bsg-immersive .fountain-ring.r1{width:48%;height:20%}
#bsg-immersive .fountain-ring.r2{width:68%;height:28%;animation-delay:1.05s}
#bsg-immersive .fountain-ring.r3{width:88%;height:36%;animation-delay:2.1s}
#bsg-immersive .fountain-spark{position:absolute;left:50%;bottom:17%;width:3px;height:3px;border-radius:50%;background:#ffe4a0;box-shadow:0 0 9px #ffd477;animation:bsg-spark 2.4s ease-in-out infinite}
#bsg-immersive .fountain-spark.s1{margin-left:-23%;animation-delay:.2s}
#bsg-immersive .fountain-spark.s2{margin-left:-10%;animation-delay:.8s}
#bsg-immersive .fountain-spark.s3{margin-left:8%;animation-delay:1.4s}
#bsg-immersive .fountain-spark.s4{margin-left:21%;animation-delay:1.9s}
@keyframes bsg-ring{0%{transform:translateX(-50%) scale(.55);opacity:0}18%{opacity:.95}100%{transform:translateX(-50%) scale(1.12);opacity:0}}
@keyframes bsg-spark{0%,100%{transform:translateY(0) scale(.7);opacity:0}35%{opacity:1}60%{transform:translateY(-60px) scale(1.4);opacity:.8}}
#bsg-immersive[data-focus="true"] .fountain-live,#bsg-immersive[data-focus="true"] .stair-zone,#bsg-immersive[data-focus="true"] .dafne-mic{opacity:0}
/* Mikrofón Dafne: dotykový cieľ 44 px, ikona vnútri 18–22 px, vždy plne viditeľný (A2-32). */
#bsg-immersive .dafne-mic{position:absolute;z-index:11;top:var(--desk-y,45%);left:58%;transform:translate(-50%,-50%);width:44px;height:44px;border:0;border-radius:50%;background:transparent;box-shadow:none;color:#f3e3bd;text-shadow:0 1px 2px #0008;display:grid;place-items:center;cursor:pointer;opacity:1;transition:.25s}
#bsg-immersive .dafne-mic::before{content:'🎙';font-size:18px;line-height:1;color:inherit} /* kolega nahradí sprite-om; pri <svg class="i"> sa emoji vypne nižšie */
#bsg-immersive .dafne-mic:has(.i)::before{content:none}
#bsg-immersive .dafne-mic .i{width:22px;height:22px}
#bsg-immersive .dafne-mic:hover,#bsg-immersive .dafne-mic[data-listening="true"]{transform:translate(-50%,-50%) scale(1.08)}
#bsg-immersive .dafne-mic[data-listening="true"]{box-shadow:0 0 0 3px rgba(243,189,91,.55)}
#bsg-immersive .dafne-status{position:absolute;z-index:11;left:50%;top:calc(var(--desk-y,45%) + 28px);transform:translateX(-50%);padding:6px 10px;border-radius:999px;background:rgba(5,6,8,.82);border:1px solid rgba(243,189,91,.35);color:var(--text-strong);opacity:0;transition:.25s;white-space:nowrap}
#bsg-immersive .dafne-status[data-visible="true"]{opacity:1}
/* Architektonické nápisy: názvy miestností sú tlačidlá; nič nepriehľadné cez okná a ľudí.
   Písmo najmenej 11 px (pod 640 px sa nápisy skryjú a navigáciou je dok pod scénou). */
#bsg-immersive .room-label{position:absolute;z-index:10;display:flex;align-items:center;justify-content:center;height:3.7%;min-height:24px;padding:0 4px;border:0;background:transparent;box-shadow:none;color:#f3e3bd;text-shadow:0 1px 2px #0008;font-size:clamp(11px,1.05vw,18px);line-height:1.2;letter-spacing:var(--ls-caps);text-transform:uppercase;white-space:nowrap;overflow:visible;cursor:pointer;pointer-events:auto;transition:color .2s,text-shadow .2s}
#bsg-immersive .room-label:hover{color:#fff;text-shadow:0 0 8px #fff8}
#bsg-immersive .label-studio{left:12%;top:15.2%;width:19%}
#bsg-immersive .label-clients{left:73%;top:15.2%;width:16%}
#bsg-immersive .label-admin{left:9%;top:44.9%;width:22%}
#bsg-immersive .label-business{left:70%;top:44.9%;width:23%}
#bsg-immersive .label-academy{left:40%;top:56.6%;width:20%}
#bsg-immersive .dafne-nameplate{position:absolute;z-index:10;top:var(--desk-y,44.7%);left:44%;width:12%;height:3%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;background:transparent;color:#f3e3bd;text-shadow:0 1px 2px #0008;font-size:clamp(11px,1.4vw,23px);line-height:1;letter-spacing:var(--ls-display);pointer-events:none}
#bsg-immersive .scene-title{position:absolute;z-index:10;top:2.4%;left:23%;width:54%;margin:0;text-align:center;color:#f3dbad;font-size:clamp(16px,3.4vw,56px);line-height:1.3;pointer-events:none}
#bsg-immersive .scene-signature{position:absolute;z-index:10;left:25%;bottom:7.5%;width:50%;margin:0;text-align:center;color:#f3ce88;font-size:clamp(11px,1.55vw,26px);pointer-events:none}
html:not([data-ambiente=gold]) #bsg-immersive .scene-title,html:not([data-ambiente=gold]) #bsg-immersive .scene-signature{display:none}

/* 5 ─ PRACOVNÝ PANEL ODDELENIA ------------------------------------------- */
#bsg-immersive .focus{position:fixed;inset:0;z-index:9999;width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;gap:24px;padding:28px clamp(16px,4vw,64px);overflow:auto;background:radial-gradient(ellipse at top right,#252015 0,transparent 55%),var(--surface-1);opacity:0;visibility:hidden;transform:scale(.08);transform-origin:var(--origin-x,50%) var(--origin-y,50%);transition:opacity .18s ease,transform .3s cubic-bezier(.16,1,.3,1),visibility .18s} /* 17. 10. 2026 (majiteľ: „pomaly sa otvárajú šuflíky“): panel 0,78 s → 0,3 s, 95 % zväčšenia za ~0,13 s namiesto ~0,35 s */
#bsg-immersive[data-focus="true"] .focus{opacity:1;visibility:visible;transform:scale(1)}
#bsg-immersive .focus-copy{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px 18px;border-bottom:1px solid var(--line);padding-bottom:22px}
#bsg-immersive .focus-copy .eyebrow{grid-column:1;font-size:var(--fs-label);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--gold-deep)}
#bsg-immersive .focus-copy h1{grid-column:1;margin:0;font-size:var(--fs-5);letter-spacing:var(--ls-title)}
#bsg-immersive .focus-copy p{grid-column:1;margin:0;max-width:70ch;color:var(--text-muted)}
#bsg-immersive .focus-copy .close{grid-column:2;grid-row:1/4;align-self:center;margin:0;min-height:44px;padding:8px 14px;border:1px solid var(--line-control);border-radius:999px;background:transparent;color:var(--text-strong);display:inline-flex;align-items:center;gap:8px;cursor:pointer}
#bsg-immersive .focus-copy .close .i{width:16px;height:16px}
#bsg-immersive .screen{display:block;flex:1}
#bsg-immersive .screen-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:0 0 18px}
#bsg-immersive .screen-head span{color:var(--text-muted)}
#bsg-immersive .screen-head .i{color:var(--gold)}
#bsg-immersive .voice-brain{min-height:44px;padding:9px 13px;border:1px solid var(--gold-2);border-radius:999px;background:#17130d;color:var(--gold);display:flex;align-items:center;gap:8px;cursor:pointer}
#bsg-immersive .voice-brain .i{width:16px;height:16px}
#bsg-immersive .tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-content:start}
#bsg-immersive .tool-grid.tool-grid-embed{display:block;height:100%;min-height:520px}
#bsg-immersive .tool-grid-embed iframe{width:100%;height:100%;min-height:520px;border:0;border-radius:20px;background:var(--surface-1)}
#bsg-immersive .tool-group-title{grid-column:1/-1;margin:12px 0 0;font-size:var(--fs-1);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--gold-deep)}
#bsg-immersive .tool{position:relative;min-height:140px;padding:24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#25231e,#15171b);color:var(--text-strong);text-align:left;cursor:pointer;transition:.25s}
#bsg-immersive .tool:hover{transform:translateY(-3px);border-color:var(--gold-deep)}
/* Šípka „otvorí sa" ako maska v currentColor — v Poppins znak ↗ nie je; 7,2:1 na tmavej karte. */
#bsg-immersive .tool::after{content:"";position:absolute;right:20px;top:18px;width:16px;height:16px;background:currentColor;color:#d0aa63;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h10v10'/%3E%3Cpath d='M7 17 17 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h10v10'/%3E%3Cpath d='M7 17 17 7'/%3E%3C/svg%3E") center/contain no-repeat}
#bsg-immersive .tool .i{display:block;width:22px;height:22px;margin-bottom:6px;color:var(--gold)}
#bsg-immersive .tool strong{display:block;margin:10px 0 8px;max-width:90%;font-size:var(--fs-3);line-height:var(--brand-line-head);color:inherit}
#bsg-immersive .tool span{color:var(--text-muted)}
#bsg-immersive .tool.tool-bez-ciela::after{display:none}
/* Obľúbené (15. 10. 2026): hviezdička je SÚRODENEC dlaždice v obale (tlačidlo v tlačidle prehliadač rozbije) – vpravo
   hore vedľa šípky; pri štítku (šípka je dole) ide dole. Pripnutá = plná. */
#bsg-immersive .tool-obal{position:relative;display:flex;min-width:0}
#bsg-immersive .tool-obal>.tool{flex:1;min-width:0}
@media (prefers-reduced-motion: reduce){#bsg-immersive .tool,#bsg-immersive .tool-obal:hover>.tool{transition:none;transform:none}} /* G6/U2 17. 10. 2026: obmedzený pohyb aj pri dlaždiciach */
#bsg-immersive .tool-obal:hover>.tool{transform:translateY(-3px);border-color:var(--gold-deep)}
#bsg-immersive .tool-hviezda{position:absolute;top:7px;right:42px;z-index:1;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;transition:transform .25s}
#bsg-immersive .tool-obal:hover>.tool-hviezda{transform:translateY(-3px)}
#bsg-immersive .tool-hviezda .i{width:18px;height:18px}
#bsg-immersive .tool-hviezda .hviezda-plna,#bsg-immersive .tool-hviezda[aria-pressed="true"] .hviezda-prazdna{display:none}
#bsg-immersive .tool-hviezda[aria-pressed="true"] .hviezda-plna{display:block}
#bsg-immersive .tool-hviezda:hover,#bsg-immersive .tool-hviezda[aria-pressed="true"]{color:var(--gold)}
#bsg-immersive .tool-hviezda:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#bsg-immersive .tool-obal:has(>.tool>.tool-navrh)>.tool-hviezda,#bsg-immersive .tool-obal:has(>.tool>.tool-pocet)>.tool-hviezda{top:auto;bottom:7px}
#bsg-immersive .tool-obal:has(>.tool>.tool-navrh)>.tool,#bsg-immersive .tool-obal:has(>.tool>.tool-pocet)>.tool{padding-bottom:52px}
/* Due diligence 9. 10. 2026 (V-14): pri štítku („Neoverené“, „Rozpracované“, „Ukážka“) šípka ležala cez jeho text –
   presúva sa do pravého dolného rohu. */
#bsg-immersive .tool:has(> .tool-navrh)::after{top:auto;bottom:18px}
/* 15. 10. 2026: odznak s počtom na dlaždici (Bulletin: neprečítané a na schválenie; Marketing: novinky) – červená značky ako
   plocha s bielym číslom (4,9 : 1); šípka ide dole ako pri štítku. Pri štítku je odznak pod ním. */
#bsg-immersive .tool .tool-pocet{position:absolute;right:16px;top:16px;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#d8292f;color:#ffffff;font-style:normal;font-size:12px;line-height:24px;text-align:center}
#bsg-immersive .tool .tool-navrh~.tool-pocet{top:44px}
#bsg-immersive .tool:has(> .tool-pocet)::after{top:auto;bottom:18px}
/* Previerka 7. 10. 2026 (V3): „Pripravujeme“ vyzeralo a reagovalo ako funkčná dlaždica, kolegovia ju ťukali. Prerušovaný
   okraj a bez zdvihnutia – text ostáva plne čitateľný (žiadna priehľadnosť). */
#bsg-immersive .tool.tool-bez-ciela{border-style:dashed;cursor:default;background:linear-gradient(135deg,#1d1c19,#121417)}
#bsg-immersive .tool.tool-bez-ciela:hover{transform:none;border-color:var(--line)}
#bsg-immersive .tool .tool-navrh{position:absolute;right:16px;top:16px;font-style:normal;font-size:var(--fs-label,11px);letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px;padding:1px 8px;color:var(--text-muted);opacity:.85}
#bsg-immersive .tool-link{grid-column:1/-1;min-height:120px;justify-content:center;text-decoration:none;display:flex;flex-direction:column;gap:6px}
#bsg-immersive .module-detail{max-width:800px;padding:28px;border:1px solid var(--line);border-radius:20px}
#bsg-immersive .module-detail h2{margin:0 0 8px;font-size:var(--fs-3)}
#bsg-immersive .module-detail p{color:var(--text-muted)}
#bsg-immersive .module-detail button{min-height:44px;padding:10px 16px;border:1px solid var(--line-control);border-radius:12px;background:#201b13;color:var(--gold-soft);cursor:pointer}
#bsg-immersive .module-detail-embed{display:flex;flex-direction:column;gap:10px;max-width:none;height:100%;padding:0;border:0}
#bsg-immersive .module-detail-bar{flex-shrink:0}
#bsg-immersive .module-spat-kratky{display:none} /* „← Späť“ iba v zbalenom pruhu nad rámom na telefóne (nižšie) */
#bsg-immersive .module-detail-embed iframe{flex:1;min-height:520px;width:100%;border:1px solid var(--line);border-radius:20px;background:var(--surface-1)}
/* APPKA V RÁME – Kariéra ako oddelenie (#tool-grid.tool-grid-embed) aj dlaždica s rámom (.module-detail-embed).
   NÁLEZY MAJITEĽA 14. 10. 2026 (produkcia): obsah Kariéry sa „posúval za“ hlavičku a polovicu nebolo vidno – rám mal výšku
   celej .screen (height:100 %, min-height 520 px) a nad ním ešte riadok s Dafne, panel pretiekol, posúval sa spolu s rámom
   (dve vrstvy) a pod ním aj stránka recepcie; 100vw/100vh na telefóne a v okne aplikácie nesedí s viditeľnou plochou.
   A (20:15, snímka Akadémie): veľká hlavička oddelenia (eyebrow, nadpis, popis, riadok s Dafne, „← Nástroje oddelenia“)
   zaberala takmer polovicu výšky, modul v ráme bol malý.
   Oprava: pri otvorenom ráme sa hlavička zbalí do JEDNÉHO tenkého pruhu (najviac ~56 px): vľavo „← Nástroje oddelenia“
   (na telefóne „← Späť“), pri Kariére ako oddelení „← Recepcia“; v strede názov modulu; vpravo Dafne ako ikona mikrofónu
   a Recepcia ako ikona domčeka. Rám vyplní celý zvyšok okna (100dvh mínus pruh, safe-area na iPhone), panel ani stránka
   pod ním sa neposúvajú – posúva sa iba obsah rámu. Pruh je ten istý DOM ako plná hlavička (display:contents + mriežka
   panela), tlačidlá a ich význam sa nemenia. Stav „rám otvorený“ sa odvodzuje z DOM (:has), nie z príznaku v JS, takže po
   návrate (← Nástroje oddelenia, Esc, gesto späť, iné oddelenie, odhlásenie) sa plná hlavička s dlaždicami vráti sama.
   Ostatné obrazovky (dlaždice, Výluky, Administrácia, Nastavenia, detail bez rámu) sa nemenia – panel sa tam posúva ďalej.
   Prehliadač bez :has ostáva pri pôvodnom rozložení (pravidlá vyššie); tlač tiež (iba @media screen). */
@media screen{@supports selector(:has(*)){
 html:has(#bsg-immersive[data-focus="true"] .screen>:is(.tool-grid-embed:not([hidden]),.module-detail-embed)),
 html:has(#bsg-immersive[data-focus="true"] .screen>:is(.tool-grid-embed:not([hidden]),.module-detail-embed)) body{overflow:hidden}
 #bsg-immersive .focus:has(>.screen>:is(.tool-grid-embed:not([hidden]),.module-detail-embed)){display:grid;grid-template-rows:auto minmax(0,1fr);align-items:center;gap:6px 8px;padding:max(6px,env(safe-area-inset-top)) max(clamp(12px,2vw,24px),env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(clamp(12px,2vw,24px),env(safe-area-inset-left));overflow:hidden;overscroll-behavior:contain}
 #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])){grid-template-columns:auto minmax(0,1fr) auto}
 #bsg-immersive .focus:has(>.screen>.module-detail-embed){grid-template-columns:auto minmax(0,1fr) auto auto}
 #bsg-immersive .focus:has(>.screen>:is(.tool-grid-embed:not([hidden]),.module-detail-embed)) :is(.focus-copy,.screen,.screen-head,#tool-grid,.module-detail-embed,.module-detail-bar){display:contents}
 #bsg-immersive .focus:has(>.screen>:is(.tool-grid-embed:not([hidden]),.module-detail-embed)) .focus-copy :is(.eyebrow,#focus-description){display:none}
 #bsg-immersive .focus:has(>.screen>:is(.tool-grid-embed:not([hidden]),.module-detail-embed)) :is(.focus-copy .close,.voice-brain,.module-detail-bar button){grid-row:1;align-self:center;white-space:nowrap}
 #bsg-immersive .focus:has(>.screen>:is(.tool-grid-embed:not([hidden]),.module-detail-embed)) :is(.focus-copy h1,#screen-label){grid-row:1;grid-column:2;min-width:0;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center;font-size:var(--fs-2);font-weight:400;line-height:1.3;letter-spacing:normal}
 #bsg-immersive .focus:has(>.screen>.module-detail-embed) #screen-label{color:inherit}
 #bsg-immersive .focus:has(>.screen>:is(.tool-grid-embed:not([hidden]),.module-detail-embed)) .voice-brain{grid-column:3;justify-content:center;width:44px;padding:0;gap:0;font-size:0}
 #bsg-immersive .focus:has(>.screen>:is(.tool-grid-embed:not([hidden]),.module-detail-embed)) .voice-brain .i{width:18px;height:18px}
 #bsg-immersive .focus:has(>.screen>:is(.tool-grid-embed:not([hidden]),.module-detail-embed)) :is(#tool-grid,.module-detail-embed)>iframe{grid-row:2;grid-column:1/-1;align-self:stretch;display:block;width:100%;height:100%;min-height:0}
 #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])) .focus-copy .close{grid-column:1}
 #bsg-immersive .focus:has(>.screen>.module-detail-embed) .focus-copy h1{display:none}
 #bsg-immersive .focus:has(>.screen>.module-detail-embed) .module-detail-bar button{grid-column:1;border-radius:999px}
 #bsg-immersive .focus:has(>.screen>.module-detail-embed) .focus-copy .close{grid-column:4}
 #bsg-immersive .focus:has(>.screen>.module-detail-embed) .focus-copy .close .i{display:none}
 #bsg-immersive .focus:has(>.screen>.module-detail-embed) .focus-copy .close::before{content:"";width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E") center/contain no-repeat}
}}
@media screen and (max-width:640px){@supports selector(:has(*)){
 #bsg-immersive .focus:has(>.screen>.module-detail-embed) .module-spat-dlhy{display:none}
 #bsg-immersive .focus:has(>.screen>.module-detail-embed) .module-spat-kratky{display:inline}
 #bsg-immersive .focus:has(>.screen>.module-detail-embed) .focus-copy .close{justify-content:center;width:44px;padding:0;gap:0;font-size:0}
}}

/* 6 ─ VÝLUKY Z POISTENIA -------------------------------------------------- */
#bsg-immersive .insurance-screen{display:flex;flex-direction:column;gap:16px}
#bsg-immersive .insurance-intro{margin:0;max-width:70ch;color:var(--text-muted)}
#bsg-immersive .insurance-intro b{color:var(--text-strong)}
#bsg-immersive .insurance-search{display:flex;gap:8px;align-items:center}
#bsg-immersive .insurance-search input{flex:1;min-width:0;min-height:46px;padding:10px 16px;border:1px solid var(--line-control);border-radius:14px;background:var(--surface-4);color:var(--text-strong)}
#bsg-immersive .insurance-search input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#bsg-immersive .insurance-search button{min-height:44px;padding:8px 14px;border:1px solid var(--line-control);border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer}
#bsg-immersive .insurance-search button:hover{color:var(--text-strong);border-color:var(--gold-2)}
#bsg-immersive .insurance-chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
#bsg-immersive .insurance-coverage-label{margin-right:4px;font-size:var(--fs-label);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted)}
#bsg-immersive .insurance-chip-list{display:flex;flex-wrap:wrap;gap:6px}
#bsg-immersive .insurance-chip{min-height:36px;padding:6px 12px;border:1px solid var(--line-control);border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer}
#bsg-immersive .insurance-chip:hover{color:var(--text-strong)}
#bsg-immersive .insurance-chip-unread{border-style:dashed;color:var(--text-dim)}
#bsg-immersive .insurance-chip-unread:hover{color:var(--text-muted)}
#bsg-immersive .insurance-chip-status{margin-left:6px;font-size:var(--fs-label)}
#bsg-immersive .insurance-chip-status-gold{color:var(--gold)}
#bsg-immersive .insurance-hint{margin:0;max-width:70ch;color:var(--gold)}
#bsg-immersive .insurance-hint b{color:var(--gold)}
#bsg-immersive .insurance-hladanie :is(.insurance-chip-row,.insurance-compare,#insurance-missing-note){display:none}
#bsg-immersive .insurance-compare{padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--surface-4)}
#bsg-immersive .insurance-compare-title{font-size:var(--fs-label);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted)}
#bsg-immersive .insurance-compare-list{display:flex;flex-direction:column;gap:4px;margin-top:8px}
#bsg-immersive .insurance-compare-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:8px 12px;border-radius:10px;background:var(--surface-1)}
#bsg-immersive .insurance-compare-name,#bsg-immersive .insurance-compare-count{color:var(--text-strong)}
#bsg-immersive .insurance-compare-spacer{flex:1}
#bsg-immersive .insurance-compare-detail{color:var(--text-muted)}
#bsg-immersive .insurance-empty,#bsg-immersive .stav-nacitavam{margin:0;max-width:70ch;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-4);color:var(--text-dim)}
#bsg-immersive .insurance-empty b{color:var(--text-strong)}
#bsg-immersive .insurance-empty-known{border-color:var(--gold-2);background:rgba(243,189,91,.06)}
#bsg-immersive .insurance-topic-hint{margin:0;max-width:70ch;color:var(--text-dim)}
#bsg-immersive .insurance-kluc-hint{margin:0 0 6px;color:var(--text-strong);font-weight:400}
#bsg-immersive .insurance-group-kluc{border-left:3px solid var(--gold);padding-left:12px}
#bsg-immersive .insurance-topic-hint b{color:var(--text-strong)}
#bsg-immersive .insurance-empty-known b{color:var(--gold)}
#bsg-immersive .insurance-empty p{margin:6px 0 0}
#bsg-immersive .insurance-doc{padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--surface-3)}
#bsg-immersive .insurance-doc-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
#bsg-immersive .insurance-doc-head h2{margin:0;font-size:var(--fs-3);color:var(--text-strong)}
#bsg-immersive .insurance-doc-product{color:var(--gold)}
#bsg-immersive .insurance-doc-meta{margin:4px 0 0;color:var(--text-muted)}
#bsg-immersive .insurance-doc-meta a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
#bsg-immersive .insurance-doc-note{margin:12px 0 0;max-width:70ch;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-1);color:var(--gold)}
#bsg-immersive .insurance-doc-awaiting{margin:12px 0 0;padding:10px 12px;border:1px solid rgba(245,166,35,.35);border-radius:12px;background:rgba(245,166,35,.08)}
#bsg-immersive .insurance-doc-awaiting b{color:#f5c877}
#bsg-immersive .insurance-doc-awaiting p{margin:4px 0 0;color:var(--text-muted)}
#bsg-immersive .insurance-groups{display:flex;flex-direction:column;gap:14px;margin-top:14px}
#bsg-immersive .insurance-group-title{margin-bottom:6px;font-size:var(--fs-label);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted)}
#bsg-immersive .insurance-clause-list{display:flex;flex-direction:column;gap:8px}
#bsg-immersive .insurance-clause{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-1)}
#bsg-immersive .insurance-clause-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
/* Stručná karta (rozhodnutie majiteľa 18. 10. 2026, MetLife): jeden očíslovaný zoznam, číslo je text v hlavičke ustanovenia */
#bsg-immersive .insurance-strucne-list{margin:14px 0 0;padding:0;list-style:none}
#bsg-immersive .insurance-strucne-cislo{font-weight:400;color:var(--text-strong)}
#bsg-immersive .badge{padding:2px 9px;border-radius:999px;font-size:var(--fs-label);letter-spacing:var(--ls-caps);text-transform:uppercase}
#bsg-immersive .badge-bad{background:rgba(239,68,68,.15);color:#fca5a5}
#bsg-immersive .badge-warn,#bsg-immersive .badge-stanovisko{background:rgba(245,166,35,.15);color:#f5c877}
#bsg-immersive .badge-good{background:rgba(52,211,153,.15);color:#6fd6a8}
#bsg-immersive .insurance-article{color:var(--text-muted)}
#bsg-immersive .insurance-scope{padding:1px 8px;border:1px solid var(--line-control);border-radius:999px;color:var(--text-muted);font-size:var(--fs-label)}
/* Citát: odlíšený farbou a ľavou linkou, nie kurzívou (Poppins Italic sa nenačítava). */
#bsg-immersive .insurance-quote{margin:8px 0 0;padding-left:10px;border-left:2px solid rgba(243,189,91,.4);color:var(--text-strong);font-style:normal}
#bsg-immersive .insurance-quote-stanovisko{border-left-color:rgba(245,166,35,.5)}
#bsg-immersive .insurance-meaning{margin:8px 0 0;color:var(--text-muted)}
#bsg-immersive .insurance-meaning-label{color:var(--text-strong);font-weight:400}
#bsg-immersive .badge-typ{background:rgba(255,255,255,.08);color:var(--text-strong)}
#bsg-immersive .badge-typ-vyluka{background:rgba(216,41,47,.18);color:#fca5a5}
#bsg-immersive .badge-typ-kratenie{background:rgba(245,166,35,.15);color:#f5c877}
#bsg-immersive .badge-nejasne{border:1px dashed rgba(245,166,35,.6);background:transparent;color:#f5c877}
#bsg-immersive .insurance-nejasne{margin-top:6px}
/* Úzke zobrazenie (overenie 17. 10. 2026): dlhé odkazy na PDF v poznámke MetLife a kódy verzií (PR_OPP_PIS_206/04_0925/0927) zalomiť, nie rozťahovať stránku */
#bsg-immersive .insurance-doc :is(.insurance-doc-note,.insurance-doc-meta,.insurance-quote,.insurance-meaning,.insurance-hint,.insurance-article){overflow-wrap:anywhere}
#bsg-immersive .insurance-missing-box{margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-4)}
#bsg-immersive .insurance-missing-label{font-size:var(--fs-label);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted)}
#bsg-immersive .insurance-missing-box p{margin:4px 0 0;color:var(--text-muted)}
#bsg-immersive .insurance-footer{margin:0;max-width:70ch;color:var(--text-muted)}

/* Tlačidlo „Vytvoriť konferenciu" (natívna AI tvorba konferencie) - jediný
   nový prvok hlavičky, ktorý tento token-based prepis (previerka 25. 9.)
   ešte nemal. */

/* 7 ─ BRÁNA PRIHLÁSENIA (zámerne vždy tmavo-zlatá — značka; A5-57) -------- */
/* z-index nad otvoreným oddelením (.focus má 9999, #bsg-immersive[data-focus] 10000).
   Bez toho sa prihlasovacie okno po odhlásení zobrazilo POD otvoreným panelom a
   tlačidlo „Odhlásiť sa" vyzeralo, že nič nerobí (previerka 25. 9.). */
.auth-gate{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--surface-0);color-scheme:dark}
.auth-card{width:100%;max-width:380px;padding:36px 32px;text-align:center;border:1px solid var(--line-auth);border-radius:24px;background:var(--surface-2);box-shadow:0 0 70px rgba(243,189,91,.12)}
.auth-logo{width:150px;height:auto;margin-bottom:20px}
.auth-card h1{margin:0 0 8px;font-size:var(--fs-4);color:var(--text-strong)}
.auth-sub{margin:0 0 24px;color:var(--text-muted)}
#auth-form{display:flex;flex-direction:column;gap:14px;text-align:left}
#auth-form label,.auth-reset label{display:flex;flex-direction:column;gap:6px;color:var(--text-muted)}
#auth-form input,.auth-reset input{min-height:44px;padding:8px 12px;border:1px solid var(--line-control);border-radius:10px;background:var(--surface-input);color:var(--text-strong)}
#auth-form input:focus-visible,.auth-reset input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.auth-password-wrap{position:relative;display:block}
.auth-password-wrap input{width:100%;box-sizing:border-box;padding-right:48px}
#auth-toggle-password{position:absolute;right:0;top:50%;transform:translateY(-50%);min-height:44px;min-width:44px;border:0;border-radius:10px;background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer}
#auth-toggle-password:hover,#auth-toggle-password[aria-pressed="true"]{color:var(--gold)}
.auth-remember{flex-direction:row!important;align-items:center;gap:9px!important;color:var(--text-muted)!important;font-size:var(--fs-label)!important}
.auth-remember input{width:16px;height:16px;accent-color:var(--gold-deep)}
.auth-error{margin:0;min-height:16px;color:#e07a5f}
#auth-submit{min-height:46px;border:1px solid var(--gold);border-radius:999px;background:var(--gold);color:#1a1305;cursor:pointer}
#auth-submit:disabled{opacity:.75;cursor:default}
#auth-submit:hover:not(:disabled){filter:brightness(1.08)}
.auth-help{display:block;margin-top:20px;color:var(--text-muted)}
/* Samoobslužná obnova hesla na prihlasovacej karte (25. 9.). */
.auth-link{min-height:44px;padding:6px 8px;border:0;border-radius:8px;background:transparent;color:var(--gold);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.auth-link:hover{color:#ffd88a}
.auth-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.auth-reset{display:flex;flex-direction:column;gap:8px;margin-top:8px;text-align:left}
.auth-secondary{min-height:44px;border:1px solid var(--line-control);border-radius:999px;background:transparent;color:var(--gold);cursor:pointer}
.auth-secondary:hover:not(:disabled){border-color:var(--gold)}
.auth-secondary:disabled{opacity:.75;cursor:default}
.auth-reset-msg{margin:0;min-height:16px;color:var(--text-muted)}
.auth-reset-msg[data-druh=chyba]{color:#e07a5f}
.auth-reset-msg[data-druh=ok]{color:var(--gold-soft)}
.auth-note{margin:12px 0 0;color:var(--text-muted)}
/* Ponuka Face ID hneď po prihlásení heslom – krok v prihlasovacom okne, nie nápis cez recepciu (AGENTS.md). */
.auth-faceid{display:grid;gap:12px;margin-top:4px}
.auth-faceid h2{margin:0;font-size:var(--fs-3);font-weight:400;color:var(--text-strong)}
.auth-faceid p{margin:0;color:var(--text-muted)}
#auth-faceid-ano{min-height:46px;border:1px solid var(--gold);border-radius:999px;background:var(--gold);color:#1a1305;cursor:pointer}
#auth-faceid-ano:disabled{opacity:.75;cursor:default}
/* Oznam pre deaktivovaný účet — jediná vec, ktorú taký človek uvidí navyše. */
.deaktivovany-oznam{position:sticky;top:0;z-index:50;padding:12px 18px;text-align:center;background:rgba(216,41,47,.92);color:#fff}

/* 8 ─ ADMINISTRÁCIA A NASTAVENIA — ľudia, role, pozvánky, štruktúra, audit --- */
.admin-screen{padding:4px 2px 20px;color:var(--text)}
.admin-hlavicka{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--gold-line)}
.admin-hlavicka strong,.admin-hlavicka h2,.admin-titul{display:block;margin:0;font-size:var(--fs-3);line-height:var(--brand-line-head);color:var(--text-strong)}
.admin-rola{display:block;margin-top:2px;color:var(--text-dim)}
.admin-zalozky{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 14px}
.admin-zalozky button{padding:8px 14px;border:1px solid var(--line-control);border-radius:999px;background:transparent;color:var(--text);cursor:pointer}
.admin-zalozky button.je-aktivna{background:rgba(201,169,97,.16);border-color:var(--gold-deep);color:var(--gold-soft)}
.admin-filtre{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.admin-filtre input,.admin-filtre select,.admin-akcie select,.admin-formular input,.admin-formular select{padding:9px 12px;border:1px solid var(--line-control);border-radius:9px;background:rgba(0,0,0,.28);color:var(--text)}
.admin-filtre input,.admin-filtre select{flex:1 1 180px;min-width:0}
.admin-zoznam{display:flex;flex-direction:column;gap:6px}
.admin-riadok{display:grid;grid-template-columns:minmax(120px,1.3fr) minmax(140px,1.6fr) auto auto;gap:10px;align-items:center;width:100%;padding:11px 13px;text-align:left;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(255,255,255,.035);color:inherit;cursor:pointer}
.admin-riadok:hover{border-color:rgba(201,169,97,.4);background:rgba(201,169,97,.07)}
.admin-riadok-staticky{cursor:default;grid-template-columns:auto minmax(120px,1.2fr) minmax(140px,1.4fr) auto auto auto}
.admin-riadok-staticky:hover{border-color:rgba(255,255,255,.07);background:rgba(255,255,255,.035)}
.admin-meno{color:var(--text-strong)}
.admin-email,.admin-datum{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis}
.admin-znacka{justify-self:start;padding:3px 9px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.06);font-size:var(--fs-label);white-space:nowrap}
.admin-rola-super_admin{border-color:rgba(201,169,97,.6);background:rgba(201,169,97,.17);color:var(--gold-soft)}
.admin-rola-admin{border-color:rgba(201,169,97,.35);color:var(--gold-soft)}
.admin-rola-leader{border-color:rgba(120,170,255,.35);color:#b8d0ff}
.admin-stav-inactive,.admin-pozvanka-revoked,.admin-pozvanka-expired{border-color:rgba(216,41,47,.45);background:rgba(216,41,47,.12);color:#ffb3b6}
.admin-pozvanka-accepted{border-color:rgba(120,200,140,.4);color:#b6e6c3}
.admin-riadok-akcie{display:flex;gap:6px;flex-wrap:wrap}
.admin-riadok-akcie button,.admin-tlacidla button{padding:7px 12px;border:1px solid var(--line-control);border-radius:8px;background:transparent;color:var(--text);cursor:pointer}
.admin-riadok-akcie button:hover,.admin-tlacidla button:hover{border-color:var(--gold-deep);color:var(--gold-soft)}
/* Register modulov (Administrácia → Moduly a prístupy) – rovnaké tokeny ako zvyšok Administrácie. */
.admin-moduly-suhrn{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}
.admin-moduly-oddelenie{margin:22px 0 0}
.admin-moduly-oddelenie h3{margin:0 0 4px;font-size:var(--fs-3);font-weight:400;color:var(--text-strong)}
.admin-moduly-sekcia{margin:12px 0 8px;font-size:var(--fs-label);font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft)}
.admin-moduly-mriezka{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.admin-modul{display:flex;flex-direction:column;gap:8px;padding:13px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(255,255,255,.035)}
.admin-modul[data-stav=navrh]{opacity:.78}
.admin-modul-hlavicka{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;align-items:flex-start}
.admin-modul h4{margin:0;font-size:var(--fs-2);font-weight:400;color:var(--text-strong)}
.admin-modul-popis,.admin-modul-vynimky{margin:0;color:var(--text-muted)}
.admin-stitky{display:flex;flex-wrap:wrap;gap:4px}
.admin-stitok{display:inline-block;padding:2px 8px;border:1px solid var(--line-control);border-radius:999px;font-size:var(--fs-small);color:var(--text-muted);white-space:nowrap}
.admin-stitok-pripraveny{border-color:rgba(115,190,140,.55);color:#9fd8b0}
.admin-stitok-rozpracovany{border-color:rgba(201,169,97,.6);color:var(--gold-soft)}
.admin-stitok-navrh{border-color:rgba(255,255,255,.18);color:var(--text-muted)}
.admin-stitok-citlive{border-color:rgba(216,41,47,.5);color:#f0a3a6}
.admin-pristupy{display:flex;flex-direction:column;gap:6px}
.admin-pristupy-riadok{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.admin-pristupy-akcia{flex:1 0 100%;font-size:var(--fs-small);color:var(--text-muted)}
.admin-rola-prepinac{min-height:32px;padding:4px 10px;border:1px solid var(--line-control);border-radius:999px;background:transparent;color:var(--text-muted);font-size:var(--fs-small);cursor:pointer}
.admin-rola-prepinac.je-zapnuty{border-color:var(--gold-deep);background:rgba(201,169,97,.16);color:var(--gold-soft)}
.admin-rola-prepinac:disabled,.admin-rola-prepinac.je-pevny{cursor:default;opacity:.85}
.admin-rola-prepinac:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.admin-hlavne{padding:9px 16px;border:0;border-radius:9px;background:linear-gradient(100deg,#f2e2b3,var(--gold-deep) 45%,#b8891f);color:#1a1509;cursor:pointer}
/* Marketing v Administrácii: odkaz do oddelenia vyzerá ako hlavné tlačidlo. */
a.admin-hlavne{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:none}
a.admin-whatsapp{background:#25d366;color:#06200f}
.admin-detail{margin-top:14px;padding:16px;border:1px solid rgba(201,169,97,.28);border-radius:13px;background:rgba(201,169,97,.05)}
.admin-detail h3,.admin-formular h3{margin:0 0 12px;font-size:var(--fs-2)}
.admin-formular h3{margin:0}
.admin-udaje{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0 0 14px}
.admin-udaje dt{color:var(--text-dim)}
.admin-udaje dd{margin:0}
.admin-akcie{display:flex;flex-direction:column;gap:12px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.admin-akcie label,.admin-formular label{display:flex;flex-direction:column;gap:5px;color:var(--text-dim)}
.admin-screen .admin-prepinac{flex-direction:row;align-items:center;gap:9px;color:var(--text)}
.admin-prepinac input{width:16px;height:16px;accent-color:var(--gold-deep)}
.admin-tlacidla{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.admin-poznamka{margin:8px 0 0;max-width:70ch;color:var(--text-dim)}
.admin-oznam{margin:18px 0;max-width:70ch;padding:14px 16px;border:1px solid var(--gold-line);border-radius:11px;background:rgba(201,169,97,.06);color:var(--text)}
.admin-sprava{margin:12px 0 0;min-height:1px;max-width:70ch}
.admin-sprava[data-druh=chyba]{color:#ffb3b6}
.admin-sprava[data-druh=ok]{color:#b6e6c3}
/* Potvrdenie akcie, ktoré prežije prekreslenie panela (previerka 25. 9.). */
.admin-toast{margin:0 0 12px;padding:11px 14px;border-radius:10px}
.admin-toast[data-druh=ok]{background:rgba(201,169,97,.14);border:1px solid rgba(201,169,97,.4);color:var(--gold-soft)}
.admin-toast[data-druh=chyba]{background:rgba(216,41,47,.12);border:1px solid rgba(216,41,47,.4);color:#ffb3b6}
.admin-formular{margin-top:6px;display:flex;flex-direction:column;gap:12px;max-width:560px}
.admin-dvojica{display:flex;flex-wrap:wrap;gap:12px}
.admin-dvojica label{flex:1 1 180px;min-width:0}
.admin-odkaz{width:100%;margin-top:6px;padding:9px 12px;border:1px solid rgba(201,169,97,.4);border-radius:9px;background:rgba(0,0,0,.35);color:var(--gold-soft)}
.admin-odkaz-v-texte{color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px}
.admin-odkaz-v-texte:hover{color:#ffe9b8}
.admin-struktura{padding:4px 0}
.admin-strom{list-style:none;margin:0;padding-left:18px}
.admin-strom li{position:relative;padding:6px 0 6px 14px}
.admin-strom li::before{content:"";position:absolute;left:0;top:16px;width:9px;height:1px;background:rgba(201,169,97,.4)}
.admin-strom>li{border-left:1px solid rgba(201,169,97,.2)}
.admin-strom .admin-meno{margin-right:8px}
/* Stránkovanie zoznamu ľudí — pri stovkách ľudí sa nevykresľuje všetko naraz. */
.admin-viac{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:12px;padding:10px 13px;border:1px dashed var(--gold-line);border-radius:10px;color:var(--text-dim)}
.admin-viac button{padding:7px 14px;border:1px solid var(--line-control);border-radius:8px;background:transparent;color:var(--gold-soft);cursor:pointer}
.admin-viac button:hover{border-color:var(--gold-deep);color:var(--gold-soft)}
.admin-viac button[disabled]{opacity:.7;cursor:progress}
/* Právomoci administrátora (55. nález) */
.admin-granty{margin:14px 0;padding:12px 14px;border:1px solid #23262f;border-radius:12px}
.admin-granty legend{padding:0 6px;color:var(--gold-deep)}
/* Zaradenie človeka (majiteľ 15. 10. 2026): blok v pozvánke a v detaile + čipy v zozname ľudí a pozvánok.
   Panel Administrácie je tmavý v každom Ambiente – svetlé alternatívy farieb BSG (modrá pre obchodníka, zlatá pre
   správcu a marketing, biela pre zamestnanca centrály); červená ostáva iba pre deaktiváciu a chyby. */
.admin-zaradenie{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;padding:12px 14px;border:1px solid #23262f;border-radius:12px}
.admin-zaradenie legend{padding:0 6px;color:var(--gold-deep)}
.admin-zaradenie[data-chyba]{border-color:rgba(216,41,47,.6)}
.admin-zaradenie .admin-poznamka{margin:4px 0 0}
.admin-zaradenie .admin-sprava{margin:0}
.admin-zaradenie .admin-sprava:empty{display:none}
.admin-zaradenie-marketing{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px}
.admin-zaradenie-nazov{color:var(--text-dim)}
.admin-zaradenie label:has(input:disabled){opacity:.7}
.admin-zaradenie-cipy{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px}
.admin-cip{display:inline-block;padding:1px 8px;border:1px solid var(--line-control);border-radius:999px;font-size:var(--fs-small);line-height:1.6;color:var(--text-muted);white-space:nowrap}
.admin-cip-obchodnik{border-color:rgba(150,185,255,.45);background:rgba(0,47,135,.38);color:#dbe6ff}
.admin-cip-zamestnanec{border-color:rgba(255,255,255,.3);color:var(--text-strong)}
.admin-cip-marketing{border-color:rgba(201,169,97,.45);color:var(--gold-soft)}
.admin-cip-spravca{border-color:rgba(201,169,97,.6);background:rgba(201,169,97,.17);color:var(--gold-soft)}
.admin-tlmene{color:var(--text-dim)}
/* Prehľad používania (Administrácia, majiteľ 14. 10. 2026) – vzhľad tmavého pracovného panela Administrácie:
   Poppins 400, zlaté akcenty, stavy farbou (nie hrúbkou). Na telefóne tabuľka ako karty, bez posúvania do strany. */
.prehlad{display:grid;gap:14px;min-width:0}
.prehlad-hlava{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:flex-start}
.prehlad-titul{margin:0;font-size:var(--fs-3);font-weight:400;color:var(--text-strong)}
.prehlad-hlava .admin-poznamka{margin-top:4px}
.prehlad-chipy{display:flex;flex-wrap:wrap;gap:6px}
.prehlad-chip{padding:6px 14px;border:1px solid var(--line-control);border-radius:999px;background:transparent;color:var(--text);cursor:pointer;font:inherit}
.prehlad-chip[aria-pressed=true]{background:rgba(201,169,97,.16);border-color:var(--gold-deep);color:var(--gold-soft)}
.prehlad-chip:disabled{opacity:.7;cursor:progress}
.prehlad-chip:focus-visible,.prehlad-tabulka th[data-k]:focus-visible,.prehlad-tabulka tbody tr:focus-visible,.prehlad-stlpce div:focus-visible,.prehlad-zavriet:focus-visible,.prehlad-akcie button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.prehlad-dlazdice{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.prehlad-dlazdica{min-width:0;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,#25231e,#15171b)}
.prehlad-cislo{font-size:var(--fs-4);line-height:1.25;color:var(--text-strong);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.prehlad-popis{color:var(--text-muted)}
.prehlad-sekcia{margin:6px 0 2px;font-size:var(--fs-label);font-weight:400;letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--gold-soft)}
.prehlad-podtitul{margin:0;font-size:var(--fs-2);font-weight:400;color:var(--text-strong)}
.prehlad-blok{min-width:0;padding:15px 16px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.035)}
.prehlad-lievik{display:grid;gap:6px}
.prehlad-lievik-riadok{display:grid;grid-template-columns:150px minmax(0,1fr) 44px;gap:10px;align-items:center}
.prehlad-lievik-zaklad{height:10px;border-radius:4px;background:rgba(255,255,255,.06)}
.prehlad-lievik-pas{height:100%;border-radius:4px;background:var(--gold)}
.prehlad-num{font-variant-numeric:tabular-nums;color:var(--text-strong);text-align:right}
.prehlad-ovladanie{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-bottom:10px}
.prehlad-ovladanie .prehlad-podtitul{margin-right:6px}
.prehlad-ovladanie input[type=search]{flex:1 1 200px;min-width:0;padding:7px 14px;border:1px solid var(--line-control);border-radius:999px;background:rgba(0,0,0,.28);color:var(--text);font:inherit}
.prehlad-triedenie{display:none;align-items:center;gap:8px;color:var(--text-dim)}
.prehlad-triedenie select{padding:7px 10px;border:1px solid var(--line-control);border-radius:9px;background:rgba(0,0,0,.28);color:var(--text);font:inherit}
.prehlad-tabulka-obal{overflow-x:auto}
.prehlad-tabulka{width:100%;border-collapse:collapse;min-width:760px}
.prehlad-tabulka th,.prehlad-tabulka td{padding:9px 10px;text-align:left;vertical-align:middle;border-bottom:1px solid rgba(255,255,255,.07)}
.prehlad-tabulka th{font-size:var(--fs-label);font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-soft);white-space:nowrap}
.prehlad-tabulka th[data-k]{cursor:pointer;-webkit-user-select:none;user-select:none}
.prehlad-tabulka th[aria-sort=ascending]::after{content:" ↑"}
.prehlad-tabulka th[aria-sort=descending]::after{content:" ↓"}
.prehlad-tabulka tbody tr[data-kluc]{cursor:pointer}
.prehlad-tabulka tbody tr[data-kluc]:hover{background:rgba(201,169,97,.07)}
.prehlad-meno-text{display:block;color:var(--text-strong)}
.prehlad-tlmene{display:block;color:var(--text-dim);font-size:var(--fs-small);overflow-wrap:anywhere}
.prehlad-stav{display:inline-block;padding:1px 10px;border:1px solid transparent;border-radius:999px;font-size:var(--fs-small);white-space:nowrap}
.prehlad-stav-aktivny{color:#9fd8b6;background:rgba(47,111,78,.22);border-color:rgba(159,216,182,.4)}
.prehlad-stav-caka{color:#f5c877;background:rgba(245,166,35,.13);border-color:rgba(245,200,119,.4)}
.prehlad-stav-vyprsala{color:#f5c877;background:transparent;border-color:rgba(245,200,119,.4);border-style:dashed}
.prehlad-stav-neaktivny{color:#b8d0ff;background:rgba(88,140,255,.13);border-color:rgba(120,170,255,.35)}
.prehlad-stav-deakt{color:#ffb3b6;background:rgba(216,41,47,.14);border-color:rgba(216,41,47,.45)}
.prehlad-mini{display:inline-grid;grid-template-columns:repeat(30,4px);gap:1px;vertical-align:middle}
.prehlad-mini i,.prehlad-pas i{display:block;height:14px;border-radius:2px;background:rgba(255,255,255,.07)}
.prehlad-mini i.l1,.prehlad-pas i.l1{background:rgba(243,189,91,.28)}
.prehlad-mini i.l2,.prehlad-pas i.l2{background:rgba(243,189,91,.58)}
.prehlad-mini i.l3,.prehlad-pas i.l3{background:var(--gold)}
.prehlad-grafy{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.prehlad-bar{display:grid;grid-template-columns:130px minmax(0,1fr) 34px;gap:10px;align-items:center;margin:6px 0}
.prehlad-bar>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prehlad-bar-zaklad{position:relative;height:12px}
.prehlad-bar-pas{position:absolute;inset:0 auto 0 0;border-radius:0 4px 4px 0;background:var(--gold)}
.prehlad-stlpce{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:2px;align-items:end;height:140px;margin-top:8px;border-bottom:1px solid var(--line)}
.prehlad-stlpce div{min-height:2px;border-radius:4px 4px 0 0;background:var(--gold)}
.prehlad-stlpce div:hover,.prehlad-stlpce div:focus-visible{background:var(--gold-soft)}
.prehlad-os{display:flex;justify-content:space-between;margin-top:4px;color:var(--text-dim);font-size:var(--fs-label)}
.prehlad-sukromie{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:8px}
.prehlad-sukromie h5,.nast-zaznamy h4{margin:0 0 6px;font-size:var(--fs-label);font-weight:400;letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--gold-soft)}
.prehlad-sukromie ul,.nast-zaznamy ul{margin:0;padding-left:18px;color:var(--text)}
.prehlad-sukromie li,.nast-zaznamy li{margin:3px 0}
.nast-zaznamy{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:10px}
.prehlad-tip{position:fixed;z-index:10050;pointer-events:none;max-width:min(320px,calc(100vw - 16px));padding:6px 10px;border-radius:10px;background:var(--text-strong);color:#1a1509;font:400 12px/1.4 var(--brand-font);box-shadow:0 6px 18px rgba(0,0,0,.35)}
/* Detail človeka: dialóg pri pravom okraji (na telefóne celá šírka); tmavý ako pracovný panel v každom Ambiente */
.prehlad-detail{box-sizing:border-box;width:min(560px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:22px 22px 40px;padding-top:calc(22px + env(safe-area-inset-top,0px));overflow-y:auto;border:0;border-left:1px solid var(--gold-line);background:var(--surface-2);color:var(--text);font:var(--brand-weight) var(--brand-size)/var(--brand-line) var(--brand-font);color-scheme:dark}
.prehlad-detail::backdrop{background:rgba(0,0,0,.55)}
.prehlad-detail-hlava{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.prehlad-detail h3{margin:0 0 6px;font-size:var(--fs-4);font-weight:400;line-height:1.25;color:var(--text-strong);overflow-wrap:anywhere}
.prehlad-eyebrow{margin:0 0 4px;font-size:var(--fs-label);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--gold-soft)}
.prehlad-email{margin:-2px 0 8px;color:var(--text-dim);overflow-wrap:anywhere}
.prehlad-zavriet,.prehlad-akcie button{min-height:36px;padding:6px 14px;border:1px solid var(--line-control);border-radius:999px;background:transparent;color:var(--text);cursor:pointer;font:inherit}
.prehlad-zavriet:hover,.prehlad-akcie button:hover{border-color:var(--gold-deep);color:var(--gold-soft)}
.prehlad-detail .prehlad-sekcia{margin-top:18px}
.prehlad-os-cas{display:grid;gap:8px;margin:6px 0 0;padding:0;list-style:none}
.prehlad-os-cas li{display:grid;grid-template-columns:108px minmax(0,1fr);gap:10px}
.prehlad-os-cas time{color:var(--text-dim);font-variant-numeric:tabular-nums}
.prehlad-pas{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:2px;margin-top:6px}
.prehlad-pas i{height:22px}
.prehlad-cisla{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:6px}
.prehlad-cisla>div{min-width:0;padding:9px 11px;border:1px solid rgba(255,255,255,.08);border-radius:12px}
.prehlad-cisla-hodnota{display:block;font-size:var(--fs-3);color:var(--text-strong);font-variant-numeric:tabular-nums}
.prehlad-akcie{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.prehlad-rola{display:inline-flex;align-items:center;gap:8px;color:var(--text-dim)}
.prehlad-rola select{min-height:36px;padding:6px 10px;border:1px solid var(--line-control);border-radius:9px;background:rgba(0,0,0,.28);color:var(--text);font:inherit}
/* Časová os, rebríček, pozornosť a riziká (majiteľ 14. 10. 2026 večer) – ten istý tmavý panel; riziko červenou BSG */
.prehlad-pohlady{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:2px;border-bottom:1px solid rgba(255,255,255,.07)}
.prehlad-pohlady .prehlad-chip[aria-selected=true]{background:rgba(201,169,97,.16);border-color:var(--gold-deep);color:var(--gold-soft)}
.prehlad-chip-riziko{border-color:rgba(216,41,47,.6);color:#ffb3b6}
.prehlad-pohlad{display:grid;gap:14px;min-width:0}
.prehlad-pohlad[hidden]{display:none}
.prehlad-upozornenie{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;padding:10px 14px;border:1px solid rgba(216,41,47,.55);border-radius:12px;background:rgba(216,41,47,.12);color:#ffd9da}
.prehlad-upozornenie strong{font-weight:400;color:#fff}
#admin-upozornenie-riziko:not(:empty){margin:0 0 12px}
.prehlad-znacky{display:flex;flex-wrap:wrap;gap:4px;margin:2px 0}
.prehlad-znacky .prehlad-znacka{margin-left:0}
.prehlad-znacka{display:inline-block;margin-left:4px;padding:0 8px;border:1px solid var(--line-control);border-radius:999px;font-size:var(--fs-small);line-height:1.6;color:var(--text);white-space:nowrap;vertical-align:baseline}
.prehlad-znacka-pozor{color:#f5c877;background:rgba(245,166,35,.13);border-color:rgba(245,200,119,.4)}
.prehlad-znacka-riziko{color:#ffb3b6;background:rgba(216,41,47,.14);border-color:rgba(216,41,47,.5)}
.prehlad-trend{display:inline-block;min-width:1em;text-align:center}
.prehlad-trend-hore{color:#9fd8b6}
.prehlad-trend-dole{color:#ffb3b6}
.prehlad-trend-rovnako{color:var(--text-dim)}
.prehlad-rebricek,.prehlad-zoznam,.prehlad-os-dna,.prehlad-dovody,.prehlad-udalosti{margin:8px 0 0;padding:0;list-style:none}
.prehlad-rebricek li{display:grid;grid-template-columns:32px minmax(0,1fr) repeat(3,minmax(84px,auto));gap:6px 12px;align-items:center;padding:9px 6px;border-bottom:1px solid rgba(255,255,255,.07);cursor:pointer}
.prehlad-rebricek li:hover,.prehlad-zoznam li:hover{background:rgba(201,169,97,.07)}
.prehlad-rebricek li:focus-visible,.prehlad-zoznam li:focus-visible,.prehlad-pohlady .prehlad-chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.prehlad-poradie{color:var(--gold-soft);font-variant-numeric:tabular-nums}
.prehlad-rebricek-hodnota{color:var(--text-strong);font-variant-numeric:tabular-nums;text-align:right}
.prehlad-rebricek-hodnota .prehlad-tlmene{text-align:right}
.prehlad-zoznam li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:9px 6px;border-bottom:1px solid rgba(255,255,255,.07);cursor:pointer}
.prehlad-zoznam li.je-vysoke{background:rgba(216,41,47,.08)}
.prehlad-zoznam-cas{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap}
.prehlad-zoznam strong,.prehlad-udalosti strong,.prehlad-detail strong{font-weight:400;color:var(--text-strong)}
.prehlad-skore{display:inline-grid;place-items:center;min-width:42px;height:32px;padding:0 6px;border:1px solid var(--line-control);border-radius:10px;color:var(--text-strong);font-variant-numeric:tabular-nums}
.prehlad-skore-vysoke{border-color:rgba(216,41,47,.7);background:rgba(216,41,47,.22);color:#fff}
.prehlad-riziko-hlava{display:flex;gap:10px;align-items:center;margin-top:6px}
.prehlad-dovody li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;margin:6px 0}
.prehlad-body{color:#ffb3b6;font-variant-numeric:tabular-nums;text-align:right}
.prehlad-os-dna li{display:grid;grid-template-columns:108px minmax(0,1fr);gap:10px;padding:5px 6px;border-left:2px solid rgba(255,255,255,.08)}
.prehlad-os-dna time{color:var(--text-dim);font-variant-numeric:tabular-nums}
.prehlad-os-dna li.je-najviac{border-left-color:var(--gold)}
.prehlad-os-dna li.je-zvyraznene{background:rgba(245,166,35,.12);border-left-color:#f5c877}
.prehlad-os-pauza{color:var(--text-dim);font-size:var(--fs-small);border-left-style:dashed !important}
.prehlad-inline{display:inline}
.prehlad-den-volba{margin:4px 0 6px}
.prehlad-tabulka-mala{min-width:0}
.prehlad-tabulka-mala th,.prehlad-tabulka-mala td{padding:6px 8px}
.prehlad-tabulka-mala tr.je-najviac td{color:var(--text-strong)}
.prehlad-udalosti-akcie{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.prehlad-udalosti li{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.prehlad-udalosti label{display:grid;grid-template-columns:auto 108px minmax(0,1fr);gap:8px;align-items:baseline;cursor:pointer}
.prehlad-udalosti time{color:var(--text-dim);font-variant-numeric:tabular-nums}
.prehlad-udalosti li.je-v-poriadku{opacity:.65}
.prehlad-udalosti input[type=checkbox],.prehlad-udalosti-akcie input[type=checkbox]{accent-color:var(--gold)}
/* Klikacie čísla (audit 15. 10. 2026): dlaždica, krok prechodu a stĺpec modulu sú tlačidlá – klik ukáže zoznam ľudí pod nimi */
.prehlad-dlazdica{display:flex;flex-direction:column;padding:0}
.prehlad-dlazdica:hover{border-color:var(--gold-deep)}
.prehlad-dlazdica-hlavne{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-width:0;padding:13px 15px;border:0;border-radius:14px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.prehlad-dlazdica-hlavne[aria-expanded=true]{background:rgba(201,169,97,.14);box-shadow:inset 0 0 0 1px var(--gold-deep)}
.prehlad-dlazdica-staticka{cursor:default}
.prehlad-dlazdica-zoznam{margin-top:4px;color:var(--gold-soft);font-size:var(--fs-small)}
.prehlad-dlazdica-hlavne[aria-expanded=true] .prehlad-dlazdica-zoznam{color:var(--gold)}
.prehlad-dlazdica-riadok{display:flex;flex-wrap:wrap;gap:6px;padding:0 15px 12px}
.prehlad-dlazdica-dalsie{padding:3px 10px;border:1px solid var(--line-control);border-radius:999px;background:transparent;color:var(--text);font:inherit;font-size:var(--fs-small);cursor:pointer;text-align:left}
.prehlad-dlazdica-dalsie:hover,.prehlad-dlazdica-dalsie[aria-expanded=true]{border-color:var(--gold-deep);color:var(--gold-soft);background:rgba(201,169,97,.12)}
.prehlad-poznamka-dlazdic:empty{display:none}
.prehlad-poznamka-dlazdic strong{font-weight:400;color:#f5c877}
button.prehlad-lievik-riadok,button.prehlad-bar{width:100%;min-width:0;padding:5px 8px;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
button.prehlad-bar{margin:2px 0}
button.prehlad-lievik-riadok:hover,button.prehlad-bar:hover{border-color:var(--line-control);background:rgba(201,169,97,.06)}
button.prehlad-lievik-riadok[aria-expanded=true],button.prehlad-bar[aria-expanded=true]{border-color:var(--gold-deep);background:rgba(201,169,97,.12)}
span.prehlad-lievik-zaklad,span.prehlad-lievik-pas,span.prehlad-bar-zaklad,span.prehlad-bar-pas{display:block}
.prehlad-bar-nazov{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prehlad-dlazdica-hlavne:focus-visible,.prehlad-dlazdica-dalsie:focus-visible,button.prehlad-lievik-riadok:focus-visible,button.prehlad-bar:focus-visible,.prehlad-vyber-meno:focus-visible,.prehlad-vyber-titul:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.prehlad-vyber{min-width:0;padding:14px 16px;border:1px solid var(--gold-deep);border-radius:13px;background:rgba(201,169,97,.06)}
.prehlad-vyber[hidden]{display:none}
.prehlad-vyber-hlava{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.prehlad-vyber-titul{margin:0;font-size:var(--fs-2);font-weight:400;color:var(--text-strong)}
.prehlad-vyber-titul:focus{outline:none}
.prehlad-vyber-tabulka{min-width:820px}
.prehlad-vyber-tabulka tbody tr{cursor:pointer}
.prehlad-vyber-tabulka tbody tr:hover{background:rgba(201,169,97,.07)}
.prehlad-vyber-meno{display:block;padding:0;border:0;background:none;color:var(--text-strong);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}
.prehlad-vyber-meno:hover{text-decoration:underline}
.prehlad-vyber-akcie{white-space:normal}
.prehlad-vyber-akcie .prehlad-chip{margin:2px 4px 2px 0;padding:4px 12px}
.prehlad-meno .prehlad-znacka{margin-left:4px}
@media(max-width:640px){
 .prehlad-dlazdica-hlavne{padding:11px 12px}
 .prehlad-dlazdica-riadok{padding:0 12px 10px}
 .prehlad-dlazdica-dalsie{min-height:44px}
 button.prehlad-lievik-riadok,button.prehlad-bar{min-height:44px}
 .prehlad-vyber{padding:12px}
 .prehlad-vyber-tabulka{min-width:0}
 .prehlad-vyber-tabulka td[data-stlpec="Akcie"]::before{content:none}
 .prehlad-vyber-akcie .prehlad-chip{min-height:44px}
 .prehlad-lievik-riadok{grid-template-columns:104px minmax(0,1fr) 36px}
 .prehlad-bar{grid-template-columns:104px minmax(0,1fr) 30px}
 .prehlad-dlazdice{grid-template-columns:repeat(2,minmax(0,1fr))}
 .prehlad-grafy{grid-template-columns:minmax(0,1fr)}
 .prehlad-blok{padding:12px}
 .prehlad-triedenie{display:inline-flex}
 .prehlad-len-pc{display:none}
 .prehlad-ovladanie input[type=search],.prehlad-triedenie select,.prehlad-rola select{font-size:16px}
 .prehlad-chip,.prehlad-zavriet,.prehlad-akcie button{min-height:44px}
 /* tabuľka ako karty: jeden človek = jedna karta, popis stĺpca pred hodnotou */
 .prehlad-tabulka-obal{overflow:visible}
 .prehlad-tabulka{min-width:0}
 .prehlad-tabulka thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .prehlad-tabulka tbody,.prehlad-tabulka td{display:block}
 .prehlad-tabulka tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}
 .prehlad-tabulka td{padding:0;border:0;min-width:0}
 .prehlad-tabulka td.prehlad-meno{grid-column:1/2}
 .prehlad-tabulka td[data-stlpec]:not(.prehlad-meno):not([data-stlpec=Stav])::before{content:attr(data-stlpec) " · ";color:var(--text-dim);font-size:var(--fs-small)}
 .prehlad-tabulka td[data-stlpec=Stav]{grid-column:2/3;grid-row:1;justify-self:end}
 .prehlad-tabulka td[data-stlpec]:not(.prehlad-meno):not([data-stlpec=Stav]){grid-column:1/-1;text-align:left}
 .prehlad-tabulka td[data-stlpec="Pozvaný"] .prehlad-tlmene{display:inline}
 .prehlad-tabulka td[data-stlpec="Pozvaný"] .prehlad-tlmene::before{content:" · "}
 .prehlad-detail{padding:16px 16px 32px;padding-top:calc(16px + env(safe-area-inset-top,0px));border-left:0}
 .prehlad-os-cas li{grid-template-columns:92px minmax(0,1fr)}
 .prehlad-rebricek li{grid-template-columns:28px minmax(0,1fr);gap:4px 10px}
 .prehlad-rebricek-hodnota{grid-column:2/3;text-align:left}
 .prehlad-rebricek-hodnota .prehlad-tlmene{display:inline;text-align:left}
 .prehlad-rebricek-hodnota .prehlad-tlmene::after{content:" · "}
 .prehlad-zoznam li{grid-template-columns:minmax(0,1fr) auto}
 .prehlad-zoznam li>.prehlad-zoznam-cas,.prehlad-zoznam li>.prehlad-skore{grid-column:1/-1;justify-self:start}
 .prehlad-os-dna li{grid-template-columns:92px minmax(0,1fr)}
 .prehlad-udalosti label{grid-template-columns:auto minmax(0,1fr)}
 .prehlad-udalosti label>span{grid-column:2/3}
 .prehlad-den-volba select{font-size:16px}
}

/* 9 ─ AMBIENTE — vzhľad nesmie meniť čitateľnosť ani funkcie ---------------- */
/* BSG klasika: svetlý shell, biele karty, modré akcenty. */
html[data-ambiente=bsg]{color-scheme:light} /* hodnoty tokenov --ui-* a --emphasis: hub-tokeny.css §4 */
html[data-ambiente=bsg] body,html[data-ambiente=bsg] .brand-header,html[data-ambiente=bsg] .department-dock{background:#f5f6f8;color:#575962}
html[data-ambiente=bsg] .brand-header{border-bottom-color:var(--light-line)}
html[data-ambiente=bsg] #bsg-immersive .focus{--line:var(--light-line);--line-control:var(--light-line-control);background:#f5f6f8;color:#575962}
html[data-ambiente=bsg] #bsg-immersive .tool,html[data-ambiente=bsg] .department-dock button{background:#fff;color:#002f87;border-color:var(--light-line)}
html[data-ambiente=bsg] .department-dock button:hover{border-color:#d8292f}
html[data-ambiente=bsg] .moje-oblubene{background:#f5f6f8}
html[data-ambiente=bsg] .moje-oblubene h2,html[data-ambiente=bsg] .oblubene-stav,html[data-ambiente=bsg] .oblubena-otvor small{color:#575962}
html[data-ambiente=bsg] .oblubene-zoznam li{background:#fff;border-color:var(--light-line-control)}
html[data-ambiente=bsg] .oblubena-otvor,html[data-ambiente=bsg] .oblubena-otvor .i,html[data-ambiente=bsg] .oblubena-zrus{color:#002f87}
html[data-ambiente=bsg] .oblubena-zrus{border-left-color:var(--light-line-control)}
html[data-ambiente=bsg] .oblubene-zoznam li:hover,html[data-ambiente=bsg] .oblubene-zoznam li:focus-within{border-color:#d8292f}
html[data-ambiente=bsg] #bsg-immersive .tool-hviezda,html[data-ambiente=retro] #bsg-immersive .tool-hviezda{color:#575962}
html[data-ambiente=bsg] #bsg-immersive .tool-hviezda:hover,html[data-ambiente=bsg] #bsg-immersive .tool-hviezda[aria-pressed="true"],
html[data-ambiente=retro] #bsg-immersive .tool-hviezda:hover,html[data-ambiente=retro] #bsg-immersive .tool-hviezda[aria-pressed="true"]{color:#002f87}
html[data-ambiente=bsg] .oblubena-otvor:focus-visible,html[data-ambiente=bsg] .oblubena-zrus:focus-visible,html[data-ambiente=bsg] #bsg-immersive .tool-hviezda:focus-visible{outline-color:#d8292f}
html[data-ambiente=bsg] .novinky-pas{background:#f5f6f8}
html[data-ambiente=bsg] .novinky-pas h2,html[data-ambiente=bsg] .novinky-stav{color:#575962}
html[data-ambiente=bsg] .novinky-spravovat{background:#fff;color:#575962;border-color:var(--light-line-control)}
html[data-ambiente=bsg] .novinka-cip{background:#fff;color:#002f87;border-color:var(--light-line-control)}
html[data-ambiente=bsg] .novinka-cip:hover,html[data-ambiente=bsg] .novinky-spravovat:hover{border-color:#d8292f;color:#002f87}
html[data-ambiente=bsg] .novinka-cip-pripnuta{border-color:#002f87}
html[data-ambiente=bsg] .novinka-cip .i,html[data-ambiente=bsg] .novinka-cip-druh{color:#002f87}
html[data-ambiente=bsg] .novinka-cip:focus-visible,html[data-ambiente=bsg] .novinky-spravovat:focus-visible{outline-color:#d8292f}
html[data-ambiente=bsg] .nsp-hlavicka h2,html[data-ambiente=retro] .nsp-hlavicka h2,html[data-ambiente=bsg] .nsp-text strong,html[data-ambiente=retro] .nsp-text strong,
html[data-ambiente=bsg] .nsp-druh,html[data-ambiente=retro] .nsp-druh{color:#002f87}
html[data-ambiente=bsg] .nsp-uvod,html[data-ambiente=retro] .nsp-uvod,html[data-ambiente=bsg] .nsp-stav,html[data-ambiente=retro] .nsp-stav,html[data-ambiente=bsg] .nsp-prazdne,html[data-ambiente=retro] .nsp-prazdne,
html[data-ambiente=bsg] .nsp-text small,html[data-ambiente=retro] .nsp-text small,html[data-ambiente=bsg] .novinky-sprava h3,html[data-ambiente=retro] .novinky-sprava h3{color:#575962}
html[data-ambiente=bsg] .nsp-riadok,html[data-ambiente=retro] .nsp-riadok{background:#fff;border-color:var(--light-line-control)}
html[data-ambiente=bsg] .nsp-zavriet,html[data-ambiente=retro] .nsp-zavriet,html[data-ambiente=bsg] .nsp-akcie button,html[data-ambiente=retro] .nsp-akcie button{background:#fff;color:#002f87;border-color:var(--light-line-control)}
html[data-ambiente=bsg] .nsp-pridat,html[data-ambiente=retro] .nsp-pridat{border-color:#002f87;background:#002f87;color:#fff}
html[data-ambiente=bsg] .novinky-sprava :focus-visible,html[data-ambiente=retro] .novinky-sprava :focus-visible{outline-color:#d8292f}
html[data-ambiente=bsg] .novinka-dialog,html[data-ambiente=retro] .novinka-dialog{color-scheme:light;border-color:var(--light-line-control);background:#fff;color:#575962}
html[data-ambiente=bsg] .novinka-dialog::backdrop,html[data-ambiente=retro] .novinka-dialog::backdrop{background:rgba(87,89,98,.55)}
html[data-ambiente=bsg] .novinka-formular h2,html[data-ambiente=retro] .novinka-formular h2{color:#002f87}
html[data-ambiente=bsg] .novinka-formular label,html[data-ambiente=retro] .novinka-formular label,
html[data-ambiente=bsg] .novinka-formular label small,html[data-ambiente=retro] .novinka-formular label small{color:#575962}
html[data-ambiente=bsg] .novinka-formular input:not([type=checkbox]),html[data-ambiente=bsg] .novinka-formular select,html[data-ambiente=bsg] .novinka-formular textarea,
html[data-ambiente=retro] .novinka-formular input:not([type=checkbox]),html[data-ambiente=retro] .novinka-formular select,html[data-ambiente=retro] .novinka-formular textarea{border-color:var(--light-line-control);background:#fff;color:#575962}
html[data-ambiente=bsg] .novinka-volba input,html[data-ambiente=retro] .novinka-volba input{accent-color:#002f87}
html[data-ambiente=bsg] .novinka-chyba,html[data-ambiente=retro] .novinka-chyba{color:#d8292f}
html[data-ambiente=bsg] .novinka-tlacidla button,html[data-ambiente=retro] .novinka-tlacidla button{border-color:var(--light-line-control);background:#fff;color:#002f87}
html[data-ambiente=bsg] .novinka-tlacidla .novinka-ulozit,html[data-ambiente=retro] .novinka-tlacidla .novinka-ulozit{border-color:#002f87;background:#002f87;color:#fff}
html[data-ambiente=bsg] .novinka-formular :focus-visible,html[data-ambiente=retro] .novinka-formular :focus-visible{outline-color:#d8292f}
html[data-ambiente=bsg] #bsg-immersive .tool span,html[data-ambiente=bsg] #bsg-immersive .focus-copy p,html[data-ambiente=bsg] #bsg-immersive .screen-head span{color:#575962}
/* Vesmír a Príroda: tmavomodrý/zelený shell, ale BIELA hlavička — ovládacie prvky
   hlavičky dostanú tmavé tokeny lokálne (A5-01/A2-25: výber Ambiente bol 1,11:1). */
/* hodnoty tokenov --ui-* a --emphasis pre Vesmír a Prírodu: hub-tokeny.css §4 */
html[data-ambiente=space] .brand-header,html[data-ambiente=forest] .brand-header{color-scheme:light;--ui-surface:#fff;--ui-text:#575962;--ui-muted:var(--light-muted);--ui-border:var(--light-line-control);--ui-accent:#002f87;background:#fff;border-bottom-color:var(--light-line)}
html[data-ambiente=space] #bsg-immersive .focus{background:linear-gradient(140deg,#071226,#132d59)}
html[data-ambiente=forest] #bsg-immersive .focus{background:linear-gradient(140deg,#0e1b1a,#192d28)}
html[data-ambiente=space] .department-dock button,html[data-ambiente=forest] .department-dock button{background:#002f87;color:#fff;border-color:#42649c}
html[data-ambiente=space] .oblubene-zoznam li,html[data-ambiente=forest] .oblubene-zoznam li{background:#002f87;border-color:#42649c}
html[data-ambiente=space] .oblubena-otvor,html[data-ambiente=forest] .oblubena-otvor,html[data-ambiente=space] .oblubena-zrus,html[data-ambiente=forest] .oblubena-zrus{color:#fff}
html[data-ambiente=space] .oblubena-otvor small,html[data-ambiente=forest] .oblubena-otvor small{color:#d6dce6}
html[data-ambiente=space] .oblubena-zrus,html[data-ambiente=forest] .oblubena-zrus{border-left-color:#42649c}
html[data-ambiente=space] .novinka-cip,html[data-ambiente=forest] .novinka-cip{background:#002f87;color:#fff;border-color:#42649c}
html[data-ambiente=space] .novinka-cip:hover,html[data-ambiente=forest] .novinka-cip:hover,html[data-ambiente=space] .novinka-cip-pripnuta,html[data-ambiente=forest] .novinka-cip-pripnuta{border-color:#fff}
html[data-ambiente=space] .novinka-cip .i,html[data-ambiente=forest] .novinka-cip .i,html[data-ambiente=space] .novinka-cip-druh,html[data-ambiente=forest] .novinka-cip-druh{color:#d6dce6}
html[data-ambiente=space] .novinka-cip:focus-visible,html[data-ambiente=forest] .novinka-cip:focus-visible{outline-color:#fff}
html[data-ambiente=space] #bsg-immersive .tool,html[data-ambiente=forest] #bsg-immersive .tool{background:#14223a;color:#fff;border-color:#36537c}
html[data-ambiente=space] #bsg-immersive .tool::after,html[data-ambiente=forest] #bsg-immersive .tool::after{color:var(--gold-deep)}
/* Retro salón: krémový panel a karty; shell ostáva tmavý. */
html[data-ambiente=retro] #bsg-immersive .lobby-image{filter:none}
html[data-ambiente=retro] .department-dock button{border-radius:3px;background:#eee2cd;color:#002f87;border-color:#b99a66}
html[data-ambiente=retro] .oblubene-zoznam li{border-radius:3px;background:#eee2cd;border-color:#b99a66}
html[data-ambiente=retro] .oblubena-otvor,html[data-ambiente=retro] .oblubena-otvor .i,html[data-ambiente=retro] .oblubena-zrus{color:#002f87}
html[data-ambiente=retro] .oblubena-otvor small{color:#575962}
html[data-ambiente=retro] .oblubena-zrus{border-left-color:#b99a66}
html[data-ambiente=retro] .novinka-cip{border-radius:3px;background:#eee2cd;color:#002f87;border-color:#b99a66}
html[data-ambiente=retro] .novinka-cip-pripnuta{border-color:#002f87}
html[data-ambiente=retro] .novinka-cip .i,html[data-ambiente=retro] .novinka-cip-druh{color:#002f87}
html[data-ambiente=retro] .novinky-spravovat{border-radius:3px}
html[data-ambiente=retro] .novinka-cip:focus-visible{outline-color:#002f87}
html[data-ambiente=retro] .novinka-dialog{background:#fff9ee}
html[data-ambiente=retro] #bsg-immersive .focus{--line:#d9c9ad;--line-control:#8f7849;--emphasis:#002f87;background:#ede3d3;color:#575962}
html[data-ambiente=retro] #bsg-immersive .tool{background:#fff9ee;color:#002f87;border-radius:4px;border-color:#d9c9ad}
html[data-ambiente=retro] #bsg-immersive .tool span,html[data-ambiente=retro] #bsg-immersive .focus-copy p{color:#575962}
/* Spoločné prepisy pre oba SVETLÉ panely (A5-02/03/04/11, A2-26 — Retro bolo bez nich). */
html[data-ambiente=bsg] #bsg-immersive .close,html[data-ambiente=retro] #bsg-immersive .close,
html[data-ambiente=bsg] #bsg-immersive .voice-brain,html[data-ambiente=retro] #bsg-immersive .voice-brain{color:#002f87;background:#fff;border-color:var(--line-control)}
html[data-ambiente=retro] #bsg-immersive .close,html[data-ambiente=retro] #bsg-immersive .voice-brain{background:#fff9ee}
/* VIZUAL-04 (noc 18./19. 10. 2026): ikona mikrofónu Dafne v hlavičke panela ostávala zlatá (#f3bd5b na #fff 1,7 : 1, pod 3 : 1)
   – vo svetlých Ambiente má farbu zvýraznenia (--emphasis = #002f87, > 10 : 1). */
html[data-ambiente=bsg] #bsg-immersive .screen-head .i,html[data-ambiente=retro] #bsg-immersive .screen-head .i{color:var(--emphasis)}
html[data-ambiente=retro] #bsg-immersive .screen-head span{color:#575962}
html[data-ambiente=bsg] #bsg-immersive .tool-group-title,html[data-ambiente=retro] #bsg-immersive .tool-group-title,
html[data-ambiente=bsg] #bsg-immersive .eyebrow,html[data-ambiente=retro] #bsg-immersive .eyebrow,
html[data-ambiente=bsg] #bsg-immersive .tool::after,html[data-ambiente=retro] #bsg-immersive .tool::after{color:#002f87}
html[data-ambiente=bsg] #bsg-immersive .tool:hover,html[data-ambiente=retro] #bsg-immersive .tool:hover{border-color:#002f87}
html[data-ambiente=bsg] #bsg-immersive .dafne-mic,html[data-ambiente=bsg] #bsg-immersive .dafne-nameplate{color:#002f87;text-shadow:0 1px 0 #fff}
html[data-ambiente=bsg] #bsg-immersive .dafne-mic[data-listening="true"]{box-shadow:0 0 0 3px rgba(0,47,135,.35)}
html[data-ambiente=bsg] #bsg-immersive .room-label,html[data-ambiente=forest] #bsg-immersive .room-label,html[data-ambiente=space] #bsg-immersive .room-label{color:#edf2f8}
html[data-ambiente=space] .fountain-ring,html[data-ambiente=bsg] .fountain-ring{border-color:#b8deef}
html[data-ambiente=forest] .fountain-ring{border-color:#d5e5dc}
/* Vzhľady so SVETLÝM panelom (BSG klasika, Retro): Administrácia, Nastavenia,
   Výluky a detail nástroja majú vlastný TMAVÝ pracovný panel, inak by ostal
   svetlý text (navrhnutý pre tmavé pozadie) na svetlom paneli — nečitateľný
   (previerka 25. 9.; Ambiente nesmie meniť čitateľnosť ani funkcie). */
html[data-ambiente=bsg] #bsg-immersive .admin-screen,html[data-ambiente=retro] #bsg-immersive .admin-screen,
html[data-ambiente=bsg] #bsg-immersive .insurance-screen,html[data-ambiente=retro] #bsg-immersive .insurance-screen{color-scheme:dark;--line:#403522;--line-control:#7a6b4c;--emphasis:var(--gold-soft);padding:16px 14px;border:1px solid #23262f;border-radius:16px;background:var(--surface-2);color:var(--text)}
html[data-ambiente=bsg] #bsg-immersive .module-detail,html[data-ambiente=retro] #bsg-immersive .module-detail{color-scheme:dark;--line:#403522;--line-control:#7a6b4c;--emphasis:var(--gold-soft);background:var(--surface-3);color:var(--text)}
html[data-ambiente=bsg] #bsg-immersive .module-detail p,html[data-ambiente=retro] #bsg-immersive .module-detail p{color:var(--text-muted)}
/* 14. 10. 2026: vložené moduly (rám – Marketing, Úlohy, Manuál MetLife…) sledujú Ambiente Hubu (hub-tema.js), pri svetlom paneli
   sú svetlé – rám preto ostáva svetlý ako panel (nie tmavý pracovný panel vyššie) a „← Nástroje oddelenia“ je svetlá pilulka
   ako „← Recepcia“. Funkcie ani ovládanie sa nemenia. */
html[data-ambiente=bsg] #bsg-immersive .module-detail-embed,html[data-ambiente=retro] #bsg-immersive .module-detail-embed{color-scheme:light;--line:inherit;--line-control:inherit;--emphasis:inherit;background:transparent;color:inherit}
html[data-ambiente=bsg] #bsg-immersive .module-detail-embed iframe,html[data-ambiente=retro] #bsg-immersive .module-detail-embed iframe{background:transparent}
html[data-ambiente=bsg] #bsg-immersive .module-detail-embed .module-detail-bar button,html[data-ambiente=retro] #bsg-immersive .module-detail-embed .module-detail-bar button{color:#002f87;background:#fff;border-color:var(--line-control)}
html[data-ambiente=retro] #bsg-immersive .module-detail-embed .module-detail-bar button{background:#fff9ee}

/* 10 ─ TABLET ≤ 900 px ----------------------------------------------------- */
@media(max-width:900px){
 .brand-header{padding:12px 16px}
 .brand-header img{width:160px}
 .department-dock{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px;gap:8px}
 .department-dock button{min-height:48px;padding:1px 3px;hyphens:manual;font-size:min(13px,3.6vw)}
 .moje-oblubene{padding:2px 12px 14px}
 .oblubene-zoznam{flex-wrap:nowrap;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:4px}
 .oblubene-zoznam li{flex-shrink:0;max-width:78vw;scroll-snap-align:start}
 .novinky-pas{padding:2px 12px 12px}
 .novinky-cipy{flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:4px}
 .novinky-cipy li{flex:0 0 auto;max-width:86vw;scroll-snap-align:start}
 #bsg-immersive .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #bsg-immersive .tool{padding:17px}
 #bsg-immersive .tool strong{font-size:var(--fs-2)}
 #bsg-immersive .focus-copy p{grid-column:1/3}
 #bsg-immersive .focus-copy .close{grid-row:1/3}
}

/* 11 ─ TELEFÓN ≤ 640 px ---------------------------------------------------- */
@media(max-width:640px){
 .brand-header{gap:8px}
 .brand-header img{width:135px}
 .ambiente-control{gap:0}
 .ambiente-control .ambiente-control-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
 .ambiente-control select{max-width:160px}
 #bsg-immersive .focus-copy{grid-template-columns:minmax(0,1fr) auto}
 #bsg-immersive .focus-copy h1{grid-column:1/3;overflow-wrap:anywhere}
 #bsg-immersive .focus-copy .close{grid-row:1;align-self:start;padding:6px 12px}
 .sector-toolbar{width:100%;flex-wrap:wrap}
 .sector-toolbar select{flex:1;max-width:260px}
 /* iPhone pri ťuknutí do poľa s písmom pod 16 px celú stránku priblíži a človek ju
    potom musí odťahovať späť. 16 px to vypína — platí pre polia AJ selecty. Selektory
    majú rovnakú špecificitu ako základné pravidlá vyššie (A5-06 — predtým prebité). */
 .ambiente-control select,.sector-toolbar select,#dafne-query,#auth-form input,.auth-reset input,
 #bsg-immersive .insurance-search input,
 .admin-filtre input,.admin-filtre select,.admin-akcie select,.admin-formular input,.admin-formular select,.admin-odkaz,#nastavenia-obsah input{font-size:16px}
 .novinka-formular input:not([type=checkbox]),.novinka-formular select,.novinka-formular textarea{font-size:16px} /* rovnaká špecificita ako základ */
 .novinka-formular{padding:16px}
 .nsp-zoznam-pohlad{padding:16px}
 .nsp-riadok{grid-template-columns:minmax(0,1fr)}
 /* MAJITEL-05 (B6, 19. 10. 2026): Novinky na telefóne POD SEBA. V posuvnom rade (tablet nižšie) bola druhá novinka na 390 px
    takmer celá mimo obrazovky a nič na to neupozornilo. Na páse sú 2 novinky (naPase, majiteľ 18. 10. 2026) – pod sebou
    každá celá, nadpis sa skráti „…“ v rámci šírky. VIZUAL-07: čip aj „Spravovať“ sú dotykové ciele ≥ 44 px. */
 .novinky-cipy{flex-direction:column;flex-wrap:nowrap;align-items:stretch;overflow-x:visible;scroll-snap-type:none;padding-bottom:0}
 .novinky-cipy li{flex:0 0 auto;max-width:100%}
 .novinka-cip,.novinky-spravovat{min-height:44px}
 .dafne-console{padding:16px 12px 24px}
 #dafne-form{gap:8px;flex-wrap:wrap}
 #dafne-form button[type=submit]{width:100%}
 .dafne-input-wrap{flex-basis:65%}
 /* Na telefóne je scéna 16:9 vysoká ~210 px — nápisy by mali 5 px (A5-09/A2-27);
    navigáciou je dok pod scénou a neviditeľné dotykové zóny na obraze. */
 #bsg-immersive .room-label,#bsg-immersive .dafne-nameplate,#bsg-immersive .scene-signature{display:none}
 #bsg-immersive .tool-grid{grid-template-columns:1fr}
 /* Prst nie je kurzor: ciele pod 44 px sa na telefóne trafia ťažko. */
 .admin-zalozky button,.admin-hlavne,.admin-tlacidla button,.admin-riadok-akcie button,.admin-viac button,#bsg-immersive .insurance-chip{min-height:44px}
 /* Riadky Administrácie pod seba — inak by sa na mobile nedala použiť vôbec. */
 .admin-riadok,.admin-riadok-staticky{grid-template-columns:1fr auto;gap:6px 10px}
 .admin-zaradenie .admin-prepinac{min-height:40px}
 .admin-zaradenie-nazov{flex-basis:100%}
 .admin-email{grid-column:1/-1}
 .admin-udaje{grid-template-columns:1fr;gap:2px 0}
 .admin-udaje dt{margin-top:8px}
 .admin-hlavicka{align-items:flex-start}
 .admin-hlavne{width:100%}
}

/* 12 ─ HRUBÝ UKAZOVATEĽ (dotyk) A OBMEDZENÝ POHYB ---------------------------- */
@media(pointer:coarse){
 button,[role=button],select,.auth-link,#bsg-immersive .insurance-chip{min-height:44px}
 .novinka-cip,.novinky-spravovat{min-height:44px} /* VIZUAL-07 (B6): základ 36/32 px má vyššiu špecificitu než „button“ */
 /* Statický audit Safari 17. 10. 2026 (S-03): 16 px v poliach platilo iba do 640 px – iPhone na šírku (> 640 px) a iPad pri
    ťuknutí do prihlásenia, Dafne či Administrácie stránku priblížili. Rovnaké polia ako v bloku (max-width:640px) vyššie. */
 input,select,textarea,.ambiente-control select,.sector-toolbar select,#dafne-query,#auth-form input,.auth-reset input,
 #bsg-immersive .insurance-search input,
 .admin-filtre input,.admin-filtre select,.admin-akcie select,.admin-formular input,.admin-formular select,.admin-odkaz,#nastavenia-obsah input,
 .prehlad-ovladanie input[type=search],.prehlad-triedenie select,.prehlad-rola select,.prehlad-den-volba select,
 .novinka-formular input:not([type=checkbox]),.novinka-formular select,.novinka-formular textarea{font-size:16px}
 #bsg-immersive .room-label{min-height:24px} /* nápisy na obraze: 44 px by posunulo text mimo dverí */
 #bsg-immersive .hotspot,#bsg-immersive .stair-zone,#bsg-immersive .fountain-live{min-height:0}
}
@media(prefers-reduced-motion:reduce){
 #bsg-immersive .focus{transition:none}
 #bsg-immersive .fountain-ring,#bsg-immersive .fountain-spark{animation:none}
}

/* 13 ─ TLAČ: korporátny text na bielej, bez pevných panelov (A5-30) ------------ */
@media print{
 html,body{background:#fff!important;color:#575962!important}
 .brand-header,.department-dock,.moje-oblubene,.ambience-toolbar,.dafne-console,.novinky-pas,.novinka-dialog,.auth-gate,.deaktivovany-oznam,
 #bsg-immersive .chrome,#bsg-immersive .cinema,#bsg-immersive .orbit-scene,#bsg-immersive .close,#bsg-immersive .focus-spat,#bsg-immersive .voice-brain,
 #bsg-immersive .insurance-search,#bsg-immersive .module-detail button,
 .admin-zalozky,.admin-filtre,.admin-tlacidla,.admin-riadok-akcie,.admin-viac{display:none!important}
 #bsg-immersive[data-focus="true"]{aspect-ratio:auto;overflow:visible;border-radius:0}
 #bsg-immersive[data-focus="true"] .scene{display:none!important}
 #bsg-immersive .focus{position:static;width:auto;height:auto;padding:0;overflow:visible;opacity:1;visibility:visible;transform:none;transition:none}
 #bsg-immersive:not([data-focus="true"]) .focus{display:none}
 #bsg-immersive,#bsg-immersive *{color:#575962!important;background:#fff!important;border-color:#bdbdbd!important;box-shadow:none!important;text-shadow:none!important}
 #bsg-immersive h1,#bsg-immersive h2,#bsg-immersive h3,#bsg-immersive strong,#bsg-immersive b{color:#002f87!important}
 #bsg-immersive a{color:#002f87!important;text-decoration:underline}
 #bsg-immersive .tool,#bsg-immersive .insurance-doc,#bsg-immersive .insurance-clause,#bsg-immersive .admin-riadok,#bsg-immersive .admin-detail{break-inside:avoid}
 #bsg-immersive .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 14 ─ DEDIČSTVO: prepínač scén, Veľká obrazovka, Orbitál -------------------
   Prepínač (.chrome/.mode-switch) je skrytý, preto sa scény .cinema/.orbit-scene z UI
   nedajú otvoriť. Markup v index.html a app.js spravuje kolega (A5-38); pravidlá tu
   ostávajú, kým markup existuje. Kontrast pri prípadnom oživení: opacity .7 → 1
   pri hover/focus a na dotykových zariadeniach (A2-32). */
#bsg-immersive .chrome{display:none}
.bsg-logo{display:none}
#bsg-immersive .mode-switch{display:flex;align-items:center;gap:5px;padding:5px;border:1px solid rgba(243,189,91,.28);border-radius:999px;background:rgba(5,6,8,.82);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:.7;transition:opacity .25s ease}
#bsg-immersive:hover .mode-switch,#bsg-immersive .mode-switch:focus-within{opacity:1}
#bsg-immersive .mode-switch button{border:0;background:transparent;color:var(--text-muted);padding:8px 12px;border-radius:999px;cursor:pointer;display:flex;align-items:center;gap:7px}
#bsg-immersive .mode-switch button[aria-pressed="true"]{color:var(--surface-0);background:var(--gold)}
#bsg-immersive .mode-switch .i{width:15px;height:15px}
#bsg-immersive .cinema{position:absolute;inset:0;z-index:5;display:none;padding:100px 48px 45px;background:#07080a}
#bsg-immersive .cinema-shell{height:100%;border:1px solid var(--gold-2);border-radius:38px;background:var(--surface-2);display:grid;grid-template-columns:240px 1fr;overflow:hidden;box-shadow:0 0 80px rgba(243,189,91,.12)}
#bsg-immersive .cinema-nav{padding:30px 18px;border-right:1px solid #463722}
#bsg-immersive .cinema-nav .caption{font-size:var(--fs-label);letter-spacing:var(--ls-caps);color:var(--gold);text-transform:uppercase;margin:0 12px 22px}
#bsg-immersive .cinema-nav button{width:100%;border:0;background:transparent;color:var(--text-muted);padding:13px 14px;border-radius:14px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px;margin-bottom:5px}
#bsg-immersive .cinema-nav button[aria-current="true"]{color:var(--text-strong);background:#201a12}
#bsg-immersive .cinema-nav .i{width:17px;height:17px;color:var(--gold)}
#bsg-immersive .cinema-main{padding:34px;display:grid;grid-template-rows:auto 1fr}
#bsg-immersive .cinema-main header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #3e3528;padding-bottom:24px}
#bsg-immersive .cinema-main h2{font-size:var(--fs-5);letter-spacing:var(--ls-title);margin:0 0 6px}
#bsg-immersive .cinema-main p{margin:0;color:var(--text-muted)}
#bsg-immersive .live-pill{border:1px solid #4c3c26;border-radius:999px;padding:8px 12px;color:var(--gold);font-size:var(--fs-label)}
#bsg-immersive .cinema-content{display:grid;grid-template-columns:1.45fr .75fr;gap:18px;padding-top:20px}
#bsg-immersive .big-canvas,#bsg-immersive .smart-panel{border:1px solid var(--line);border-radius:24px;background:var(--surface-3);padding:24px}
#bsg-immersive .big-canvas{display:grid;place-items:center;text-align:center}
#bsg-immersive .big-orbit{width:210px;height:210px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 45px rgba(243,189,91,.18)}
#bsg-immersive .big-orbit .i{width:55px;height:55px;color:var(--gold)}
#bsg-immersive .smart-panel h3{font-size:var(--fs-3)}
#bsg-immersive .smart-row{padding:15px 0;border-bottom:1px solid #373026}
#bsg-immersive .smart-row:last-child{border:0}
#bsg-immersive .smart-row small{display:block;color:var(--gold);margin-bottom:4px;font-size:var(--fs-small)}
#bsg-immersive .smart-row span{color:var(--text-muted)}
#bsg-immersive .orbit-scene{position:absolute;inset:0;z-index:5;display:none;background:#07080a}
#bsg-immersive .orbit-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:250px;height:250px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;text-align:center;box-shadow:0 0 80px rgba(243,189,91,.2)}
#bsg-immersive .orbit-center::before,#bsg-immersive .orbit-center::after{content:"";position:absolute;border:1px solid #5e4625;border-radius:50%}
#bsg-immersive .orbit-center::before{inset:-75px}
#bsg-immersive .orbit-center::after{inset:-170px;opacity:.55}
#bsg-immersive .orbit-center .i{width:40px;height:40px;color:var(--gold);margin-bottom:12px}
#bsg-immersive .orbit-center strong{display:block;font-size:var(--fs-4);color:inherit}
#bsg-immersive .orbit-center small{color:var(--text-muted);font-size:var(--fs-small)}
#bsg-immersive .orb{position:absolute;z-index:2;width:190px;height:110px;border:1px solid #594321;border-radius:25px;background:#111216;color:var(--text-strong);padding:18px;text-align:left;cursor:pointer;box-shadow:0 16px 45px rgba(0,0,0,.45);transition:.3s}
#bsg-immersive .orb:hover{border-color:var(--gold);transform:scale(1.05)}
#bsg-immersive .orb .i{width:21px;height:21px;color:var(--gold);margin-bottom:12px}
#bsg-immersive .orb strong{display:block;color:inherit}
#bsg-immersive .orb span{font-size:var(--fs-label);color:var(--text-muted)}
#bsg-immersive .orb.o1{left:8%;top:23%}#bsg-immersive .orb.o2{right:8%;top:23%}#bsg-immersive .orb.o3{left:8%;bottom:18%}#bsg-immersive .orb.o4{right:8%;bottom:18%}
#bsg-immersive .orb.o5{left:calc(50% - 95px);top:12%}#bsg-immersive .orb.o6{left:calc(50% - 95px);bottom:5%}
#bsg-immersive[data-mode="cinema"] .lobby,#bsg-immersive[data-mode="orbit"] .lobby{display:none}
#bsg-immersive[data-mode="cinema"] .cinema{display:block}
#bsg-immersive[data-mode="orbit"] .orbit-scene{display:block}
@media(max-width:900px){
 #bsg-immersive .mode-switch button span{display:none}
 #bsg-immersive .cinema{padding:70px 18px 25px}
 #bsg-immersive .cinema-shell{grid-template-columns:1fr}
 #bsg-immersive .cinema-nav{border-right:0;border-bottom:1px solid #463722;display:flex;overflow:auto;padding:12px}
 #bsg-immersive .cinema-nav .caption{display:none}
 #bsg-immersive .cinema-nav button{width:auto;white-space:nowrap;margin:0}
 #bsg-immersive .cinema-main{padding:22px}
 #bsg-immersive .cinema-content{grid-template-columns:1fr}
 #bsg-immersive .smart-panel{display:none}
 #bsg-immersive .orb{width:155px}
 #bsg-immersive .orb.o1,#bsg-immersive .orb.o3{left:3%}#bsg-immersive .orb.o2,#bsg-immersive .orb.o4{right:3%}
}
@media(max-width:640px){
 #bsg-immersive .orbit-center{width:170px;height:170px}
 #bsg-immersive .orbit-center::before{inset:-35px}
 #bsg-immersive .orbit-center::after{inset:-100px}
 #bsg-immersive .orb{width:135px;height:100px;padding:14px}
 #bsg-immersive .orb span{display:none}
 #bsg-immersive .orb.o1,#bsg-immersive .orb.o3{left:2%}#bsg-immersive .orb.o2,#bsg-immersive .orb.o4{right:2%}
 #bsg-immersive .orb.o5,#bsg-immersive .orb.o6{left:calc(50% - 67px)}
}
html[data-ambiente=bsg] #bsg-immersive .tool .tool-navrh,html[data-ambiente=retro] #bsg-immersive .tool .tool-navrh{color:#575962}
/* Osobné výnimky k modulom v detaile človeka (3. 10.) */
.admin-moduly-cloveka{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.admin-moduly-cloveka summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--text-strong);font-weight:400}
.admin-moduly-cloveka-zoznam{display:grid;gap:6px}
.admin-modul-clovek{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,auto);align-items:center;gap:6px 12px;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.admin-modul-clovek.ma-vynimku{border-color:var(--gold-deep)}
.admin-modul-clovek-nazov{min-width:0;overflow-wrap:anywhere;color:var(--text)}
.admin-modul-clovek-nazov small{display:block;color:var(--text-muted);font-size:var(--fs-small)}
.admin-modul-clovek select{min-height:40px;max-width:100%}
@media(max-width:480px){.admin-modul-clovek{grid-template-columns:minmax(0,1fr)}}

/* DLAŽDICA V PRUHU – Projekt SERVIS v Kariére (majiteľ 15. 10. 2026: prezentácia „každé jedno oddelenie“). Kariéra je
   oddelenie-appka bez dlaždíc (rám hneď po otvorení), preto je tu dlaždica malá pilulka v pruhu nad rámom: vľavo
   „← Recepcia“, v strede názov, potom Projekt SERVIS a Dafne. Rám Kariéry, jej výška ani poradie ostatných tlačidiel
   sa nemenia; bez :has stojí pilulka nad rámom. Klik otvorí prezentáciu ako každá dlaždica s rámom („← Kariéra“ späť). */
html #bsg-immersive .tool.tool-v-pruhu{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 0 10px;padding:8px 14px;border:1px solid var(--gold-2);border-radius:999px;background:#17130d;color:var(--gold);font-size:var(--fs-1);line-height:1.2;white-space:nowrap;transform:none}
html #bsg-immersive .tool.tool-v-pruhu::after{content:none}
html #bsg-immersive .tool.tool-v-pruhu .i{width:16px;height:16px;margin:0;flex:none;color:inherit}
html #bsg-immersive .tool.tool-v-pruhu strong{margin:0;max-width:none;font-size:var(--fs-1);line-height:1.2;color:inherit}
html #bsg-immersive .tool.tool-v-pruhu .pruh-dlhy{color:inherit}
html #bsg-immersive .tool.tool-v-pruhu:hover{transform:none;border-color:var(--gold)}
html #bsg-immersive .tool.tool-v-pruhu:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
html[data-ambiente=bsg] #bsg-immersive .tool.tool-v-pruhu,html[data-ambiente=retro] #bsg-immersive .tool.tool-v-pruhu{color:#002f87;background:#fff;border-color:var(--line-control)}
html[data-ambiente=retro] #bsg-immersive .tool.tool-v-pruhu{background:#fff9ee}
html[data-ambiente=bsg] #bsg-immersive .tool.tool-v-pruhu:hover,html[data-ambiente=retro] #bsg-immersive .tool.tool-v-pruhu:hover{border-color:#002f87}
html[data-ambiente=bsg] #bsg-immersive .tool.tool-v-pruhu:focus-visible,html[data-ambiente=retro] #bsg-immersive .tool.tool-v-pruhu:focus-visible{outline-color:#002f87}
@media screen{@supports selector(:has(*)){
 #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])>.tool-v-pruhu:not([hidden])){grid-template-columns:auto minmax(0,1fr) auto auto}
 #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])>.tool-v-pruhu:not([hidden])) .voice-brain{grid-column:4}
 html #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])) #tool-grid>.tool.tool-v-pruhu{grid-row:1;grid-column:3;align-self:center;margin:0}
}}
@media screen and (max-width:640px){@supports selector(:has(*)){
 html #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])) #tool-grid>.tool.tool-v-pruhu{padding:8px 12px}
 html #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])) #tool-grid>.tool.tool-v-pruhu .pruh-dlhy{display:none}
}}
/* Majiteľ 15. 10. 2026: odkaz domov sa všade volá „Recepcia“ – v pruhu nad otvoreným modulom na počítači aj s textom
   (na telefóne ostáva iba ikona domčeka kvôli miestu; text „Recepcia“ je stále v tlačidle pre čítačky). */
@media (min-width:760px){
 #bsg-immersive .focus:has(>.screen>.module-detail-embed) .focus-copy .close{width:auto;padding:0 16px;gap:8px;font-size:inherit}
}
/* „← SPÄŤ“ ODDELENIA (záverečná kontrola navigácie 16. 10. 2026, nález 1): obrazovky otvárané dlaždicou-oddelením (Klienti →
   Výluky a podmienky, Administratíva → Ľudia, roly a prístupy) mali iba „Recepcia“ – kto chcel o úroveň vyššie, skončil na
   recepcii. Teraz „← Späť“ (bublina „Späť: Klienti“) hneď vedľa „Recepcia“, rovnaká pilulka. Pri oddelení-appke (Kariéra)
   je v zbalenom pruhu iba keď appka ohlási vnútornú úroveň (protokol bsgSpat, docs/NAVIGACIA-SPAT-PROTOKOL.md) – vľavo ako
   „← Späť“ nad modulom, „Recepcia“ vpravo. Funkcie ani oprávnenia sa nemenia. */
#bsg-immersive .focus-copy .focus-spat{grid-column:2;grid-row:1/4;align-self:center;margin:0;min-height:44px;padding:8px 14px;border:1px solid var(--line-control);border-radius:999px;background:transparent;color:var(--text-strong);display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;font:inherit}
#bsg-immersive .focus-copy .focus-spat[hidden]{display:none}
#bsg-immersive .focus-copy .focus-spat:hover,#bsg-immersive .focus-copy .focus-spat:focus-visible{border-color:var(--gold)}
#bsg-immersive .focus-copy:has(>.focus-spat:not([hidden])){grid-template-columns:minmax(0,1fr) auto auto}
#bsg-immersive .focus-copy:has(>.focus-spat:not([hidden])) .close{grid-column:3}
#bsg-immersive .focus-copy:has(>.focus-spat:not([hidden])) p{grid-column:1}
html[data-ambiente=bsg] #bsg-immersive .focus-spat,html[data-ambiente=retro] #bsg-immersive .focus-spat{color:#002f87;background:#fff;border-color:var(--line-control)}
html[data-ambiente=retro] #bsg-immersive .focus-spat{background:#fff9ee}
@media(max-width:900px){
 #bsg-immersive .focus-copy .focus-spat{grid-row:1/3}
 #bsg-immersive .focus-copy:has(>.focus-spat:not([hidden])) p{grid-column:1/-1}
}
@media(max-width:640px){
 #bsg-immersive .focus-copy .focus-spat{grid-row:1;align-self:start;padding:6px 12px}
 #bsg-immersive .focus-copy:has(>.focus-spat:not([hidden])) h1{grid-column:1/-1}
}
@media screen{@supports selector(:has(*)){
 /* modul v ráme má vlastné „← Späť“ v pruhu – „← Späť“ oddelenia sa vtedy neukazuje */
 #bsg-immersive .focus:has(>.screen>.module-detail-embed) .focus-copy .focus-spat{display:none}
 #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])) .focus-copy .focus-spat:not([hidden]){grid-row:1;grid-column:1;align-self:center;border-radius:999px}
 #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])):has(.focus-spat:not([hidden])){grid-template-columns:auto minmax(0,1fr) auto auto}
 #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])):has(.focus-spat:not([hidden])) .voice-brain{grid-column:3}
 #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])):has(.focus-spat:not([hidden])) .focus-copy .close{grid-column:4}
 #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])>.tool-v-pruhu:not([hidden])):has(.focus-spat:not([hidden])){grid-template-columns:auto minmax(0,1fr) auto auto auto}
 html #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])>.tool-v-pruhu:not([hidden])):has(.focus-spat:not([hidden])) #tool-grid>.tool.tool-v-pruhu{grid-column:3}
 #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])>.tool-v-pruhu:not([hidden])):has(.focus-spat:not([hidden])) .voice-brain{grid-column:4}
 #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])>.tool-v-pruhu:not([hidden])):has(.focus-spat:not([hidden])) .focus-copy .close{grid-column:5}
}}
@media screen and (max-width:640px){@supports selector(:has(*)){
 #bsg-immersive .focus:has(>.screen>.tool-grid-embed:not([hidden])):has(.focus-spat:not([hidden])) .focus-copy .close{justify-content:center;width:44px;padding:0;gap:0;font-size:0}
}}
/* RÁM APPKY OSTAL PRÁZDNY (16. 10. 2026, public/ram-nacitanie.js; z-index nad otvoreným panelom 10000, pod bránou 20000): jemná správa dole nad rámom, iba keď je otvorený rám
   po 10 s stále bez obsahu. Neprekrýva recepciu (na recepcii nie je žiadny rám), farby z tokenov Ambiente. */
.ram-pomaly{box-sizing:border-box;position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:10040;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;width:max-content;max-width:calc(100vw - 32px);padding:10px 14px;border:1px solid var(--hub-ram);border-radius:16px;background:var(--hub-povrch);color:var(--hub-text);box-shadow:var(--hub-tien);font-size:var(--fs-1,13px);text-align:center}
.ram-pomaly button{min-height:40px;padding:6px 14px;border:1px solid var(--hub-akcent);border-radius:999px;background:var(--hub-akcent);color:var(--hub-akcent-text);font:inherit;cursor:pointer}
.ram-pomaly button:focus-visible{outline:2px solid var(--hub-fokus);outline-offset:2px}
