/* Verze: 1.1.7.2026.10.10.1650 */
/* Informační tabule – klinické hodnocení. Navrženo pro TV 1920×1080, škáluje podle výšky okna. */
:root {
    --bg: #eef3f6;
    --panel: #ffffff;
    --ink: #0f2230;
    --muted: #5b6b78;
    --line: #d8e1e7;
    --teal: #0e7a72;
    --blue: #1f6fd6;
    --side: #0f2230;
    --side-ink: #e8eef3;
    --side-muted: #8aa0b1;
    --soon: #f59e0b;
    --soon-bg: #fff4dc;
    --now: #dc2626;
    --now-bg: #fde8e8;
    --side-w: clamp(340px, 29vw, 620px);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: var(--h, calc(var(--u, 1vh) * 100)); }
body {
    background: var(--bg);
    color: var(--ink);
    font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: calc(var(--u, 1vh) * 1.6);
    display: grid;
    grid-template-columns: var(--side-w) 1fr;
    overflow: hidden;
    font-variant-numeric: tabular-nums;
}

/* ---------- boční sloupec ---------- */
.side {
    background: var(--side);
    color: var(--side-ink);
    display: flex;
    flex-direction: column;
    height: var(--h, calc(var(--u, 1vh) * 100));
    min-height: 0;
}
.side-head, .row {
    display: grid;
    grid-template-columns: 2.6em 4.4em 1fr 4.6em;
    font-variant-numeric: tabular-nums;
    align-items: center;
    gap: .6em;
    padding: 0 .9em;
}
.side-head {
    height: calc(var(--u, 1vh) * 4.2);
    font-size: calc(var(--u, 1vh) * 1.85);
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--side-muted);
    border-bottom: 1px solid rgba(255,255,255,.12);
    flex: none;
}
.side-head span { font-size: .7em; white-space: nowrap; }
.side-rows { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.row {
    flex: 1 1 0;
    min-height: 0;
    font-size: calc(var(--u, 1vh) * 1.85);
    border-bottom: 1px solid rgba(255,255,255,.06);
    transition: background .3s;
}
.row:nth-child(even) { background: rgba(255,255,255,.025); }
.row .num {
    font-weight: 800;
    text-align: center;
    background: rgba(255,255,255,.1);
    border-radius: .35em;
    line-height: 1.35;
}
.row .t { font-weight: 600; }
.row .a { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--side-ink); }
.r, .row .cd { text-align: right; }
.row .cd { font-weight: 700; color: var(--side-muted); }
.row.soon { background: var(--soon); color: #2b1a00; }
.row.soon .a, .row.soon .cd { color: #2b1a00; }
.row.soon .num { background: rgba(0,0,0,.15); }
.row.now { background: var(--now); color: #fff; animation: pulse 1s ease-in-out infinite alternate; }
.row.now .a, .row.now .cd { color: #fff; }
.row.now .num { background: rgba(0,0,0,.2); }
.row.done, .row.out { opacity: .35; }
.row.out .a { font-style: italic; }

@keyframes pulse { from { filter: brightness(1); } to { filter: brightness(1.18); } }

/* ---------- hlavní část ---------- */
.main {
    height: var(--h, calc(var(--u, 1vh) * 100));
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto;
    gap: calc(var(--u, 1vh) * 1.6);
    padding: calc(var(--u, 1vh) * 1.6) 2vw;
    min-width: 0;
}

.top {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 2vw;
    background: var(--panel);
    border-radius: calc(var(--u, 1vh) * 1.2);
    padding: calc(var(--u, 1vh) * 1.3) 1.6vw;
    box-shadow: 0 1px 2px rgba(15,34,48,.06);
}
.study { min-width: 0; }
.study-title { font-size: calc(var(--u, 1vh) * 2.8); line-height: 1.15; }
.study-title b { color: var(--teal); }
.study-kind { font-size: calc(var(--u, 1vh) * 1.6); color: var(--muted); }
.study-sub { font-size: calc(var(--u, 1vh) * 1.8); color: var(--muted); margin-top: calc(var(--u, 1vh) * .3); }
.study-sub b { color: var(--ink); }
.brand { display: flex; align-items: center; gap: .8vw; min-width: 0; }
.brand-quinta { justify-content: center; }
.brand-rescue { justify-content: flex-end; }
.logo-quinta { height: calc(var(--u, 1vh) * 5.4); width: auto; }
.logo-rescue { height: calc(var(--u, 1vh) * 6.4); width: auto; max-width: 100%; object-fit: contain; }
.star { height: calc(var(--u, 1vh) * 6); width: calc(var(--u, 1vh) * 6); flex: none; }
.brand-txt { display: flex; flex-direction: column; line-height: 1.1; }
.brand-txt.r { text-align: right; }
.brand-txt b { font-size: calc(var(--u, 1vh) * 2.6); color: var(--blue); letter-spacing: .02em; }
.brand-txt span { font-size: calc(var(--u, 1vh) * 1.6); color: var(--muted); }
.brand-quinta .brand-txt b { color: var(--teal); }

.clock-wrap {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 2.4vw;
}
.clock {
    font-size: calc(var(--u, 1vh) * 15);
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: .95;
    color: var(--ink);
}
.clock-side { display: flex; flex-direction: column; gap: calc(var(--u, 1vh) * 1); min-width: 0; }
.date { font-size: calc(var(--u, 1vh) * 3); color: var(--muted); }
.banners { display: flex; flex-wrap: wrap; gap: calc(var(--u, 1vh) * .8); }
.banner {
    font-size: calc(var(--u, 1vh) * 1.9);
    font-weight: 600;
    padding: calc(var(--u, 1vh) * .6) 1vw;
    border-radius: calc(var(--u, 1vh) * .8);
    border-left: calc(var(--u, 1vh) * .5) solid;
}
.b-warn { background: var(--soon-bg); border-color: var(--soon); color: #6b4300; }
.b-info { background: #e3eefc; border-color: var(--blue); color: #10407f; }

h2 {
    font-size: calc(var(--u, 1vh) * 2.2);
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--muted);
    margin-bottom: calc(var(--u, 1vh) * 1);
}
h2 small { text-transform: none; letter-spacing: 0; font-weight: 400; margin-left: .6em; }

.now-wrap { display: flex; flex-direction: column; min-height: 0; }
.cards {
    flex: 1;
    min-height: 0;
    display: grid;
    gap: calc(var(--u, 1vh) * 1.2);
    grid-auto-rows: minmax(0, 1fr);
    align-content: start;
    overflow: hidden;
}
.cards[data-count="1"] { grid-template-rows: minmax(0, calc(var(--u, 1vh) * 28)); }
.cards[data-count="4"], .cards[data-count="5"], .cards[data-count="6"] { grid-template-columns: 1fr 1fr; }

.card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1.6vw;
    background: var(--panel);
    border-radius: calc(var(--u, 1vh) * 1.4);
    padding: calc(var(--u, 1vh) * 1.4) 1.6vw;
    border-left: calc(var(--u, 1vh) * 1) solid var(--soon);
    box-shadow: 0 2px 8px rgba(15,34,48,.07);
    min-height: 0;
}
.card.now { border-left-color: var(--now); background: var(--now-bg); animation: pulse 1s ease-in-out infinite alternate; }
.card.is-dose { border-left-color: var(--teal); }
.card.is-dose.now { background: #dff3f0; }
.c-num {
    font-size: calc(var(--u, 1vh) * 9);
    font-weight: 800;
    line-height: 1;
    text-align: center;
    color: var(--ink);
    min-width: 1.6em;
}
.c-num small { display: block; font-size: calc(var(--u, 1vh) * 1.5); font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); margin-bottom: calc(var(--u, 1vh) * .4); }
.c-body { min-width: 0; }
.c-title { font-size: calc(var(--u, 1vh) * 3.4); font-weight: 700; margin-bottom: calc(var(--u, 1vh) * .8); }
.c-tags { display: flex; flex-wrap: wrap; gap: calc(var(--u, 1vh) * .6); }
.tag {
    font-size: calc(var(--u, 1vh) * 1.8);
    font-weight: 600;
    padding: calc(var(--u, 1vh) * .35) .8vw;
    border-radius: 99px;
    background: #eef2f5;
    color: var(--ink);
}
.tag-podani { background: #f6d5d5; color: #8c1d1d; }
.tag-odber  { background: #fbf1c7; color: #6a5300; }
.tag-vys    { background: #d9e8f5; color: #154a7a; }
.tag-dotaz  { background: #e4e1f2; color: #3f3682; }
.tag-ost    { background: #fde7c2; color: #7a4a00; }
.tag-tek    { background: #dbe5ee; color: #2c4a63; }
.tag-str    { background: #dcefd6; color: #2e5a20; }
.c-time { text-align: right; }
.c-at { font-size: calc(var(--u, 1vh) * 2.6); color: var(--muted); font-weight: 600; }
.c-cd { font-size: calc(var(--u, 1vh) * 7); font-weight: 800; line-height: 1; color: #a45f00; }
.card.now .c-cd { color: var(--now); }

/* menší karty, když jich je víc */
.cards[data-count="3"] .c-num, .cards[data-count="4"] .c-num,
.cards[data-count="5"] .c-num, .cards[data-count="6"] .c-num { font-size: calc(var(--u, 1vh) * 6); }
.cards[data-count="3"] .c-cd, .cards[data-count="4"] .c-cd,
.cards[data-count="5"] .c-cd, .cards[data-count="6"] .c-cd { font-size: calc(var(--u, 1vh) * 4.6); }
.cards[data-count="4"] .c-title, .cards[data-count="5"] .c-title,
.cards[data-count="6"] .c-title { font-size: calc(var(--u, 1vh) * 2.6); }

.empty {
    background: var(--panel);
    border-radius: calc(var(--u, 1vh) * 1.4);
    padding: calc(var(--u, 1vh) * 4) 2vw;
    font-size: calc(var(--u, 1vh) * 2.6);
    color: var(--muted);
    text-align: center;
}
.empty.small { padding: calc(var(--u, 1vh) * 1); font-size: calc(var(--u, 1vh) * 1.8); }

.next {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--u, 1vh) * .6) 1.6vw;
}
.n-row {
    display: grid;
    grid-template-columns: 4.6em 2.6em 1fr 5.4em;
    gap: .8em;
    align-items: center;
    background: var(--panel);
    border-radius: calc(var(--u, 1vh) * .8);
    padding: calc(var(--u, 1vh) * .7) 1vw;
    font-size: calc(var(--u, 1vh) * 2);
}
.n-t { font-weight: 700; }
.n-s { font-weight: 800; text-align: center; background: #e6edf2; border-radius: .35em; }
.n-a { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.n-cd { text-align: right; color: var(--muted); font-weight: 700; }

.foot {
    display: flex;
    justify-content: space-between;
    gap: 2vw;
    font-size: calc(var(--u, 1vh) * 1.35);
    color: var(--muted);
}
.foot .sim, .is-sim .clock { color: #b45309; }

/* menší / na výšku */
}

/* hustší karty při více souběžných akcích */
.tag { white-space: nowrap; }
.cards[data-count="3"] .card, .cards[data-count="4"] .card,
.cards[data-count="5"] .card, .cards[data-count="6"] .card { padding: calc(var(--u, 1vh) * 1) 1.2vw; gap: 1.2vw; }
.cards[data-count="3"] .c-title, .cards[data-count="4"] .c-title,
.cards[data-count="5"] .c-title, .cards[data-count="6"] .c-title { margin-bottom: calc(var(--u, 1vh) * .5); }
.cards[data-count="4"] .tag, .cards[data-count="5"] .tag, .cards[data-count="6"] .tag { font-size: calc(var(--u, 1vh) * 1.5); padding: calc(var(--u, 1vh) * .25) .6vw; }
.cards[data-count="4"] .c-tags, .cards[data-count="5"] .c-tags, .cards[data-count="6"] .c-tags { gap: calc(var(--u, 1vh) * .4); }
.cards[data-count="5"] .c-num, .cards[data-count="6"] .c-num { font-size: calc(var(--u, 1vh) * 4.6); }
.cards[data-count="5"] .c-cd, .cards[data-count="6"] .c-cd { font-size: calc(var(--u, 1vh) * 3.6); }
.cards[data-count="5"] .c-title, .cards[data-count="6"] .c-title { font-size: calc(var(--u, 1vh) * 2.2); }
.cards[data-count="5"] .c-num small, .cards[data-count="6"] .c-num small { display: none; }

/* hlavní akce = velké štítky, doplňkové info = malý řádek */
.c-main { display: flex; flex-wrap: wrap; gap: calc(var(--u, 1vh) * .8); }
.act {
    font-size: calc(var(--u, 1vh) * 3.2);
    font-weight: 800;
    padding: calc(var(--u, 1vh) * .5) 1vw;
    border-radius: calc(var(--u, 1vh) * 1);
    white-space: nowrap;
    line-height: 1.15;
}
.act-podani { background: #0e7a72; color: #fff; text-transform: uppercase; letter-spacing: .03em; }
.act-odber  { background: #fbe7b0; color: #5b4300; }
.act-vys    { background: #d3e4f6; color: #123f6b; }
.c-extra { display: flex; flex-wrap: wrap; gap: calc(var(--u, 1vh) * .4) 1.2vw; margin-top: calc(var(--u, 1vh) * 1); }
.ex { font-size: calc(var(--u, 1vh) * 1.8); color: var(--muted); white-space: nowrap; }
.ex::before { content: ""; display: inline-block; width: .55em; height: .55em; border-radius: 50%; margin-right: .45em; vertical-align: .1em; background: currentColor; opacity: .6; }
.ex-ost { color: #8a5300; }
.ex-tek { color: #2c4a63; }
.ex-str { color: #2e5a20; }

.cards[data-count="3"] .act { font-size: calc(var(--u, 1vh) * 2.6); }
.cards[data-count="4"] .act, .cards[data-count="5"] .act, .cards[data-count="6"] .act { font-size: calc(var(--u, 1vh) * 2); padding: calc(var(--u, 1vh) * .35) .7vw; }
.cards[data-count="4"] .c-main, .cards[data-count="5"] .c-main, .cards[data-count="6"] .c-main { gap: calc(var(--u, 1vh) * .5); }
.cards[data-count="4"] .ex, .cards[data-count="5"] .ex, .cards[data-count="6"] .ex { font-size: calc(var(--u, 1vh) * 1.5); }
.cards[data-count="4"] .c-extra, .cards[data-count="5"] .c-extra, .cards[data-count="6"] .c-extra { margin-top: calc(var(--u, 1vh) * .5); }

/* doladění záhlaví a karet */
.top { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); padding: calc(var(--u, 1vh) * 1.1) 1.6vw; }
.study-title, .study-kind, .study-sub { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.logo-quinta { height: calc(var(--u, 1vh) * 4.6); }
.logo-rescue { height: calc(var(--u, 1vh) * 6.2); }
.c-body { overflow: hidden; }
.act { white-space: normal; }
.c-time { flex: none; }

/* Quinta nahoře, Rescue team v patičce */
.top { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.top::after { content: ""; }
.foot { align-items: center; }
.foot-txt { display: flex; flex-direction: column; gap: calc(var(--u, 1vh) * .2); min-width: 0; }
.foot .brand-rescue { flex: none; gap: .5vw; }
.foot .logo-rescue { height: calc(var(--u, 1vh) * 3.6); }
.foot .star { height: calc(var(--u, 1vh) * 3.2); width: calc(var(--u, 1vh) * 3.2); }
.foot .brand-txt b { font-size: calc(var(--u, 1vh) * 1.6); }
.foot .brand-txt span { font-size: calc(var(--u, 1vh) * 1.2); }
.ex { white-space: normal; }

/* ---------- záhlaví v2 ---------- */
.top {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3vw;
    padding: calc(var(--u, 1vh) * 1.4) 2vw calc(var(--u, 1vh) * 1.4) 1.8vw;
    border-radius: calc(var(--u, 1vh) * 1.4);
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(15,34,48,.07);
}
.top::before {
    content: "";
    position: absolute; left: 0; top: 0; bottom: 0;
    width: calc(var(--u, 1vh) * .7);
    background: linear-gradient(180deg, var(--teal), #13a397);
}
.top::after { display: none; }
.study { display: flex; flex-direction: column; gap: calc(var(--u, 1vh) * .5); }
.study-kicker {
    font-size: calc(var(--u, 1vh) * 1.45);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--teal);
}
.study-title { display: flex; align-items: baseline; gap: 1.2vw; line-height: 1; }
.study-title b { font-size: calc(var(--u, 1vh) * 4.4); font-weight: 800; color: var(--ink); letter-spacing: -.01em; }
.study-place { font-size: calc(var(--u, 1vh) * 2); color: var(--muted); }
.study-sub { display: flex; flex-wrap: wrap; gap: .6vw; margin-top: calc(var(--u, 1vh) * .3); }
.pill {
    display: inline-flex; align-items: center; gap: .6vw;
    font-size: calc(var(--u, 1vh) * 1.65); font-weight: 600;
    padding: calc(var(--u, 1vh) * .35) .9vw;
    border-radius: 99px;
    background: #eef3f6;
    color: var(--ink);
}
.pill-faze { background: #e2f3f1; color: #0b5f59; }
.pill-den { background: var(--teal); color: #fff; }
.dots { display: inline-flex; gap: .3vw; }
.dots i { width: calc(var(--u, 1vh) * .9); height: calc(var(--u, 1vh) * .9); border-radius: 50%; background: rgba(11,95,89,.22); }
.dots i.done { background: rgba(11,95,89,.55); }
.dots i.cur { background: #0b5f59; box-shadow: 0 0 0 calc(var(--u, 1vh) * .25) rgba(14,122,114,.25); }
.brand-quinta {
    justify-content: flex-end;
    padding-left: 3vw;
    border-left: 1px solid var(--line);
    align-self: stretch;
}
.logo-quinta { height: calc(var(--u, 1vh) * 5.2); }

/* ---------- dynamické přizpůsobení (velikost řádků počítá board.js) ---------- */
body { overflow: hidden; }
.side-rows { display: grid; grid-auto-flow: column; overflow: hidden; font-size: inherit; }
.row { min-height: 0; overflow: hidden; font-size: inherit; }
.side { font-size: 14px; }
.side-head { font-size: inherit; height: 2.2em; }

/* na výšku: nahoře hlavní část, dole subjekty ve více sloupcích */
body.portrait { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); }
body.portrait .main { height: calc(var(--u, 1vh) * 88); order: 1; }
body.portrait .side { height: auto; min-height: 0; order: 2; }
body.portrait .side-head { display: none; }
body.portrait .side-rows { column-gap: 2px; }
body.portrait .next-wrap { display: none; }
body.portrait .row:nth-child(even):not(.soon):not(.now) { background: transparent; }

/* neviditelné video proti spořiči (splývá s tmavým rohem bočního sloupce) */
.keepawake { position: fixed; left: 0; bottom: 0; width: 4px; height: 4px; opacity: .02; pointer-events: none; z-index: -1; }

/* „Následuje“ – mřížka 3×3, větší dlaždice */
.next { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(var(--u, 1vh) * .8) 1vw; }
.n-row {
    grid-template-columns: auto auto 1fr;
    grid-template-areas: "s t cd" "s a a";
    column-gap: .6em;
    row-gap: .1em;
    padding: calc(var(--u, 1vh) * .7) .9vw;
    font-size: calc(var(--u, 1vh) * 2.3);
    border-radius: calc(var(--u, 1vh) * 1);
}
.n-s { grid-area: s; align-self: stretch; display: flex; align-items: center; justify-content: center;
       min-width: 2.1em; font-size: 1.5em; border-radius: .3em; }
.n-t { grid-area: t; font-size: 1.05em; }
.n-cd { grid-area: cd; font-size: 1.05em; }
.n-a { grid-area: a; font-size: .85em; color: var(--muted); }

/* velký odpočet přes oba řádky; .compact = původní tvar, když je text akce dlouhý */
.n-row { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "s t cd" "s a cd"; }
.n-row .n-cd { font-size: 2.1em; line-height: 1; align-self: center; color: var(--ink); }
.n-row.compact { grid-template-columns: auto auto 1fr; grid-template-areas: "s t cd" "s a a"; }
.n-row.compact .n-cd { font-size: 1.05em; align-self: auto; color: var(--muted); }
