/* Mission Control – štýl (z drôtového modelu V03, UL-19). Pokojné farby; červená len pre riziko a po termíne. */
:root{
  --bg:#f4f5f6; --plocha:#ffffff; --ciara:#d9dde1; --text:#1f2933; --tichy:#5b6670;
  --akcent:#2d6a7f; --akcent-svetly:#e6f0f3; --cervena:#b42318; --cervena-svetla:#fdecea;
  --sivy:#eef0f2; --font:15px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font:var(--font)/1.45 "Segoe UI","DejaVu Sans",Arial,sans-serif;color:var(--text);background:var(--bg)}
a{color:var(--akcent)}
.ukazka{background:#fff8e1;border-bottom:1px solid #e9d9a6;color:#5c4a00;font-size:13px;padding:4px 16px;text-align:center}
.lista{display:flex;align-items:center;gap:16px;height:52px;padding:0 16px;background:var(--plocha);border-bottom:1px solid var(--ciara)}
.logo{font-weight:600;white-space:nowrap}
.logo span{color:var(--tichy);font-weight:400}
.lista .vpravo{margin-left:auto;display:flex;gap:12px;align-items:center}
.btn{font:inherit;border:1px solid var(--ciara);background:var(--plocha);color:var(--text);border-radius:6px;padding:6px 12px;cursor:pointer}
.btn:hover{background:var(--sivy)}
.btn.hlavna{background:var(--akcent);border-color:var(--akcent);color:#fff;font-weight:600}
.btn.hlavna:hover{filter:brightness(1.08)}
.btn.male{padding:2px 8px;font-size:13px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.ucet{color:var(--tichy)}
.rozlozenie{display:flex;height:calc(100% - 52px - 26px)}
nav.sekcie{width:180px;flex:none;background:var(--plocha);border-right:1px solid var(--ciara);padding:12px 0}
nav.sekcie a{display:flex;justify-content:space-between;padding:8px 18px;color:var(--text);text-decoration:none}
nav.sekcie a.aktivna{background:var(--akcent-svetly);border-left:3px solid var(--akcent);padding-left:15px;font-weight:600}
nav.sekcie a.neskor{color:#9aa3ab;cursor:default}
nav.sekcie a.neskor small{font-size:11px}
.pocet{background:var(--akcent);color:#fff;border-radius:10px;padding:0 7px;font-size:12px}
main{flex:1;display:flex;min-width:0}
.zoznam{flex:1.1;min-width:0;padding:16px;overflow:auto;border-right:1px solid var(--ciara)}
.detail{flex:1;min-width:0;padding:16px;overflow:auto;background:var(--plocha)}
h1{font-size:20px;margin:0 0 12px}
h2{font-size:17px;margin:0 0 4px}
.meta{color:var(--tichy);font-size:13px}
.filtre{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
select,input[type=text],input[type=password],textarea{font:inherit;border:1px solid var(--ciara);border-radius:6px;padding:6px 8px;background:#fff;color:var(--text)}
.pocitadla{display:flex;gap:10px;margin:8px 0}
.pocitadlo{flex:1;background:var(--plocha);border:1px solid var(--ciara);border-radius:8px;padding:8px 12px}
.pocitadlo b{font-size:22px;display:block}
.pocitadlo a{font-size:12px}
.pocitadlo.riziko{border-color:var(--cervena);background:var(--cervena-svetla)}
.pocitadlo.riziko b{color:var(--cervena)}
.skupina{margin:16px 0 6px;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--tichy);text-transform:uppercase}
.skupina.riziko{color:var(--cervena)}
table{width:100%;border-collapse:collapse;background:var(--plocha);border:1px solid var(--ciara);border-radius:8px;overflow:hidden}
td,th{padding:8px 10px;border-bottom:1px solid var(--ciara);text-align:left;vertical-align:middle}
th{font-size:12px;color:var(--tichy);font-weight:600;background:var(--sivy)}
tr.vybrany td{background:var(--akcent-svetly)}
tr.po-termine td:first-child{border-left:4px solid var(--cervena)}
tr.po-termine .termin{color:var(--cervena);font-weight:600}
tr.hotova td{color:#8a949c;text-decoration:line-through}
tr{cursor:pointer}
.znacka{display:inline-block;border:1px solid var(--ciara);border-radius:4px;padding:0 6px;font-size:12px;color:var(--tichy);background:#fff}
.znacka.bot{border-style:dashed}
.znacka.t3{border-color:var(--text);color:var(--text);font-weight:600}
.karty{display:flex;gap:4px;border-bottom:1px solid var(--ciara);margin:12px 0}
.karty a{padding:6px 12px;text-decoration:none;color:var(--tichy);border-bottom:2px solid transparent}
.karty a.aktivna{color:var(--text);border-color:var(--akcent);font-weight:600}
dl.polia{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;margin:0}
dl.polia dt{color:var(--tichy)}
dl.polia dd{margin:0}
.akcie{display:flex;gap:10px;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid var(--ciara)}
.obsah{white-space:pre-wrap;border:1px solid var(--ciara);border-radius:6px;padding:12px;background:#fcfcfd;font-size:14px}
.hash{font-family:monospace;font-size:13px;background:var(--sivy);padding:2px 6px;border-radius:4px}
.poznamka{font-size:13px;color:var(--tichy);margin-top:8px}
aside.panel{width:270px;flex:none;background:var(--plocha);border-left:1px solid var(--ciara);padding:14px;overflow:auto;transition:width .2s}
aside.panel.skryty{width:38px;padding:14px 6px}
aside.panel.skryty .obsah-panela{display:none}
aside.panel h3{font-size:14px;margin:0 0 10px;display:flex;justify-content:space-between;align-items:center}
.subor{border:1px solid var(--ciara);border-radius:6px;padding:8px;margin-bottom:8px;font-size:13px}
.subor.pripnuty{border-color:var(--akcent);background:var(--akcent-svetly)}
.subor.navrh{border-style:dashed}
.subor .riadok{display:flex;gap:6px;margin-top:6px}
.nadpis-panela{font-size:11px;font-weight:700;color:var(--tichy);text-transform:uppercase;letter-spacing:.06em;margin:12px 0 6px}
.nahlad{height:260px;border:1px solid var(--ciara);border-radius:6px;background:repeating-linear-gradient(45deg,#f6f7f8,#f6f7f8 10px,#eef0f2 10px,#eef0f2 20px);display:flex;align-items:center;justify-content:center;color:var(--tichy)}
.sprava{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#24323b;color:#fff;padding:10px 16px;border-radius:8px;display:none;gap:14px;align-items:center;box-shadow:0 4px 16px rgba(0,0,0,.2)}
.sprava.vidno{display:flex}
.sprava a{color:#9fd3e3;cursor:pointer}
.sprava.bot{background:var(--akcent)}
.prekryv{position:fixed;inset:0;background:rgba(20,30,40,.35);display:none;align-items:flex-start;justify-content:center;padding-top:90px}
.prekryv.vidno{display:flex}
.okno{background:#fff;border-radius:10px;width:560px;padding:16px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.okno input{width:100%;font-size:17px;padding:10px}
.okno .vysledok{padding:6px 8px;border-radius:4px}
.okno .vysledok:hover{background:var(--akcent-svetly)}
.zastupny{height:14px;background:var(--sivy);border-radius:4px;margin:8px 0}
.prazdny{border:1px dashed var(--ciara);border-radius:8px;padding:18px;color:var(--tichy);text-align:center;background:#fff}
.chyba{border:1px solid var(--cervena);background:var(--cervena-svetla);color:var(--cervena);border-radius:8px;padding:10px 12px}
.stavy{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.stavy h4{margin:0 0 6px;font-size:12px;color:var(--tichy)}
/* Prihlásenie */
.prihlasenie-obal{padding:24px;display:grid;grid-template-columns:repeat(2,minmax(320px,420px));gap:24px;justify-content:center}
.karta{background:#fff;border:1px solid var(--ciara);border-radius:10px;padding:22px}
.karta h2{margin-bottom:10px}
.karta label{display:block;font-size:13px;color:var(--tichy);margin:10px 0 4px}
.karta input{width:100%}
.karta .btn.hlavna{width:100%;margin-top:16px;padding:10px}
.krok{font-size:11px;font-weight:700;color:var(--akcent);letter-spacing:.06em;text-transform:uppercase}
.kontrola{font-size:13px;margin:2px 0;color:var(--tichy)}
.kontrola.ok{color:#1d6b3a}
.qr{width:130px;height:130px;border:1px solid var(--ciara);display:flex;align-items:center;justify-content:center;color:var(--tichy);background:repeating-linear-gradient(0deg,#fff,#fff 6px,#e8eaec 6px,#e8eaec 12px)}
.siroka{grid-column:1/-1}
.uvod{max-width:900px;margin:24px auto;padding:0 16px}
.uvod li{margin:6px 0}
.btn{white-space:nowrap}
.zoznam{flex:1.5}
td.termin{white-space:nowrap}
nav.sekcie a.neskor{display:block}
nav.sekcie a.neskor small{display:block;font-size:11px}
.alarm{border:1px solid var(--ciara);border-left:4px solid var(--akcent);background:#fff;border-radius:8px;padding:8px 12px;margin:6px 0;font-size:14px}
.alarm.kriticky{border-color:var(--cervena);border-left-color:var(--cervena);background:var(--cervena-svetla);color:var(--cervena)}
.alarm.kriticky .meta{color:#7a1a12}

/* --- UL-23 MVP --- */
.rozlozenie{min-height:calc(100vh - 52px);height:auto}
nav.sekcie span.neskor{display:flex;flex-direction:column;padding:8px 18px;color:#9aa3ab}
nav.sekcie span.neskor small{font-size:11px}
.obsah-hlavny{flex:1;min-width:0;padding:16px 24px;display:block}
.prihlasenie-plocha{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}
.karta-prihlasenia{width:100%;max-width:420px;background:var(--plocha);border:1px solid var(--ciara);border-radius:10px;padding:24px 28px}
.karta-prihlasenia .logo{margin-bottom:16px}
.formular{display:flex;flex-direction:column;gap:6px;margin:12px 0}
.formular label{font-weight:600;margin-top:6px}
.formular input[type=text],.formular input[type=password],.formular textarea{width:100%}
.heslo-pole{display:flex;gap:6px}
fieldset.osoby{border:1px solid var(--ciara);border-radius:6px;margin:10px 0 6px;padding:8px 12px}
fieldset.osoby.chybne{border-color:var(--cervena)}
fieldset.osoby legend{font-weight:600;padding:0 4px}
label.radio{display:block;font-weight:400;margin:4px 0}
.btn.siroka{width:100%;margin-top:12px;padding:9px 12px;text-align:center;display:block;text-decoration:none}
.btn-odkaz{background:none;border:0;padding:0;color:var(--akcent);text-decoration:underline;cursor:pointer;font:inherit;font-size:13px}
form.inline{display:inline}
.hlaska{border-radius:6px;padding:8px 12px;margin:8px 0}
.hlaska p{margin:2px 0}
.hlaska.chyba,.hlaska.error{background:var(--cervena-svetla);color:var(--cervena);border:1px solid #f3c2bd}
.hlaska.info,.hlaska.success{background:var(--akcent-svetly);border:1px solid #c6dde4}
.hlaska.warning{background:#fff8e1;border:1px solid #e9d9a6}
.tiche-odkazy{font-size:14px}
.qr-kod{display:flex;justify-content:center;margin:8px 0}
code.kluc{font-size:14px;word-break:break-all}
ol.zalozne-kody{columns:2;font-size:16px}
ul.pravidla{font-size:13px;color:var(--tichy);margin:6px 0}
.pas-osoby{background:var(--plocha);border:1px solid var(--ciara);border-radius:6px;padding:6px 12px;display:inline-block}
.pocitadlo details{font-size:12px}
.pocitadlo summary{color:var(--akcent);cursor:pointer}
table.ulohy{margin-bottom:8px}
table.ulohy tr{cursor:default}
td.akcia{white-space:nowrap;text-align:right}
.vykricnik{color:var(--cervena);font-weight:700}
.prazdne{color:var(--tichy);background:var(--plocha);border:1px solid var(--ciara);border-radius:8px;padding:16px}
.sr{position:absolute;left:-9999px}
details.popis summary{font-size:12px;color:var(--tichy);cursor:pointer}
.zdroj-ref{font-family:monospace;font-size:12px}
@media print{.lista,nav,form,.btn{display:none!important}}

kbd{font:12px monospace;border:1px solid var(--ciara);border-radius:4px;padding:1px 5px;background:#fff}

/* UL-23 v2: + dôkaz, Dnes hotové */
.akcia .dokaz-odkaz { display: block; font-size: 11px; margin-top: 3px; color: var(--muted, #6b7280); }
.dnes-hotove { margin-top: 18px; border: 1px solid var(--line, #e5e7eb); border-radius: 8px; background: #fff; padding: 8px 12px; }
.dnes-hotove summary { cursor: pointer; font-weight: 600; font-size: 13px; }
.dnes-hotove ul { list-style: none; margin: 8px 0 0; padding: 0; }
.dnes-hotove li { padding: 5px 0; border-top: 1px solid var(--line, #e5e7eb); font-size: 13px; }
.dnes-hotove .cas { display: inline-block; min-width: 42px; color: var(--muted, #6b7280); }
.pocitadlo.hotove b { color: #15803d; }

/* --- UL-28 kolo 2: Schvaľovanie, Dokumenty, bočný panel --- */
nav.sekcie a{display:block}
.dvojstlpec{display:flex;align-items:flex-start;gap:0}
.dvojstlpec .zoznam{flex:1.25;padding:0 18px 0 0;overflow:visible;border-right:1px solid var(--ciara)}
.dvojstlpec .detail{flex:1;padding:0 0 0 18px;overflow:visible;background:transparent}
.dvojstlpec .detail h2{font-size:18px;margin-bottom:6px}
table.navrhy td a,table.dokumenty td a{text-decoration:none;color:var(--text)}
table.navrhy td a:hover,table.dokumenty td a:hover{text-decoration:underline}
.znacka.chat{border-color:#e9d9a6;background:#fff8e1;color:#5c4a00}
dl.integrita{margin-top:14px;padding-top:12px;border-top:1px solid var(--ciara)}
details.cely-hash{display:inline-block;vertical-align:top;font-size:13px}
details.cely-hash summary{cursor:pointer;color:var(--akcent)}
details.cely-hash code{display:block;margin-top:4px}
.rekapitulacia{border:2px solid var(--text);border-radius:8px;padding:12px;margin-top:14px;background:var(--plocha)}
.rekapitulacia h3{margin:0 0 8px;font-size:15px}
.dvojstlpec dl.polia{grid-template-columns:140px minmax(0,1fr)}
.dvojstlpec dl.polia dd{overflow-wrap:anywhere}
.rekapitulacia .hash{white-space:normal;word-break:break-all}
details.zamietnutie{margin-top:12px}
details.zamietnutie summary,details.viac summary{cursor:pointer;color:var(--akcent)}
ul.historia{list-style:none;margin:6px 0 12px;padding:0}
ul.historia li{padding:6px 0;border-top:1px solid var(--ciara);font-size:14px}
ol.retaz{margin:6px 0 8px;padding-left:20px}
ol.retaz li{margin:4px 0}
ol.retaz li.tento{font-weight:600}
.dokumenty-filtre label.siroky{flex:1 1 100%}
.dokumenty-filtre label.siroky input{width:60%}
.uryvok{font-style:italic}
.strankovanie a{margin-left:10px}
.nahlad span{padding:0 16px;text-align:center}
.nahlad-obrazok{display:block;max-width:100%;max-height:520px;border:1px solid var(--ciara);border-radius:6px;background:#fff}
aside.panel{align-self:stretch}
aside.panel.skryty h3 span{display:none}
aside.panel .subor a{color:var(--text);font-weight:600;text-decoration:none;word-break:break-word}
aside.panel .subor a:hover{text-decoration:underline}
aside.panel .subor .riadok{flex-wrap:wrap;align-items:center}
aside.panel .subor .riadok a{font-weight:400;color:var(--akcent)}
aside.panel .pin-say{margin:6px 0;font-size:13px}
aside.panel .nahlad-obrazok{max-height:220px;margin-top:6px}
.panel-novy{color:var(--akcent);font-weight:600}
#panel-prepinac.bodka::after{content:" ●";color:var(--akcent)}
.formular.uprava textarea{width:100%}
@media print{aside.panel{display:none!important}}
