/* ── Cámara Leyes Chile ── */
.cl-wrap { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; max-width:1100px; }

/* Buscador */
.cl-buscador { display:flex; gap:8px; align-items:center; margin-bottom:16px; flex-wrap:wrap; }
.cl-buscador input { flex:1; min-width:220px; padding:8px 12px; border:1px solid #ccc; border-radius:6px; font-size:14px; }
.cl-buscador input:focus { border-color:#1a3a6b; outline:none; box-shadow:0 0 0 2px rgba(26,58,107,.15); }
.cl-buscador button { padding:8px 18px; background:#1a3a6b; color:#fff; border:none; border-radius:6px; cursor:pointer; font-size:14px; font-weight:600; }
.cl-buscador button:hover { background:#0d2247; }
.cl-limpiar { font-size:13px; color:#c00; text-decoration:none; }
.cl-total { font-size:13px; color:#555; margin-bottom:12px; }

/* Tabla */
.cl-tabla-wrap { overflow-x:auto; }
.cl-tabla { width:100%; border-collapse:collapse; font-size:14px; }
.cl-tabla th { background:#1a3a6b; color:#fff; padding:10px 12px; text-align:left; font-weight:600; white-space:nowrap; }
.cl-tabla td { padding:10px 12px; border-bottom:1px solid #e8eef5; vertical-align:middle; }
.cl-tabla tr:hover td { background:#f5f8ff; }
.cl-tabla-sm td, .cl-tabla-sm th { padding:7px 10px; font-size:13px; }

.cl-boletin { font-family:monospace; font-weight:700; color:#1a3a6b; white-space:nowrap; }
.cl-nombre a { color:#1a3a6b; text-decoration:none; font-weight:500; }
.cl-nombre a:hover { text-decoration:underline; }
.cl-fecha { white-space:nowrap; color:#666; }
.cl-totales .si { color:#155724; font-weight:700; }
.cl-totales .no { color:#721c24; font-weight:700; }
.cl-totales .abs { color:#856404; font-weight:700; }

/* Badges */
.cl-badge { display:inline-block; padding:3px 10px; border-radius:12px; font-size:12px; font-weight:700; white-space:nowrap; }
.cl-badge.aprobado { background:#d4edda; color:#155724; }
.cl-badge.rechazado { background:#f8d7da; color:#721c24; }
.cl-badge.large { font-size:14px; padding:5px 14px; }
.cl-btn-detalle { font-size:12px; color:#1a3a6b; text-decoration:none; font-weight:600; white-space:nowrap; }
.cl-btn-detalle:hover { text-decoration:underline; }

/* Paginación */
.cl-paginacion { display:flex; gap:6px; flex-wrap:wrap; margin-top:20px; }
.cl-pag-btn { padding:6px 12px; border:1px solid #d0daea; border-radius:4px; text-decoration:none; color:#1a3a6b; font-size:13px; }
.cl-pag-btn.active { background:#1a3a6b; color:#fff; border-color:#1a3a6b; }
.cl-pag-btn:hover:not(.active) { background:#f0f4ff; }

/* Volver */
.cl-back { display:inline-block; margin-bottom:16px; color:#1a3a6b; text-decoration:none; font-size:14px; font-weight:600; }
.cl-back:hover { text-decoration:underline; }

/* Ficha del proyecto */
.cl-ficha { background:#f5f8ff; border:1px solid #d0daea; border-radius:8px; padding:24px; margin-bottom:24px; }
.cl-ficha-header { display:flex; gap:10px; align-items:center; margin-bottom:10px; flex-wrap:wrap; }
.cl-boletin-tag { background:#1a3a6b; color:#fff; padding:4px 12px; border-radius:12px; font-size:13px; font-weight:700; font-family:monospace; }
.cl-proyecto-nombre { font-size:18px; font-weight:700; color:#1a3a6b; margin:0 0 12px; line-height:1.4; }
.cl-tramite { margin:4px 0; font-size:13px; color:#555; }
.cl-articulo { margin:8px 0; font-size:13px; color:#444; font-style:italic; border-left:3px solid #1a3a6b; padding-left:10px; }
.cl-meta-row { display:flex; gap:20px; margin:10px 0; font-size:13px; color:#555; flex-wrap:wrap; }
.cl-autores, .cl-iniciativa { margin:4px 0; font-size:13px; color:#444; }

/* Cajas totales */
.cl-cajas { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px; }
.cl-caja { display:flex; flex-direction:column; align-items:center; gap:4px; padding:18px 24px; border-radius:8px; min-width:100px; }
.cl-caja.si  { background:#d4edda; border:2px solid #c3e6cb; }
.cl-caja.no  { background:#f8d7da; border:2px solid #f5c6cb; }
.cl-caja.abs { background:#fff3cd; border:2px solid #ffeeba; }
.cl-caja.dis { background:#e2e3e5; border:2px solid #d6d8db; }
.cl-caja-num { font-size:32px; font-weight:700; }
.cl-caja.si  .cl-caja-num { color:#155724; }
.cl-caja.no  .cl-caja-num { color:#721c24; }
.cl-caja.abs .cl-caja-num { color:#856404; }
.cl-caja.dis .cl-caja-num { color:#383d41; }
.cl-caja-lbl { font-size:13px; font-weight:600; color:#555; }

/* Grupos de votos */
.cl-votos { margin-bottom:30px; }
.cl-votos-grupo { margin-bottom:24px; }
.cl-votos-titulo { font-size:15px; font-weight:700; margin:0 0 12px; padding:8px 14px; border-radius:6px; }
.cl-votos-titulo.si  { background:#d4edda; color:#155724; }
.cl-votos-titulo.no  { background:#f8d7da; color:#721c24; }
.cl-votos-titulo.abs { background:#fff3cd; color:#856404; }
.cl-votos-titulo.dis { background:#e2e3e5; color:#383d41; }

/* Grilla votos */
.cl-votos-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:10px; }
.cl-voto-card { display:flex; flex-direction:column; align-items:center; gap:5px; padding:10px 6px; border-radius:6px; border:1px solid; text-align:center; }
.cl-voto-card.si  { background:#f0faf3; border-color:#c3e6cb; }
.cl-voto-card.no  { background:#fff5f5; border-color:#f5c6cb; }
.cl-voto-card.abs { background:#fffdf0; border-color:#ffeeba; }
.cl-voto-card.dis { background:#f8f9fa; border-color:#d6d8db; }
.cl-voto-card img { width:54px; height:54px; border-radius:50%; object-fit:cover; object-position:top; }
.cl-voto-nombre { font-size:11px; line-height:1.3; color:#333; text-decoration:none; }
a.cl-voto-nombre:hover { color:#1a3a6b; text-decoration:underline; }

/* Otras votaciones */
.cl-otras-votaciones { margin-top:30px; }
.cl-otras-votaciones h3 { font-size:16px; color:#1a3a6b; margin-bottom:12px; }

/* Vacío */
.cl-vacio { color:#888; font-style:italic; padding:20px 0; }

@media (max-width:600px) {
    .cl-cajas { flex-direction:row; }
    .cl-caja { padding:12px 16px; min-width:80px; }
    .cl-caja-num { font-size:24px; }
    .cl-votos-grid { grid-template-columns:repeat(3,1fr); }
}

/* Carga lazy de votos */
.cl-votos-lazy { padding:20px 0; }
.cl-btn-cargar-votos { padding:10px 20px; background:#1a3a6b; color:#fff; border:none; border-radius:6px; cursor:pointer; font-size:14px; font-weight:600; }
.cl-btn-cargar-votos:hover { background:#0d2247; }
.cl-votos-loading { color:#888; font-size:14px; }
