:root{
  --paper:#FFFFFF; --paper-2:#F4F4F4; --paper-3:#EBEBEB;
  --ink:#393939; --ink-2:#565656; --ink-3:#6E6E6E;
  --rule:#D9D9D9; --rule-2:#C2C2C2;
  --accent:#164088; --accent-dark:#0F2B5C; --accent-soft:#E4EAF3; --on-accent:#FFFFFF;
  --gold:#8A7238; --gold-line:#BFA054; --gold-soft:#F7F1E2;
  --danger:#C41818; --danger-line:#EF1C1C; --danger-soft:#FBE4E4;
  --success:#006B2B; --success-line:#007C32; --success-soft:#E0F0E6;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#101830; --paper-2:#17203C; --paper-3:#1F2A4A;
    --ink:#EEF1F6; --ink-2:#BFC7D6; --ink-3:#939CB0;
    --rule:#2A3554; --rule-2:#3C4969;
    --accent:#93B4E0; --accent-dark:#B3CCEC; --accent-soft:#1C2745; --on-accent:#101830;
    --gold:#D9BE72; --gold-line:#BFA054; --gold-soft:#2A2412;
    --danger:#F28080; --danger-line:#EF1C1C; --danger-soft:#33191A;
    --success:#5CBE86; --success-line:#007C32; --success-soft:#12291C;
  }
}
:root[data-theme="dark"]{
  --paper:#101830; --paper-2:#17203C; --paper-3:#1F2A4A;
  --ink:#EEF1F6; --ink-2:#BFC7D6; --ink-3:#939CB0;
  --rule:#2A3554; --rule-2:#3C4969;
  --accent:#93B4E0; --accent-dark:#B3CCEC; --accent-soft:#1C2745; --on-accent:#101830;
  --gold:#D9BE72; --gold-line:#BFA054; --gold-soft:#2A2412;
  --danger:#F28080; --danger-line:#EF1C1C; --danger-soft:#33191A;
  --success:#5CBE86; --success-line:#007C32; --success-soft:#12291C;
}
*{box-sizing:border-box}
body{background:var(--paper); color:var(--ink);
  font-family:'PT Sans',Tahoma,Helvetica,Arial,sans-serif;
  font-size:17px; line-height:1.62; margin:0; -webkit-font-smoothing:antialiased}
.wrap{max-width:860px; margin:0 auto; padding:0 28px 96px}
h1,h2,h3,h4{font-family:'PT Sans',Tahoma,Helvetica,Arial,sans-serif; text-wrap:balance; margin:0; font-weight:700}
code,.mono,.id,.kod,.k{font-family:'Monaco','Menlo','Courier New',monospace; font-variant-numeric:tabular-nums}
/* hlavička v duchu jmhz.mpsv.cz */
.topbar{background:var(--accent); color:var(--on-accent); margin:0 -28px 0; padding:11px 28px;
  font-size:13px; letter-spacing:.04em; font-weight:700; text-transform:uppercase}
.mast{border-bottom:4px solid var(--gold-line); padding:36px 0 22px; margin-bottom:34px}
.eyebrow{display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center;
  font-size:12.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-3); font-weight:700}
.eyebrow .sep{color:var(--rule-2)}
h1{font-size:clamp(31px,5.4vw,44px); line-height:1.12; margin:12px 0 0; color:var(--accent)}
.sub{color:var(--ink-2); font-size:18px; margin:12px 0 0; max-width:62ch}
.stamps{display:flex; flex-wrap:wrap; gap:8px; margin-top:20px}
.stamp{font-size:12.5px; padding:4px 10px; border:1px solid var(--rule-2);
  color:var(--ink-2); background:var(--paper-2)}
.stamp b{font-weight:700; color:var(--ink)}
.stamp.warn{border-color:var(--danger-line); color:var(--danger); background:var(--danger-soft)}
.brief{background:var(--accent-soft); border-left:5px solid var(--accent); padding:22px 26px; margin:0 0 34px}
.brief h2{font-size:14px; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); font-weight:700; margin-bottom:10px}
.brief p{margin:0; font-size:17.5px; line-height:1.58}
.scope{display:grid; grid-template-columns:repeat(auto-fit,minmax(165px,1fr)); gap:1px;
  background:transparent; margin:0 0 46px}
