/* Nastenka lead scanneru.
   Do 2026-09-04 tenhle soubor zil jako JS retezec ve funkci nastenkaCss()
   v src/index.js — proto se paleta pro tmavy motiv skladala z promenne
   `tmava` a vkladala na dve mista. Tady je rozepsana dvakrat: sdilet jeden
   selektor napric media query v CSS nejde. */

:root{
  color-scheme:light;
  --bg:#f4f4f2;--fg:#1a1a1a;--card:#fff;--card2:#f6f6f4;
  --mut:#70706d;--line:#e6e6e2;--akc:#2f6fdb;--ok:#137a3a;--warn:#8a5300;--err:#b3261e;
  --ok-bg:#e9f4ed;--warn-bg:#fbeedd;--err-bg:#fbe9e7;--zmena:rgba(47,111,219,.14);
  --r:10px;--w:940px;
}

@media(prefers-color-scheme:dark){
  :root:not([data-motiv=svetly]){
    color-scheme:dark;
    --bg:#151515;--fg:#e9e9e7;--card:#1f1f1f;--card2:#262626;
    --mut:#8f8f8c;--line:#333331;--akc:#5b9bff;--ok:#5cbd7c;--warn:#d99a45;--err:#e5776b;
    --ok-bg:#15291d;--warn-bg:#2e2410;--err-bg:#2e1c1a;--zmena:rgba(91,155,255,.16);
  }
}

:root[data-motiv=tmava]{
  color-scheme:dark;
  --bg:#151515;--fg:#e9e9e7;--card:#1f1f1f;--card2:#262626;
  --mut:#8f8f8c;--line:#333331;--akc:#5b9bff;--ok:#5cbd7c;--warn:#d99a45;--err:#e5776b;
  --ok-bg:#15291d;--warn-bg:#2e2410;--err-bg:#2e1c1a;--zmena:rgba(91,155,255,.16);
}

*{box-sizing:border-box}
html,body{margin:0}
body{font:14px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%}
a{color:var(--akc)}

header{position:sticky;top:0;z-index:10;background:var(--card);border-bottom:1px solid var(--line)}
header .bar{max-width:var(--w);margin:0 auto;padding:9px 18px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
header .titul{font-size:15px;font-weight:650;margin-right:auto;display:flex;align-items:center;gap:8px}

.zivo{width:7px;height:7px;border-radius:50%;background:var(--ok);flex:none}
.zivo.pulz{animation:pulz 1s ease-in-out infinite}
.zivo.chyba{background:var(--err);animation:none}
@keyframes pulz{0%,100%{opacity:1}50%{opacity:.2}}
.stari{font-size:12px;color:var(--mut);font-variant-numeric:tabular-nums;white-space:nowrap}

button{font:inherit;font-size:12.5px;padding:5px 10px;border:1px solid var(--line);border-radius:7px;background:var(--card2);color:var(--fg);cursor:pointer}
button:hover{border-color:var(--mut)}
button.prim{background:var(--fg);color:var(--bg);border-color:var(--fg)}
button:disabled{opacity:.5;cursor:default}

.seg{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}
.seg button{border:0;border-radius:0;padding:5px 9px;background:var(--card);font-size:12px}
.seg button.on{background:var(--akc);color:#fff;border-color:var(--akc)}

.wrap{max-width:var(--w);margin:0 auto;padding:18px 18px 72px}
.meta{font-size:12px;color:var(--mut);margin:0 0 16px}

#vystrahy:empty{display:none}
#vystrahy{margin:0 0 16px;display:grid;gap:8px}
.vys{padding:9px 12px;border-radius:8px;font-size:13px;border:1px solid;display:flex;gap:12px;align-items:center}
.vys>span{flex:1;min-width:0}
.vys.err{background:var(--err-bg);border-color:var(--err);color:var(--err)}
.vys.warn{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)}
.vys a{color:inherit;font-weight:650}
.vys .odblok{flex:none;background:transparent;border-color:currentColor;color:inherit;font-weight:650}
.vys .odblok:hover{background:currentColor;filter:invert(1)}

.kpiwrap{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px;align-items:start}
@media(max-width:620px){.kpiwrap{grid-template-columns:1fr}}
.skup{display:grid;gap:7px;align-content:start}
.skup>.lab{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--mut);font-weight:650;margin-bottom:1px}

