/* RISEduct HQ F1 (27. 10. 2026) - farby a písmo podľa faktu ai-growth-integrator/fakty/riseduct-logo-varianty-pravidla-subory:
   Charcoal #373736, Champagne Gold #C0A46E, #F5F5F5, tile na tmavom #4A4A48, písmo Sora. Svetlý aj tmavý režim, mobil od 360 px. */
.hq {
  --hq-bg: #F5F5F5; --hq-plocha: #FFFFFF; --hq-text: #373736; --hq-tlmene: #6B6B68; --hq-ramcek: #E2E0DA;
  --hq-zlata: #C0A46E; --hq-zlata-text: #7A6334; --hq-akcent-bg: #F4EEE2;
  --hq-ok: #1F7A4D; --hq-ok-bg: #E6F4EC; --hq-chyba: #9B1C1C; --hq-chyba-bg: #FDF0F0; --hq-pozor: #8A5A00; --hq-pozor-bg: #FFF4DB;
  --hq-pismo: "Sora", "Instrument Sans", Helvetica, Arial, sans-serif;
  background: var(--hq-bg); color: var(--hq-text); font-family: var(--hq-pismo); min-height: 70vh; padding-bottom: 48px;
}
.hq[data-hq-tema="tmava"] {
  --hq-bg: #2B2B2A; --hq-plocha: #373736; --hq-text: #F5F5F5; --hq-tlmene: #BDBAB2; --hq-ramcek: #4A4A48;
  --hq-zlata-text: #D9C08F; --hq-akcent-bg: #4A4A48; --hq-ok: #7FD3A6; --hq-ok-bg: #234434; --hq-chyba: #FF9C9C; --hq-chyba-bg: #4A2626; --hq-pozor: #F2C76B; --hq-pozor-bg: #4A3D1E;
}
@media (prefers-color-scheme: dark) {
  .hq[data-hq-tema="auto"] {
    --hq-bg: #2B2B2A; --hq-plocha: #373736; --hq-text: #F5F5F5; --hq-tlmene: #BDBAB2; --hq-ramcek: #4A4A48;
    --hq-zlata-text: #D9C08F; --hq-akcent-bg: #4A4A48; --hq-ok: #7FD3A6; --hq-ok-bg: #234434; --hq-chyba: #FF9C9C; --hq-chyba-bg: #4A2626; --hq-pozor: #F2C76B; --hq-pozor-bg: #4A3D1E;
  }
  .hq[data-hq-tema="auto"] .hq-logo-sv { display: none; }
  .hq[data-hq-tema="auto"] .hq-logo-tm { display: block; }
}
.hq .hq-logo-tm { display: none; }
.hq[data-hq-tema="tmava"] .hq-logo-sv { display: none; }
.hq[data-hq-tema="tmava"] .hq-logo-tm { display: block; }
.hq .muted { color: var(--hq-tlmene); }
.hq a { color: var(--hq-zlata-text); }
.hq .hidden { display: none !important; }

.hq-hlava { background: var(--hq-plocha); border-bottom: 1px solid var(--hq-ramcek); padding: 18px 0 0; }
.hq-titul { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.hq-logo { height: 36px; width: auto; }
.hq-titul h1 { font: 700 22px/1.2 var(--hq-pismo); margin: 0; color: var(--hq-text); }
.hq-titul p { margin: 2px 0 0; font-size: 13px; }
.hq-ovladanie { display: flex; gap: 10px; flex-wrap: wrap; margin: 14px 0 10px; }
.hq-vyber { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--hq-tlmene); }
.hq-vyber select { font: 600 14px var(--hq-pismo); color: var(--hq-text); background: var(--hq-bg); border: 1px solid var(--hq-ramcek); border-radius: 10px; padding: 8px 10px; min-height: 40px; }
.hq-pohlady { display: flex; gap: 6px; flex-wrap: wrap; margin: 4px 0 8px; }
.hq-pohl { font: 600 13px var(--hq-pismo); border: 1px solid var(--hq-ramcek); background: transparent; color: var(--hq-text); border-radius: 999px; padding: 6px 12px; min-height: 34px; }
.hq-pohl.on { background: var(--hq-text); color: var(--hq-plocha); border-color: var(--hq-text); }
.hq-pohl:disabled { opacity: .55; cursor: default; }
.hq-pohl small { font-weight: 400; font-size: 11px; }
.hq-admin { font-size: 12px; color: var(--hq-pozor); background: var(--hq-pozor-bg); border-radius: 8px; padding: 6px 10px; margin: 6px 0; display: inline-block; }
.hq-tabs { display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; margin-top: 6px; }
.hq-tabs button { font: 600 14px var(--hq-pismo); background: transparent; color: var(--hq-tlmene); border: 0; border-bottom: 3px solid transparent; padding: 12px 14px; white-space: nowrap; cursor: pointer; min-height: 44px; }
.hq-tabs button[aria-selected="true"] { color: var(--hq-text); border-bottom-color: var(--hq-zlata); }
.hq-pocet { display: inline-block; min-width: 18px; margin-left: 6px; font-size: 12px; color: var(--hq-zlata-text); }
#hqObsah { padding-top: 18px; }

