/* Warstwa korekt — tylko środowisko robocze (KOREKTY=1). Do usunięcia na produkcji. */
.korekta-mark{
  position:absolute; top:3px; right:3px; z-index:35;
  width:16px; height:16px; border-radius:50%; border:1.5px solid var(--surface,#fff);
  background:#8b5cf6; color:#fff; font-size:9px; line-height:1;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  opacity:.5; transition:opacity .1s, transform .1s; padding:0;
  box-shadow:0 1px 3px rgba(0,0,0,.35);
}
.korekta-mark.kfree{right:auto} /* pozycja z JS (left/top) — dla pól input/select */
.korekta-target{transition:outline-color .1s}
.korekta-target:hover{outline:1px dashed color-mix(in srgb,var(--brand,#0e5aa7) 55%,transparent); outline-offset:1px}
.korekta-target:hover > .korekta-mark, .korekta-target:hover ~ .korekta-mark{opacity:.95}
.korekta-mark:hover{opacity:1 !important; transform:scale(1.18)}
.korekta-mark.has{opacity:1; background:var(--accent,#c8102e)}
.korekta-mark .cnt{font-weight:800}

/* popover */
.korekta-pop{
  position:fixed; z-index:60; width:320px; max-width:calc(100vw - 20px);
  background:var(--surface,#fff); color:var(--ink,#16202b);
  border:1px solid var(--line,#e1e6ec); border-radius:12px;
  box-shadow:0 8px 30px rgba(0,0,0,.22); font-size:13px; overflow:hidden;
}
.korekta-pop .hd{padding:10px 12px; border-bottom:1px solid var(--line,#e1e6ec); background:var(--surface-2,#eef2f7)}
.korekta-pop .hd .t{font-family:var(--mono,monospace); font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:var(--brand-ink,#0a3f78); font-weight:700}
.korekta-pop .hd .l{font-weight:650; margin-top:2px; word-break:break-word}
.korekta-pop .body{max-height:44vh; overflow:auto; padding:10px 12px; display:flex; flex-direction:column; gap:8px}
.korekta-c{border:1px solid var(--line,#e1e6ec); border-radius:8px; padding:8px 10px}
.korekta-c.done{opacity:.6}
.korekta-c .meta{font-size:11px; color:var(--muted,#5c6672); display:flex; gap:8px; align-items:center; margin-bottom:4px; flex-wrap:wrap}
.korekta-c .txt{white-space:pre-wrap; word-break:break-word}
.korekta-c .row{display:flex; gap:6px; margin-top:6px}
.korekta-pop .add{padding:10px 12px; border-top:1px solid var(--line,#e1e6ec); display:flex; flex-direction:column; gap:8px}
.korekta-pop textarea{width:100%; border:1.5px solid var(--line,#e1e6ec); border-radius:8px; padding:8px; font:inherit; font-size:13px; resize:vertical; min-height:56px; background:var(--surface,#fff); color:inherit}
.korekta-pop textarea:focus{outline:none; border-color:var(--brand,#0e5aa7)}
.korekta-btn{border:1px solid var(--line,#e1e6ec); background:var(--surface,#fff); color:var(--ink,#16202b); font:inherit; font-size:12px; font-weight:600; padding:6px 11px; border-radius:7px; cursor:pointer}
.korekta-btn.primary{background:var(--brand,#0e5aa7); border-color:var(--brand,#0e5aa7); color:#fff}
.korekta-btn.mini{padding:3px 8px; font-size:11px}
.korekta-btn.link{border:0; background:none; color:var(--brand,#0e5aa7); padding:2px}
.korekta-btn.danger{color:var(--accent,#c8102e)}

/* dolny pasek uwag ogólnych */
.korekta-bar{position:fixed; left:0; right:0; bottom:0; z-index:55; background:var(--surface,#fff); border-top:2px solid var(--brand,#0e5aa7); box-shadow:0 -3px 14px rgba(0,0,0,.1)}
.korekta-bar .in{max-width:1120px; margin:0 auto; padding:8px 16px}
.korekta-bar .toggle{display:flex; align-items:center; gap:10px; cursor:pointer; font-size:13px; font-weight:650; color:var(--ink,#16202b)}
.korekta-bar .toggle .badge2{font-family:var(--mono,monospace); font-size:11px; background:var(--brand-soft,#e9f0f8); color:var(--brand-ink,#0a3f78); padding:2px 8px; border-radius:20px}
.korekta-bar .panelb{display:none; padding-top:8px}
.korekta-bar.open .panelb{display:block}
.korekta-bar .list{display:flex; flex-direction:column; gap:6px; margin-bottom:8px}
.korekta-bar textarea{width:100%; border:1.5px solid var(--line,#e1e6ec); border-radius:8px; padding:8px; font:inherit; font-size:13px; min-height:48px; background:var(--surface,#fff); color:inherit}
body.korekta-on{padding-bottom:52px}

/* wskaźnik trybu + podświetlenie skoku */
.korekta-modebadge{font-family:var(--mono,monospace); font-size:10px; text-transform:uppercase; letter-spacing:.06em; font-weight:700; color:#fff; background:var(--accent,#c8102e); padding:3px 9px; border-radius:20px}
@keyframes korektaHl{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent,#c8102e) 60%,transparent)}100%{box-shadow:0 0 0 8px transparent}}
.korekta-jump{animation:korektaHl 1.2s ease-out 2; outline:2px solid var(--accent,#c8102e) !important; outline-offset:2px}
.korekta-toast{position:fixed; bottom:64px; left:50%; transform:translateX(-50%); z-index:70; background:var(--ink,#16202b); color:#fff; padding:9px 16px; border-radius:8px; font-size:13px; opacity:0; transition:opacity .2s}
.korekta-toast.show{opacity:1}

/* ===== Panel korekt: statusy 3-stanowe + rozwijane wątki komentarzy ===== */
.st.todo{background:#fdeaea;color:#dc2626}
.st.question{background:#fef3e2;color:#d97706}
:root[data-theme="dark"] .st.todo{background:#3a1a1a;color:#f87171}
:root[data-theme="dark"] .st.question{background:#3a2a12;color:#fbbf24}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .st.todo{background:#3a1a1a;color:#f87171}:root:not([data-theme="light"]) .st.question{background:#3a2a12;color:#fbbf24}}
.ktable tbody tr.krow{cursor:pointer}
.ktable tbody tr.krow:hover{background:var(--surface-2,#f6f8fa)}
.ktable td.kexp{text-align:center;color:var(--muted,#5c6672);vertical-align:middle}
.ktable td.kexp .chev{transition:transform .15s}
.ktable tr.krow.exp td.kexp .chev{transform:rotate(90deg)}
.cbadge{display:inline-block;font-size:11px;color:var(--muted,#5c6672);background:var(--surface-2,#f0f2f5);border-radius:10px;padding:1px 7px;white-space:nowrap}
tr.kdetail>td{background:var(--surface-2,#f6f8fa);padding:0}
.kthread{padding:14px 18px;border-left:3px solid var(--brand,#0e5aa7);margin:2px 0}
.kstatusbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.kstatusbar .klbl{font-size:12.5px;color:var(--muted,#5c6672);font-weight:600}
.stbtn{font-size:12px;font-weight:600;padding:5px 12px;border-radius:16px;border:1.5px solid transparent;background:var(--surface,#fff);cursor:pointer;transition:all .12s}
.stbtn.todo{color:#dc2626;border-color:#f3c4c4}
.stbtn.question{color:#d97706;border-color:#f5d9ad}
.stbtn.done{color:#1a9d5a;border-color:#b3e0c5}
.stbtn.todo.on{background:#dc2626;color:#fff;border-color:#dc2626}
.stbtn.question.on{background:#d97706;color:#fff;border-color:#d97706}
.stbtn.done.on{background:#1a9d5a;color:#fff;border-color:#1a9d5a}
.kcomments{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.knoc{font-size:12.5px;color:var(--muted,#5c6672);font-style:italic}
.kcomment{background:var(--surface,#fff);border:1px solid var(--line,#e1e6ec);border-radius:8px;padding:8px 12px}
.kcomment .ca{font-size:11.5px;color:var(--muted,#5c6672);margin-bottom:3px}
.kcomment .ca b{color:var(--ink,#16202b)}
.kcomment .ct{font-size:13.5px;line-height:1.5;white-space:pre-wrap}
.kreply{display:flex;gap:8px;align-items:flex-end}
.kreply textarea{flex:1;min-height:38px;resize:vertical;padding:8px 11px;border:1px solid var(--line,#e1e6ec);border-radius:8px;font:inherit;font-size:13.5px;background:var(--surface,#fff);color:var(--ink,#16202b)}
.kreply .btn.sm{white-space:nowrap}