.scope div{background:var(--paper); padding:15px 17px; box-shadow:0 0 0 1px var(--rule)}
.scope dt{font-size:11.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-3); font-weight:700}
.scope dd{margin:5px 0 0; font-size:18px; font-weight:700; color:var(--accent)}
.scope dd.hot{color:var(--danger)}
.scope dd.calm{color:var(--ink-3); font-weight:400}
.scope dd small{display:block; font-size:13px; font-weight:400; color:var(--ink-3); margin-top:2px}
h2.sec{font-size:13px; letter-spacing:.11em; text-transform:uppercase; font-weight:700;
  color:var(--accent); padding-bottom:8px; border-bottom:2px solid var(--gold-line); margin:0 0 24px}
section{margin-bottom:56px}
p{margin:0 0 16px; max-width:68ch}
.lead{font-size:18.5px}
h3.sub3{font-size:19px; font-weight:700; margin:30px 0 13px; color:var(--ink)}
.attr{border-top:1px solid var(--rule); padding-top:26px; margin-top:32px}
.attr:first-of-type{border-top:none; padding-top:0; margin-top:0}
.attr-head{display:flex; gap:12px; align-items:baseline; flex-wrap:wrap; margin-bottom:5px}
.badge{font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:3px 9px; white-space:nowrap}
.badge.new{background:var(--success-soft); color:var(--success); border:1px solid var(--success-line)}
.badge.gap{background:var(--danger-soft); color:var(--danger); border:1px solid var(--danger-line)}
.badge.chg{background:var(--gold-soft); color:var(--gold); border:1px solid var(--gold-line)}
.id{font-size:23px; font-weight:700; color:var(--accent)}
.attr h3{font-size:22px; font-weight:700; line-height:1.28; margin:2px 0 18px; max-width:60ch}
.facts{border:1px solid var(--rule); background:var(--paper-2); margin:0 0 18px}
.facts div{display:grid; grid-template-columns:minmax(115px,180px) 1fr; gap:16px; padding:9px 16px; border-bottom:1px solid var(--rule)}
.facts div:last-child{border-bottom:none}
.facts dt{font-size:12.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-3); font-weight:700; padding-top:3px}
.facts dd{margin:0; font-size:16.5px}
.facts dd .k{font-weight:700}
.facts dd.miss{color:var(--danger); font-weight:700}
.note{border-left:4px solid var(--rule-2); padding:2px 0 2px 20px; margin:22px 0; color:var(--ink-2)}
.note.alert{border-left-color:var(--gold-line)} .note.stop{border-left-color:var(--danger-line)} .note.ok{border-left-color:var(--success-line)}
.note strong{color:var(--ink)} .note p:last-child{margin-bottom:0}
.note-h{font-size:17px; font-weight:700; color:var(--ink); margin:0 0 7px}
.note.alert .note-h{color:var(--gold)} .note.stop .note-h{color:var(--danger)} .note.ok .note-h{color:var(--success)}
pre.tree{background:var(--paper-2); border:1px solid var(--rule); border-left:4px solid var(--accent);
  padding:20px 22px; font-size:14.5px; line-height:1.8; margin:0 0 18px; color:var(--ink-2);
  white-space:pre-wrap; overflow-wrap:anywhere}
pre.tree b{color:var(--accent); font-weight:700}
pre.tree i{color:var(--success); font-style:normal; font-weight:700}
pre.tree u{color:var(--ink); text-decoration:none; font-weight:700}
.tw{overflow-x:visible; border:1px solid var(--rule); margin:0 0 18px}
table{border-collapse:collapse; width:100%; font-size:15.5px; table-layout:fixed}
th{text-align:left; font-size:11.5px; letter-spacing:.07em; text-transform:uppercase;
  color:var(--on-accent); font-weight:700; padding:11px 15px; background:var(--accent); white-space:nowrap}
td{padding:11px 15px; border-bottom:1px solid var(--rule); vertical-align:top; line-height:1.5}
tbody tr:nth-child(even) td{background:var(--paper-2)}
tr:last-child td{border-bottom:none}
td.k{font-size:13.5px; white-space:nowrap}
.flag{color:var(--danger); font-weight:700}
.ok{color:var(--success); font-weight:700}
td em{font-style:normal; color:var(--danger); font-weight:700}
.ctrl{border:1px solid var(--rule); border-left:5px solid var(--danger-line); background:var(--paper-2);
  padding:20px 22px; margin:0 0 16px}