.hq-filtre { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: thin; }
.hq-filtre button { font: 600 13px var(--hq-pismo); white-space: nowrap; border: 1px solid var(--hq-ramcek); background: var(--hq-plocha); color: var(--hq-text); border-radius: 999px; padding: 8px 12px; min-height: 40px; cursor: pointer; }
.hq-filtre button[aria-pressed="true"] { background: var(--hq-akcent-bg); border-color: var(--hq-zlata); }

.hq-tab { width: 100%; border-collapse: collapse; background: var(--hq-plocha); border: 1px solid var(--hq-ramcek); border-radius: 12px; overflow: hidden; font-size: 14px; margin: 8px 0 18px; }
.hq-tab th { text-align: left; font-weight: 600; font-size: 12px; color: var(--hq-tlmene); padding: 10px; border-bottom: 1px solid var(--hq-ramcek); }
.hq-tab td { padding: 10px; border-bottom: 1px solid var(--hq-ramcek); vertical-align: top; }
.hq-tab tr[data-hq-post] { cursor: pointer; }
.hq-tab tr[data-hq-post]:hover, .hq-tab tr[data-hq-post]:focus-visible { background: var(--hq-akcent-bg); outline: none; }
.hq-tab .num { text-align: right; white-space: nowrap; }
.hq-post-n { font-weight: 600; }
.hq-prazdny td { color: var(--hq-tlmene); }
.hq-stav, .hq-beh, .hq-riziko, .hq-sla { display: inline-block; font-size: 12px; font-weight: 600; border-radius: 999px; padding: 2px 9px; white-space: nowrap; }
.hq-s-bezi, .hq-b-ok { background: var(--hq-ok-bg); color: var(--hq-ok); }
.hq-s-v-realizacii, .hq-b-bezi { background: var(--hq-akcent-bg); color: var(--hq-zlata-text); }
.hq-s-navrhnuty { background: transparent; color: var(--hq-tlmene); border: 1px dashed var(--hq-ramcek); }
.hq-s-prazdny { background: transparent; color: var(--hq-tlmene); border: 1px solid var(--hq-ramcek); }
.hq-b-chyba, .hq-b-preruseny, .hq-sla.po, .r-vysoke { background: var(--hq-chyba-bg); color: var(--hq-chyba); }
.hq-sla.skoro, .r-stredne { background: var(--hq-pozor-bg); color: var(--hq-pozor); }
.r-nizke { background: var(--hq-ok-bg); color: var(--hq-ok); }

