/* ==========================================================================
   PODPORA (v=535300) — plovoucí widget vpravo dole + dialogy (pw-)
   a admin sekce Podpora (apo-). Tmavý podklad, zlatý okraj, červený akcent.
   Widget je nad hrou (z 2500), dialog nad vším kromě tooltipů (z 3000).
   ========================================================================== */
#pwWidget{
  position:fixed;
  right:calc(16px + env(safe-area-inset-right, 0px));
  bottom:calc(16px + env(safe-area-inset-bottom, 0px));
  z-index:2500;
  display:flex;flex-direction:column;align-items:flex-end;gap:8px;
  font-family:var(--tl-pismo-text, Georgia, serif);
  pointer-events:none;
}
#pwWidget > *{pointer-events:auto}
html.ap-otevreno #pwWidget{display:none}

#pwWidget .pw-tlac{
  position:relative;
  display:inline-flex;align-items:center;gap:8px;
  height:40px;min-width:132px;padding:0 16px 0 12px;
  border:1px solid var(--tl-zlato-700, #a3741f);
  border-radius:8px;
  background:linear-gradient(180deg, #13203f 0%, var(--tl-navy-800, #08132f) 100%);
  box-shadow:inset 0 0 0 1px rgba(241,205,114,.12), inset 3px 0 0 var(--tl-karmin-500, #a61c1c), 0 6px 18px rgba(0,0,0,.55);
  color:var(--tl-text-zlaty, #f3dc9c);
  font:600 14px/1 var(--tl-pismo-nadpis, Georgia, serif);
  letter-spacing:.04em;
  cursor:pointer;
  transition:border-color .15s, transform .15s, box-shadow .15s;
}
#pwWidget .pw-tlac:hover{border-color:var(--tl-zlato-300, #f1cd72);transform:translateY(-1px)}
#pwWidget .pw-tlac:focus-visible,
#pwWidget .pw-polozka:focus-visible{outline:2px solid var(--tl-zlato-300, #f1cd72);outline-offset:2px}
#pwWidget.otevreno .pw-tlac{border-color:var(--tl-zlato-300, #f1cd72)}
#pwWidget .pw-ik{width:20px;height:20px;flex:none;fill:var(--tl-zlato-300, #f1cd72)}
#pwWidget .pw-tecka{
  position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:50%;
  background:var(--tl-cervena, #e0463a);border:2px solid var(--tl-navy-900, #050c22);
}

#pwWidget .pw-menu{
  display:flex;flex-direction:column;
  min-width:236px;padding:6px;
  border:1px solid var(--tl-zlato-700, #a3741f);
  border-radius:10px;
  background:linear-gradient(180deg, #101b38 0%, var(--tl-navy-900, #050c22) 100%);
  box-shadow:inset 0 0 0 1px rgba(241,205,114,.1), 0 10px 28px rgba(0,0,0,.6);
  transform-origin:bottom right;
  animation:pwVyjed .16s ease-out;
}
#pwWidget .pw-menu[hidden]{display:none}
@keyframes pwVyjed{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
#pwWidget .pw-polozka{
  display:flex;align-items:center;gap:10px;
  width:100%;padding:10px 12px;
  border:0;border-radius:6px;background:none;
  color:var(--tl-text, #ece3cf);
  font:500 15px/1.2 var(--tl-pismo-text, Georgia, serif);
  text-align:left;cursor:pointer;
}
#pwWidget .pw-polozka + .pw-polozka{border-top:1px solid rgba(214,168,71,.14)}
#pwWidget .pw-polozka:hover{background:rgba(166,28,28,.22);color:var(--tl-zlato-100, #fff3c4)}
#pwWidget .pw-pik{width:22px;text-align:center;font-size:16px}
#pwWidget .pw-pocet{
  margin-left:auto;min-width:20px;padding:2px 6px;border-radius:10px;
  background:var(--tl-karmin-500, #a61c1c);color:#fff;font:700 12px/1.2 var(--tl-pismo-text, Georgia, serif);text-align:center;
}
#pwWidget .pw-pocet[hidden],#pwWidget .pw-tecka[hidden]{display:none}

/* ---- dialog -------------------------------------------------------------- */
.pw-vrstva{
  position:fixed;inset:0;z-index:3000;
  display:flex;align-items:center;justify-content:center;
  padding:calc(12px + env(safe-area-inset-top, 0px)) calc(12px + env(safe-area-inset-right, 0px))
          calc(12px + env(safe-area-inset-bottom, 0px)) calc(12px + env(safe-area-inset-left, 0px));
  background:rgba(3,6,16,.62);
  animation:pwProlni .14s ease-out;
}
@keyframes pwProlni{from{opacity:0}to{opacity:1}}
.pw-vrstva .pw-dialog{
  display:flex;flex-direction:column;
  width:min(460px, 100%);max-height:100%;
  border:1px solid var(--tl-zlato-500, #d6a847);
  border-radius:10px;
  background:linear-gradient(180deg, #111d3b 0%, var(--tl-navy-900, #050c22) 100%);
  box-shadow:inset 0 3px 0 var(--tl-karmin-500, #a61c1c), 0 18px 48px rgba(0,0,0,.7);
  color:var(--tl-text, #ece3cf);
  font:16px/1.4 var(--tl-pismo-text, Georgia, serif);
  animation:pwVyjed .16s ease-out;
  outline:none;
}
.pw-vrstva .pw-dlg-h{display:flex;align-items:center;gap:10px;padding:14px 16px 10px;border-bottom:1px solid rgba(214,168,71,.22)}
.pw-vrstva .pw-dlg-h h2{flex:1;margin:0;color:var(--tl-text-zlaty, #f3dc9c);font:600 18px/1.2 var(--tl-pismo-nadpis, Georgia, serif);letter-spacing:.03em}
.pw-vrstva .pw-zavrit{
  width:30px;height:30px;border:1px solid rgba(214,168,71,.35);border-radius:6px;background:none;
  color:var(--tl-text-tlumeny, #b8ab8f);font-size:15px;cursor:pointer;
}
.pw-vrstva .pw-zavrit:hover{color:var(--tl-zlato-100, #fff3c4);border-color:var(--tl-zlato-300, #f1cd72)}
.pw-vrstva .pw-dlg-telo{padding:14px 16px;overflow:auto;min-height:0}
.pw-vrstva .pw-dlg-p{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid rgba(214,168,71,.22)}

.pw-vrstva .pw-form{display:flex;flex-direction:column;gap:12px}
.pw-vrstva .pw-pole{display:flex;flex-direction:column;gap:5px}
.pw-vrstva .pw-pole > span{color:var(--tl-text-zlaty, #f3dc9c);font:600 13px/1.2 var(--tl-pismo-nadpis, Georgia, serif);letter-spacing:.03em}
.pw-vrstva .pw-pole em{color:var(--tl-text-tlumeny, #b8ab8f);font:italic 400 13px var(--tl-pismo-text, Georgia, serif);letter-spacing:0}
.pw-vrstva .pw-pole input[type=text],
.pw-vrstva .pw-pole textarea{
  box-sizing:border-box;width:100%;padding:9px 11px;
  border:1px solid rgba(214,168,71,.4);border-radius:6px;
  background:rgba(2,5,14,.7);color:var(--tl-text, #ece3cf);
  font:16px/1.4 var(--tl-pismo-text, Georgia, serif);
  resize:vertical;
}
.pw-vrstva .pw-pole textarea{min-height:110px;max-height:40vh}
.pw-vrstva .pw-pole input:focus,
.pw-vrstva .pw-pole textarea:focus{outline:none;border-color:var(--tl-zlato-300, #f1cd72);box-shadow:0 0 0 2px rgba(241,205,114,.18)}
.pw-vrstva [aria-invalid=true]{border-color:var(--tl-cervena, #e0463a) !important}
.pw-vrstva .pw-chyba{min-height:0;color:#ff8a7e;font-size:13px}
.pw-vrstva .pw-chyba:empty{display:none}

.pw-vrstva .pw-soubor{position:relative;display:inline-flex;align-self:flex-start;cursor:pointer}
.pw-vrstva .pw-soubor input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.pw-vrstva .pw-soubor b{
  padding:7px 12px;border:1px dashed rgba(214,168,71,.55);border-radius:6px;
  color:var(--tl-text-zlaty, #f3dc9c);font:600 13px/1.2 var(--tl-pismo-nadpis, Georgia, serif);
}
.pw-vrstva .pw-soubor:hover b,.pw-vrstva .pw-soubor:focus-within b{border-color:var(--tl-zlato-300, #f1cd72);border-style:solid}
.pw-vrstva .pw-nahled{display:flex;align-items:flex-start;gap:10px}
.pw-vrstva .pw-nahled[hidden]{display:none}
.pw-vrstva .pw-nahled img{max-width:180px;max-height:110px;border:1px solid rgba(214,168,71,.4);border-radius:4px;object-fit:contain;background:#000}
.pw-vrstva .pw-odebrat{border:0;background:none;color:#ff8a7e;font:14px var(--tl-pismo-text, Georgia, serif);text-decoration:underline;cursor:pointer}
.pw-vrstva .pw-stranka{color:var(--tl-text-tlumeny, #b8ab8f);font-size:13px}
.pw-vrstva .pw-stranka code{color:var(--tl-text, #ece3cf);font-size:12px;word-break:break-all}
.pw-vrstva .pw-hlaska{color:var(--tl-text-tlumeny, #b8ab8f);font-size:14px}
.pw-vrstva .pw-hlaska:empty{display:none}
.pw-vrstva .pw-hlaska.chyba{color:#ff8a7e}

.pw-vrstva .pw-btn{
  min-height:38px;white-space:nowrap;padding:0 18px;border-radius:6px;cursor:pointer;
  font:600 14px/1 var(--tl-pismo-nadpis, Georgia, serif);letter-spacing:.04em;
}
.pw-vrstva .pw-btn-hl{
  border:1px solid var(--tl-zlato-700, #a3741f);
  background:linear-gradient(180deg, #b52424 0%, var(--tl-karmin-700, #7a1212) 100%);
  color:var(--tl-zlato-100, #fff3c4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.pw-vrstva .pw-btn-hl:hover:not(:disabled){border-color:var(--tl-zlato-300, #f1cd72);filter:brightness(1.1)}
.pw-vrstva .pw-btn-hl:disabled{opacity:.55;cursor:wait}
.pw-vrstva .pw-btn-vedl{border:1px solid rgba(214,168,71,.35);background:none;color:var(--tl-text-tlumeny, #b8ab8f)}
.pw-vrstva .pw-btn-vedl:hover{color:var(--tl-text, #ece3cf);border-color:var(--tl-zlato-500, #d6a847)}
.pw-vrstva .pw-btn:focus-visible{outline:2px solid var(--tl-zlato-300, #f1cd72);outline-offset:2px}

.pw-vrstva .pw-diky{text-align:center;padding:10px 4px}
.pw-vrstva .pw-diky > span{display:block;font-size:34px;margin-bottom:6px}
.pw-vrstva .pw-diky b{color:var(--tl-text-zlaty, #f3dc9c);font:600 17px var(--tl-pismo-nadpis, Georgia, serif)}
.pw-vrstva .pw-diky p + p{margin-top:6px;color:var(--tl-text-tlumeny, #b8ab8f)}

/* ---- Moje hlášení --------------------------------------------------------- */
.pw-vrstva .pw-seznam{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pw-vrstva .pw-h{display:block;width:100%;margin:0;text-align:left;font:inherit;color:inherit;cursor:pointer;
  padding:10px 12px;border:1px solid rgba(214,168,71,.22);border-radius:8px;background:rgba(2,5,14,.45);
  transition:border-color .15s ease,background .15s ease}
.pw-vrstva .pw-h:hover{border-color:var(--tl-zlato-500, #d6a847);background:rgba(214,168,71,.06)}
.pw-vrstva .pw-h:focus-visible{outline:2px solid var(--tl-zlato-300, #f1cd72);outline-offset:2px}
.pw-vrstva .pw-h-posl{display:block;margin-top:6px;color:var(--tl-text-tlumeny, #b8ab8f);font-size:13.5px;overflow-wrap:anywhere}
.pw-vrstva .pw-h-posl i{font-style:normal;color:var(--tl-text-zlaty, #f3dc9c)}
.pw-vrstva .pw-h-otevri{display:block;margin-top:6px;color:var(--tl-zlato-300, #f1cd72);font-size:12.5px;letter-spacing:.03em}
.pw-vrstva .pw-h.nove .pw-h-otevri{color:#ff9d93;font-weight:600}
.pw-vrstva .pw-h.nove{border-color:var(--tl-karmin-500, #a61c1c);box-shadow:inset 3px 0 0 var(--tl-karmin-500, #a61c1c)}
.pw-vrstva .pw-h-hlava{display:flex;align-items:center;gap:8px}
.pw-vrstva .pw-h-hlava b{flex:1;min-width:0;color:var(--tl-text, #ece3cf);overflow-wrap:anywhere}
.pw-vrstva .pw-h-meta{display:block;margin-top:2px;color:var(--tl-text-tlumeny, #b8ab8f);font-size:12px}
.pw-vrstva .pw-odpoved{margin-top:8px;padding:8px 10px;border-left:2px solid var(--tl-zlato-500, #d6a847);background:rgba(214,168,71,.07)}
.pw-vrstva .pw-odpoved small{color:var(--tl-text-zlaty, #f3dc9c);font-size:12px}
.pw-vrstva .pw-odpoved p{white-space:pre-wrap;overflow-wrap:anywhere}
/* ---- konverzace (v=535800) ---- */
.pw-vrstva .pw-zpet{margin:0 0 8px;padding:4px 0;border:none;background:none;cursor:pointer;
  color:var(--tl-zlato-300, #f1cd72);font:inherit;font-size:14px}
.pw-vrstva .pw-zpet:hover{text-decoration:underline}
.pw-vrstva .pw-v-hlava{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.pw-vrstva .pw-v-hlava b{flex:1;min-width:0;overflow-wrap:anywhere;color:var(--tl-text-zlaty, #f3dc9c)}
.pw-vrstva .pw-vlakno{display:flex;flex-direction:column;gap:8px;max-height:min(46vh,380px);overflow-y:auto;overscroll-behavior:contain;
  padding:10px;border:1px solid rgba(214,168,71,.22);border-radius:8px;background:rgba(0,0,0,.25)}
.pw-vrstva .pw-zp{max-width:86%;padding:7px 10px 8px;border-radius:10px;border:1px solid}
.pw-vrstva .pw-zp small{display:block;margin-bottom:2px;font-size:11.5px;opacity:.85}
.pw-vrstva .pw-zp p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14.5px;line-height:1.4}
.pw-vrstva .pw-zp.ja{align-self:flex-end;background:rgba(47,90,170,.25);border-color:rgba(110,150,230,.4);border-bottom-right-radius:3px}
.pw-vrstva .pw-zp.ja small{color:#9cc8ff;text-align:right}
.pw-vrstva .pw-zp.spravce{align-self:flex-start;background:rgba(214,168,71,.12);border-color:rgba(214,168,71,.45);border-bottom-left-radius:3px}
.pw-vrstva .pw-zp.spravce small{color:var(--tl-text-zlaty, #f3dc9c)}
.pw-vrstva .pw-v-pozn{display:block;color:var(--tl-text-tlumeny, #b8ab8f);font-size:12.5px;font-style:italic;text-align:center}
.pw-vrstva .pw-v-form{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.pw-vrstva .pw-v-form textarea{min-height:70px}
.pw-vrstva .pw-v-form .pw-btn{align-self:flex-end}
.pw-vrstva .pw-prazdne,.pw-vrstva .pw-nacitam{color:var(--tl-text-tlumeny, #b8ab8f);text-align:center;padding:14px 0}
.pw-stav,.apo-stav{
  flex:none;display:inline-block;padding:2px 8px;border-radius:10px;
  font:600 11px/1.4 var(--tl-pismo-nadpis, Georgia, serif);letter-spacing:.03em;white-space:nowrap;
  background:rgba(184,171,143,.15);color:#d8ccb0;border:1px solid rgba(184,171,143,.35);
}
.pw-stav.s-nove,.apo-stav.s-nove{background:rgba(47,140,255,.14);color:#9cc8ff;border-color:rgba(47,140,255,.45)}
.pw-stav.s-resi_se,.apo-stav.s-resi_se{background:rgba(214,168,71,.15);color:#f1cd72;border-color:rgba(214,168,71,.5)}
.pw-stav.s-vyreseno,.apo-stav.s-vyreseno{background:rgba(71,201,107,.14);color:#8ee3a4;border-color:rgba(71,201,107,.45)}
.pw-stav.s-zamitnuto,.apo-stav.s-zamitnuto{background:rgba(224,70,58,.14);color:#ff9d93;border-color:rgba(224,70,58,.45)}

/* ---- mobil: jen ikona, dialog přes celou šířku ----------------------------- */
@media (max-width:640px){
  #pwWidget{right:calc(10px + env(safe-area-inset-right, 0px));bottom:calc(10px + env(safe-area-inset-bottom, 0px))}
  #pwWidget .pw-tlac{min-width:0;width:44px;height:44px;padding:0;justify-content:center;border-radius:50%}
  #pwWidget .pw-tlac .pw-text{display:none}
  #pwWidget .pw-ik{width:22px;height:22px}
  #pwWidget .pw-menu{min-width:0;width:min(260px, calc(100vw - 20px))}
  .pw-vrstva{align-items:flex-end;padding-left:8px;padding-right:8px}
  .pw-vrstva .pw-dialog{width:100%;max-height:calc(100dvh - 24px)}
  .pw-vrstva .pw-dlg-p .pw-btn{flex:1;padding:0 10px}
}
@media (prefers-reduced-motion:reduce){
  #pwWidget .pw-menu,.pw-vrstva,.pw-vrstva .pw-dialog{animation:none}
  #pwWidget .pw-tlac{transition:none}
}

/* ---- Admin → Podpora (apo-) ------------------------------------------------- */
#admPanel .apo-filtry{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
#admPanel .apo-typ-filtr select{min-width:140px}
#admPanel .apo-radek{cursor:pointer}
#admPanel .apo-radek:hover td{background:rgba(214,168,71,.06)}
#admPanel .apo-radek:focus-visible{outline:2px solid #f1cd72;outline-offset:-2px}
#admPanel .apo-radek.nove td:first-child{box-shadow:inset 3px 0 0 #a61c1c}
#admPanel .apo-id{font-variant-numeric:tabular-nums;white-space:nowrap}
#admPanel .apo-typ{white-space:nowrap}
#admPanel .apo-predmet{max-width:380px}
#admPanel .apo-predmet small,#admPanel .apo-tabulka td > small{display:block;overflow-wrap:anywhere}
#admPanel .apo-stranka{font-size:12px;word-break:break-all}
#admPanel .apo-detail{display:flex;flex-direction:column;gap:12px}
#admPanel .apo-meta{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0}
#admPanel .apo-meta dt{opacity:.7}
#admPanel .apo-meta dd{margin:0;overflow-wrap:anywhere}
#admPanel .apo-predmet-h{margin:4px 0 0;font-size:17px}
#admPanel .apo-vlakno{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow-y:auto;padding:10px;
  border:1px solid rgba(214,168,71,.22);border-radius:6px;background:rgba(0,0,0,.18)}
#admPanel .apo-zp{max-width:85%;padding:7px 10px 8px;border-radius:8px;border:1px solid}
#admPanel .apo-zp small{display:block;margin-bottom:2px;font-size:11.5px;opacity:.85}
#admPanel .apo-zp p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
#admPanel .apo-zp.hrac{align-self:flex-start;background:rgba(47,90,170,.18);border-color:rgba(110,150,230,.4)}
#admPanel .apo-zp.spravce{align-self:flex-end;background:rgba(214,168,71,.12);border-color:rgba(214,168,71,.45)}
#admPanel .apo-nova{display:block;color:#ffb36b;font-weight:600}
#admPanel .apo-popis{white-space:pre-wrap;overflow-wrap:anywhere;padding:10px 12px;border:1px solid rgba(214,168,71,.22);border-radius:6px;background:rgba(0,0,0,.18);max-height:260px;overflow:auto}
#admPanel .apo-obr{display:block;align-self:flex-start;cursor:zoom-in}
#admPanel .apo-obr img{display:block;max-width:100%;max-height:340px;border:1px solid rgba(214,168,71,.35);border-radius:4px;background:#000}
#admPanel .apo-form{grid-template-columns:200px 1fr;align-items:start}
#admPanel .apo-odpoved textarea{width:100%;min-height:110px;resize:vertical}
@media (max-width:720px){#admPanel .apo-form{grid-template-columns:1fr}}
