/* Prezentační vrstva: lišta, panel vyprávění, rámeček telefonu, zvýraznění kroků.
   Nepatří do produkčního sestavení. Hodnoty jen z app/tokens.css (--nf-* a --nf-demo-*; 19. 10. 2026, prověrka V6):
   fialová = ovládání ukázky, nikdy stav aplikace; žádné verzálky z CSS (15a). */

/* ---------- lišta ---------- */
.pres-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:var(--nf-s2) var(--nf-s3);flex-wrap:wrap;padding:var(--nf-s2) var(--nf-s4);background:var(--nf-demo-bg);border-bottom:1px solid var(--nf-demo-line);font-size:var(--nf-fs-2xs);color:var(--nf-demo-strong)}
.pres-bar .flag{background:var(--nf-surface);color:var(--nf-demo-strong);border:1px solid var(--nf-demo-line);border-radius:var(--nf-r-sm);padding:var(--nf-s1) var(--nf-s2);font-weight:var(--nf-w-display-strong);font-size:var(--nf-fs-2xs)}
.pres-bar .flag-short{display:none}
.pres-bar .where{flex:1;min-width:220px;color:var(--nf-text)}
.pres-bar .btn{min-height:36px;padding:var(--nf-s1) var(--nf-s3);font-size:var(--nf-fs-2xs)}
.pres-bar .btn.ok{background:var(--nf-ok-bg);color:var(--nf-ok-text);border-color:var(--nf-ok-bg)}
.pres-bar .bar-more{display:none}
.pres-bar .t-short{display:none}
.pres-bar .bar-wide{display:inline-flex}

/* ovládání ukázky vypadá jinak než tlačítka aplikace: fialové pilulky s obrysem vs. tyrkysové plochy */
.tour-panel .btn,.pres-bar .btn,.pres-drawer .btn{border-radius:var(--nf-r-pill);border:2px solid var(--nf-demo-strong);background:var(--nf-surface);color:var(--nf-demo-strong);box-shadow:none;font-weight:var(--nf-w-display-strong)}
.tour-panel .btn.primary,.pres-bar .btn.primary,.pres-drawer .btn.primary{background:var(--nf-demo-strong);color:var(--nf-on-primary);border-color:var(--nf-demo-strong)}
.tour-panel .btn.danger,.pres-drawer .btn.danger,.pres-bar .btn.danger{border-color:var(--nf-low-text);color:var(--nf-low-text);background:var(--nf-surface)}
.tour-panel .btn[disabled]{opacity:.45}
.tour-panel .btn.is-blocked{opacity:.55}
.tour-panel .btn:focus-visible,.pres-bar .btn:focus-visible,.pres-drawer .btn:focus-visible,.tour-link:focus-visible,.tour-status-link:focus-visible,.tour-icon:focus-visible,.tour-info:focus-visible{outline:3px solid var(--nf-demo-focus);outline-offset:2px}