.hq-panel { position: fixed; inset: 0; background: rgba(20, 20, 19, .45); z-index: 60; display: flex; justify-content: flex-end; }
.hq-panel[hidden] { display: none; }
.hq-panel-in { background: var(--hq-plocha); color: var(--hq-text); width: min(640px, 100%); height: 100%; overflow-y: auto; padding: 20px 18px 40px; box-shadow: -8px 0 30px rgba(0,0,0,.25); }
.hq-panel-h { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.hq-panel-h h3 { margin: 4px 0; font: 700 20px var(--hq-pismo); }
.hq-panel-h small { color: var(--hq-zlata-text); font-weight: 600; }
.hq-panel-h p { font-size: 13px; margin: 4px 0 0; }
.hq-sek { font: 700 15px var(--hq-pismo); margin: 22px 0 8px; border-top: 1px solid var(--hq-ramcek); padding-top: 14px; }
.hq-karta h4 { font: 700 14px var(--hq-pismo); color: var(--hq-zlata-text); margin: 16px 0 6px; }
.hq-karta p, .hq-karta li { font-size: 14px; line-height: 1.5; }
.hq-karta ul { padding-left: 20px; margin: 4px 0; }
.hq-karta table { font-size: 12px; border-collapse: collapse; }
.hq-karta td { border-bottom: 1px solid var(--hq-ramcek); padding: 4px 6px; }
.hq-behy { list-style: none; padding: 0; margin: 0; }
.hq-behy li { font-size: 13px; padding: 8px 0; border-bottom: 1px solid var(--hq-ramcek); overflow-wrap: anywhere; }

.hq-sch { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.hq-sch-i { background: var(--hq-plocha); border: 1px solid var(--hq-ramcek); border-left: 4px solid var(--hq-zlata); border-radius: 12px; padding: 14px; }
.hq-sch-i.hotove { opacity: .65; border-left-color: var(--hq-ramcek); }
.hq-sch-h { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.hq-sch-i p { margin: 8px 0; font-size: 15px; overflow-wrap: anywhere; }
.hq-akcie { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; margin-top: 10px; }
.hq-btn { font: 700 15px var(--hq-pismo); min-height: 52px; border-radius: 12px; border: 1px solid var(--hq-ramcek); background: var(--hq-bg); color: var(--hq-text); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; padding: 0 12px; }
.hq-btn.ok { background: var(--hq-text); color: var(--hq-plocha); border-color: var(--hq-text); }
.hq-btn.no { color: var(--hq-chyba); border-color: var(--hq-chyba); background: transparent; }
.hq-btn:disabled { opacity: .5; }
.hq-uprav { margin-top: 10px; }
.hq-prazdne { padding: 30px 0; text-align: center; }

.hq-nova { background: var(--hq-plocha); border: 1px solid var(--hq-ramcek); border-radius: 12px; padding: 10px 14px; margin-bottom: 14px; }
.hq-nova summary { font-weight: 700; cursor: pointer; min-height: 32px; display: flex; align-items: center; }
.hq-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; align-items: end; margin-top: 10px; }
.hq-form .field { margin: 0; }
.hq-form .field span { color: var(--hq-tlmene); font-size: 12px; }
.hq-form input, .hq-form select, .hq-form textarea, .hq-uprav textarea, .hq-presun select { width: 100%; box-sizing: border-box; font: 14px var(--hq-pismo); color: var(--hq-text); background: var(--hq-bg); border: 1px solid var(--hq-ramcek); border-radius: 10px; padding: 9px 10px; min-height: 42px; }
.hq-form button[type=submit] { font: 700 14px var(--hq-pismo); min-height: 44px; border-radius: 10px; border: 0; background: var(--hq-text); color: var(--hq-plocha); cursor: pointer; }
.hq-3otazky { border-top: 1px dashed var(--hq-ramcek); padding-top: 10px; }

.hq-kanban { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 1fr); gap: 12px; overflow-x: auto; padding-bottom: 12px; scroll-snap-type: x mandatory; }
.hq-stlpec { background: var(--hq-akcent-bg); border-radius: 12px; padding: 10px; scroll-snap-align: start; min-height: 120px; }
.hq-stlpec h4 { margin: 2px 4px 10px; font: 700 14px var(--hq-pismo); }
.hq-stlpec ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.hq-u { background: var(--hq-plocha); border: 1px solid var(--hq-ramcek); border-radius: 10px; padding: 10px; font-size: 13px; }
.hq-u p { margin: 4px 0; }
.hq-presun { display: block; margin-top: 6px; }
.hq .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.hq-kpi { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 12px; }
.hq-kpi > div { background: var(--hq-plocha); border: 1px solid var(--hq-ramcek); border-radius: 12px; padding: 12px 14px; }
.hq-kpi small { display: block; color: var(--hq-tlmene); font-size: 12px; }
.hq-kpi b { font: 700 22px var(--hq-pismo); }
.hq-pas { display: block; height: 5px; background: var(--hq-ramcek); border-radius: 9px; margin-top: 4px; min-width: 60px; }
.hq-pas i { display: block; height: 100%; background: var(--hq-ok); border-radius: 9px; }
.hq-pas i.skoro { background: var(--hq-pozor); }
.hq-pas i.plne { background: var(--hq-chyba); }
.hq-brand b { font-family: var(--hq-pismo, "Sora", sans-serif); }

/* mobil: tabuľky ako karty (od 360 px), tlačidlá palcom */
@media (max-width: 920px) {
  .hq-tab thead { display: none; }
  .hq-tab, .hq-tab tbody, .hq-tab tr, .hq-tab td { display: block; width: 100%; box-sizing: border-box; }
  .hq-tab { border: 0; background: transparent; }
  .hq-tab tr { background: var(--hq-plocha); border: 1px solid var(--hq-ramcek); border-radius: 12px; margin-bottom: 10px; padding: 6px 4px; }
  .hq-tab td { border: 0; padding: 5px 10px; display: flex; justify-content: space-between; gap: 12px; text-align: right; }
  .hq-tab td::before { content: attr(data-l); color: var(--hq-tlmene); font-size: 12px; text-align: left; flex: none; max-width: 45%; }
  .hq-tab td.hq-post-n { font-size: 16px; }
  .hq-titul h1 { font-size: 19px; }
  .hq-panel-in { padding: 16px 14px 40px; }
}

/* Zlepšovanie (funkcia 7 Vedenie a Mozog) - Nápady, V realizácii, Report; mobil od 380 px */
.hq-zl-h { margin: 6px 0 10px; }
.hq-zl-h small { color: var(--hq-zlata-text); font-weight: 600; }
.hq-zl-h h2 { margin: 2px 0 0; font: 700 20px var(--hq-pismo); color: var(--hq-text); }
.hq-zl { list-style: none; margin: 8px 0 18px; padding: 0; display: grid; gap: 10px; }
.hq-zl-i { background: var(--hq-plocha); border: 1px solid var(--hq-ramcek); border-radius: 12px; padding: 12px; cursor: pointer; }
.hq-zl-i:hover, .hq-zl-i:focus-visible { border-color: var(--hq-zlata); outline: none; }
.hq-zl-i.zas { border-color: var(--hq-chyba); background: var(--hq-chyba-bg); }
.hq-zl-t { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; }
.hq-zl-i p { margin: 4px 0 0; font-size: 13px; }
.hq-zl-zas { color: var(--hq-chyba); font-weight: 600; font-size: 13px; }
.hq-zl-kroky, .hq-zl-doby { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-top: 10px; font-size: 12px; }
.hq-zl-kroky div, .hq-zl-doby div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.hq-zl-kroky span, .hq-zl-doby span { color: var(--hq-tlmene); }
.hq-zl-kroky b, .hq-zl-doby b { font-weight: 600; color: var(--hq-text); overflow-wrap: anywhere; }
.hq-zl-k:not(.on) b { color: var(--hq-tlmene); font-weight: 400; }
.hq-zl-popis { white-space: pre-wrap; font-size: 14px; }
.hq-zl-behy { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; font-size: 13px; }
.hq-n-schvaleny, .hq-n-zacaty, .hq-n-hotovy { background: var(--hq-akcent-bg); color: var(--hq-zlata-text); }
.hq-n-spusteny { background: var(--hq-ok-bg); color: var(--hq-ok); }
.hq-n-caka_na_rozhodnutie, .hq-n-odporuceny, .hq-n-neodporuceny, .hq-n-u_veduceho { background: var(--hq-pozor-bg); color: var(--hq-pozor); }
.hq-n-odlozeny, .hq-n-zamietnuty, .hq-n-novy { background: transparent; color: var(--hq-tlmene); border: 1px solid var(--hq-ramcek); }
@media (max-width: 520px) { .hq-zl-kroky, .hq-zl-doby { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.hq-zl-filtre { margin: 4px 0 8px; }
.hq-zl-filtre input[type="date"] { font: 600 14px var(--hq-pismo); color: var(--hq-text); background: var(--hq-bg); border: 1px solid var(--hq-ramcek); border-radius: 10px; padding: 7px 8px; min-height: 40px; }
.hq-zl-tab { overflow-x: auto; }
.hq-zl-i details { margin-top: 6px; font-size: 13px; }
.hq-zl-i .hq-akcie { margin-top: 10px; }

/* Správy (Peter 28. 10. 2026): upozornenia a reporty agentov */
.hq-sp { list-style: none; margin: 8px 0 18px; padding: 0; display: grid; gap: 8px; }
.hq-sp-i { background: var(--hq-plocha); border: 1px solid var(--hq-ramcek); border-left: 4px solid var(--hq-zlata); border-radius: 10px; padding: 10px 12px; cursor: pointer; }
.hq-sp-i.prec { border-left-color: var(--hq-ramcek); }
.hq-sp-i.prec b { font-weight: 400; }
.hq-sp-i.urg { border-left-color: var(--hq-chyba); }
.hq-sp-i:focus-visible { outline: 2px solid var(--hq-zlata); }
.hq-sp-h { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 10px; }
.hq-sp-h b { overflow-wrap: anywhere; }
.hq-sp-h span { font-size: 12px; }
.hq-sp-telo { margin-top: 10px; cursor: default; }
.hq-sp-ram { width: 100%; height: 400px; border: 1px solid var(--hq-ramcek); border-radius: 8px; background: #fff; }
#navHq { position: relative; }
#navHq[data-pocet]:not([data-pocet=""])::after { content: attr(data-pocet); position: absolute; top: 2px; right: 6px; min-width: 16px; padding: 0 4px; border-radius: 8px; background: #c0392b; color: #fff; font: 700 10px/16px Arial, sans-serif; text-align: center; }

/* ---------- F2 a F3 (28. 10. 2026): Dnes, Test rastu, Kampus 2.5D, detail funkcie ---------- */
.hq-d-hlava { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin: 6px 0 12px; }
.hq-d-hlava small { color: var(--hq-tlmene); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.hq-d-hlava h2 { font: 700 22px/1.2 var(--hq-pismo); margin: 2px 0 0; }
.hq-d-subeh { font-size: 13px; background: var(--hq-akcent-bg); color: var(--hq-zlata-text); border-radius: 999px; padding: 4px 12px; margin: 0; }
.hq-d-subeh.koniec { background: var(--hq-ok-bg); color: var(--hq-ok); }
.hq-d-mriezka { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.hq-d-k, .hq-r-blok { background: var(--hq-plocha); border: 1px solid var(--hq-ramcek); border-radius: 14px; padding: 14px 16px; min-width: 0; }
.hq-r-blok { margin-bottom: 12px; }
.hq-d-k.zle { border-color: var(--hq-chyba); }
.hq-d-k h3, .hq-r-blok h3 { font: 700 15px var(--hq-pismo); margin: 0 0 8px; }
.hq-d-cislo b { font: 700 28px var(--hq-pismo); }
.hq-d-z { list-style: none; margin: 0; padding: 0; font-size: 14px; }
.hq-d-z li { padding: 6px 0; border-top: 1px solid var(--hq-ramcek); overflow-wrap: anywhere; }
.hq-d-z li.teraz { font-weight: 700; }
.hq-d-viac { font-size: 13px; }
.hq-kpi-s { display: inline-block; font-size: 11px; font-weight: 700; border-radius: 999px; padding: 1px 8px; }
.hq-kpi-s.s-risk { background: var(--hq-chyba-bg); color: var(--hq-chyba); }
.hq-kpi-s.s-ok { background: var(--hq-akcent-bg); color: var(--hq-zlata-text); }
.hq-kpi-s.s-growth { background: var(--hq-ok-bg); color: var(--hq-ok); }
.hq-kpi-s.s-bez { border: 1px solid var(--hq-ramcek); color: var(--hq-tlmene); }
/* Test rastu */
.hq-r-form { display: grid; gap: 10px; }
.hq-r-cast { background: var(--hq-plocha); border: 1px solid var(--hq-ramcek); border-radius: 14px; }
.hq-r-cast summary { cursor: pointer; padding: 14px 16px; font-weight: 600; min-height: 48px; }
.hq-r-cast summary b { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--hq-zlata); color: #373736; margin-right: 6px; }
.hq-r-telo { padding: 0 16px 16px; }
.hq-r-tip { background: var(--hq-akcent-bg); border-radius: 10px; padding: 10px 12px; }
.hq-r-vyzvy { display: grid; gap: 6px; }
.hq-r-ch { display: flex; gap: 8px; align-items: flex-start; padding: 8px 10px; border: 1px solid var(--hq-ramcek); border-radius: 10px; font-size: 14px; }
.hq-r-ch.typ { border-color: var(--hq-zlata); }
.hq-r-ch input, .hq-r-sys input { width: 20px; height: 20px; flex: none; margin: 0; }
.hq-r-sys { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 8px; }
.hq-r-sys fieldset { border: 1px solid var(--hq-ramcek); border-radius: 10px; padding: 8px 10px; margin: 0; display: flex; gap: 12px; flex-wrap: wrap; }
.hq-r-sys legend { font-weight: 600; font-size: 14px; padding: 0 4px; }
.hq-r-sys label { display: inline-flex; gap: 6px; align-items: center; min-height: 36px; }
.hq-r-f h4 { margin: 12px 0 6px; font-size: 14px; }
.hq-r-odd { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 4px 0; font-size: 14px; }
.hq-r-odd select { min-height: 40px; font: 600 14px var(--hq-pismo); color: var(--hq-text); background: var(--hq-bg); border: 1px solid var(--hq-ramcek); border-radius: 10px; padding: 6px 8px; }
.hq-r-ret { padding-left: 22px; display: grid; gap: 6px; }
.hq-r-ret li { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.hq-r-ret input:not([type=checkbox]) { flex: 1 1 200px; min-height: 40px; font: 14px var(--hq-pismo); border: 1px solid var(--hq-ramcek); border-radius: 10px; padding: 6px 10px; background: var(--hq-bg); color: var(--hq-text); }
.hq-r-ret label { font-size: 13px; display: inline-flex; gap: 4px; align-items: center; }
.hq-r-uloz { position: sticky; bottom: 0; background: var(--hq-bg); padding: 8px 0; }
.hq-r-zona { background: var(--hq-pozor-bg); color: var(--hq-pozor); border-radius: 10px; padding: 10px 12px; }
.hq-r-top { padding-left: 20px; }
.hq-r-top li { margin-bottom: 10px; }
.hq-r-top li p { margin: 4px 0; }
.hq-r-top li.hq-top > b { color: var(--hq-zlata-text); }
.hq-r-mapa, .hq-k-zoznam { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.hq-r-fm { text-align: left; font: 13px var(--hq-pismo); color: var(--hq-text); background: var(--hq-bg); border: 1px solid var(--hq-ramcek); border-radius: 12px; padding: 10px; display: grid; gap: 4px; cursor: pointer; min-height: 48px; }
.hq-r-fm span { color: var(--hq-tlmene); }
.hq-r-odds { display: flex; gap: 4px; }
.hq-r-odds i, .hq-r-leg i { display: inline-block; width: 14px; height: 14px; border-radius: 4px; vertical-align: middle; }
.k-clovek { background: var(--hq-zlata); }
.k-agent { background: #4F8FBF; }
.k-oboje { background: var(--hq-ok); }
.k-nikto { background: transparent; border: 1px dashed var(--hq-tlmene); }
.hq-r-ret-v li.zlom { color: var(--hq-chyba); }
.hq-r-plan { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; }
.hq-r-plan li { border-left: 3px solid var(--hq-zlata); padding: 4px 10px; }
.hq-r-plan small { display: block; color: var(--hq-tlmene); }
.hq-r-text p { line-height: 1.55; }
/* Kampus 2.5D - kreslený v SVG z dát (pavilón = funkcia, stôl = post); farby z tokenov HQ, funguje v oboch režimoch */
.hq-kampus { background: var(--hq-plocha); border: 1px solid var(--hq-ramcek); border-radius: 16px; overflow: hidden; }
.hq-kampus svg { display: block; width: 100%; height: auto; font-family: var(--hq-pismo); }
.hq-k-park { fill: var(--hq-akcent-bg); opacity: .55; }
.hq-k-cesty line { stroke: var(--hq-zlata); stroke-width: 2; stroke-dasharray: 2 6; stroke-linecap: round; opacity: .8; }
.hq-k-cesty line.cyk { stroke-dasharray: none; stroke-width: 6; stroke: var(--hq-ramcek); opacity: .9; }
.hq-k-pav { cursor: pointer; outline: none; }
.pav.t { fill: var(--hq-plocha); stroke: var(--hq-ramcek); }
.pav.l { fill: var(--hq-ramcek); }
.pav.r { fill: var(--hq-akcent-bg); stroke: var(--hq-ramcek); }
.vez.t { fill: var(--hq-plocha); stroke: var(--hq-ramcek); }
.vez.l { fill: #373736; }
.vez.r { fill: #4A4A48; }
.moz.t { fill: var(--hq-zlata); }
.moz.l { fill: #9C8456; }
.moz.r { fill: #B39A66; }
.hq-k-pav:hover .pav.t, .hq-k-pav:focus .pav.t, .hq-k-pav:hover .vez.t, .hq-k-pav:focus .vez.t { stroke: var(--hq-zlata); stroke-width: 3; }
.hq-k-n { font-size: 17px; font-weight: 700; fill: var(--hq-text); }
.hq-k-n .c { fill: var(--hq-zlata-text); }
.hq-k-m { font-size: 13px; fill: var(--hq-tlmene); }
.hq-k-stol { cursor: pointer; outline: none; }
.hq-k-stol polygon { fill: #8B6F47; }
.hq-k-stol circle { fill: var(--hq-ok); }
.hq-k-stol circle.ag { fill: #4F8FBF; }
.hq-k-stol.s-v-realizacii circle { fill: var(--hq-zlata); }
.hq-k-stol.s-navrhnuty circle { fill: var(--hq-tlmene); }
.hq-k-stol.s-prazdny polygon { fill: #B8B6B0; }
.hq-k-stol.s-zle circle { fill: var(--hq-chyba); }
.hq-k-stol:hover polygon, .hq-k-stol:focus polygon { stroke: var(--hq-zlata); stroke-width: 2; }
.hq-k-leg { display: inline-flex; align-items: center; gap: 4px; margin-right: 10px; }
.hq-k-leg i { width: 10px; height: 10px; border-radius: 50%; background: var(--hq-ok); }
.hq-k-leg.s-v-realizacii i { background: var(--hq-zlata); }
.hq-k-leg.s-navrhnuty i { background: var(--hq-tlmene); }
.hq-k-leg.s-prazdny i { background: #B8B6B0; border-radius: 2px; }
.hq-k-leg.s-zle i { background: var(--hq-chyba); }
.hq-k-zoznam { margin-top: 12px; }
/* detail funkcie (D14) */
.hq-f-txt { font-size: 15px !important; font-weight: 600 !important; }
.hq-f-odd { display: flex; gap: 6px; flex-wrap: wrap; }
.hq-f-mriezka { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 12px; }
.hq-f-rada { border-color: var(--hq-zlata); }
.hq-f-por { list-style: none; padding: 0; margin: 0; font-size: 14px; }
.hq-f-por li { padding: 4px 0; }
.hq-f-zlom { color: var(--hq-chyba); font-weight: 600; }
.hq-f-kpi { display: flex; gap: 4px; flex-wrap: wrap; }
.hq-f-kpi input { width: 110px; min-height: 36px; border: 1px solid var(--hq-ramcek); border-radius: 8px; padding: 4px 6px; background: var(--hq-bg); color: var(--hq-text); }
.hq-f-ulohy, .hq-f-posty { list-style: none; padding: 0; margin: 0; }
.hq-f-ulohy li, .hq-f-posty li { padding: 8px 0; border-top: 1px solid var(--hq-ramcek); }
.hq-f-posty li { cursor: pointer; }
.hq-f-over { color: var(--hq-ok); }
@media (max-width: 760px) { .hq-f-mriezka { grid-template-columns: 1fr; } .hq-k-m { display: none; } }
/* F4 Budova (mobil) - poschodia nad sebou, strecha Vedenie a Mozog */
.hq-budova { max-width: 560px; margin: 0 auto; display: grid; gap: 4px; }
.hq-b-po { background: var(--hq-plocha); border: 1px solid var(--hq-ramcek); border-left: 6px solid var(--hq-akcent-bg); border-radius: 6px; padding: 8px 10px; }
.hq-b-po.strecha { border-left-color: var(--hq-zlata); border-radius: 18px 18px 6px 6px; background: linear-gradient(180deg, var(--hq-akcent-bg), var(--hq-plocha)); }
.hq-b-hl { display: flex; width: 100%; gap: 8px; align-items: center; background: none; border: 0; color: var(--hq-text); font: 600 14px var(--hq-pismo); padding: 4px 0; min-height: 40px; cursor: pointer; text-align: left; }
.hq-b-hl b { color: var(--hq-zlata-text); }
.hq-b-hl span { margin-left: auto; color: var(--hq-tlmene); font-size: 12px; }
.hq-b-izby { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.hq-b-izba { background: var(--hq-bg); border-radius: 8px; padding: 6px; min-width: 0; }
.hq-b-izba small { display: block; font-size: 11px; color: var(--hq-tlmene); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hq-b-izba div { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.hq-b-stol { width: 22px; height: 22px; border-radius: 6px; border: 0; background: var(--hq-ok); cursor: pointer; padding: 0; }
.hq-b-stol.s-v-realizacii { background: var(--hq-zlata); }
.hq-b-stol.s-navrhnuty { background: var(--hq-tlmene); }
.hq-b-stol.s-prazdny { background: transparent; border: 2px dashed var(--hq-tlmene); }
.hq-b-stol.s-zle { background: var(--hq-chyba); }
.hq-b-zaklad { height: 10px; border-radius: 0 0 8px 8px; background: var(--hq-ramcek); }
/* F5 Sieť - futuristická, tmavá plocha v oboch režimoch */
.hq-siet { background: radial-gradient(circle at 50% 50%, #3A3626 0%, #1E1E1D 70%); border-radius: 16px; overflow: hidden; margin-bottom: 12px; }
.hq-siet svg { display: block; width: 100%; height: auto; font-family: var(--hq-pismo); }
.hq-s-l { stroke: #C0A46E; opacity: .35; }
.hq-s-l.zive { opacity: .85; stroke-dasharray: 6 8; animation: hqTok 1.6s linear infinite; }
.hq-s-l.zle { stroke: #FF7A7A; }
.hq-s-tok { fill: none; stroke: #7FD3A6; stroke-width: 1.5; opacity: .6; stroke-dasharray: 3 6; animation: hqTok 2.4s linear infinite; }
@keyframes hqTok { to { stroke-dashoffset: -28; } }
.hq-s-holo { animation: hqPulz 3s ease-in-out infinite; transform-origin: center; transform-box: fill-box; }
@keyframes hqPulz { 50% { opacity: .55; transform: scale(1.08); } }
.hq-s-jadro { fill: #C0A46E; }
.hq-s-mozog { fill: #1E1E1D; font-size: 13px; font-weight: 700; }
.hq-s-k { cursor: pointer; outline: none; }
.hq-s-k rect { fill: rgba(245, 245, 245, .08); stroke: rgba(192, 164, 110, .7); stroke-width: 1.5; }
.hq-s-k.alarm rect { stroke: #FF7A7A; }
.hq-s-k:hover rect, .hq-s-k:focus rect { fill: rgba(192, 164, 110, .18); stroke-width: 2.5; }
.hq-s-k .n { fill: #F5F5F5; font-size: 12px; font-weight: 700; }
.hq-s-k .m { fill: #D9C08F; font-size: 11px; }
.hq-s-ret { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; counter-reset: k; }
.hq-s-ret li { counter-increment: k; background: var(--hq-akcent-bg); border-radius: 999px; padding: 4px 12px; font-size: 13px; }
.hq-s-ret li::before { content: counter(k) ". "; font-weight: 700; }
.hq-s-ret li.zlom { background: var(--hq-chyba-bg); color: var(--hq-chyba); }
@media (prefers-reduced-motion: reduce) { .hq-s-l.zive, .hq-s-tok, .hq-s-holo { animation: none; } }
/* F6 chat s oddelením */
.hq-chat-log { display: grid; gap: 6px; max-height: 360px; overflow-y: auto; margin-bottom: 8px; }
.hq-chat-log p { margin: 0; padding: 8px 12px; border-radius: 12px; max-width: 90%; white-space: pre-wrap; overflow-wrap: anywhere; }
.hq-chat-ja { justify-self: end; background: var(--hq-text); color: var(--hq-plocha); }
.hq-chat-hq { justify-self: start; background: var(--hq-akcent-bg); }
.hq-chat-f { display: flex; gap: 8px; align-items: stretch; }
.hq-chat-f textarea { flex: 1; font: 14px var(--hq-pismo); border: 1px solid var(--hq-ramcek); border-radius: 12px; padding: 8px 10px; background: var(--hq-bg); color: var(--hq-text); min-width: 0; }
@media (max-width: 420px) { .hq-chat-f { flex-direction: column; } }

/* F8 živé 3D */
.hq-3d { position: relative; height: min(72vh, 680px); min-height: 360px; border: 1px solid var(--hq-ramcek); border-radius: 16px; overflow: hidden; background: radial-gradient(ellipse at 50% 35%, var(--hq-plocha), var(--hq-bg)); margin: 8px 0 12px; }
.hq-3d canvas { display: block; width: 100% !important; height: 100% !important; }
.hq-3d-nac { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; }
.hq-3d-tip { position: absolute; max-width: 220px; pointer-events: none; font-size: 12px; line-height: 1.35; background: var(--hq-text); color: var(--hq-plocha); padding: 6px 9px; border-radius: 8px; z-index: 2; }
.hq-k-leg i.z-ag { width: 8px; height: 8px; flex: none; background: #C0A46E; border-radius: 1px; transform: rotate(45deg); }
@media (max-width: 600px) { .hq-3d { height: 58vh; min-height: 320px; } }
/* demo 25. 11. 2026: hodnota a popis v dlaždiciach pod sebou, celý dátum v zápise čísla, pätička Ley sa v HQ neukazuje (HQ má vlastnú značku a jazyk) */
.hq-kpi b { display: block; }
.hq-f-kpi input[type="date"] { min-width: 140px; }
body:has([data-page="hq"]:not(.hidden)) > footer { display: none; }
/* nadpisy v HQ vo farbách RISEduct (fialová z Ley bola v tmavom režime skoro neviditeľná) */
.hq h2 { color: var(--hq-text); }
