/* ============ EENS · spoločná dizajnová vrstva ============
   Jedna paleta a jedna lišta pre všetky aplikácie. Aplikácia si tento súbor
   načíta ako prvý a svoj vlastný až za ním, takže tokeny nižšie platia všade
   a appka prepisuje len to, čo má naozaj vlastné.

   Paleta je svetlá, priemyselná, v duchu značiek ako HILTI: biela plocha,
   teplá svetlosivá stránka, jedna sýta červená ako jediný akcent. Modrá
   v palete zámerne nie je, ani v odkazoch a ani vo focus rámčekoch.

   Tmavú tému drží atribút data-tema="tmava" na <html>. Prepína ju lišta
   a pamätá si ju localStorage, aby platila naprieč aplikáciami. */

:root{
  /* ---- značka ---- */
  --cervena:#d2051e;          /* hlavný akcent, tlačidlá, značka */
  --cervena-tmava:#a30217;    /* hover a stlačenie */
  --cervena-svetla:#fdecee;   /* podfarbenie, výber v zozname */
  --bordo:#7a0a18;            /* hlbší akcent, gradienty */

  /* ---- plochy ---- */
  --bg:#f1eeed;               /* stránka */
  --bg2:#e7e2e0;              /* vnorené plochy, pásy */
  --card:#ffffff;             /* karty a lišta */
  --card-2:#faf8f8;           /* jemne odsadená plocha v karte */
  --line:#e2dbd9;             /* linky a rámčeky */
  --line-silna:#cdc4c1;       /* linka, ktorá má byť vidieť */

  /* ---- text ---- */
  --text:#1b1614;             /* teplá čierna, nie modročierna */
  --text-2:#463d3a;
  --muted:#847976;

  /* ---- stavy ---- */
  --ok:#0f7a3d;
  --ok-bg:#e8f5ec;
  --warn:#b45309;
  --warn-bg:#fdf1e3;
  --danger:#c31626;
  --danger-bg:#fdeced;

  /* ---- mená z pôvodnej palety, nech appky nemusia prepisovať každý riadok ---- */
  --accent:var(--cervena);
  --accent2:var(--bordo);
  --accent-dim:rgba(210,5,30,.08);
  --amber:#b45309;
  --card-border:var(--line);
  --bg-2:var(--bg2);

  --radius:10px;
  --radius-s:7px;
  --tien:0 1px 2px rgba(27,22,20,.05), 0 10px 28px rgba(27,22,20,.06);
  --tien-lista:0 1px 0 var(--line), 0 6px 18px rgba(27,22,20,.05);
  --lista-v:58px;             /* výška lišty, appka si o ňu odsadí obsah */
}

html[data-tema="tmava"]{
  --cervena:#ff4757;
  --cervena-tmava:#e02234;
  --cervena-svetla:rgba(255,71,87,.14);
  --bordo:#8c1c2b;

  --bg:#131010;
  --bg2:#1c1717;
  --card:#211b1b;
  --card-2:#1a1515;
  --line:#332a2a;
  --line-silna:#463a3a;

  --text:#f2eae8;
  --text-2:#d3c6c2;
  --muted:#9b8d89;

  --ok:#4ecb7c;
  --ok-bg:rgba(78,203,124,.12);
  --warn:#f0a24a;
  --warn-bg:rgba(240,162,74,.12);
  --danger:#ff6b73;
  --danger-bg:rgba(255,107,115,.12);

  --accent-dim:rgba(255,71,87,.12);
  --amber:#f0a24a;
  --tien:0 1px 2px rgba(0,0,0,.4), 0 10px 28px rgba(0,0,0,.35);
  --tien-lista:0 1px 0 var(--line), 0 6px 18px rgba(0,0,0,.35);
}

html{color-scheme:light}
html[data-tema="tmava"]{color-scheme:dark}

/* ============ lišta ============
   Rovnaká vo všetkých aplikáciách. Vľavo značka a názov aplikácie, v strede
   prepínač aplikácií, vpravo vlastné akcie appky a potom vždy to isté:
   kto je prihlásený, téma, odhlásenie. */

.eens-lista{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:0 20px;min-height:var(--lista-v);
  background:var(--card);
  border-bottom:1px solid var(--line);
  box-shadow:var(--tien-lista);
}
/* Červený pásik pri hornej hrane. Je to jediná ozdoba, ktorú lišta má. */
.eens-lista::before{
  content:"";position:absolute;inset:0 0 auto 0;height:3px;
  background:linear-gradient(90deg,var(--cervena) 0%,var(--cervena) 62%,var(--bordo) 100%);
}

