:root{--bg:#f6f7f9;--fg:#1d2330;--muted:#6b7280;--line:#e3e6eb;--acc:#2f6fed;--new:#fff7d6;--bad:#fde8e8}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.45 -apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
.top{display:flex;gap:16px;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid var(--line)}
.brand{font-weight:700;color:var(--fg)}.top nav a{margin-right:12px;color:var(--muted)}.top nav a.on{color:var(--fg);font-weight:600}
main{max-width:1100px;margin:0 auto;padding:16px}
.bar{display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);margin-bottom:12px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.filters select,.filters input{padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;min-width:0}
.filters input{flex:1 1 220px}button{padding:7px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}
.threads{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--line);border-radius:8px}
.th{padding:10px 14px;border-top:1px solid var(--line)}.th:first-child{border-top:0}.th.new{background:var(--new)}
.meta{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.meta .forum{font-weight:600}
.title{display:block;font-size:16px;margin-top:2px;overflow-wrap:anywhere}.author{font-size:13px;color:var(--muted)}
.pager{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.pager a,.pager b{padding:4px 9px;border:1px solid var(--line);border-radius:5px;background:#fff}
.forums{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}
.forums th,.forums td{padding:8px 10px;border-top:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.forums small{display:block;color:var(--muted)}.forums tr.bad{background:var(--bad)}.forums tr.off{opacity:.55}
.act form{display:grid;gap:6px;margin-top:6px}.act input,.act select{width:100%;padding:6px;border:1px solid var(--line);border-radius:5px}
.add{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.add h2{width:100%;font-size:16px;margin:0}.add input{flex:1 1 260px;padding:7px}
.msg{padding:8px 12px;background:#e8f1ff;border-radius:6px}.err{padding:10px;background:var(--bad);border-radius:6px}.empty{color:var(--muted)}
@media(max-width:700px){main{padding:12px 16px}
.forums thead{display:none}.forums,.forums tbody,.forums tr,.forums td{display:block;width:100%}
.forums tr{border-top:1px solid var(--line);padding:6px 0}.forums td{border:0;padding:4px 10px}
.forums td[data-l]::before{content:attr(data-l) ": ";color:var(--muted);font-size:12px}}
.top .logout{margin-left:auto}.top .logout button{padding:5px 10px;font-size:13px}
.groups{display:flex;flex-direction:column;gap:8px}
.grp{background:#fff;border:1px solid var(--line);border-radius:8px}
.grp>summary{display:flex;gap:10px;align-items:center;padding:12px 14px;cursor:pointer;list-style:none}
.grp>summary::-webkit-details-marker{display:none}
.grp>summary::before{content:"▸";color:var(--muted);transition:transform .15s}.grp[open]>summary::before{transform:rotate(90deg)}
.gname{font-weight:600;overflow-wrap:anywhere}.gwhen{margin-left:auto;color:var(--muted);font-size:13px;white-space:nowrap}
.badge{background:var(--new);border:1px solid #f0d77a;color:#7a5b00;font-size:12px;padding:1px 7px;border-radius:10px;white-space:nowrap}
.grp .threads{border:0;border-top:1px solid var(--line);border-radius:0}.grp .more{display:block;padding:8px 14px 12px;font-size:14px}
.grp.dead{opacity:.6}.grp .empty{padding:0 14px 12px;margin:0}
.login-page{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:16px}
.login{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;width:100%;max-width:340px;display:grid;gap:12px}
.login h1{margin:0;font-size:22px}.login label{display:grid;gap:4px;font-size:14px}.login input[type=password]{padding:9px;border:1px solid var(--line);border-radius:6px;font-size:16px}
.login .chk{display:flex;gap:8px;align-items:center}.login button{padding:10px;background:var(--acc);color:#fff;border:0;border-radius:6px;font-size:15px}
.num{color:var(--muted);font-variant-numeric:tabular-nums;min-width:1.6em;display:inline-block}
.grp>summary .num{min-width:1.8em;text-align:right}
.forums td.num{width:2.5em;text-align:right}
@media(max-width:700px){.forums td.num{width:auto;text-align:left}}
.forums th{white-space:nowrap}
.forums td[data-l="Metoda"],.forums td[data-l="Wątki"],.forums td[data-l="Ostatnio OK"],.forums td.act summary{white-space:nowrap;overflow-wrap:normal}
.forums td[data-l="Błąd"]{font-size:13px;color:#4b5563;word-break:break-all;overflow-wrap:anywhere}
.forums td.act{width:1%}