.ctrl.borrowed{border-left-style:dashed}
.ctrl-head{display:flex; gap:11px; align-items:baseline; flex-wrap:wrap; margin-bottom:4px}
.idk{font-family:'Monaco','Menlo',monospace; font-size:19px; font-weight:700; color:var(--accent)}
.ctrl h4{font-size:19px; font-weight:700; line-height:1.3; margin:0 0 12px}
.meta{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px}
.meta span{font-size:11.5px; padding:3px 9px; background:var(--paper); border:1px solid var(--rule-2); color:var(--ink-2)}
.meta span.sev{border-color:var(--danger-line); color:var(--danger); font-weight:700; background:var(--danger-soft)}
.ctrl p{margin:0 0 12px; font-size:16.5px} .ctrl p:last-child{margin-bottom:0}
.ctrl ol,.ctrl ul{margin:0 0 12px; padding-left:22px; font-size:16.5px} .ctrl li{margin-bottom:6px}
.msg{border-left:3px solid var(--gold-line); padding-left:14px; font-style:italic;
  color:var(--ink-2); font-size:15.5px; margin:12px 0 0}
.msg b{font-style:normal; font-weight:700; display:block; font-size:11.5px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ink-3); margin-bottom:3px}
.prov{background:var(--paper-2); border:1px solid var(--rule); padding:4px 0}
.prov div{display:grid; grid-template-columns:minmax(130px,225px) 1fr; gap:18px; padding:12px 18px; border-bottom:1px solid var(--rule)}
.prov div:last-child{border-bottom:none}
.prov dt{font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); font-weight:700; padding-top:3px}
.prov dd{margin:0; font-size:15.5px; line-height:1.7}
.prov dd.none{color:var(--ink-3); font-style:italic}
a{color:var(--accent); text-decoration:underline; text-underline-offset:2px}
a:hover{color:var(--accent-dark)}
a:focus-visible{outline:3px solid var(--gold-line); outline-offset:2px}
.jira{font-family:'Monaco','Menlo',monospace; font-size:13.5px; font-weight:700}
.colophon{margin-top:40px; padding-top:20px; border-top:1px solid var(--rule);
  font-size:14px; color:var(--ink-3); line-height:1.65; max-width:72ch}
.colophon strong{color:var(--ink-2)}
/* navigace a rozcestník */
.crumbs{font-size:13.5px; padding:13px 0 0; color:var(--ink-3)}
.crumbs a{color:var(--accent); font-weight:700}
.crumbs .sep{color:var(--rule-2); margin:0 4px}
.metrics{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1px;
  background:transparent; margin:0 0 22px}
.metrics div{background:var(--paper); padding:17px 18px; box-shadow:0 0 0 1px var(--rule)}
.metrics .n{font-size:33px; font-weight:700; line-height:1; color:var(--accent); margin:0}
.metrics .n.hot{color:var(--danger)}
.metrics .l{font-size:13px; color:var(--ink-3); margin:6px 0 0; line-height:1.35}
.dual{border:2px solid var(--accent); margin:0 0 44px}
.dual-h{background:var(--accent); color:var(--on-accent); padding:13px 24px; font-size:20px; font-weight:700}
.dual-b{padding:22px 24px}
.dual-b p{margin:0 0 14px; font-size:17.5px} .dual-b p:last-child{margin-bottom:0}
.vgrid{display:grid; grid-template-columns:1fr; gap:1px; background:var(--rule);
  border:1px solid var(--rule); margin:16px 0}
@media(min-width:620px){.vgrid{grid-template-columns:1fr 1fr}}
.vgrid > div{background:var(--paper-2); padding:16px 18px}
.vgrid .yr{font-size:26px; font-weight:700; color:var(--accent); line-height:1}
.vgrid .wh{font-size:15.5px; color:var(--ink-2); margin:8px 0 0}
.proc{border:1px solid var(--rule); border-left:5px solid var(--accent); margin:0 0 26px}
.proc-h{background:var(--paper-2); padding:15px 20px; display:flex; justify-content:space-between;
  align-items:baseline; gap:14px; flex-wrap:wrap; border-bottom:1px solid var(--rule)}
.proc-h h3{font-size:21px; font-weight:700; margin:0; color:var(--accent)}
.proc-h .cnt{font-size:13.5px; color:var(--ink-3)}
.proc ul{list-style:none; margin:0; padding:0}
.proc li{border-bottom:1px solid var(--rule); padding:0}
.proc li:last-child{border-bottom:none}
.proc li a{display:grid; grid-template-columns:minmax(84px,104px) 1fr auto; gap:14px;
  padding:12px 20px; text-decoration:none; color:var(--ink); align-items:baseline}
