/* Nahlasovanie (/nahlasit) – zoznam vľavo, konverzácia v bublinách vpravo */
body.tk .wrap { max-width: 1440px; }
.tk-main { position: relative; z-index: 1; display: grid; gap: 16px; padding-block: 24px 60px; }
.tk-head { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.tk-head h1 { font-size: clamp(38px, 5vw, 56px); line-height: 1; }
.tk-emb { font-size: 58px; line-height: 1; filter: drop-shadow(0 6px 12px rgba(0,0,0,.4)); animation: fmFloat 6s ease-in-out infinite; }
@keyframes fmFloat { 50% { transform: translateY(-5px) rotate(-3deg); } }
.tk-strip { display: flex; gap: 10px; flex-wrap: wrap; margin-left: auto; }
.fm-chip { display: grid; gap: 1px; padding: 8px 14px; border-radius: 8px; background: var(--glass); border: 1px solid var(--line); min-width: 110px; }
.fm-chip b { font-family: var(--f-num); font-weight: 600; font-size: 17px; font-variant-numeric: tabular-nums; }
.fm-chip i { font-style: normal; font-size: 11.5px; color: var(--muted); }
.fm-chip.hot { border-color: var(--diamond); box-shadow: 0 0 14px color-mix(in srgb, var(--diamond) 25%, transparent); } .fm-chip.hot b { color: var(--diamond); }
.tk-modes { display: flex; gap: 6px; border-bottom: 1px solid var(--line); padding-bottom: 8px; }
.tk-modes button { font: 600 15px var(--f-body); padding: 8px 14px; border-radius: 6px; border: 0; background: none; color: var(--muted); cursor: pointer; display: inline-flex; gap: 8px; align-items: center; }
.tk-modes button:hover { color: var(--text); background: var(--panel); }
.tk-modes button.on { color: var(--btn-ink); background: var(--btn-bg); }
.tk-cnt:empty { display: none; }
.tk-cnt { font-size: 12px; min-width: 20px; padding: 1px 6px; border-radius: 10px; background: var(--bad); color: #fff; }

.tk-grid { display: grid; grid-template-columns: minmax(300px, 380px) minmax(0, 1fr); gap: 16px; align-items: stretch; height: clamp(540px, calc(100vh - 260px), 980px); }
.tk-side { display: grid; grid-template-rows: auto auto minmax(0, 1fr); gap: 12px; padding: 14px; min-height: 0; }
.tk-new { width: 100%; }
.tk-filter { display: grid; gap: 8px; }
.tk-filter input { font-family: var(--f-body); font-size: 14px; padding: 9px 11px; }
.tk-chips { display: flex; gap: 5px; flex-wrap: wrap; }
.tk-chip { font: 600 12.5px var(--f-body); padding: 5px 10px; border-radius: 20px; border: 1px solid var(--line); background: var(--glass); color: var(--muted); cursor: pointer; }
.tk-chip i { font-style: normal; opacity: .75; margin-left: 2px; }
.tk-chip.on { background: var(--btn-bg); border-color: var(--btn-bg); color: var(--btn-ink); }
.tk-list { overflow-y: auto; display: grid; gap: 8px; align-content: start; padding-right: 4px; margin-right: -4px; scrollbar-width: thin; }
.tk-item { text-align: left; display: grid; gap: 4px; padding: 11px 12px; border-radius: 8px; border: 1px solid var(--line); background: var(--glass); color: var(--text); font: inherit; cursor: pointer; transition: border-color .15s, background .15s, transform .15s; position: relative; min-width: 0; }
.tk-item:hover { border-color: color-mix(in srgb, var(--diamond) 45%, transparent); transform: translateX(2px); }
.tk-item.on { border-color: var(--torch); box-shadow: inset 3px 0 0 var(--torch); background: color-mix(in srgb, var(--torch) 8%, var(--glass)); }
.tk-item.unread .tk-i-subj { color: var(--diamond); }
.tk-i-top { display: flex; align-items: center; gap: 8px; }
.tk-no { font: 600 12px var(--f-mono); color: var(--muted); }
.tk-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--diamond); box-shadow: 0 0 8px var(--diamond); margin-left: auto; animation: tkPulse 1.6s ease-in-out infinite; }
@keyframes tkPulse { 50% { opacity: .35; } }
.tk-i-subj { font-size: 14.5px; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tk-i-prev { font-size: 12.5px; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.35; }
.tk-i-meta { font-size: 11.5px; color: var(--muted); display: flex; flex-wrap: wrap; align-items: center; gap: 3px; }
.tk-who { display: inline-flex; align-items: center; gap: 5px; color: var(--text); }
.tk-who img { border-radius: 3px; image-rendering: pixelated; }
.tk-empty-s { padding: 18px 8px; text-align: center; color: var(--muted); font-size: 14px; }

.tk-st { font: 600 11px var(--f-body); letter-spacing: .03em; padding: 2px 8px; border-radius: 20px; border: 1px solid; white-space: nowrap; }
.tk-st.new { color: var(--diamond); border-color: color-mix(in srgb, var(--diamond) 50%, transparent); background: color-mix(in srgb, var(--diamond) 10%, transparent); }
.tk-st.prog { color: var(--torch); border-color: color-mix(in srgb, var(--torch) 50%, transparent); background: color-mix(in srgb, var(--torch) 10%, transparent); }
.tk-st.done { color: var(--good); border-color: color-mix(in srgb, var(--good) 50%, transparent); background: color-mix(in srgb, var(--good) 10%, transparent); }

/* pravá časť */
.tk-pane { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; padding: 0; overflow: hidden; min-height: 0; }
.tk-ph { display: flex; gap: 14px; align-items: flex-start; padding: 16px 20px; border-bottom: 1px solid var(--line); background: var(--glass); flex-wrap: wrap; }
.tk-ph-t { display: grid; gap: 4px; min-width: 0; flex: 1 1 320px; }
.tk-ph-no { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font: 600 13px var(--f-mono); color: var(--muted); }
.tk-ph-no .k { font-family: var(--f-body); }
.tk-ph h2 { font-size: clamp(24px, 2.6vw, 32px); line-height: 1.05; overflow-wrap: anywhere; }
.tk-ctrl { display: flex; align-items: center; }
.tk-backlist { display: none; }
.tk-stbtns { display: inline-flex; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.tk-stb { font: 600 13px var(--f-body); padding: 8px 12px; border: 0; background: var(--glass); color: var(--muted); cursor: pointer; transition: .15s; }
.tk-stb + .tk-stb { border-left: 1px solid var(--line); }
.tk-stb:hover { color: var(--text); }
.tk-stb.on.new { background: var(--diamond); color: #062126; } .tk-stb.on.prog { background: var(--torch); color: var(--on-accent); } .tk-stb.on.done { background: var(--good); color: #06240f; }

.tk-msgs { overflow-y: auto; padding: 20px; display: grid; gap: 14px; align-content: start; scrollbar-width: thin; }
.tk-msg { display: flex; gap: 10px; align-items: flex-end; max-width: min(78%, 720px); }
.tk-msg.me { margin-left: auto; flex-direction: row-reverse; }
.tk-av { border-radius: 6px; image-rendering: pixelated; flex: none; box-shadow: 0 2px 6px rgba(0,0,0,.35); }
.tk-bub { position: relative; padding: 10px 14px 12px; border-radius: 16px; background: var(--panel-2); border: 1px solid var(--line); min-width: 0; box-shadow: 0 4px 14px rgba(0,0,0,.18); animation: tkIn .25s ease; }
@keyframes tkIn { from { opacity: 0; transform: translateY(6px); } }
.tk-msg.pl .tk-bub, .tk-msg.adm .tk-bub { border-bottom-left-radius: 4px; }
.tk-msg.me .tk-bub { border-bottom-right-radius: 4px; background: color-mix(in srgb, var(--torch) 16%, var(--panel-2)); border-color: color-mix(in srgb, var(--torch) 45%, transparent); }
.tk-msg.adm .tk-bub { background: color-mix(in srgb, var(--diamond) 12%, var(--panel-2)); border-color: color-mix(in srgb, var(--diamond) 45%, transparent); }
.tk-msg.note { max-width: min(86%, 760px); margin-left: auto; }
.tk-msg.note .tk-bub { background: color-mix(in srgb, var(--gold) 10%, var(--panel-2)); border: 1px dashed color-mix(in srgb, var(--gold) 60%, transparent); }
.tk-bh { display: flex; gap: 10px; align-items: baseline; justify-content: space-between; font-size: 12.5px; font-weight: 600; margin-bottom: 4px; color: var(--muted); }
.tk-msg.adm .tk-bh { color: var(--diamond); } .tk-msg.me .tk-bh { color: var(--torch); } .tk-msg.note .tk-bh { color: var(--gold); }
.tk-bh time { font-weight: 400; font-size: 11.5px; color: var(--muted); white-space: nowrap; }
.tk-badge { font-size: 10px; padding: 1px 6px; border-radius: 4px; background: var(--diamond); color: #062126; margin-left: 4px; letter-spacing: .04em; text-transform: uppercase; vertical-align: 1px; }
.tk-body { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14.5px; line-height: 1.5; }
.tk-note-i { font-size: 11.5px; color: var(--gold); margin-top: 6px; opacity: .85; }
.tk-imgs { display: grid; gap: 6px; margin-top: 8px; }
.tk-imgs.n2 { grid-template-columns: 1fr 1fr; } .tk-imgs.n3 { grid-template-columns: 1fr 1fr 1fr; }
.tk-img { padding: 0; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: var(--field); cursor: zoom-in; display: block; }
.tk-img img { display: block; width: 100%; height: auto; max-height: 280px; object-fit: cover; transition: transform .2s; }
.tk-imgs.n1 .tk-img img { max-height: 360px; object-fit: contain; }
.tk-img:hover img { transform: scale(1.03); }
.tk-ev { text-align: center; font-size: 12px; color: var(--muted); }
.tk-ev span { display: inline-block; padding: 4px 12px; border-radius: 20px; background: var(--glass); border: 1px solid var(--line); }
.tk-ev.done span { color: var(--good); border-color: color-mix(in srgb, var(--good) 40%, transparent); }

/* písanie správy */
.tk-comp { border-top: 1px solid var(--line); padding: 12px 16px 10px; display: grid; gap: 6px; background: var(--glass); transition: background .15s; }
.tk-comp.over { background: color-mix(in srgb, var(--diamond) 10%, var(--glass)); }
.tk-comp-row { display: flex; gap: 8px; align-items: flex-end; }
.tk-comp textarea, .tk-newf textarea, .tk-newf select, .tk-newf input { font: 14.5px/1.45 var(--f-body); color: var(--text); background: var(--field); border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; width: 100%; resize: none; }
.tk-comp textarea { min-height: 44px; max-height: 220px; }
.tk-comp textarea:focus, .tk-newf textarea:focus, .tk-newf select:focus, .tk-newf input:focus { border-color: var(--diamond); outline: none; }
.tk-attach { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 10px; border: 1px solid var(--line); background: var(--field); cursor: pointer; font-size: 19px; color: var(--text); transition: .15s; }
.tk-attach:hover { border-color: var(--diamond); }
.tk-send { flex: none; width: 52px; height: 44px; padding: 0; font-size: 22px; }
.tk-comp-foot { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.tk-int { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--gold); cursor: pointer; }
.tk-int input { width: auto; accent-color: var(--gold); }

.tk-thumbs { display: flex; gap: 8px; flex-wrap: wrap; }
.tk-thumbs:empty { display: none; }
.tk-th { position: relative; width: 92px; height: 70px; border-radius: 8px; overflow: hidden; border: 1px solid var(--line); background: var(--field); }
.tk-th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tk-th.ok { border-color: color-mix(in srgb, var(--good) 60%, transparent); }
.tk-th.bad { border-color: var(--bad); } .tk-th.bad img { opacity: .35; }
.tk-th-p { position: absolute; left: 6px; right: 6px; bottom: 6px; height: 5px; border-radius: 3px; background: rgba(0,0,0,.5); overflow: hidden; }
.tk-th-p i { display: block; height: 100%; background: var(--diamond); transition: width .2s; }
.tk-th-e { position: absolute; inset: auto 4px 4px; font-size: 10px; line-height: 1.2; color: #fff; background: rgba(160,30,30,.85); border-radius: 4px; padding: 2px 4px; text-align: center; }
.tk-th-x { position: absolute; top: 3px; right: 3px; width: 22px; height: 22px; border-radius: 50%; border: 0; background: rgba(0,0,0,.65); color: #fff; font-size: 11px; cursor: pointer; }
.tk-th-x:hover { background: var(--bad); }

/* nové hlásenie */
.tk-newf { grid-row: 2 / 4; overflow-y: auto; padding: 18px 20px 20px; display: grid; gap: 14px; align-content: start; }
.tk-newf select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%; background-size: 6px 6px; background-repeat: no-repeat; cursor: pointer; }
.tk-hint { display: flex; justify-content: space-between; }
.tk-drop { display: grid; gap: 4px; place-items: center; text-align: center; padding: 20px; border-radius: 12px; border: 2px dashed var(--line); background: var(--glass); cursor: pointer; transition: .15s; }
.tk-drop:hover, .tk-drop:focus-visible, .tk-drop.over { border-color: var(--diamond); background: color-mix(in srgb, var(--diamond) 8%, var(--glass)); outline: none; }
.tk-newf-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }

.tk-empty { grid-row: 1 / 4; display: grid; place-content: center; justify-items: center; gap: 10px; text-align: center; padding: 30px; }
.tk-empty-ic { font-size: 64px; animation: fmFloat 5s ease-in-out infinite; }
.tk-empty h2 { font-size: 34px; }
.tk-empty p { max-width: 420px; margin: 0; }

body.tk-busy .tk-pane { opacity: .75; pointer-events: none; transition: opacity .2s; }

/* náhľad obrázka */
.tk-lb { gap: 12px; align-content: center; justify-items: center; }
.tk-lb img { max-width: min(1400px, 94vw); max-height: 82vh; border-radius: 8px; box-shadow: 0 30px 80px rgba(0,0,0,.6); transform: scale(.94); transition: transform .25s; }
.tk-lb.show img { transform: none; }
.tk-lb .kb-x { position: fixed; top: 16px; right: 16px; }

/* mobil: zoznam alebo konverzácia */
@media (max-width: 900px) {
  .tk-grid { grid-template-columns: 1fr; height: auto; }
  .tk-side { max-height: none; }
  .tk-pane { height: calc(100vh - 140px); min-height: 520px; }
  body:not(.tk-open) .tk-pane { display: none; }
  body.tk-open .tk-side { display: none; }
  .tk-backlist { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 8px; border: 1px solid var(--line); background: var(--field); color: var(--text); cursor: pointer; flex: none; }
  .tk-msg { max-width: 92%; }
  .tk-strip { margin-left: 0; }
}

/* zavrieť celú stránku (späť do profilu / na hlavnú) */
.tk-close { flex: none; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; text-decoration: none; font-size: 18px; color: var(--muted); border: 1px solid var(--line); background: var(--panel); transition: color .15s, border-color .15s, transform .2s; }
.tk-close:hover { color: var(--bad); border-color: var(--bad); transform: rotate(90deg); }
.tk-strip + .tk-close { margin-left: 4px; }
@media (max-width: 900px) { .tk-head { position: relative; padding-right: 50px; } .tk-close { position: absolute; top: 0; right: 0; } }

/* načítavanie konverzácie (hneď po kliknutí) */
.tk-load { display: flex; gap: 8px; justify-content: center; padding: 40px 0; }
.tk-load i { width: 10px; height: 10px; border-radius: 50%; background: var(--diamond); animation: tkDots 1s ease-in-out infinite; }
.tk-load i:nth-child(2) { animation-delay: .15s; } .tk-load i:nth-child(3) { animation-delay: .3s; }
@keyframes tkDots { 50% { transform: translateY(-8px); opacity: .4; } }

/* uzavreté hlásenie a žiadosť o znovuotvorenie */
.tk-locked { font: 600 13px var(--f-body); color: var(--good); padding: 7px 12px; border-radius: 8px; border: 1px solid color-mix(in srgb, var(--good) 45%, transparent); }
.tk-req { font: 600 11px var(--f-body); color: var(--gold); padding: 2px 7px; border-radius: 20px; border: 1px dashed color-mix(in srgb, var(--gold) 60%, transparent); }
.tk-lock { border-top: 1px solid var(--line); padding: 14px 18px; display: flex; gap: 10px 16px; align-items: center; flex-wrap: wrap; background: var(--glass); }
.tk-lock-t { display: flex; gap: 12px; align-items: flex-start; flex: 1 1 100%; }
.tk-lock-t > div { display: grid; gap: 2px; }
.tk-lock-ic { font-size: 24px; line-height: 1; }
.tk-lock-wait { font-size: 13.5px; color: var(--gold); padding: 8px 12px; border-radius: 8px; border: 1px dashed color-mix(in srgb, var(--gold) 55%, transparent); }
.tk-reqf { flex: 1 1 100%; display: grid; gap: 8px; }
.tk-reqf textarea { font: 14.5px/1.45 var(--f-body); color: var(--text); background: var(--field); border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; width: 100%; resize: vertical; }
.tk-reqf textarea:focus { border-color: var(--diamond); outline: none; }
.tk-reqf-f { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.tk-reqbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 10px 16px; border-top: 1px solid color-mix(in srgb, var(--gold) 50%, transparent); background: color-mix(in srgb, var(--gold) 10%, var(--glass)); font-size: 14px; }
.tk-reqbtns { display: inline-flex; gap: 8px; margin-left: auto; }
.tk-reqbar .k { flex: 1 1 100%; }
/* pane: hlavička, správy, (lišta žiadosti), písanie */
.tk-pane { grid-template-rows: auto minmax(0, 1fr) auto auto; }
.tk-empty { grid-row: 1 / -1; }
.tk-newf { grid-row: 2 / -1; }
/* 1.9.5 – témy ako dlaždice s obrázkami namiesto emoji */
.tk-tlabel { display: grid; gap: 8px; font-weight: 600; font-size: 13.5px; }
.tk-topics { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; font-weight: 500; }
.tk-topic { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--field); color: var(--text); font: 600 13.5px/1.25 var(--f-body); text-align: left; cursor: pointer; transition: border-color .15s, background .15s, transform .15s; }
.tk-topic .gi { width: 30px; height: 30px; flex: none; }
.tk-topic:hover { border-color: color-mix(in srgb, var(--diamond) 55%, var(--line)); transform: translateY(-1px); }
.tk-topic.on { border-color: var(--diamond); background: color-mix(in srgb, var(--diamond) 14%, var(--field)); box-shadow: 0 0 0 1px var(--diamond) inset; }
.tk-topic:focus-visible { outline: 2px solid var(--diamond); outline-offset: 2px; }
.tk-i-subj .gi, .tk-ph-no .gi { width: 1.25em; height: 1.25em; }