.k{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px 11px 9px;overflow:hidden}
.k .n{font-size:18px;font-weight:650;letter-spacing:-.01em;line-height:1.2;font-variant-numeric:tabular-nums}
.k .l{font-size:11px;color:var(--mut);margin-top:1px}
.k .p{font-size:10.5px;color:var(--mut);margin-top:1px}
.k.ok .n{color:var(--ok)}
.k.warn{border-color:var(--warn)}.k.warn .n{color:var(--warn)}
.k.err{border-color:var(--err)}.k.err .n{color:var(--err)}
.k .prog{position:absolute;left:0;right:0;bottom:0;height:3px;background:transparent;margin:0}
.k .prog i{display:block;height:100%;background:var(--akc)}
.k.zmena{animation:zmena .7s ease-out}
@keyframes zmena{from{background:var(--zmena)}}
@media(prefers-reduced-motion:reduce){.zivo.pulz,.k.zmena{animation:none}}

.box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:14px}
.box>h2,.box>summary{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);margin:0;padding:10px 14px;font-weight:650;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}
details.box:not([open])>summary{border-bottom:0}
details.box>summary{list-style:none;cursor:pointer}
details.box>summary::-webkit-details-marker{display:none}
details.box>summary::after{content:"▸";color:var(--mut);margin-left:6px}
details.box[open]>summary::after{content:"▾"}
.cnt{margin-left:auto;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:0 7px;font-size:11px;color:var(--fg)}

.par{display:grid;grid-template-columns:230px 1fr;gap:14px;align-items:start}
@media(max-width:600px){.par{grid-template-columns:1fr}}
.telo{padding:12px 14px}
.telo.nul{color:var(--mut);font-size:12.5px}

.pole{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.pole label{font-size:12.5px;color:var(--mut);min-width:56px}
input,select{font:inherit;font-size:13px;padding:5px 7px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg)}
input[type=number]{width:64px}
.hint{font-size:11px;color:var(--mut);margin-top:6px}

.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:12px;min-width:440px}
th,td{text-align:left;padding:5px 9px;border-bottom:1px solid var(--line);white-space:nowrap}
tr:last-child td{border-bottom:0}
tbody tr:hover td,table tr:hover td{background:var(--card2)}
table tr:first-child:hover td{background:none}
th{color:var(--mut);font-weight:500;font-size:11px;letter-spacing:.03em;text-transform:uppercase}
td:last-child{text-align:right}
td span[title]{cursor:help}

.stav-jednani{color:var(--warn)}.stav-potvrzeno{color:var(--ok)}.stav-odmitnuto{color:var(--mut)}

/* Oblasti — cisla se ctou po sloupcich, proto tabularni cislice a zarovnani
   doprava u vseho krome nazvu mesta. */
#oblasti td:not(:first-child),#oblasti th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
#oblasti tr.tenka td{color:var(--warn)}
#oblasti tr.prazdna td{color:var(--err)}
#oblasti tr.mimo td{color:var(--mut)}

.odp{border-top:1px solid var(--line);padding:9px 0}
.odp:first-child{border-top:0}
.odp .hl{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.odp .kdo{font-weight:650;font-size:12.5px}
.odp .m{font-size:11px;color:var(--mut)}
.odp .hl button{margin-left:auto}
.odp .t{white-space:pre-wrap;font-size:12px;margin-top:6px;max-height:150px;overflow:auto;background:var(--bg);border-radius:7px;padding:8px 10px}

.radek{display:flex;gap:8px;align-items:baseline;padding:4px 0;border-top:1px solid var(--line);font-size:12px}
.radek:first-child{border-top:0}
.radek .cx{color:var(--mut);font-variant-numeric:tabular-nums;flex:none}
.radek .nm{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.radek .em{color:var(--mut);margin-left:auto;flex:none}

#login{max-width:300px;margin:16vh auto 0;text-align:center;padding:0 16px}
#login h1{font-size:19px}
#login input{width:100%;margin:12px 0;text-align:center;padding:9px}
#login button{width:100%;padding:9px}
.err-txt{color:var(--err);font-size:13px}

[hidden]{display:none!important}