.proc li a:hover{background:var(--accent-soft)}
.proc .zp{font-family:'Monaco','Menlo',monospace; font-size:13px; font-weight:700; color:var(--accent)}
.proc .nm{font-size:16.5px}
.proc .tags{font-size:12.5px; color:var(--ink-3); white-space:nowrap}
.proc .tags b{color:var(--danger)}
.legend-g{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1px;
  background:var(--rule); border:1px solid var(--rule); margin:0 0 18px}
.legend-g div{background:var(--paper-2); padding:13px 16px}
.legend-g b{font-family:'Monaco','Menlo',monospace; font-size:19px; color:var(--accent); display:block}
.legend-g span{font-size:14.5px; color:var(--ink-2)}
ol.steps{counter-reset:s; list-style:none; padding:0; margin:0; max-width:70ch}
ol.steps li{counter-increment:s; position:relative; padding-left:46px; margin-bottom:18px; font-size:17px}
ol.steps li::before{content:counter(s); position:absolute; left:0; top:1px; font-weight:700;
  font-size:14px; color:var(--on-accent); background:var(--accent);
  width:28px; height:28px; display:grid; place-items:center}
td.n{text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap}
td.calm{color:var(--ink-3)}
.pub{font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); font-weight:700}
.mast.home{padding:40px 0 26px}
h1.big{font-size:clamp(34px,6.4vw,52px); margin:10px 0 0}
.nal{border:1px solid var(--rule); border-left:4px solid var(--danger-line);
  background:var(--paper-2); padding:16px 20px; margin:0 0 12px}
.nal .kod{font-family:'Monaco','Menlo',monospace; font-size:12px; font-weight:700;
  color:var(--danger); letter-spacing:.05em}
.nal p{margin:6px 0 0; font-size:16px}
.nal .plati{color:var(--ink-2); font-size:15px}
.nal .kde{font-size:13px; color:var(--ink-3); margin-top:8px}
.nal .kde a{font-weight:700}
.orig{font-size:15px; color:var(--ink-3); margin:10px 0 0; font-style:italic}
.badge.ok{background:var(--success-soft); color:var(--success); border:1px solid var(--success-line)}
.ctrl.kosm{border-left-color:var(--success-line)}
.proc li a.kap{grid-template-columns:1fr auto}
.proc li a.kap .nm em{display:block; font-style:normal; font-size:11.5px; letter-spacing:.07em;
  text-transform:uppercase; color:var(--ink-3); font-weight:700; margin-bottom:2px}
.stamps .stamp{max-width:100%}
/* tabulka, která se vejde do šířky stránky – bez vodorovného posuvníku */
.tw.fit{overflow-x:visible}
.tw.fit table{min-width:0; width:100%; table-layout:fixed; font-size:14.5px}
.tw.fit th,.tw.fit td{padding:9px 11px; white-space:normal; overflow-wrap:anywhere}
.tw.fit th{white-space:normal}
.tw.fit td.k,.tw.fit td .k{overflow-wrap:anywhere; word-break:normal}
/* samostatný dokument – nepatří do seznamu oblastí */
.doc-blok{border:1px solid var(--rule); border-left:5px solid var(--gold-line);
  background:var(--paper-2); margin:0 0 26px}
.doc-blok-h{padding:14px 20px; font-size:20px; font-weight:700; color:var(--accent);
  border-bottom:1px solid var(--rule)}
.doc-blok-b{padding:18px 20px}
.doc-blok-b p{margin:0 0 12px; font-size:16.5px} .doc-blok-b p:last-child{margin-bottom:0}
.doc-blok-cisla{color:var(--ink-2)}
.doc-blok-cisla b{color:var(--accent); font-size:19px}
/* cíl odkazu z karty požadavku */
[id^="atr-"],[id^="idk-"],[id^="in-"],#zacatek{scroll-margin-top:16px}
.cil{position:relative}
.attr.cil,.ctrl.cil{background:var(--gold-soft); box-shadow:0 0 0 3px var(--gold-line);
  border-radius:2px}
p.lead.cil{background:var(--gold-soft); box-shadow:0 0 0 3px var(--gold-line);
  padding:6px 10px; border-radius:2px}
