/* ═══ Shared styles for meeting detail pages ═══ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
    --bg:#080c12; --bg2:#0e1520; --bg3:#131c2b; --surface:#162030; --border:#1e2d40;
    --gold:#d69d12; --gold-hi:#e8a818; --gold-lo:#5a3e04; --gold-glow:#c9900a44;
    --teal:#30cdc1; --teal-lo:#0d5a55; --teal-glow:#25b5a844;
    --green:#2ed06a; --red:#f87171;
    --text:#d8e8f2; --text-mid:#9fb5ca; --text-dim:#7695b4;
}
html { scroll-behavior: smooth; }
body { background:var(--bg); color:var(--text); font-family:system-ui,-apple-system,'Segoe UI',sans-serif; font-size:16px; line-height:1.6; overflow-x:hidden; }
body::before { content:''; position:fixed; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E"); opacity:0.025; pointer-events:none; z-index:9999; }

/* ─── Navigation ─── */
.top-nav { background:var(--bg); }
.top-nav-inner { max-width:1280px; margin:0 auto; display:flex; align-items:center; gap:14px; padding:14px 40px; }
.nav-brand { display:flex; align-items:center; gap:14px; text-decoration:none; color:inherit; }
.nav-logo { font-size:22px; line-height:1; flex-shrink:0; }
.nav-name { font-family:Georgia,serif; font-size:.95rem; font-weight:700; color:var(--text); }
.nav-name span { color:var(--gold-hi); }
.nav-breadcrumb { font-family:'Courier New',monospace; font-size:.7rem; letter-spacing:.1em; color:var(--text-dim); display:flex; align-items:center; gap:6px; }
.nav-breadcrumb a { color:var(--text-dim); text-decoration:none; transition:color .2s; }
.nav-breadcrumb a:hover { color:var(--gold); }
.nav-domain { margin-left:auto; font-family:'Courier New',monospace; font-size:.75rem; color:var(--text-dim); letter-spacing:.06em; text-decoration:none; }

/* ─── Tab bar ─── */
.tab-bar { background:var(--bg2); border-bottom:1px solid var(--border); display:flex; padding:0 max(40px, calc((100% - 1100px) / 2 + 40px)); overflow-x:auto; scrollbar-width:none; }
.tab-item { display:flex; align-items:center; gap:8px; padding:14px 20px; font-size:.85rem; font-weight:500; color:var(--text-dim); cursor:pointer; border-bottom:2px solid transparent; transition:color .2s,border-color .2s; white-space:nowrap; user-select:none; }
.tab-item:hover { color:var(--text-mid); }
.tab-item.active { color:var(--teal); border-bottom-color:var(--teal); }
.tab-icon { width:16px; height:16px; fill:currentColor; opacity:.8; }
.badge-new { font-family:'Courier New',monospace; font-size:.6rem; background:rgba(201,144,10,.15); color:var(--gold); border:1px solid rgba(201,144,10,.3); border-radius:3px; padding:2px 5px; letter-spacing:.05em; }

/* ─── Page layout ─── */
.page-wrap { height:100vh; display:flex; flex-direction:column; overflow:hidden; }
.page-content { display:none; }
.page-content.active { display:flex; flex-direction:column; flex:1; overflow-y:auto; }
#tab-timeline.active { overflow:hidden; }

/* ─── Meeting header ─── */
.meeting-header { background:var(--bg2); border-bottom:1px solid var(--border); padding:20px max(40px, calc((100% - 1100px) / 2 + 40px)); flex-shrink:0; }
.meeting-meta { font-family:'Courier New',monospace; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; }
.meeting-title-h { font-family:Georgia,serif; font-size:1.4rem; font-weight:700; }

