/* ============================================================
   AIM brand palette - variables centralizadas (manual de identidad 2026)
   ============================================================ */
:root {
  --aim-green:       #2E7D32;
  --aim-green-dark:  #1B5E20;
  --aim-green-light: #66BB6A;
  --aim-green-bg:    #E8F5E9;
  --aim-green-soft:  #A5D6A7;
  --aim-green-pale:  #C8E6C9;
}

/* ── Color corporativo ───────────────────────────────────────────────── */
:root {
  --aim-green:       #2E7D32;
  --aim-green-light: #43A047;
  --aim-green-bg:    #E8F5E9;
  --aim-green-border:var(--aim-green-soft);
  --aim-green-row:   #F9FBE7;
  --aim-green-thead: #F1F8E9;
}
/* ── Compartido ─────────────────────────────────────────────────────── */
/* Wrapper sin max-width: hereda el container .aim-site-main (1120px) para
   que la página tenga las mismas márgenes que el área de socio.
   Retirados aim-panel-header y max-width:920px (2026-05-15). */
.aim-pg-wrap { font-family: inherit; }
.aim-pg-section { margin: var(--aim-s-6, 32px) 0; }
.aim-pg-section:first-of-type { margin-top: var(--aim-s-4, 16px); }
.aim-pg-section + .aim-pg-section { margin-top: var(--aim-s-3, 12px); }