@media (prefers-reduced-motion:no-preference){
  .cil{animation:zvyrazni 2.4s ease-out 1}
  @keyframes zvyrazni{0%,55%{box-shadow:0 0 0 3px var(--gold-line)}
                      100%{box-shadow:0 0 0 3px transparent}}
}
/* ---- rozvržení s levým menu ---- */
.layout{display:block}
.menu{display:none}
@media(min-width:1000px){
  .layout{display:grid; grid-template-columns:286px minmax(0,1fr); align-items:start;
    max-width:1180px; margin:0 auto}
  .menu{display:block; position:sticky; top:0; max-height:100vh; overflow-y:auto;
    border-right:1px solid var(--rule); background:var(--paper-2); padding:0 0 40px}
  .layout .wrap{max-width:840px; margin:0; padding-left:38px}
}
.menu-home{display:block; padding:18px 20px 14px; font-size:15px; line-height:1.3;
  color:var(--ink-2); text-decoration:none; border-bottom:1px solid var(--rule)}
.menu-home b{color:var(--accent); font-size:17px}
.menu ul{list-style:none; margin:0; padding:0}
.menu-top{border-bottom:1px solid var(--rule); padding:6px 0}
.menu-top>li>a{display:block; padding:7px 20px; font-size:15px; color:var(--ink-2);
  text-decoration:none; border-left:3px solid transparent}
.menu-sek{padding:14px 20px 6px; font-size:11.5px; letter-spacing:.09em;
  text-transform:uppercase; font-weight:700; color:var(--ink-3)}
.menu-sek a{color:var(--ink-3); text-decoration:none}
.menu-sek a.akt{color:var(--accent)}
.menu details{border-top:1px solid var(--rule)}
.menu summary{padding:9px 18px 9px 16px; font-size:14.5px; font-weight:700; color:var(--ink);
  cursor:pointer; display:flex; gap:7px; align-items:baseline; list-style:none; line-height:1.35}
.menu summary::-webkit-details-marker{display:none}
.menu summary::before{content:"▸"; color:var(--ink-3); font-size:10px; flex:0 0 auto;
  position:relative; top:-1px}
.menu details[open]>summary::before{content:"▾"}
.menu summary span{flex:1 1 auto}
.menu summary i{font-style:normal; font-size:11.5px; color:var(--ink-3); flex:0 0 auto;
  font-variant-numeric:tabular-nums; background:var(--paper-3); border-radius:9px;
  padding:1px 7px; align-self:center}
.menu summary:hover{background:var(--paper-3)}
.menu details ul{padding:0 0 8px}
.menu details li a{display:block; padding:5px 20px 5px 34px; font-size:13.5px; line-height:1.35;
  color:var(--ink-2); text-decoration:none; border-left:3px solid transparent}
.menu details li a:hover,.menu-top>li>a:hover{background:var(--paper-3); color:var(--ink)}
.menu a.akt{background:var(--accent-soft); color:var(--accent); font-weight:700;
  border-left-color:var(--accent)}
.menu li a .zp{display:block; font-family:'Monaco','Menlo',monospace; font-size:11.5px;
  color:var(--accent); font-weight:700}
.menu li.zvyr a{color:var(--gold)}
.crumbs{padding:13px 0 0}
/* rozcestník na úvodní stránce */
.rozc{display:grid; grid-template-columns:1fr; gap:1px; background:var(--rule);
  border:1px solid var(--rule); margin:0 0 18px}
@media(min-width:720px){.rozc{grid-template-columns:repeat(3,1fr)}}
.rozc-k{display:block; background:var(--paper-2); padding:20px 22px; text-decoration:none;
  border-top:4px solid var(--accent)}
.rozc-k:hover{background:var(--accent-soft)}
.rozc-k b{display:block; font-size:19px; color:var(--accent); margin-bottom:7px}
.rozc-k span{display:block; font-size:15px; color:var(--ink-2); line-height:1.5}
/* matice povinností – úzké sloupce hodnot */
.tw.matice table{font-size:13.5px}
.tw.matice th,.tw.matice td{padding:7px 4px; text-align:center}
.tw.matice th:first-child,.tw.matice td:first-child{text-align:left; width:20%; padding-left:12px}
.tw.matice th{font-size:10px; letter-spacing:.02em}
/* zvýraznění sekcí v menu */
.menu-sek{background:var(--accent); color:var(--on-accent); padding:9px 18px;
  font-size:11px; letter-spacing:.11em; margin-top:16px}