/* ---------- rámeček telefonu pro pacienta ---------- */
body.pres-patient #main{display:flex;justify-content:center;align-items:flex-start;padding:var(--nf-s5) var(--nf-s4) var(--nf-s8);background:var(--nf-demo-stage);min-height:calc(100vh - var(--barh,64px))}
body.pres-patient #main>.patient-shell,body.pres-patient #main>.error+.patient-shell{width:var(--nf-demo-phone-w);height:min(var(--nf-demo-phone-h),calc(100vh - var(--barh,64px) - 40px));min-height:560px;border-radius:var(--nf-demo-phone-r);border:var(--nf-demo-phone-edge) solid var(--nf-phone-frame);box-shadow:var(--nf-sh-raised);overflow:hidden;position:relative;flex:none}
body.pres-patient .patient-shell .patient{height:100%;overflow:auto;padding-top:56px;scrollbar-width:none}
body.pres-patient .patient-shell .patient::-webkit-scrollbar{display:none}
body.pres-patient .patient-shell::after{content:"";position:absolute;top:var(--nf-s3);left:50%;transform:translateX(-50%);width:120px;height:34px;border-radius:var(--nf-r-md);background:var(--nf-phone-frame);z-index:5}
body.pres-patient .tabbar{position:absolute;bottom:0;width:100%}
body.pres-patient #main .error{position:absolute;top:70px;left:50%;transform:translateX(-50%);width:360px;z-index:9}
@media (max-width:1100px){body.pres-patient #main>.patient-shell{width:100%;height:auto;min-height:0;border:0;border-radius:0;box-shadow:none}body.pres-patient .patient-shell::after{display:none}body.pres-patient .tabbar{position:fixed}body.pres-patient .patient-shell .patient{padding-top:0}}

/* ---------- panel vyprávění ---------- */
.tour-panel{position:fixed;right:var(--nf-s5);top:calc(var(--barh,64px) + var(--nf-s3));width:var(--nf-demo-panel-w);max-height:calc(100vh - var(--barh,64px) - 32px);box-sizing:border-box;overflow:auto;z-index:40;background:var(--nf-demo-surface);border:2px solid var(--nf-demo-strong);border-radius:var(--nf-r-lg);box-shadow:var(--nf-demo-shadow);padding:0;color:var(--nf-text)}
.tour-head{display:flex;align-items:center;gap:var(--nf-s2);padding:var(--nf-s2) var(--nf-s3) var(--nf-s2) var(--nf-s4);background:var(--nf-demo-strong);color:var(--nf-on-primary);font-size:var(--nf-fs-2xs);font-weight:var(--nf-w-display-strong);position:sticky;top:0;z-index:2}
.tour-head-t{flex:1}
.tour-info{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:var(--nf-r-pill);border:2px solid currentColor;font-size:var(--nf-fs-2xs);font-weight:var(--nf-w-display-strong);cursor:help}
.tour-icon{min-width:32px;min-height:32px;border:0;border-radius:var(--nf-r-pill);background:transparent;color:var(--nf-on-primary);font-size:var(--nf-fs-md);cursor:pointer}
.tour-icon:hover{background:var(--nf-demo)}
.tour-body{padding:var(--nf-s3) var(--nf-s4) var(--nf-s3)}
.tour-panel h2{font-size:var(--nf-fs-lg);line-height:var(--nf-lh-tight);margin:var(--nf-s1) 0 var(--nf-s2);color:var(--nf-ink)}
.tour-kicker{font-size:var(--nf-fs-2xs);font-weight:var(--nf-w-display-strong);color:var(--nf-demo-strong);margin:0}
.tour-where{margin:var(--nf-s1) 0 0;font-size:var(--nf-fs-2xs);color:var(--nf-muted);font-weight:var(--nf-w-strong)}
.tour-rows{margin:0}
.tour-rows div{border-top:1px solid var(--nf-demo-line);padding:var(--nf-s2) 0}
.tour-rows dt{font-size:var(--nf-fs-2xs);font-weight:var(--nf-w-display-strong);color:var(--nf-demo-strong)}
.tour-rows dd{margin:2px 0 0;font-size:var(--nf-fs-sm);line-height:var(--nf-lh)}
.tour-lead{margin:0 0 var(--nf-s1);font-size:var(--nf-fs-sm);line-height:var(--nf-lh)}
.tour-link,.tour-status-link{display:inline-flex;align-items:center;min-height:32px;padding:0;border:0;background:transparent;color:var(--nf-demo-strong);font:inherit;font-size:var(--nf-fs-2xs);font-weight:var(--nf-w-display-strong);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.tour-hint{margin:var(--nf-s3) 0 0;font-size:var(--nf-fs-2xs);color:var(--nf-demo-strong);background:var(--nf-demo-bg);border-radius:var(--nf-r-sm);padding:var(--nf-s2)}
.tour-next{color:var(--nf-muted);margin:var(--nf-s2) 0 0;font-size:var(--nf-fs-2xs)}
.tour-act{margin:var(--nf-s2) 0 0}
.tour-act summary{font-size:var(--nf-fs-2xs);font-weight:var(--nf-w-strong);color:var(--nf-demo-strong)}
.tour-act ol{margin:var(--nf-s1) 0 0;padding-left:18px}
.tour-act li{margin:3px 0}

/* akce vždy dole přilepené, nad nimi řádek stavu (rozhodnutí 12) */
.tour-foot{position:sticky;bottom:0;z-index:2;background:var(--nf-demo-surface);border-top:1px solid var(--nf-demo-line);padding:var(--nf-s2) var(--nf-s4) var(--nf-s3);box-shadow:var(--nf-sh-bar)}
.tour-foot .tour-next{margin:0 0 var(--nf-s2)}
.tour-status{margin:0 0 var(--nf-s2);font-size:var(--nf-fs-2xs);color:var(--nf-demo-strong);font-weight:var(--nf-w-strong)}
.tour-status-link{display:flex;margin:0 0 var(--nf-s1)}
.tour-block{color:var(--nf-low-text)}
.tour-actions{display:flex;gap:var(--nf-s2);flex-wrap:wrap;align-items:center}
.tour-actions .btn{min-height:var(--nf-tap-desk);font-size:var(--nf-fs-xs);width:auto;flex:none}
.tour-actions .btn.primary{flex:1;min-height:44px}

/* ukazatel průběhu po scénářích (V1) */
.tour-progress{display:flex;gap:3px;margin-top:var(--nf-s3);height:6px}
.tour-progress span{flex:var(--n,1) 1 0;position:relative;border-radius:3px;background:var(--nf-demo-line);overflow:hidden}
.tour-progress span::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--pct,0%);background:var(--nf-demo-strong);transition:width var(--nf-t-slow) var(--nf-ease)}
.tour-progress span.appx{opacity:.6}

