/* Barvy stavů – jednotně v celé aplikaci (PC, telefon, tablet)
   • MINULOST (zapsáno, hotovo)  = ZELENĚ
   • BUDOUCNOST (naplánováno)     = MODŘE
   • VÝSTRAHA / PŘEKROČENÁ HODNOTA = ČERVENĚ a BLIKÁ (číslo, rámeček, ukazatel)
   Blikání je pomalé (1× za sekundu), aby bylo dobře vidět a nebylo škodlivé; po klepnutí na výstrahu („beru na vědomí“) zůstane
   červená, ale přestane blikat. Při zapnutém „odstranit animace“ v Androidu zůstane červená trvale. */
:root{--cas-min:#4ADE80;--cas-bud:#60A5FA;--cerv:#FF3B3B;--cerv-m:rgba(255,59,59,.16)}

/* ---------- minulost = zeleně ---------- */
.zp-min.li,.zp-min.pcell{box-shadow:inset 4px 0 0 var(--cas-min)}
.zp-min.li{border-radius:10px;padding-left:12px}
tr.zp-min>td:first-child{box-shadow:inset 4px 0 0 var(--cas-min)}
.zp-min.li .num:first-child,.zp-min.li .t .mut:first-of-type{color:var(--cas-min)}
.pcell.zp-min{border-color:rgba(74,222,128,.5)}
.trden.ano{background-color:rgba(74,222,128,.30)!important;border-color:rgba(74,222,128,.8)!important}

/* ---------- budoucnost = modře ---------- */
.planned.zp-bud{border:1px dashed var(--cas-bud);background:rgba(96,165,250,.08);box-shadow:inset 4px 0 0 var(--cas-bud)}
.planned.zp-bud .li{box-shadow:none}
.zp-bud.li,.pcell.zp-bud{box-shadow:inset 4px 0 0 var(--cas-bud)}
.pcell.zp-bud{border-color:rgba(96,165,250,.6);background:rgba(96,165,250,.07)}
tr.zp-bud>td:first-child{box-shadow:inset 4px 0 0 var(--cas-bud)}
tr.zp-bud td{background:rgba(96,165,250,.06)}
.zp-bud.li .num:first-child,.zp-bud .t .mut:first-of-type{color:var(--cas-bud)}
.oc.bud{outline:1px dashed var(--cas-bud);outline-offset:-2px;background:rgba(96,165,250,.08)}
.trden.bud{border:1px dashed var(--cas-bud)!important;background-color:rgba(96,165,250,.14)!important}
.tag.p{background:rgba(96,165,250,.20);color:var(--cas-bud)}
.tag.g{color:var(--cas-min)}

/* ---------- výstrahy a překročené hodnoty = červeně a bliká ---------- */
@keyframes cervBlik{0%,100%{opacity:1}50%{opacity:.2}}
@keyframes cervRam{0%,100%{box-shadow:0 0 0 1px rgba(255,59,59,.5)}50%{box-shadow:0 0 0 3px var(--cerv),0 0 22px rgba(255,59,59,.7)}}
.al-warn,.al-bad{border-color:var(--cerv)!important;animation:cervRam 1s ease-in-out infinite;background-image:linear-gradient(var(--cerv-m),var(--cerv-m))}
.al-warn.ack,.al-bad.ack{animation:none;box-shadow:0 0 0 2px rgba(255,59,59,.7)}
/* čísla a texty uvnitř výstrahy */
.al-warn .num,.al-bad .num,.al-warn .v,.al-bad .v,.al-warn .r,.al-bad .r,.al-warn .t b,.al-bad .t b,.al-warn .sub,.al-bad .sub{color:var(--cerv)!important}
.al-warn:not(.ack) :is(.num,.v,.r,.sub,.t b),.al-bad:not(.ack) :is(.num,.v,.r,.sub,.t b){animation:cervBlik 1s ease-in-out infinite}
.al-warn:not(.ack) svg,.al-bad:not(.ack) svg{animation:cervBlik 1s ease-in-out infinite}
/* štítky, pruhy a barevné texty přímo ve stránce */
.tag.b{background:var(--cerv-m);color:var(--cerv);animation:cervBlik 1s ease-in-out infinite}
.b.warn,.b.bad,.oc .bar.warn,.oc .bar.bad{background:var(--cerv)!important;animation:cervBlik 1s ease-in-out infinite}
[style*="color:var(--bad)"],[style*="color: var(--bad)"],[style*="color:var(--warn)"]:not(.mlst *){color:var(--cerv)!important;animation:cervBlik 1s ease-in-out infinite}
#lxHeat td.lxul{outline-color:var(--cerv);animation:cervBlik 1s ease-in-out infinite}
.zv.al-warn,.zv.al-bad{border-color:var(--cerv)!important}
@media (prefers-reduced-motion:reduce){
  .al-warn,.al-bad,.al-warn *,.al-bad *,.tag.b,.b.warn,.b.bad,.oc .bar.warn,.oc .bar.bad,[style*="color:var(--bad)"],[style*="color:var(--warn)"],#lxHeat td.lxul{animation:none!important}
  .al-warn,.al-bad{box-shadow:0 0 0 3px var(--cerv)}
}