.menu-sek a,.menu-sek a.akt{color:var(--on-accent); text-decoration:none}
.menu-sek a:hover{text-decoration:underline}
/* součtový řádek v tabulce */
td.soucet{background:var(--paper-3); border-top:2px solid var(--rule-2)}
tbody tr:nth-child(even) td.soucet{background:var(--paper-3)}
/* tabulka změn externí datové věty */
.tw.edv-tab table{font-size:13.5px}
.tw.edv-tab th,.tw.edv-tab td{padding:8px 8px; vertical-align:top}
.tw.edv-tab th:nth-child(1),.tw.edv-tab td:nth-child(1){width:7%}
.tw.edv-tab th:nth-child(2),.tw.edv-tab td:nth-child(2){width:18%}
.tw.edv-tab th:nth-child(3),.tw.edv-tab td:nth-child(3){width:14%}
.tw.edv-tab th:nth-child(4),.tw.edv-tab td:nth-child(4),
.tw.edv-tab th:nth-child(5),.tw.edv-tab td:nth-child(5){width:25%}
.tw.edv-tab th:nth-child(6),.tw.edv-tab td:nth-child(6){width:11%}
/* sedmisloupcová varianta tabulky EDV v kapitole */
.tw.edv-tab table tr:has(td:nth-child(7)) ~ tr{}
.tw.edv-tab th:nth-child(7),.tw.edv-tab td:nth-child(7){width:13%}

/* ---------- externí datová věta ---------- */
.mini{display:inline-block; font-size:11.5px; font-weight:700; padding:1px 6px;
 border:1px solid var(--rule); border-radius:2px; margin:0 3px 3px 0; background:var(--paper)}
.mini.v-P{border-color:var(--danger-line); color:var(--danger)}
.mini.v-PP{border-color:var(--gold-line); color:var(--gold)}
.mini.v-N{border-color:var(--rule); color:var(--ink-3)}
.mini.v-X{opacity:.45}
.ak-leg{display:block; font-size:12px; color:var(--ink-3); margin-top:4px}
.was{color:var(--ink-3); text-decoration:line-through}
.arr{display:inline-block; margin:0 8px; color:var(--gold); font-weight:700}
.pridano,.odebrano{display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.06em;
 text-transform:uppercase; padding:1px 7px; margin-right:9px; border-radius:2px; vertical-align:1px}
.pridano{background:var(--success-soft); color:var(--success); border:1px solid var(--success-line)}
.odebrano{background:var(--danger-soft); color:var(--danger); border:1px solid var(--danger-line)}
.msg.nw{border-left-color:var(--success-line); font-style:normal; color:var(--ink); font-weight:600}
.zdroj{font-size:14.5px; color:var(--ink-3); margin:8px 0 0}
.pod{display:block; font-size:15px}
.rozpad{display:block; margin-top:5px; font-size:12.5px; color:var(--ink-3); line-height:1.7}
.rozpad b{color:var(--ink-2)}
.zapis{background:var(--paper-2); border:1px solid var(--rule); padding:11px 15px;
 font-size:15px; margin:14px 0 0}
.chip{display:inline-block; font-size:11.5px; font-weight:700; padding:1px 7px; margin-right:3px;
 background:var(--accent-soft); color:var(--accent); border-radius:2px}
.chip.sm{font-size:11px; padding:1px 6px}

/* rozcestník skupin */
.skg{display:grid; grid-template-columns:repeat(auto-fit,minmax(232px,1fr)); gap:1px;
 margin:26px 0 8px; background:var(--rule)}
.skk{display:block; background:var(--paper); padding:15px 17px; text-decoration:none;
 color:inherit; border-left:4px solid var(--accent)}
.skk:hover{background:var(--accent-soft)}
.skk b{display:block; font-size:16px; line-height:1.3; color:var(--accent); margin:0 0 7px}
.skk .skc{float:right; font-size:12px; font-weight:700; color:var(--ink-3); background:none;
 width:auto; height:auto; line-height:inherit}
.skchips{display:block; margin-bottom:6px}
.skn{display:block; font-size:12.5px; color:var(--ink-3)}