/* ─── Timeline ─── */
.timeline-layout { display:flex; flex-direction:column; flex:1; overflow:hidden; }
.video-wrap { background:var(--bg3); max-width:640px; width:100%; margin:0 auto; flex-shrink:0; }
#player { width:100%; aspect-ratio:16/9; background:#000; display:block; }
.speaker-filter { max-width:640px; width:100%; margin:0 auto; padding:12px 16px; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:10px; flex-shrink:0; }
.speaker-filter label { font-family:'Courier New',monospace; font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-dim); flex-shrink:0; }
.speaker-filter select { flex:1; background:var(--bg2); border:1px solid var(--border); border-radius:4px; color:var(--text); padding:6px 10px; font-size:.82rem; outline:none; }
.speaker-filter select:focus { border-color:var(--teal); }
.timeline-panel { max-width:1100px; width:100%; margin:0 auto; padding:0; flex:1; overflow-y:auto; scrollbar-width:thin; scrollbar-color:var(--border) transparent; }
.timeline-panel::-webkit-scrollbar { width:4px; }
.timeline-panel::-webkit-scrollbar-thumb { background:var(--border); border-radius:2px; }

.entry { display:flex; gap:0; padding:12px 20px; border-bottom:1px solid rgba(30,45,64,.6); cursor:pointer; transition:background .15s; }
.entry:hover { background:var(--surface); }
.entry.active { background:rgba(37,181,168,.08); border-left:3px solid var(--teal); }
.entry-meta { min-width:130px; flex-shrink:0; font-size:.78rem; color:var(--text-dim); padding-right:14px; text-align:right; }
.entry-speaker { font-weight:600; font-size:.8rem; display:block; margin-bottom:2px; color:var(--text-mid); }
.entry-time { font-family:'Courier New',monospace; font-size:.72rem; }
.entry-text { flex:1; font-size:.88rem; line-height:1.55; color:var(--text); }

