:root {
  --bg:#0d1117; --panel:#161b22; --panel2:#1c2330; --line:#2b3244;
  --fg:#e6edf3; --dim:#8b949e; --acc:#58a6ff;
  --c-or:#79c0ff; --c-sh:#f0883e; --c-oc:#7ee787; --c-oi:#d2a8ff; --c-of:#ffd33d;
  --c-cp:#ffa198;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.45 "Segoe UI",system-ui,sans-serif}
header{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between;padding:20px 28px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#101622,#0d1117)}
h1{margin:0;font-size:22px;letter-spacing:.4px}
.sub{color:var(--dim);font-size:12px}
.searchbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#q{flex:1 1 220px;width:auto;max-width:100%;padding:9px 12px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);color:var(--fg)}
button{padding:9px 16px;border-radius:8px;border:0;background:var(--acc);color:#06131f;font-weight:600;cursor:pointer}
button:hover{filter:brightness(1.08)}
main{max-width:1100px;margin:20px auto;padding:0 24px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:14px}
.hidden{display:none !important}
/* foco siempre visible y con contraste (nunca solo color) */
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
/* texto solo para lectores de pantalla (etiquetas de controles) */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* avisos de carga / error de la página */
.status{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin-bottom:14px;font-size:13px}
.status.error{background:#420a0a;border-color:#7f1d1d;color:#fca5a5}
.row{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.col label{margin-right:14px;white-space:nowrap;cursor:pointer}
.badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600}
.b-or{background:#102a44;color:var(--c-or)}
.b-sh{background:#40230f;color:var(--c-sh)}
.b-oc{background:#12301c;color:var(--c-oc)}
.b-oi{background:#2c1b44;color:var(--c-oi)}
.b-of{background:#3a2f0d;color:var(--c-of)}
.b-cp{background:#3d1d1d;color:var(--c-cp)}
.hint{color:var(--dim);font-size:12px;margin:0}
.asofrow{margin-top:10px;border-top:1px dashed var(--line);padding-top:10px}
.filterrow{margin-top:10px;font-size:13px}
.filterrow label{white-space:nowrap;cursor:pointer}
.filterrow select,.filterrow input[type=date]{background:var(--panel2);color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:4px;font:inherit}
#asofDate{background:var(--panel2);color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:4px}
.asofinfo{color:var(--dim);font-size:12px}
.stats{display:flex;flex-wrap:wrap;gap:10px}
.stat{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-size:12px}
.issuer-name{font-size:18px;font-weight:700}
.mono{font-family:Consolas,monospace;font-size:12px;color:var(--dim)}
.tl{position:relative;margin:10px 0 20px;padding-left:26px}
.tl::before{content:"";position:absolute;left:9px;top:0;bottom:0;width:2px;background:var(--line)}
.ev{position:relative;margin:12px 0;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;padding:10px 14px}
.ev::before{content:"";position:absolute;left:-22px;top:18px;width:12px;height:12px;border-radius:50%;background:var(--line);border:2px solid var(--bg)}
.ev.k-or{border-left-color:var(--c-or)} .ev.k-or::before{background:var(--c-or)}
.ev.k-sh{border-left-color:var(--c-sh)} .ev.k-sh::before{background:var(--c-sh)}
.ev.k-oc{border-left-color:var(--c-oc)} .ev.k-oc::before{background:var(--c-oc)}
.ev.k-oi{border-left-color:var(--c-oi)} .ev.k-oi::before{background:var(--c-oi)}
.ev.k-of{border-left-color:var(--c-of)} .ev.k-of::before{background:var(--c-of)}
.ev.k-cp{border-left-color:var(--c-cp);border-left-style:dashed} .ev.k-cp::before{background:var(--c-cp)}
.evhead{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.evdate{font-family:Consolas,monospace;color:var(--acc);font-weight:700}
.evtitle{font-weight:650;overflow-wrap:anywhere}
.evsum{color:var(--dim);margin-top:2px}
.evfoot{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--dim)}
.chip{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:1px 7px;overflow-wrap:anywhere}
.p-exact{border-color:#1f6f43;color:#7ee787}
.p-approx{border-color:#6a5416;color:var(--c-of)}
.p-unknown{border-color:#6a3a1a;color:#f0b98a}
.ver{border-color:#3b4459;color:#b8c4d6;font-style:italic}
a{color:var(--acc);text-decoration:none}
a:hover{text-decoration:underline}
.empty{text-align:center;color:var(--dim);padding:60px 0}
.year{margin:18px 0 4px;font-size:13px;font-weight:700;color:var(--dim);letter-spacing:2px;position:relative;left:-26px}
.asofsep{margin:16px 0 4px;padding-top:6px;border-top:2px dashed var(--acc);color:var(--acc);font-size:12px;font-weight:700;letter-spacing:1px;position:relative;left:-26px}
.chip.rel{border-color:#3b5a80;color:#cfe3ff}
.ev:target{border-color:var(--acc);box-shadow:0 0 0 2px rgba(88,166,255,.35)}
.rel-off{color:var(--dim);font-style:italic}
/* el pie va en el flujo del documento: nunca tapa el final de la lista */
footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding:14px 24px;margin-top:24px;background:var(--panel);border-top:1px solid var(--line);font-size:11px;color:var(--dim)}
.divider-known{color:var(--dim)}
.warnbar{background:#40230f;border:1px solid #6a3a1a;color:#f0b98a;border-radius:8px;padding:8px 12px;font-size:12px;margin-bottom:14px}
.warnbar.error{background:#420a0a;border-color:#7f1d1d;color:#fca5a5}
.casewin{border:1px dashed var(--c-oi);background:rgba(210,168,255,.06);color:var(--c-oi)}
.cand-note{color:var(--dim);margin-bottom:8px}
.cand-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cand{display:block;width:100%;text-align:left;background:var(--panel2);color:var(--fg);border:1px solid var(--line);font-weight:400}
.cand:hover,.cand:focus-visible{border-color:var(--acc)}
/* F5.4: meses colapsables y detalle raw bajo demanda */
.monthhead button{background:transparent;color:var(--dim);font-weight:700;font-size:13px;letter-spacing:1px;padding:6px 10px;border:1px solid var(--line)}
.monthhead button:hover{border-color:var(--acc);filter:none;color:var(--fg)}
.evraw{max-height:22em;overflow:auto;white-space:pre-wrap;word-break:break-word;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px;margin-top:8px;text-align:left}
.ev-detail{background:transparent;color:var(--acc);font-weight:400;font-size:12px;padding:2px 8px;border:1px solid var(--line)}
.ev-detail:hover{border-color:var(--acc);filter:none}