/* sbalený panel */
.tour-panel.tour-min{display:flex;align-items:center;gap:var(--nf-s2);flex-wrap:wrap;width:auto;max-width:min(560px,calc(100vw - 40px));padding:var(--nf-s2) var(--nf-s3);overflow:visible}
.tour-min-t{flex:1 1 160px;font-size:var(--nf-fs-2xs);font-weight:var(--nf-w-strong);color:var(--nf-ink)}
.tour-min .btn{width:auto;min-height:var(--nf-tap-desk);font-size:var(--nf-fs-2xs)}
.tour-min .tour-status-link{margin:0}

/* mimo příběh a konec ukázky: fialově (N6), ne barvou upozornění */
.tour-panel.tour-away,.tour-panel.tour-end{background:var(--nf-demo-bg)}
.tour-away .tour-foot,.tour-end .tour-foot{background:var(--nf-demo-bg)}

/* ---------- rozhodnutí garanta v panelu ---------- */
.garant{margin-top:var(--nf-s3);border-top:1px solid var(--nf-demo-line);padding-top:var(--nf-s2)}
.garant.decide{border-top:0;padding-top:0;margin-top:var(--nf-s2)}
.garant .gtitle{margin:var(--nf-s2) 0 0;font-size:var(--nf-fs-xs);color:var(--nf-ink)}
.garant .gcat{margin:var(--nf-s3) 0 var(--nf-s1);font-size:var(--nf-fs-2xs);color:var(--nf-demo-strong)}
.garant .gitem{border:1px solid var(--nf-demo-line);border-radius:var(--nf-r-md);margin-top:var(--nf-s2);background:var(--nf-surface);scroll-margin-top:48px}
.garant .gitem.gflash{animation:gFlash 1.6s var(--nf-ease) 1;border-color:var(--nf-demo-focus)}
.garant .gh{width:100%;display:flex;align-items:center;gap:var(--nf-s2);min-height:var(--nf-tap-desk);padding:var(--nf-s2) var(--nf-s3);border:0;background:transparent;text-align:left;font:inherit;font-weight:var(--nf-w-strong);color:var(--nf-ink);font-size:var(--nf-fs-xs);cursor:pointer}
.garant .gh .t{flex:1}
.garant .gh .chev{color:var(--nf-demo-strong)}
.garant .gb{padding:0 var(--nf-s3) var(--nf-s3)}
.garant .gb p{margin:var(--nf-s1) 0}
.garant .guide h4{color:var(--nf-demo-strong)}
.garant .gnote{background:var(--nf-demo-bg);color:var(--nf-demo-strong);border-radius:var(--nf-r-sm);padding:var(--nf-s2);font-size:var(--nf-fs-2xs);font-weight:var(--nf-w-strong)}
.garant .field{margin-top:var(--nf-s2)}
/* Schválit · Upravit · Zamítnout: tři rovnocenná tlačítka, plné jen vybrané (rozhodnutí 12) */
.gchoices{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--nf-s2);margin-top:var(--nf-s2)}
.tour-panel .gchoices .btn{width:100%;min-height:var(--nf-tap-desk);padding:var(--nf-s1) var(--nf-s2);font-size:var(--nf-fs-2xs)}
.tour-panel .gchoices .btn.on{background:var(--nf-demo-strong);color:var(--nf-on-primary)}
.tour-panel .gchoices .btn.gno.on{background:var(--nf-low-text);border-color:var(--nf-low-text)}
.gcounts{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--nf-s1);margin:var(--nf-s2) 0}
.gcounts div{background:var(--nf-surface);border:1px solid var(--nf-demo-line);border-radius:var(--nf-r-sm);padding:var(--nf-s2) var(--nf-s1);text-align:center}
.gcounts b{display:block;font-size:var(--nf-fs-lg);line-height:1.1;color:var(--nf-ink)}
.gcounts span{font-size:var(--nf-fs-2xs);color:var(--nf-muted)}
.tour-thanks{margin-top:var(--nf-s2);background:var(--nf-surface);border:1px solid var(--nf-demo-line);border-radius:var(--nf-r-md);padding:var(--nf-s3)}
.tour-thanks h3{margin:0 0 var(--nf-s1);font-size:var(--nf-fs-md);color:var(--nf-ink)}
.tour-thanks details{margin-top:var(--nf-s2)}
.tour-panel.tour-decide{border-color:var(--nf-demo-strong)}
@keyframes gFlash{0%{box-shadow:0 0 0 0 var(--nf-demo-glow)}40%{box-shadow:0 0 0 8px var(--nf-demo-glow)}100%{box-shadow:0 0 0 0 transparent}}