/* ---- značka ----
   Dlaždica s bielou kresbou: prípojnica a tri polia s vývodmi, teda výsek
   jednopólovej schémy. Farbu dlaždice drží CSS, nie samotné SVG, preto sa
   v tmavej téme prepne sama. Do 32 px sa používa drobná podoba: hrubšie
   odbočky a bez uzlov, inak sa vývody zlejú do škvrny. */
.eens-mark{display:block;width:auto;flex:none}
.eens-mark .dlazdica{fill:var(--cervena)}
.eens-mark .zbernica,.eens-mark .odbocka{stroke:#fff}
.eens-mark .uzol{fill:#fff}

.eens-znacka{
  display:flex;align-items:baseline;gap:11px;text-decoration:none;color:inherit;
  padding:5px 8px 5px 0;border-radius:var(--radius-s);flex:none;
}
.eens-znacka .eens-mark{align-self:center;height:24px}
.eens-znacka b{
  font-size:17px;font-weight:800;letter-spacing:.15em;color:var(--cervena);
  line-height:1;
}
.eens-znacka span{
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  white-space:nowrap;
}
.eens-znacka:hover span{color:var(--text-2)}
.eens-znacka:focus-visible{outline:2px solid var(--cervena);outline-offset:2px}

/* ---- prepínač aplikácií ----
   <details> namiesto skriptu: otvorí sa aj bez JS. Skript rieši len zatvorenie
   kliknutím mimo a klávesou Esc. */
.eens-prepinac{position:relative;flex:none}
/* summary musí zostať list-item. Keď dostane display:flex, WebKit ho prestane
   považovať za ovládač <details> a prepínač sa klikom neotvorí. Preto je
   rozloženie na vnútornom obale. */
.eens-prepinac > summary{
  display:list-item;list-style:none;cursor:pointer;
  padding:7px 12px;border:1px solid var(--line);border-radius:var(--radius-s);
  background:var(--card-2);color:var(--text);font-size:13px;
  transition:border-color .15s,background .15s;
}
.eens-prepinac > summary::-webkit-details-marker{display:none}
.eens-prepinac > summary::marker{content:""}
.eens-prepinac .obal{display:flex;align-items:center;gap:9px}
.eens-prepinac > summary:hover{border-color:var(--line-silna);background:var(--bg2)}
.eens-prepinac > summary:focus-visible{outline:2px solid var(--cervena);outline-offset:2px}
.eens-prepinac[open] > summary{border-color:var(--cervena);background:var(--cervena-svetla)}
.eens-prepinac .mriezka-ikona{
  display:grid;grid-template-columns:1fr 1fr;gap:2px;width:13px;height:13px;flex:none;
}
.eens-prepinac .mriezka-ikona i{background:var(--cervena);border-radius:1px;display:block}
.eens-prepinac .sipka{font-size:9px;color:var(--muted);transition:transform .18s}
.eens-prepinac[open] .sipka{transform:rotate(180deg)}

.eens-panel{
  position:absolute;top:calc(100% + 9px);left:0;z-index:60;
  width:min(460px,calc(100vw - 32px));
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--tien);padding:8px;
}
.eens-panel .titul{
  font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);
  padding:8px 10px 9px;
}
.eens-panel a,.eens-panel .neaktivna{
  display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:inherit;
  padding:11px 10px;border-radius:var(--radius-s);transition:background .14s;
}
.eens-panel a:hover{background:var(--bg2)}
.eens-panel a:focus-visible{outline:2px solid var(--cervena);outline-offset:-2px}
.eens-panel .tu{background:var(--cervena-svetla)}
.eens-panel .tu .nazov::after{
  content:"tu si";margin-left:9px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--cervena);font-weight:600;vertical-align:1px;
}
.eens-panel .ikona{
  flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:8px;
  font-size:16px;font-weight:700;color:var(--cervena);
  background:var(--cervena-svetla);border:1px solid rgba(210,5,30,.16);
}
html[data-tema="tmava"] .eens-panel .ikona{border-color:rgba(255,71,87,.24)}
.eens-panel .telo{min-width:0}
.eens-panel .nazov{display:block;font-size:13.5px;font-weight:600;line-height:1.35}
.eens-panel .popis{display:block;font-size:12px;color:var(--muted);line-height:1.5;margin-top:3px}
.eens-panel hr{border:0;border-top:1px solid var(--line);margin:8px 0}
.eens-panel .spodok{
  display:block;padding:9px 10px;font-size:12.5px;color:var(--muted);
  text-decoration:none;border-radius:var(--radius-s);
}
.eens-panel .spodok:hover{background:var(--bg2);color:var(--text)}

