:root{
  --bg:#0f1115; --bg2:#171a21; --bg3:#1f242d; --line:#2a3039;
  --fg:#e7ebf0; --fg-dim:#9aa4b2; --accent:#5b8cff; --rh:#3aa675; --en:#c08a3e; --final:#7a6ff0;
}
*{box-sizing:border-box}
body{margin:0;font:14px/1.5 -apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}
header{display:flex;align-items:center;gap:28px;padding:0 22px;height:56px;background:var(--bg2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.brand{font-weight:700;font-size:17px}.brand span{color:var(--accent);margin-left:3px}
nav{display:flex;gap:6px}
nav a{padding:7px 14px;border-radius:8px;color:var(--fg-dim);cursor:pointer;text-decoration:none}
nav a:hover{background:var(--bg3);color:var(--fg)}
nav a.active{background:var(--accent);color:#fff}
main{padding:22px;max-width:1200px;margin:0 auto}
h1{font-size:20px;margin:0 0 16px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.tile{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px}
.tile .n{font-size:28px;font-weight:700}.tile .l{color:var(--fg-dim);font-size:13px;margin-top:2px}
.muted{color:var(--fg-dim)}.note{color:var(--fg-dim);font-size:13px;margin-top:8px}
input.search{width:100%;max-width:360px;padding:9px 12px;background:var(--bg2);border:1px solid var(--line);border-radius:9px;color:var(--fg);margin-bottom:14px}
table{width:100%;border-collapse:collapse;background:var(--bg2);border:1px solid var(--line);border-radius:10px;overflow:hidden}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--fg-dim);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
tr:last-child td{border-bottom:none}
tbody tr.clickable:hover{background:var(--bg3);cursor:pointer}
.pill{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;background:var(--bg3);color:var(--fg-dim);margin:2px 3px 2px 0}
.badge{font-size:10px;padding:1px 6px;border-radius:6px;background:#2b2f1f;color:var(--en);margin-left:5px}
.chip{display:inline-block;padding:3px 9px;border-radius:7px;background:var(--bg3);margin:2px 4px 2px 0;font-size:13px}
.chip .src{font-size:10px;color:var(--en);margin-left:5px}
button.chip{border:1px solid var(--line);color:var(--fg);cursor:pointer}
button.chip.on{background:var(--rh,#5b8def);color:#fff;border-color:transparent}
.col-rh{color:#cdeede}.col-en{color:#f0d9b6}
.back{color:var(--accent);cursor:pointer;margin-bottom:12px;display:inline-block}
.section-title{margin:22px 0 6px;font-weight:700;color:var(--fg-dim);text-transform:uppercase;font-size:12px;letter-spacing:.05em}
.tri th:nth-child(1){width:160px}.tri th.rh{color:var(--rh)}.tri th.en{color:var(--en)}.tri th.fn{color:var(--final)}
.tri td:first-child{color:var(--fg-dim);width:160px}
.subhdr{font-weight:600;margin:14px 0 4px}

/* detail + sidebar (Bod 15) */
.detail-layout{display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:start}
.sidebar{position:sticky;top:74px}
.sidebar .search{margin-bottom:8px}
.side-list{max-height:calc(100vh - 150px);overflow-y:auto;display:flex;flex-direction:column;gap:1px}
.side-item{display:flex;justify-content:space-between;gap:8px;padding:6px 10px;border-radius:6px;color:var(--fg);text-decoration:none;font-size:13px}
.side-item:hover{background:var(--bg2)}
.side-item.active{background:var(--bg3);color:var(--accent)}
.side-item .muted{font-size:11px}
.detail-main{min-width:0}

/* full-text descriptions (Bod 12) */
.fulltext{white-space:pre-wrap;max-height:180px;overflow-y:auto;font-size:12px;line-height:1.55;background:var(--bg3);border:1px solid var(--line);border-radius:6px;padding:8px 10px;margin:2px 0}
.fulltext .src{color:var(--en);font-size:10px;margin-left:6px;text-transform:uppercase}
.tr-table td.fulltext-cell{white-space:pre-wrap;font-size:12px;max-width:320px;vertical-align:top}

/* image strip (Bod 14) */
.img-strip{display:flex;gap:12px;margin:6px 0 16px;flex-wrap:wrap}
.img-strip figure{margin:0;text-align:center}
.img-strip img{width:120px;height:120px;object-fit:cover;border-radius:8px;background:var(--bg3);border:1px solid var(--line);display:block}
.img-strip figcaption{color:var(--fg-dim);font-size:11px;margin-top:4px}

/* klikateľný link na prelinkovaný profil (vzťahy) */
.rellink{text-decoration:none;cursor:pointer;opacity:.7}
.rellink:hover{opacity:1}
/* aktívny/bývalý člen */
.flag-on{font-size:10px;color:var(--rh);margin-left:5px}
.flag-off{font-size:10px;color:#e08aa0;margin-left:5px}

/* SEO a popisy — blok per jazyk */
.locale-block{margin:0 0 14px}
.locale-tag{display:inline-block;font-weight:700;font-size:12px;letter-spacing:.05em;color:var(--accent);background:var(--bg3);padding:2px 10px;border-radius:6px;margin-bottom:4px}

@media (max-width:760px){.detail-layout{grid-template-columns:1fr}.sidebar{position:static}.side-list{max-height:220px}}

/* U1 — zlúčený duplikát (príznak merged_into) */
tr.merged td { opacity: .55; }
.badge-merged { font-size: 11px; background: #3a2c1f; color: #e0b07a; padding: 1px 6px; border-radius: 6px; margin-left: 6px; white-space: nowrap; }

/* S4 — tlačidlá Sync teraz */
.btn { background: var(--bg3); color: var(--fg); border: 1px solid #3a4a5a; border-radius: 6px; padding: 7px 14px; font-size: 13px; cursor: pointer; transition: background .15s; }
.btn:hover { background: #2a3a4a; }
.btn:disabled { opacity: .5; cursor: default; }