/* ---------- lékař a sestra: místo pro panel ---------- */
/* od 1561 px má panel vlastní sloupec; obsah ani spodní lišta pod něj nezasahují */
body.pres-panel.pres-doctor .desk,body.pres-panel.pres-nurse .desk{padding-right:calc(var(--nf-demo-panel-w) + 60px);max-width:none}
body.pres-panel.pres-doctor .nextbar,body.pres-panel.pres-nurse .nextbar{right:calc(var(--nf-demo-panel-w) + 40px)}
/* kontextový sloupec ordinace (od 1600 px, app/design.css) by s rozbaleným panelem kolidoval: skryje se; se sbaleným panelem se ukáže */
body.pres-panel .ctx{display:none}
body.pres-panel .app.wide{grid-template-columns:224px minmax(0,1fr)}
body.pres-panel .app.wide .nextbar{right:calc(var(--nf-demo-panel-w) + 40px)}
body.pres-nurse .phone-preview{zoom:.85}
/* 1100–1560 px (D2 z prověrky rozvržení): panel je překryvná zásuvka, plocha se nezužuje a registr zůstává ve dvou sloupcích */
@media (max-width:1560px){body.pres-panel.pres-doctor .desk,body.pres-panel.pres-nurse .desk{padding-right:var(--nf-s8)}}
/* pod 1100 px: panel dole přes celou šířku */
@media (max-width:1100px){
  .tour-panel{left:var(--nf-s2);right:var(--nf-s2);bottom:var(--nf-s2);top:auto;width:auto;max-height:50vh}
  body.pres-panel.pres-doctor .desk,body.pres-panel.pres-nurse .desk{padding-right:var(--nf-s4);padding-bottom:52vh}
  body.pres-panel.pres-doctor .nextbar,body.pres-panel.pres-nurse .nextbar,body.pres-panel .app.wide .nextbar{right:0}
  .tour-panel.tour-min{left:var(--nf-s2);right:var(--nf-s2);max-width:none}
}