/* ─── Tab content ─── */
.tab-content { max-width:1100px; margin:0 auto; padding:40px 24px 80px; }
.tab-heading { font-family:Georgia,serif; font-size:1.6rem; font-weight:700; margin-bottom:6px; }
.tab-subheading { font-size:.9rem; color:var(--text-mid); margin-bottom:36px; }
.coming-soon { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:300px; gap:16px; text-align:center; }
.coming-icon { font-size:3rem; opacity:.4; }
.coming-label { font-family:'Courier New',monospace; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.coming-text { font-size:.9rem; color:var(--text-mid); max-width:400px; }

/* ─── Badges ─── */
.entry-badges { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.badge { display:inline-flex; align-items:center; font-family:'Courier New',monospace; font-size:0.63rem; letter-spacing:0.07em; border-radius:3px; padding:3px 8px; text-decoration:none; white-space:nowrap; transition:opacity 0.2s; }
.badge:hover { opacity:0.7; }
.badge-inst { background:rgba(201,144,10,0.1); border:1px solid rgba(201,144,10,0.3); color:var(--gold); }
.badge-kn   { background:rgba(37,181,168,0.1); border:1px solid rgba(37,181,168,0.3); color:var(--teal); }

/* ─── AI Summary ─── */
.summary-content h4 { font-family:Georgia,serif; font-size:1rem; font-weight:700; margin:28px 0 10px; color:var(--text); }
.summary-content ul { margin:0 0 8px 20px; color:var(--text-mid); font-size:0.9rem; }
.summary-content li { margin-bottom:5px; line-height:1.55; }
.summary-content strong { color:var(--text); }
.summary-content p { color:var(--text-mid); font-size:0.9rem; margin-bottom:12px; }
.summary-content h2, .summary-content h3 { font-family:Georgia,serif; color:var(--text); margin-bottom:16px; }
.seek-link { color:var(--teal); text-decoration:underline; text-decoration-color:rgba(37,181,168,0.4); cursor:pointer; font-weight:600; transition:color 0.2s; }
.seek-link:hover { color:var(--gold-hi); }

/* ─── Voting ─── */
.vote-item { border:1px solid var(--border); border-radius:6px; overflow:hidden; background:var(--bg2); margin-bottom:16px; transition:border-color 0.2s; }
.vote-item:hover { border-color:var(--gold-lo); }
.vote-header { padding:16px 20px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; transition:background 0.2s; }
.vote-header:hover { background:var(--surface); }
.vote-title { font-weight:600; font-size:0.95rem; color:var(--text); flex:1; }
.vote-summary { display:flex; gap:6px; flex-shrink:0; flex-wrap:wrap; }
.vote-badge { font-family:'Courier New',monospace; font-size:0.65rem; letter-spacing:0.05em; padding:4px 8px; border-radius:3px; font-weight:700; }
.badge-pro    { background:rgba(34,197,94,0.15);  color:var(--green); border:1px solid rgba(34,197,94,0.3); }
.badge-proti  { background:rgba(248,113,113,0.15); color:var(--red);   border:1px solid rgba(248,113,113,0.3); }
.badge-zdrzelo{ background:rgba(251,191,36,0.15); color:#fbbf24;       border:1px solid rgba(251,191,36,0.3); }
.badge-absent { background:rgba(96,165,250,0.15); color:#60a5fa;       border:1px solid rgba(96,165,250,0.3); }
.vote-details { display:none; padding:20px; border-top:1px solid var(--border); }
.vote-details.open { display:block; }
.vote-layout { display:flex; gap:24px; flex-wrap:wrap; align-items:flex-start; }
.vote-image { flex:0 0 220px; }
.vote-image img { width:100%; border-radius:4px; border:1px solid var(--border); cursor:zoom-in; transition:border-color 0.2s; }
.vote-image img:hover { border-color:var(--gold); }
.vote-grid { flex:1; display:flex; flex-wrap:wrap; gap:16px; align-content:flex-start; }
.party-group { min-width:150px; flex:1; border:1px solid var(--border); padding:12px; border-radius:6px; background:var(--bg3); }
.party-name { font-family:'Courier New',monospace; font-size:0.65rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-dim); border-bottom:1px solid var(--border); margin-bottom:10px; padding-bottom:6px; }
.voter-chip { display:flex; justify-content:space-between; align-items:center; padding:5px 8px; margin-bottom:4px; border-radius:3px; font-size:0.82rem; }
.voter-for     { background:rgba(34,197,94,0.12);   color:#86efac; }
.voter-against { background:rgba(248,113,113,0.12);  color:#fca5a5; }
.voter-abstain { background:rgba(251,191,36,0.12);  color:#fde68a; }
.voter-absent  { background:rgba(96,165,250,0.1);   color:var(--text-dim); }
.voter-excused { background:rgba(192,132,252,0.12); color:#d8b4fe; }

/* ─── ChatGPT tab ─── */
.info-box { background:rgba(37,181,168,0.08); border:1px solid rgba(37,181,168,0.25); border-left:3px solid var(--teal); border-radius:4px; padding:14px 18px; font-size:0.9rem; color:var(--text-mid); margin-bottom:28px; }
.info-box a { color:var(--teal); }

/* ─── Footer ─── */
footer { border-top:1px solid var(--border); padding:40px 24px; max-width:1100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.footer-brand { display:flex; align-items:center; gap:12px; }
.footer-logo { font-size:20px; }
.footer-name { font-family:Georgia,serif; font-size:.9rem; color:var(--text); text-decoration:none; }
.footer-name span { color:var(--gold-hi); }
.footer-right { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.footer-domain { font-family:'Courier New',monospace; font-size:.8rem; color:var(--gold); }
.footer-copy { font-size:.75rem; color:var(--text-dim); }

/* ─── Responsive ─── */
@media (max-width:900px) {
    .tab-bar, .meeting-header { padding:14px 16px; }
    .top-nav-inner { padding:12px 20px; }
}
@media (max-width:600px) {
    .nav-breadcrumb { display:none; }
    .entry { flex-direction:column; }
    .entry-meta { text-align:left; min-width:0; padding-right:0; margin-bottom:4px; }
}

.lightbox {
    display:none; position:fixed; inset:0; z-index:9999;
    background:rgba(0,0,0,.85); backdrop-filter:blur(6px);
    align-items:center; justify-content:center; cursor:zoom-out;
}
.lightbox.open { display:flex; }
.lightbox img { max-width:92vw; max-height:92vh; border-radius:6px; box-shadow:0 0 60px rgba(0,0,0,.6); }
.vote-image img { cursor:zoom-in; }