/* skupina drží hlavičku i karty pohromadě */
.skupina{border-left:4px solid var(--accent); margin:54px 0 0; background:var(--paper)}
.skupina .skhead{background:var(--accent-soft); padding:15px 20px}
.skhead-t{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap}
.skhead h3{font-size:21px; margin:0; color:var(--accent); letter-spacing:0}
.skhead .skc{font-size:13px; font-weight:700; color:var(--on-accent); background:var(--accent);
 border-radius:50%; width:24px; height:24px; line-height:24px; text-align:center; flex:none}
.skhead .skn{display:inline; margin-left:auto; font-size:13px; white-space:nowrap}
.skhead p{margin:7px 0 0; font-size:14.5px; color:var(--ink-2)}
.sktelo{padding:0 0 2px 22px; border-left:1px solid var(--accent-soft)}
.sktelo > .attr:first-child{border-top:none; margin-top:22px; padding-top:0}
.skkonec{margin:22px 0 0; padding:9px 0 12px; border-top:1px dashed var(--rule);
 font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-3)}

/* kontroly uvnitř karty atributu */
.konblok{border-left:3px solid var(--danger-line); padding:0 0 1px 16px; margin:2px 0 20px}
.konhl{margin:0 0 10px; font-size:11.5px; letter-spacing:.07em; text-transform:uppercase;
 font-weight:700; color:var(--danger)}
.konblok .ctrl{margin:0 0 10px; border-left-width:1px; border-left-color:var(--rule)}
.konblok .ctrl:last-child{margin-bottom:14px}
.pojmref{margin:0 0 14px; font-size:15px; color:var(--ink-2)}

/* sbalený blok kontrol beze změny */
.bezzmeny{border:1px solid var(--rule); background:var(--paper-2); margin:22px 0 0}
.bezzmeny > summary{cursor:pointer; padding:14px 18px; display:flex; align-items:baseline;
 gap:10px; flex-wrap:wrap; list-style:none; font-size:16px}
.bezzmeny > summary::-webkit-details-marker{display:none}
.bezzmeny > summary::before{content:"\25B8"; color:var(--ink-3); font-size:13px; flex:none}
.bezzmeny[open] > summary::before{content:"\25BE"}
.bezzmeny > summary b{color:var(--ink-2)}
.bezzmeny > summary i{font-style:normal; font-weight:700; font-size:12.5px; padding:1px 8px;
 background:var(--success-soft); color:var(--success); border:1px solid var(--success-line);
 border-radius:2px}
.bezzmeny > summary span{font-size:14px; color:var(--ink-3); flex-basis:100%}
.bezzmeny > summary:hover b{color:var(--accent)}
.bezzmeny-t{padding:2px 18px 16px}

/* ---------- identifikace stránky a sekcí pro připomínkování ---------- */
.topbar .sid{float:right; font-weight:700; letter-spacing:.06em; font-size:12px;
 opacity:.72; padding-left:14px}
/* Verze dodávky vpravo nahoře vedle kódu stránky. Tlumená: čtenář ji potřebuje
   najít, až když řeší, jestli má aktuální podklad – ne při každém odstavci. */
.topbar .verze{float:right; font-size:12px; opacity:.6; padding-left:14px;
 letter-spacing:.02em}
.sek-kod{float:right; font-size:11px; font-weight:700; letter-spacing:.05em;
 color:var(--ink-3); text-decoration:none; border:1px solid var(--rule);
 border-radius:2px; padding:2px 7px; margin-top:4px; white-space:nowrap}
.sek-kod:hover{color:var(--accent); border-color:var(--accent); background:var(--accent-soft)}
h2.sec{overflow:hidden}
@media print{.sek-kod{border:none}}
.scen-nm{font-size:11.5px; color:var(--ink-3); font-weight:400; line-height:1.25;
 display:inline-block; margin-top:2px}
.scen-leg{font-size:13px; color:var(--ink-3); margin:8px 0 0; line-height:1.9}
.tw.matice td.v-P{color:var(--danger); font-weight:700}
.tw.matice td.v-PP{color:var(--gold); font-weight:700}
.tw.matice td.v-N{color:var(--ink-3)}
.tw.matice td.v-X{color:var(--ink-3); opacity:.4}
.tw.matice td .scen-h{font-size:11.5px; font-weight:700; color:var(--accent);
 word-break:break-word}
.tw.matice th{vertical-align:bottom}
.zdroj-konv{font-size:13.5px; color:var(--ink-3); margin:8px 0 0;
 padding-left:11px; border-left:2px solid var(--rule)}