/* ---------- telefon (pod 600 px; K3/K4 minimum) ---------- */
@media (max-width:600px){
  .pres-bar{flex-wrap:nowrap;gap:var(--nf-s2);padding:var(--nf-s1) var(--nf-s2)}
  .pres-bar .flag-long,.pres-bar .where,.pres-bar .bar-wide{display:none}
  .pres-bar .flag-short,.pres-bar .t-short{display:inline}
  .pres-bar .t-long{display:none}
  .pres-bar .bar-todo{flex:1;width:auto}
  .pres-bar .bar-more{display:inline-flex;width:auto;min-width:var(--nf-tap);font-size:var(--nf-fs-lg)}
  .tour-panel{left:0;right:0;bottom:0;border-radius:var(--nf-r-lg) var(--nf-r-lg) 0 0;border-width:2px 0 0;max-height:62vh}
  .tour-panel.tour-min{left:0;right:0;bottom:0;border-radius:var(--nf-r-lg) var(--nf-r-lg) 0 0}
  .tour-head{border-radius:0}
  .gcounts{grid-template-columns:repeat(2,1fr)}
  body.pres-patient #main{padding:0}
  body.pres-patient #main{background:var(--nf-bg);min-height:0}
  body.pres-panel.pres-doctor .desk,body.pres-panel.pres-nurse .desk{padding:var(--nf-s3) var(--nf-s3) 64vh}
}

/* ---------- zvýraznění kroku: vždy fialově, aby nikdy nečetlo jako stav (V6) ---------- */
.tour-focus{outline:3px solid var(--nf-demo-focus)!important;outline-offset:4px;border-radius:var(--nf-r-sm);animation:tourPulse 1.1s ease-in-out infinite;position:relative;z-index:2}
.tour-press{transform:scale(.96);filter:brightness(.93)}
.tour-watch{outline:3px dotted var(--nf-demo-focus)!important;outline-offset:5px;border-radius:var(--nf-r-md);animation:tourGlow 1.6s ease-out 2}
.tour-focus,.tour-watch{scroll-margin-top:90px}
@keyframes tourPulse{0%,100%{box-shadow:0 0 0 0 var(--nf-demo-glow)}50%{box-shadow:0 0 0 10px transparent}}
@keyframes tourGlow{0%{box-shadow:0 0 0 0 var(--nf-demo-glow)}100%{box-shadow:0 0 0 16px transparent}}

/* ---------- přehled scén (zásuvka) ---------- */
.drawerpanel hr{border:0;border-top:1px solid var(--nf-line);margin:var(--nf-s4) 0}
.drawerpanel .buttonlist{display:grid;gap:var(--nf-s1);margin:var(--nf-s2) 0}
.drawerpanel .buttonlist .btn{justify-content:flex-start;text-align:left;font-size:var(--nf-fs-xs);min-height:var(--nf-tap-desk)}
.drawerpanel .btn.selected{border:2px solid var(--nf-demo-strong);background:var(--nf-demo-bg)}
.pres-drawer h3{margin:var(--nf-s5) 0 var(--nf-s1);font-size:var(--nf-fs-md)}
.pres-drawer h4{margin:var(--nf-s3) 0 var(--nf-s1);font-size:var(--nf-fs-xs)}
.pres-drawer .scene-row{display:grid;grid-template-columns:22px 1fr auto;gap:var(--nf-s2);align-items:center;border-width:1px;font-weight:var(--nf-w-strong)}
.pres-drawer .scene-row .sr-s{font-size:var(--nf-fs-2xs);color:var(--nf-muted);font-weight:var(--nf-w-text)}
.pres-drawer .scene-row.done{border-color:var(--nf-demo-line)}
.pres-drawer .scene-row.done .sr-mark{color:var(--nf-ok-text)}
.pres-drawer .scene-row.here{background:var(--nf-demo-strong);color:var(--nf-on-primary)}
.pres-drawer .scene-row.here .sr-s{color:var(--nf-on-primary)}
.pres-drawer .scene-row.todo{border-color:var(--nf-demo-line);color:var(--nf-text)}
.pres-drawer .pres-tools{margin-top:var(--nf-s5)}
.pres-drawer .pres-confirm{margin-top:var(--nf-s2);background:var(--nf-low-bg);border-radius:var(--nf-r-sm);padding:var(--nf-s2) var(--nf-s3)}