/* ---- pravá strana ---- */
/* ---- menu verejnej časti ----
   Aplikácie ho nemajú, je len na eens.sk. Položka, ktorá ešte nemá svoju
   stránku, má triedu 'chysta': nedá sa kliknúť a má za sebou bodku, aby bolo
   vidieť, že sa pripravuje. Keď stránka vznikne, <span class="chysta"> sa
   vymení za <a href="/…"> a je to. */
.eens-nav{display:flex;align-items:center;gap:2px;flex-wrap:nowrap;min-width:0}
.eens-nav a,.eens-nav span{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 11px;border-radius:var(--radius-s);
  font-size:13.5px;font-weight:600;color:var(--text-2);text-decoration:none;
  white-space:nowrap;transition:color .15s,background .15s;
}
.eens-nav a:hover{color:var(--cervena);background:var(--cervena-svetla)}
.eens-nav a:focus-visible{outline:2px solid var(--cervena);outline-offset:2px}
.eens-nav a[aria-current="page"]{color:var(--cervena)}
.eens-nav .chysta{color:var(--muted);cursor:default}
.eens-nav .chysta::after{
  content:"";width:5px;height:5px;border-radius:50%;
  background:var(--line-silna);flex:none;
}

.eens-akcie{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}
.eens-akcia{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 12px;border:1px solid var(--line);border-radius:var(--radius-s);
  background:var(--card-2);color:var(--text);font:inherit;font-size:13px;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:border-color .15s,background .15s,color .15s;
}
.eens-akcia:hover{border-color:var(--line-silna);background:var(--bg2);color:var(--text)}
.eens-akcia:focus-visible{outline:2px solid var(--cervena);outline-offset:2px}
.eens-akcia.tichy{background:transparent;border-color:transparent;color:var(--muted)}
.eens-akcia.tichy:hover{background:var(--bg2);color:var(--text)}
.eens-akcia.hlavna{
  background:var(--cervena);border-color:var(--cervena);color:#fff;font-weight:600;
}
.eens-akcia.hlavna:hover{background:var(--cervena-tmava);border-color:var(--cervena-tmava);color:#fff}
.eens-akcia.ikonova{padding:7px 9px;font-size:14px;line-height:1}

.eens-kto{
  display:flex;align-items:center;gap:8px;padding-left:12px;
  border-left:1px solid var(--line);margin-left:2px;
}
.eens-kto .meno{font-size:13px;font-weight:600;white-space:nowrap}
.eens-rola{
  font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;
  padding:3px 8px;border-radius:999px;
  background:var(--bg2);color:var(--muted);border:1px solid var(--line);
}
.eens-rola.superadmin{background:var(--cervena-svetla);color:var(--cervena);
  border-color:rgba(210,5,30,.2)}
html[data-tema="tmava"] .eens-rola.superadmin{border-color:rgba(255,71,87,.28)}

/* Keď sa lišta začne tlačiť, ide preč najprv názov aplikácie (ten je aj
   v prepínači) a až potom meno človeka. Lišta sa nesmie zalomiť na dva riadky. */
@media (max-width:1150px){
  .eens-znacka span{display:none}
}
@media (max-width:900px){
  .eens-lista{padding:10px 14px;gap:10px}
  .eens-kto .meno{display:none}
  .eens-kto{padding-left:8px}
}
/* Na telefóne sa akcie nezalamujú, ale odsúvajú do strany. Aplikácia môže mať
   akcií koľko chce a lišta zostane jeden riadok. */
@media (max-width:700px){
  .eens-lista{flex-wrap:nowrap;padding:8px 12px;gap:8px}
  .eens-akcie{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;
    -webkit-overflow-scrolling:touch;min-width:0}
  .eens-akcie::-webkit-scrollbar{display:none}
  .eens-rola{display:none}
  .eens-kto{border-left:0;padding-left:0}
  .eens-akcia{padding:6px 10px;font-size:12.5px}
  .eens-nav{overflow-x:auto;scrollbar-width:none}
  .eens-nav::-webkit-scrollbar{display:none}
  .eens-nav a,.eens-nav span{padding:6px 8px;font-size:12.5px;gap:5px}
  .eens-panel{width:min(360px,calc(100vw - 24px))}
}
@media (prefers-reduced-motion:reduce){
  .eens-lista *,.eens-prepinac *{transition:none!important}
}