/* ── Informe ingresos por cuotas (41.10) ─────────────────────────── */
.aim-ingresos-table td, .aim-ingresos-table th { vertical-align:middle; }
.aim-ingresos-table .num { text-align:right; }
.aim-ingresos-table .indent { padding-left:20px; }
.aim-ingresos-table .group-row td { font-weight:600; font-size:.85em; text-transform:uppercase; letter-spacing:.5px; }
.aim-ingresos-table .group-ingresos td { background:#EEF5EE; color:var(--aim-green); }
.aim-ingresos-table .group-cobro td    { background:#F5F5F5; color:#555; }
.aim-ingresos-table .row-total         { background:#F0F7F0; }
.aim-ingresos-note { color:#888; font-size:.85em; }
.aim-ingresos-help { color:#777; font-size:.82em; margin:6px 0 0; }

/* ── Export CSV combo + botón ─────────────────────────────────────── */
.aim-export-bar { margin-top:12px; display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.aim-export-bar select { padding:3px 6px; font-size:.9em; width:auto; }

/* ── Helper genérico ──────────────────────────────────────────────── */
.aim-section-help { color:#555; font-size:.9em; margin:0 0 12px; }
/* h3 alineado con .aim-section-h del theme (22px + border-bottom verde sólido) */
.aim-pg-section h3 {
  font-size: 22px;
  font-weight: 600;
  color: var(--aim-green);
  letter-spacing: -0.01em;
  border-bottom: 2px solid var(--aim-green);
  padding-bottom: var(--aim-s-2, 8px);
  margin: 0 0 var(--aim-s-3, 12px);
}
/* ── Tarjetas de acción ──────────────────────────────────────────────── */
/* Mismo tamaño/gap que .aim-panel-grid del área de socio para coherencia */
.aim-pg-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:var(--aim-s-4,16px); margin-bottom:var(--aim-s-2,8px); }
.aim-pg-card { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:22px 14px; background:#FFF; border:1px solid var(--aim-border,#E5E7EB); border-radius:var(--aim-radius,8px); text-decoration:none; color:var(--aim-text,#1F2937); font-size:.9em; font-weight:600; text-align:center; transition:box-shadow .15s,border-color .15s; min-height:90px; }
.aim-pg-card:hover { box-shadow:var(--aim-shadow,0 4px 16px rgba(15,23,42,.07)); border-color:var(--aim-green); color:var(--aim-green); text-decoration:none; }
.aim-pg-card i { font-size:1.5em; color:var(--aim-green); }
.aim-pg-card.aim-pg-card-warn { border-color:#FFB74D; }
.aim-pg-card.aim-pg-card-warn i { color:#E65100; }
.aim-pg-card.aim-pg-card-warn:hover { border-color:#E65100; color:#E65100; }
/* ── Estadísticas ────────────────────────────────────────────────────── */
.aim-pg-stats { display:flex; flex-wrap:wrap; gap:10px; }
.aim-pg-stat { background:#F5F5F5; border-radius:8px; padding:12px 18px; min-width:120px; text-align:center; flex:1; }
.aim-pg-stat-num { font-size:1.8em; font-weight:700; line-height:1.1; color:var(--aim-green); }
.aim-pg-stat-num.warn { color:#E65100; }
.aim-pg-stat-num.error { color:#C62828; }
.aim-pg-stat-num.info { color:#1565C0; }
.aim-pg-stat-num.neutral { color:#555; }
.aim-pg-stat-label { font-size:.78em; color:#666; margin-top:3px; line-height:1.3; }

/* ── Bandeja de entrada con pestañas horizontales ───────────────────── */
.aim-pg-h-count {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 10px;
  background: var(--aim-green, var(--aim-green));
  color: #FFF;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 700;
  vertical-align: middle;
}

.aim-pg-empty-state {
  text-align: center;
  padding: 40px 20px;
  background: var(--aim-green-bg, var(--aim-green-bg));
  border: 1px solid var(--aim-green-soft);
  border-radius: var(--aim-radius, 8px);
  color: var(--aim-green-dark, var(--aim-green-dark));
}
.aim-pg-empty-icon {
  font-size: 48px;
  margin-bottom: 8px;
}
.aim-pg-empty-state p { margin: 0; font-size: 1em; }

.aim-pg-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  border-bottom: 2px solid var(--aim-green, var(--aim-green));
  margin: 0 0 16px;
  padding: 0;
}
.aim-pg-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: var(--aim-bg-soft, #F5F5F5);
  border: 1px solid var(--aim-border, #E0E0E0);
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  color: var(--aim-text-soft, #555);
  font-size: 13.5px;
  font-weight: 500;
  cursor: pointer;
  line-height: 1.2;
  margin-bottom: -2px;
  transition: background .15s, color .15s;
}
.aim-pg-tab:hover {
  background: var(--aim-bg, #FFF);
  color: var(--aim-green, var(--aim-green));
}
.aim-pg-tab.is-active {
  background: var(--aim-bg, #FFF);
  color: var(--aim-green, var(--aim-green));
  border-color: var(--aim-green, var(--aim-green));
  border-bottom: 2px solid var(--aim-bg, #FFF);
  font-weight: 700;
}
.aim-pg-tab.is-empty {
  opacity: .55;
}
.aim-pg-tab.is-empty:hover {
  opacity: .85;
}
.aim-pg-tab__icon { font-size: 16px; }
.aim-pg-tab__label { white-space: nowrap; }
.aim-pg-tab__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 18px;
  padding: 0 6px;
  background: var(--aim-green, var(--aim-green));
  color: #FFF;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}
.aim-pg-tab.is-active .aim-pg-tab__count {
  background: var(--aim-green-dark, var(--aim-green-dark));
}

.aim-pg-tabpanel { display: none; }
.aim-pg-tabpanel.is-active { display: block; }
.aim-pg-tab-empty {
  color: var(--aim-muted, #777);
  padding: 24px 12px;
  text-align: center;
  font-style: italic;
  background: var(--aim-bg-soft, #F9F9F9);
  border-radius: var(--aim-radius-sm, 4px);
}

/* Alert variante danger en panel (errores) */
.aim-pg-alert--danger {
  background: #FFEBEE;
  color: #C62828;
  border-left: 4px solid #C62828;
}

/* Errores log: details/summary nativos */
.aim-pg-errores-details {
  margin-top: 10px;
  border: 1px solid var(--aim-border, #E0E0E0);
  border-radius: var(--aim-radius-sm, 4px);
  padding: 8px 12px;
}
.aim-pg-errores-details summary {
  cursor: pointer;
  color: var(--aim-text-soft, #555);
  font-size: 13px;
  font-weight: 600;
}
.aim-pg-errores-details[open] summary {
  margin-bottom: 8px;
}

@media (max-width: 700px) {
  .aim-pg-tabs { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
  .aim-pg-tab { flex-shrink: 0; }
  .aim-pg-tab__label { font-size: 12px; }
}
/* ── Alertas ─────────────────────────────────────────────────────────── */
.aim-pg-alert { padding:10px 16px; border-radius:6px; border-left:4px solid; margin-bottom:8px; font-size:.92em; line-height:1.5; }
.aim-pg-alert.ok   { background:var(--aim-green-bg); border-color:var(--aim-green); }
.aim-pg-alert.warn { background:#FFF8E1; border-color:#F9A825; }
.aim-pg-alert.error{ background:#FFEBEE; border-color:#C62828; }
.aim-pg-alert.info { background:#F5F5F5; border-color:#9E9E9E; color:#555; }
/* ── Tablas ──────────────────────────────────────────────────────────── */
.aim-pg-table { width:100%; border-collapse:collapse; font-size:.88em; margin-top:8px; }
.aim-pg-table th { background:var(--aim-green-thead); padding:7px 10px; text-align:left; font-weight:700; border-bottom:2px solid var(--aim-green-border); white-space:nowrap; }
.aim-pg-table td { padding:6px 10px; border-bottom:1px solid #EEE; vertical-align:middle; }
.aim-pg-table tr:last-child td { border-bottom:none; }
.aim-pg-table tr:hover td { background:var(--aim-green-row); }
.aim-pg-table .c-warn  { color:#E65100; font-weight:600; }
.aim-pg-table .c-ok    { color:var(--aim-green); }
.aim-pg-table .c-info  { color:#1565C0; }
.aim-pg-table .c-muted { color:#999; font-size:.85em; }
/* ── Info box ────────────────────────────────────────────────────────── */
.aim-pg-infobox { background:#FFF8E1; border-left:4px solid #F9A825; padding:12px 16px; border-radius:4px; font-size:.9em; line-height:1.6; }
.aim-pg-infobox ol { margin:.5em 0 0; padding-left:1.2em; }
.aim-pg-infobox li { margin-bottom:.3em; }

/* ── Celda "Nombre + email" (trigger de AimDrawer) ───────────────────────
   Duplicada aquí (idem en aim-drawer.css) porque panel.css se enqueuea
   en <head> y aim-drawer.css se enqueuea desde el shortcode → llega tarde
   y provoca FOUC: el <button> se ve con estilo default del theme durante
   unos ms hasta que el CSS del drawer se aplica. Con las reglas aquí
   evitamos el flash. */
td.aim-censo-cel-nombre { padding-top:8px; padding-bottom:8px; line-height:1.3; }
td.aim-censo-cel-nombre .aim-censo-nombre-btn {
  background:none; border:0; padding:0;
  color:var(--aim-green); font-weight:600;
  cursor:pointer; text-align:left;
  font-size:14px; font-family:inherit;
}
td.aim-censo-cel-nombre .aim-censo-nombre-btn:hover { text-decoration:underline; }
td.aim-censo-cel-nombre .aim-censo-email {
  display:block; color:#888; font-size:11.5px;
  margin-left:10px; margin-top:2px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  max-width:100%;
}