@media (prefers-reduced-motion:reduce){.tour-focus,.tour-watch,.garant .gitem.gflash{animation:none}.tour-progress span::after{transition:none}}
@media print{.pres-bar,.tour-panel,.drawer{display:none!important}#main::before{content:"DEMO · syntetická data · není určeno pro léčbu";display:block;border:2px solid var(--nf-demo-strong);color:var(--nf-demo-strong);border-radius:var(--nf-r-sm);padding:var(--nf-s2) var(--nf-s3);margin:0 0 var(--nf-s4);font-weight:var(--nf-w-strong);font-size:var(--nf-fs-2xs)}}

/* ---------- stav ukládání rozhodnutí garanta ---------- */
.sync-badge{display:inline-flex;align-items:center;gap:var(--nf-s1);font-size:var(--nf-fs-2xs);font-weight:var(--nf-w-strong);padding:var(--nf-s1) var(--nf-s3);border-radius:var(--nf-r-pill);border:1px solid var(--nf-line);background:var(--nf-surface)}
.sync-badge.ok{color:var(--nf-ok-text);border-color:var(--nf-ok-bg)}
.sync-badge.warn{color:var(--nf-demo-strong);border-color:var(--nf-demo-line);background:var(--nf-demo-bg)}

/* ---------- přihlašovací stránka (demo/auth.js) a výsledky garanta (demo/results.js) ---------- */
.gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--nf-s6);background:var(--nf-bg)}
.gate-card{width:min(460px,100%);padding:var(--nf-s6) var(--nf-s8) var(--nf-s6)}
.gate-brand{display:flex;align-items:center;gap:var(--nf-s2);font-weight:var(--nf-w-display-strong);font-size:var(--nf-fs-lg);letter-spacing:var(--nf-track-tight);margin:0 0 var(--nf-s3)}
.gate h1{font-size:var(--nf-fs-xl);margin:var(--nf-s3) 0 var(--nf-s2)}
.gate .field{display:block;margin:var(--nf-s3) 0}
.gate .field span{display:block;font-size:var(--nf-fs-2xs);font-weight:var(--nf-w-strong);color:var(--nf-muted);margin-bottom:var(--nf-s1)}
.gate input{width:100%;box-sizing:border-box;min-height:var(--nf-tap);font:inherit;font-size:var(--nf-fs-md);padding:var(--nf-s2) var(--nf-s3);border:1px solid var(--nf-border-control);border-radius:var(--nf-r-sm);background:var(--nf-surface)}
.gate input:focus{outline:3px solid var(--nf-focus);outline-offset:2px}
.gate .error.soft{background:var(--nf-primary-tint);color:inherit;border-color:var(--nf-line)}
.gate .gate-device{display:none}
@media (max-width:700px){.gate .gate-device{display:block}.gate-card{padding:var(--nf-s5)}}
.stats{grid-template-columns:repeat(4,1fr);margin:var(--nf-s3) 0 var(--nf-s1)}
.stats .stat b{display:block;font-size:var(--nf-fs-xl);line-height:1.1;margin-bottom:2px}
.results .res{padding:var(--nf-s2) 0;border-top:1px solid var(--nf-line)}
.results .res-head{display:flex;gap:var(--nf-s2);align-items:flex-start;justify-content:space-between}
.results .res-head .tag{flex:none}
.results .res-comment{margin-top:var(--nf-s1);font-style:italic}
@media (max-width:700px){.stats{grid-template-columns:1fr 1fr}}

