/* Helpdesk · denní přehled — stránka portálu i TV zóna (FCH 25. 9. 2026) */
.hd { --hd-green: #22B573; --hd-green-d: #157A4C; --hd-orange: #D98A00; --hd-red: #D32F2F;
      --hd-ink: #1E1E1E; --hd-mut: #747473; --hd-g1: #F2F0EC; --hd-line: #E4E2DE;
      font-size: 14px; color: var(--hd-ink); display: flex; flex-direction: column; gap: 1em; min-width: 0; }
.hd-tv { font-size: 1.9rem; padding: 1.4em 1.6em; box-sizing: border-box; height: 100%; gap: 0.8em; }
.hd-top { display: flex; justify-content: space-between; align-items: center; gap: 1em; flex-wrap: wrap; }
.hd-okno { font-weight: 700; font-size: 1.25em; }
.hd-okno span { color: var(--hd-mut); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.72em;
                margin-right: 0.4em; }
.hd-akt { color: var(--hd-mut); font-size: 0.95em; white-space: nowrap; }
.hd-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.8em; }
.hd-tile { background: var(--hd-g1); border-radius: 0.6em; padding: 0.7em 1em; border-top: 0.3em solid var(--hd-mut); min-width: 0; }
.hd-tile-n { font-size: 2.6em; font-weight: 700; line-height: 1.05; }
.hd-tile-t { font-size: 0.85em; color: var(--hd-mut); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em;
             white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hd-t-all { border-top-color: #4A7FB5; } .hd-t-all .hd-tile-n { color: #4A7FB5; }
.hd-t-ok { border-top-color: var(--hd-green); } .hd-t-ok .hd-tile-n { color: var(--hd-green-d); }
.hd-t-serv { border-top-color: var(--hd-orange); } .hd-t-serv .hd-tile-n { color: var(--hd-orange); }
.hd-t-jiny { border-top-color: #C8C7C4; } .hd-t-jiny .hd-tile-n { color: var(--hd-mut); }
.hd-tab-wrap { overflow: auto; min-height: 0; }
.hd-tab { width: 100%; border-collapse: collapse; font-size: 0.95em; }
.hd-tab th { text-align: left; font-size: 0.8em; text-transform: uppercase; letter-spacing: 0.04em; color: var(--hd-green-d);
             border-bottom: 2px solid var(--hd-green); padding: 0.45em 0.6em; white-space: nowrap; position: sticky; top: 0;
             background: #fff; }
.hd-tab td { padding: 0.35em 0.6em; border-bottom: 1px solid var(--hd-line); vertical-align: top; }
.hd-tab tbody tr:nth-child(even) td { background: #FAF9F6; }
.hd-c-cislo, .hd-c-dat { white-space: nowrap; font-variant-numeric: tabular-nums; }
.hd-c-cislo a { color: var(--hd-green-d); font-weight: 600; text-decoration: none; }
.hd-c-cislo a:hover { text-decoration: underline; }
.hd-cerveny { color: var(--hd-red); font-weight: 600; }
.hd-jiny-res { background: #FFE3A6 !important; font-weight: 600; border-radius: 0.2em; }
.hd-st-ok { color: var(--hd-green-d); font-weight: 600; }
.hd-st-serv { color: var(--hd-orange); font-weight: 600; }
.hd-st-jiny { color: var(--hd-mut); }
.hd-prio-v { color: var(--hd-red); font-weight: 600; }
.hd-leg { font-size: 0.8em; color: var(--hd-mut); }
.hd-leg .hd-jiny-res { padding: 0 0.3em; }
.hd-prazdne { padding: 2em; text-align: center; color: var(--hd-mut); background: var(--hd-g1); border-radius: 0.6em; }
.hd-tv .hd-tab-wrap { overflow: hidden; flex: 1 1 auto; }
.hd-tv.hd-mer { height: auto; }
.hd-tv.hd-mer .hd-tab-wrap { overflow: visible; flex: none; }
.hd-tab td { white-space: nowrap; }
.hd-tab td.hd-c-naz { white-space: normal; }
.hd-tv .hd-tab td.hd-c-naz, .hd-tv .hd-tab td.hd-c-zak { overflow: hidden; text-overflow: ellipsis; max-width: 22em; }
@media (max-width: 800px) {
  .hd-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* stránka portálu */
.hd-page { padding: 20px 24px; max-width: 1600px; }
.hd-spravci { max-width: 720px; }

/* TV zóna Helpdesk — technici (FCH 25. 9. 2026) */
.hdt { font-size: 1.9rem; padding: 1.4em 1.6em; box-sizing: border-box; color: #1E1E1E; }
.hdt.hd-mer { height: auto; }
.hdt-t { font-weight: 700; font-size: 1.6em; }
.hdt-d { font-weight: 600; margin-top: 0.3em; }
.hdt-leg { display: flex; flex-wrap: wrap; gap: 0.3em 1.2em; font-size: 0.72em; color: #52514e; margin: 0.5em 0 0.7em; }
.hdt-leg span { display: flex; align-items: center; gap: 0.35em; }
.hdt-leg .hdt-k { width: 1.3em; height: 1.3em; }
.hdt-r { padding: 0.45em 0; border-bottom: 1px solid #EEECE8; }
.hdt-n { display: flex; justify-content: space-between; gap: 1em; font-weight: 600; }
.hdt-n b { color: #747473; font-weight: 600; white-space: nowrap; }
.hdt-c { display: flex; flex-wrap: wrap; gap: 0.1em 0.3em; margin-top: 0.25em; }
.hdt-p { display: flex; flex-direction: column; align-items: center; width: 1.25em; }
.hdt-hv { font-style: normal; color: #D32F2F; font-size: 0.95em; line-height: 1; height: 1em; }
.hdt-hv-leg { font-size: 1.2em; height: auto; }
.hdt-k { width: 1.25em; height: 1.25em; flex-shrink: 0; }

/* popisek dní + poznámka o 14:00 (FCH 25. 9.) */
.hd-stitek { font-style: normal; font-weight: 700; padding: 0.08em 0.45em; border-radius: 0.3em; margin-right: 0.3em; }
.hd-st-dnes { background: #E3F5EC; color: #157A4C; }
.hd-st-pred { background: #FFF1D6; color: #9A6200; }
.hd-pozn { font-size: 0.62em; font-weight: 400; color: #747473; margin-top: 0.25em; }
.hdt .hd-pozn { font-size: 0.7em; }

/* značka nevyřešeného požadavku u řešitele v tabulce (FCH 1. 10.) */
.hd-zn { display: inline-flex; align-items: center; justify-content: center; width: 1.05em; margin-right: 0.3em;
         vertical-align: -0.12em; color: #D32F2F; font-weight: 700; }
.hd-zn .hdt-k { width: 0.95em; height: 0.95em; }
.hd-zn-hv { font-size: 1.05em; line-height: 1; }

/* Servis → Helpdesk — plánování (FCH 8. 10. 2026) — klikací verze přehledu */
.hdp { display: grid; grid-template-columns: minmax(320px, 1fr) 2.7fr; gap: 14px; align-items: start; max-width: none; }
.hdp-left { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 12px; height: calc(100vh - 130px); min-height: 520px; }
.hdp-card { background: #fff; border: 1px solid #E4E2DE; border-radius: 10px; padding: 14px 16px; min-width: 0; }
.hdp-left .hdp-card { overflow: auto; min-height: 0; }
.hdp-tech { flex: 2 1 0; }             /* FCH 8. 10.: technici 2/3, nepřeplánované 1/3 */
.hdp-back { flex: 1 1 0; }
.hdp-ct { font-weight: 700; font-size: 16px; display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.hdp-ct small { font-weight: 600; color: #747473; font-size: 11.5px; white-space: nowrap; }
.hdp-sub { color: #747473; font-size: 11.5px; margin: 3px 0 6px; }
.hdp-leg { font-size: 11.5px; margin: 6px 0 4px; }
.hdp-leg .hdt-k { width: 15px; height: 15px; }
.hdp-tr { padding: 7px 6px; border-bottom: 1px solid #EEECE8; border-radius: 6px; transition: opacity .15s; }
.hdp-tn { display: flex; justify-content: space-between; gap: 8px; font-weight: 600; cursor: pointer; }
.hdp-tn:hover span, .hdp-nm[data-tech]:hover { text-decoration: underline; }
.hdp-tn b { color: #747473; font-weight: 600; }
.hdp-tr .hdt-c { gap: 2px 5px; margin-top: 4px; }
.hdp-p { width: 19px; cursor: pointer; border-radius: 4px; }
.hdp-p:hover { background: #F2F0EC; }
.hdp-p .hdt-k { width: 17px; height: 17px; }
.hdp-p .hdt-hv { font-size: 12px; height: 12px; }
.hdp-dim { opacity: .28; }
.hdp-sel { background: #E3F5EC; }
.hdp-br { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: center; padding: 7px 6px; border-bottom: 1px solid #EEECE8; border-radius: 6px; }
.hdp-nm { font-weight: 600; }
.hdp-nm[data-tech] { cursor: pointer; }
.hdp-celk { border-bottom: 0; } .hdp-celk .hdp-nm { color: #747473; }
.hdp-num { font: inherit; font-weight: 700; font-size: 15px; min-width: 36px; padding: 2px 8px; border-radius: 6px; background: #F2F0EC; border: 0; cursor: pointer; }
.hdp-num:hover { outline: 2px solid #D98A00; }
.hdp-vyk { font: inherit; font-weight: 700; font-size: 12.5px; color: #fff; background: #D32F2F; border-radius: 6px; padding: 3px 7px; border: 0; cursor: pointer; min-width: 42px; text-align: center; }
.hdp-nula { background: transparent; color: #bbb; cursor: default; }
.hdp-r { color: #D32F2F; }
.hdp-ok0 { color: #157A4C; font-weight: 600; font-size: 13px; padding: 10px 6px; }
.hdp-right { padding: 16px 18px; }
.hdp-right .hd-tab tbody tr { cursor: pointer; }
.hdp-right .hd-tab tbody tr:hover td { background: #EEF8F2; }
.hdp-cis { color: #157A4C; font-weight: 600; }
.hdp-filtr { display: flex; align-items: center; gap: 8px; background: #E3F5EC; color: #157A4C; font-weight: 600; border-radius: 20px; padding: 4px 6px 4px 12px; font-size: 12.5px; }
.hdp-filtr button { border: 0; background: #fff; border-radius: 50%; width: 22px; height: 22px; cursor: pointer; color: #157A4C; font-weight: 700; }
.hdp-ulozeno { color: #157A4C; font-weight: 700; }
/* dialog leží mimo .hd → stejné barevné proměnné (stav, priorita) */
.hdp-ov { --hd-green: #22B573; --hd-green-d: #157A4C; --hd-orange: #D98A00; --hd-red: #D32F2F; --hd-mut: #747473; }
.hdp-ov { position: fixed; inset: 0; background: rgba(30,30,30,.35); align-items: flex-start; justify-content: center; padding-top: 8vh; z-index: 1000; }
.hdp-dlg { background: #fff; border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,.25); width: min(580px, 94vw); max-height: 84vh; overflow: auto; font-size: 14px; color: #1E1E1E; }
.hdp-dlg.hdp-wide { width: min(1100px, 96vw); }
.hdp-dh { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 16px 18px 10px; border-bottom: 1px solid #E4E2DE; }
.hdp-dh h3 { margin: 6px 0 0; font-size: 17px; }
.hdp-dhk { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.hdp-dhk .hdt-k { width: 18px; height: 18px; }
.hdp-x { border: 0; background: #F2F0EC; border-radius: 50%; width: 28px; height: 28px; cursor: pointer; font-size: 15px; flex-shrink: 0; }
.hdp-db { padding: 12px 18px 18px; }
.hdp-db dl { display: grid; grid-template-columns: 150px 1fr; gap: 7px 12px; margin: 0 0 14px; }
.hdp-db dt { color: #747473; font-size: 12px; padding-top: 1px; }
.hdp-db dd { margin: 0; font-weight: 600; }
.hdp-ed { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; background: #F2F0EC; padding: 10px 12px; border-radius: 8px; }
.hdp-ed label { font-size: 12px; color: #747473; font-weight: 600; }
.hdp-ed input { font: inherit; font-size: 13.5px; padding: 5px 8px; border: 1px solid #cfcdc8; border-radius: 6px; background: #fff; }
.hdp-ed-k { background: none; padding: 0; flex-wrap: nowrap; }
.hdp-ed-k input { font-size: 12.5px; padding: 3px 6px; }
.hdp-ed .tva-btn { white-space: nowrap; }
.hdp-ed .hdp-smazat { margin-left: auto; color: #B3261E; border-color: #e3b5b1; background: #fff; }
.hdp-ed .hdp-smazat.hdp-potvrd { background: #B3261E; color: #fff; border-color: #B3261E; }
.hdp-tdt { white-space: nowrap; }
.hdp-ro { font-size: 12px; color: #747473; }
.hdp-akce { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.hdp-akce a { text-decoration: none; }
.hdp-chip { display: inline-block; white-space: nowrap; font-size: 10.5px; font-weight: 700; padding: 1px 6px; border-radius: 4px; }
.hdp-chip-r { background: #FDE3E3; color: #D32F2F; }
.hdp-chip-o { background: #FFF1D6; color: #9A6200; }
.hdp-toast { position: fixed; bottom: 22px; left: 50%; transform: translateX(-50%); background: #1E1E1E; color: #fff; padding: 10px 16px; border-radius: 8px; font-size: 13px; display: none; z-index: 1100; max-width: 90vw; }
.hdp-toast b { color: #7be0ae; }
.hdp-toast-err { background: #8E1C1C; }
@media (max-width: 1100px) { .hdp { grid-template-columns: 1fr; } .hdp-left { position: static; height: auto; } }
/* FCH 9. 10.: pravá část je užší než stránka přehledu — zákazník a název se zalamují,
   ostatní sloupce zůstávají na jednom řádku a vejdou se */
.hdp .hd-tab td.hd-c-zak, .hdp .hd-tab td.hd-c-naz { white-space: normal; }
.hdp .hd-tab td.hd-c-zak { min-width: 11em; max-width: 18em; }
.hdp .hd-tab td.hd-c-naz { min-width: 15em; }
.hdp-dlg .hd-tab td.hd-c-naz { white-space: normal; min-width: 14em; }
/* FCH 9. 10.: .main má overflow hidden → sekce Servis roluje sama (jako #view-tv);
   na stránce plánování má pravá karta výšku okna a tabulka roluje uvnitř
   (hlavička a dlaždice zůstanou vidět, stejně jako levé karty) */
#view-servis { flex: 1; min-height: 0; overflow: auto; }
.hdp-right { position: sticky; top: 12px; height: calc(100vh - 130px); min-height: 520px; display: flex; flex-direction: column; }
.hdp-right > .hd { flex: 1 1 auto; min-height: 0; }
.hdp-right .hdp-tab { flex: 1 1 auto; min-height: 0; overflow: auto; }
@media (max-width: 1100px) { .hdp-right { position: static; height: auto; } }