/* ---------- zamítnutá položka: oznámení na místě (jádro přes slot) a ve scéně (panel) ---------- */
.off-notice{display:flex;gap:var(--nf-s2);align-items:flex-start;background:var(--nf-low-bg);color:var(--nf-low-text);border:1px solid var(--nf-low);border-radius:var(--nf-r-sm);padding:var(--nf-s2) var(--nf-s3);margin:var(--nf-s2) 0;font-size:var(--nf-fs-xs);line-height:var(--nf-lh);text-align:left}
.off-notice .x{font-weight:var(--nf-w-display-strong);font-size:var(--nf-fs-lg);line-height:1.2}
.off-notice .btn{display:inline-flex;margin-top:var(--nf-s1);min-height:32px;width:auto}
.off-notice.compact{font-size:var(--nf-fs-2xs);padding:var(--nf-s2)}
.off-scene{margin:0 0 var(--nf-s2)}

/* v příběhu ovládá garant jen panel: obrazovka vlevo nereaguje na klepnutí (8. 10. 2026) */
body.pres-locked main{pointer-events:none}
body.pres-locked main .tour-focus{pointer-events:none}
/* tlačítka aplikace nekonkurují „Dál ▶“, dokud je obrazovka zamčená (K3); klepnutí ukázky se zvýrazní fialově */
body.pres-locked main .btn.primary:not(.tour-focus):not(.tour-press){filter:saturate(.35);opacity:.75}

/* ---------- úvodní obrazovka ukázky (demo/intro.js) ---------- */
.intro{max-width:1100px;margin:0;padding:var(--nf-s6) var(--nf-s8) var(--nf-s8)}
.intro-head h1{font-size:var(--nf-fs-h1-desk);margin:var(--nf-s1) 0 var(--nf-s2)}
.intro-head .lead{font-size:var(--nf-fs-md);line-height:var(--nf-lh);max-width:860px;margin:0 0 var(--nf-s2)}
.intro-device{display:none}
.intro-strip{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--nf-s2);margin:var(--nf-s4) 0 var(--nf-s2);padding:0}
.intro-strip li{display:flex;gap:var(--nf-s2);align-items:flex-start;background:var(--nf-surface);border-radius:var(--nf-r-md);box-shadow:var(--nf-sh-card);padding:var(--nf-s3);font-size:var(--nf-fs-xs);line-height:var(--nf-lh)}
.intro-strip .n{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:var(--nf-r-pill);background:var(--nf-demo-strong);color:var(--nf-on-primary);font-weight:var(--nf-w-display-strong)}
.intro-time{font-size:var(--nf-fs-xs);color:var(--nf-muted);margin:var(--nf-s2) 0 var(--nf-s3)}
.intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--nf-s3);margin-top:var(--nf-s3)}
.intro-grid h2{font-size:var(--nf-fs-lg);margin:0 0 var(--nf-s2)}
.intro-grid .card{padding:var(--nf-s4);margin-bottom:0}
.intro-steps,.intro-acts{margin:0;padding-left:20px;font-size:var(--nf-fs-xs);line-height:var(--nf-lh)}
.intro-steps li,.intro-acts li{margin:0 0 var(--nf-s1)}
.intro-acts .small{display:block}
.intro .pill{display:inline-block;border:2px solid var(--nf-demo-strong);color:var(--nf-demo-strong);border-radius:var(--nf-r-pill);padding:1px var(--nf-s2);font-weight:var(--nf-w-display-strong);font-size:var(--nf-fs-2xs);background:var(--nf-surface)}
.intro .appr.pend{cursor:default}
.intro-legend{display:flex;gap:var(--nf-s2);flex-wrap:wrap;align-items:center;margin-top:var(--nf-s2)}
.intro-sample{pointer-events:none;min-height:34px;padding:var(--nf-s1) var(--nf-s3);font-size:var(--nf-fs-2xs);width:auto}
.intro details{margin-top:var(--nf-s2)}
@media (max-width:1100px){.intro-grid,.intro-strip{grid-template-columns:1fr}.intro{padding-bottom:52vh}}
@media (max-width:700px){.intro-device{display:block}}
/* úvod je jen text: na šířkách s překryvným panelem mu místo pro panel necháme */
@media (min-width:1101px) and (max-width:1560px){body.pres-doctor .intro{padding-right:calc(var(--nf-demo-panel-w) + 40px)}}
@media (max-width:600px){.intro{padding:var(--nf-s3) var(--nf-s4) 64vh}}
