/* ============================================================
   AIM brand palette - variables centralizadas (manual de identidad 2026)
   Solo aqui se declara la paleta verde corporativa.
   Estados (rojo error, ambar warning, azul info) y grises UI se mantienen
   como literales por ser tokens funcionales, no de marca.
   ============================================================ */
:root {
  --aim-green:       #2E7D32;
  --aim-green-dark:  #1B5E20;
  --aim-green-light: #66BB6A;
  --aim-green-bg:    #E8F5E9;
  --aim-green-soft:  #A5D6A7;
  --aim-green-pale:  #C8E6C9;
}

/* =============================================================================
   Panel organizador [aim_organizador]
   Tokenizado con fallback al child theme hello-elementor-aim.
   ============================================================================= */

/* Layout principal ------------------------------------------------------ */
.aim-org-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 16px 0;
}
.aim-org-wrap--narrow { max-width: 900px; }

.aim-org-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 12px;
}
.aim-org-header h2 {
  color: var(--aim-green, var(--aim-green));
  margin: 0;
  font-size: 1.4em;
}
.aim-org-back {
  font-size: 13px;
  color: var(--aim-green, var(--aim-green));
  text-decoration: none;
  font-weight: 600;
}
.aim-org-back:hover { color: var(--aim-green-dark, var(--aim-green-dark)); }

/* Estados / mensajes ---------------------------------------------------- */
.aim-org-feedback {
  padding: 16px 20px;
  border-radius: var(--aim-radius, 8px);
}
.aim-org-feedback--info    { background: var(--aim-bg-soft, #F9F9F9); color: var(--aim-muted, #777); }
.aim-org-feedback--warning { background: #FFF3E0; color: #E65100; }
.aim-org-feedback--danger  { background: #FDECEA; color: #C0392B; }

.aim-org-empty {
  color: var(--aim-muted, #777);
  padding: 16px;
}

/* Tabla genérica del organizador --------------------------------------- */
.aim-org-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--aim-bg, #FFF);
  border: 1px solid var(--aim-border, #E0E0E0);
  border-radius: var(--aim-radius, 8px);
  overflow: hidden;
  font-size: 14px;
}
.aim-org-table thead tr {
  background: var(--aim-green, var(--aim-green));
  color: #FFF;
}
.aim-org-table th {
  padding: 11px 14px;
  text-align: left;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .3px;
}
.aim-org-table td {
  padding: 11px 14px;
  font-size: 14px;
  border-bottom: 1px solid #F0F0F0;
}
.aim-org-table tr:last-child td { border-bottom: 0; }
.aim-org-table tr.aim-row-zebra { background: var(--aim-bg-soft, #F9F9F9); }
.aim-org-table td.aim-org-td-name { font-weight: bold; }
.aim-org-table td.aim-org-td-muted { color: var(--aim-text-soft, #555); }

/* Variante "data table" con thead claro ------------------------------- */
.aim-org-dtable {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.aim-org-dtable thead tr {
  background: var(--aim-bg-soft, #F5F5F5);
}
.aim-org-dtable th {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 2px solid var(--aim-border, #E0E0E0);
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .3px;
  color: var(--aim-text-soft, #4B5563);
}
.aim-org-dtable th.aim-org-th-center { text-align: center; }
.aim-org-dtable td {
  padding: 10px 12px;
  border-bottom: 1px solid #F0F0F0;
  vertical-align: top;
  font-size: 14px;
}
.aim-org-dtable td.aim-org-td-center { text-align: center; }
.aim-org-dtable td.aim-org-td-amount { text-align: right; white-space: nowrap; }
.aim-org-dtable tr:last-child td { border-bottom: 0; }

/* Botones de acción ----------------------------------------------------- */
.aim-org-btn {
  display: inline-block;
  padding: 6px 16px;
  border-radius: var(--aim-radius-sm, 4px);
  cursor: pointer;
  font-size: 13px;
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 600;
  background: var(--aim-bg, #FFF);
}
.aim-org-btn--primary {
  background: var(--aim-green, var(--aim-green));
  color: #FFF;
  border-color: var(--aim-green, var(--aim-green));
}
.aim-org-btn--primary:hover { background: var(--aim-green-dark, var(--aim-green-dark)); color: #FFF; }
.aim-org-btn--info {
  background: var(--aim-info, #1565C0);
  color: #FFF;
  border-color: var(--aim-info, #1565C0);
}
.aim-org-btn--info:hover { background: #0D47A1; }
.aim-org-btn--danger {
  background: var(--aim-danger, #C0392B);
  color: #FFF;
  border-color: var(--aim-danger, #C0392B);
}
.aim-org-btn--danger:hover {
  background: #7F1D1D;
  border-color: #7F1D1D;
  color: #FFF;
}
/* Variante outline opcional (rara vez usada) */
.aim-org-btn--danger-outline {
  background: var(--aim-bg, #FFF);
  color: var(--aim-danger, #C0392B);
  border-color: var(--aim-danger, #C0392B);
}
.aim-org-btn--danger-outline:hover { background: #FDECEA; }
.aim-org-btn--ghost {
  background: var(--aim-bg, #FFF);
  color: var(--aim-text-soft, #444);
  border-color: var(--aim-border-strong, #CCC);
}
.aim-org-btn--sm { padding: 4px 10px; font-size: 11px; }
.aim-org-btn--xs { padding: 3px 8px; font-size: 10.5px; }
.aim-org-btn--block { display: block; width: 100%; }
.aim-org-btn:disabled,
.aim-org-btn[disabled] { opacity: .55; cursor: not-allowed; }

.aim-org-action-toolbar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

/* Tabs ------------------------------------------------------------------ */
.aim-org-tabs {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  border-bottom: 2px solid var(--aim-border, #E0E0E0);
  margin-bottom: 16px;
}
.aim-org-tab {
  padding: 10px 18px;
  background: var(--aim-bg-soft, #F5F5F5);
  border-radius: var(--aim-radius-sm, 4px) var(--aim-radius-sm, 4px) 0 0;
  color: var(--aim-text-soft, #555);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
}
.aim-org-tab.is-active {
  background: var(--aim-bg, #FFF);
  color: var(--aim-green, var(--aim-green));
  border-bottom-color: var(--aim-green, var(--aim-green));
}
.aim-org-tab:hover { color: var(--aim-green, var(--aim-green)); }

/* Estado / read-edit mode ---------------------------------------------- */
.aim-org-mode-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  flex-wrap: wrap;
  gap: 8px;
}
.aim-org-mode-hint {
  font-size: 13px;
  color: var(--aim-muted, #777);
}

/* Badges de estado (chip oval) ----------------------------------------- */
.aim-org-status {
  display: inline-block;
  border-radius: 12px;
  padding: 2px 10px;
  font-size: 11px;
  font-weight: 700;
  border: 1.5px solid;
  background: var(--aim-bg-soft, #F5F5F5);
  color: var(--aim-text-soft, #555);
  border-color: var(--aim-border-strong, #CCC);
}
.aim-org-status--green   { color: var(--aim-green, var(--aim-green));    background: var(--aim-green-bg, var(--aim-green-bg)); border-color: var(--aim-green, var(--aim-green)); }
.aim-org-status--blue    { color: var(--aim-info, #1565C0);     background: #E3F2FD;                       border-color: var(--aim-info, #1565C0); }
.aim-org-status--orange  { color: #E65100;                       background: #FFF3E0;                       border-color: #E65100; }
.aim-org-status--red     { color: var(--aim-danger, #C0392B);    background: #FDECEA;                       border-color: var(--aim-danger, #C0392B); }
.aim-org-status--purple  { color: #6A1B9A;                       background: #F3E5F5;                       border-color: #6A1B9A; }
.aim-org-status--grey    { color: #555;                          background: #EEEEEE;                       border-color: #555; }

/* Iconitos de "cuenta WP" en columna ----------------------------------- */
.aim-org-cuenta-on  { color: var(--aim-green, var(--aim-green)); font-size: 14px; }
.aim-org-cuenta-off { color: #BBB; font-size: 14px; }
.aim-org-fact-on  { color: var(--aim-green, var(--aim-green)); font-size: 12px; }
.aim-org-fact-off { color: #AAA; font-size: 12px; }

/* Form modal ----------------------------------------------------------- */
.aim-org-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .55);
  z-index: 9999;
  align-items: center;
  justify-content: center;
}
.aim-org-overlay[aria-hidden="false"] { display: flex; }
.aim-org-modal {
  background: var(--aim-bg, #FFF);
  border-radius: var(--aim-radius, 8px);
  max-width: 640px;
  width: 94%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: var(--aim-shadow-lg, 0 8px 32px rgba(0, 0, 0, .25));
}
.aim-org-modal--wide { max-width: 800px; }
.aim-org-modal__header {
  background: var(--aim-green, var(--aim-green));
  padding: 18px 24px;
  border-radius: var(--aim-radius, 8px) var(--aim-radius, 8px) 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.aim-org-modal__title {
  color: #FFF;
  font-size: 1.1em;
  font-weight: bold;
}
.aim-org-modal__close {
  background: none;
  border: none;
  color: #FFF;
  font-size: 1.5em;
  cursor: pointer;
  line-height: 1;
}
.aim-org-modal__body { padding: 24px 28px; }
.aim-org-modal__footer {
  padding: 14px 28px;
  border-top: 1px solid var(--aim-border, #EEE);
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

/* Form fields ----------------------------------------------------------- */
.aim-org-field {
  margin-bottom: 16px;
}
.aim-org-field__label {
  display: block;
  font-size: .85em;
  font-weight: bold;
  color: var(--aim-text, #333);
  margin-bottom: 4px;
}
.aim-org-field__label--sm {
  font-size: .82em;
  font-weight: 400;
  color: var(--aim-text-soft, #555);
  margin-bottom: 4px;
}
.aim-org-input,
.aim-org-field input[type=text],
.aim-org-field input[type=email],
.aim-org-field input[type=date],
.aim-org-field input[type=number],
.aim-org-field input[type=tel],
.aim-org-field input[type=url],
.aim-org-field select,
.aim-org-field textarea {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--aim-border-strong, #CCC);
  border-radius: var(--aim-radius-sm, 4px);
  font-size: .9em;
  box-sizing: border-box;
  background: var(--aim-bg, #FFF);
}
.aim-org-input--sm { padding: 7px 10px; font-size: 13px; }
.aim-org-field-row {
  display: flex;
  gap: 14px;
  margin-bottom: 16px;
}
.aim-org-field-row > * { flex: 1; }
.aim-org-radio-line {
  margin-right: 20px;
  cursor: pointer;
  font-size: .9em;
}
.aim-org-checkbox-line {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: .85em;
  color: var(--aim-text, #333);
}
.aim-org-msg {
  font-size: .9em;
  min-height: 1.2em;
  margin-bottom: 8px;
}
.aim-org-msg--ok    { color: var(--aim-green-dark, var(--aim-green-dark)); }
.aim-org-msg--error { color: var(--aim-danger, #C0392B); }

.aim-org-collapse {
  margin-bottom: 16px;
  border: 1px solid var(--aim-border, #E0E0E0);
  border-radius: var(--aim-radius, 6px);
  padding: 10px 14px;
}
.aim-org-collapse summary {
  cursor: pointer;
  font-size: .85em;
  font-weight: bold;
  color: var(--aim-text, #333);
}
.aim-org-collapse__body { margin-top: 12px; }

/* Card section reusable ------------------------------------------------ */
.aim-org-card {
  background: var(--aim-bg, #FFF);
  border: 1px solid var(--aim-border, #E0E0E0);
  border-radius: var(--aim-radius, 8px);
  padding: 18px 22px;
  margin-bottom: 18px;
}
.aim-org-card h3 {
  margin: 0 0 12px;
  color: var(--aim-green, var(--aim-green));
  font-size: 1em;
}

/* Helpers ------------------------------------------------------------- */
.aim-org-hidden { display: none !important; }
.aim-org-flex   { display: flex; gap: 8px; }
.aim-org-flex--between {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.aim-org-mt-3 { margin-top: 14px; }
.aim-org-text     { font-size: 13px; }
.aim-org-text-sm  { font-size: 12px; }
.aim-org-help-text {
  font-size: 11px;
  color: var(--aim-muted, #777);
  margin-top: 3px;
}
.aim-org-file-uploaded {
  font-size: 11px;
  margin-top: 4px;
  color: var(--aim-green, var(--aim-green));
}
.aim-org-empty-cell {
  padding: 8px;
  color: var(--aim-muted, #777);
}
.aim-org-fieldset-reset {
  border: none;
  margin: 0;
  padding: 0;
}
.aim-org-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 24px;
}
.aim-org-td-amount {
  padding: 6px 8px;
  text-align: right;
}
.aim-org-td-th {
  padding: 6px 8px;
  text-align: left;
  border-bottom: 1px solid var(--aim-border, #E0E0E0);
}
.aim-org-logo-inline {
  max-height: 42px;
  width: auto;
  margin: 0 12px;
  vertical-align: middle;
}
.aim-org-logo-block {
  height: 60px;
  object-fit: contain;
}
@media (max-width: 700px) {
  .aim-org-form-grid { grid-template-columns: 1fr; gap: 12px; }
}

/* Helpers añadidos en 4ª pasada -------------------------------------- */
.aim-org-link-info {
  color: var(--aim-info, #1565C0);
  font-size: 12px;
  text-decoration: none;
}
.aim-org-link-info:hover { text-decoration: underline; }
.aim-org-muted-sm { color: #AAA; font-size: 12px; }
.aim-org-muted    { color: var(--aim-muted, #AAA); font-size: 13px; }
.aim-org-mini-select {
  font-size: 12px;
  padding: 3px 6px;
  border: 1px solid var(--aim-border-strong, #CCC);
  border-radius: var(--aim-radius-sm, 4px);
  margin-bottom: 4px;
}
.aim-org-mini-textarea {
  width: 100%;
  font-size: 11px;
  padding: 4px 6px;
  border: 1px solid var(--aim-border-strong, #CCC);
  border-radius: var(--aim-radius-sm, 4px);
  box-sizing: border-box;
  resize: vertical;
}
.aim-org-pill {
  display: inline-block;
  border-radius: 12px;
  padding: 2px 8px;
  font-size: 11px;
}
.aim-org-pill--green { background: var(--aim-green-bg, var(--aim-green-bg)); color: var(--aim-green, var(--aim-green)); }

.aim-org-section-footer {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--aim-border, #E0E0E0);
}
.aim-org-mt-2 { margin-top: 10px; }
.aim-org-mt-4 { margin-top: 18px; }
.aim-org-mb-3 { margin-bottom: 14px; }

.aim-org-paragraph {
  font-size: 13px;
  color: var(--aim-text-soft, #555);
  margin-bottom: 12px;
}
.aim-org-paragraph--inline { margin-bottom: 0; }

.aim-org-form-grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px 24px;
  margin-top: 18px;
}
@media (max-width: 900px) {
  .aim-org-form-grid-3 { grid-template-columns: 1fr; gap: 12px; }
}

/* Cards de price field (configuración inscripciones) ------------------ */
.aim-org-pf-card {
  margin-bottom: 20px;
  background: #FFF;
  border: 1px solid var(--aim-border, #E0E0E0);
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
  overflow: hidden;
}
.aim-org-pf-card:last-of-type { margin-bottom: 8px; }

.aim-org-pf-header {
  background: linear-gradient(180deg, #F8F9FA 0%, #F1F3F5 100%);
  padding: 14px 18px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  border-bottom: 1px solid var(--aim-border, #E0E0E0);
}
.aim-org-pf-title {
  font-size: .9em;
  font-weight: bold;
  color: var(--aim-text, #333);
}
.aim-org-pf-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-size: .85em;
  color: var(--aim-text-soft, #555);
  white-space: nowrap;
  padding-top: 4px;
}

.aim-org-pf-meta {
  padding: 12px 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: center;
  background: var(--aim-bg-alt, #FAFAFA);
  border-bottom: 1px solid var(--aim-border, #EEE);
  font-size: .88em;
}
.aim-org-pf-meta .aim-org-form-meta {
  display: flex;
  align-items: center;
  gap: 8px;
}
.aim-org-pf-meta .aim-org-form-meta label {
  font-weight: 600;
  color: var(--aim-text-soft, #555);
  margin: 0;
}
.aim-org-pf-meta input[type=date] {
  padding: 4px 8px;
  border: 1px solid var(--aim-border-strong, #DDD);
  border-radius: 4px;
  font-size: .92em;
}

.aim-org-pf-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}
.aim-org-pf-table thead th { padding: 10px 12px; }
.aim-org-pf-table tbody td { padding: 10px 12px; }

.aim-org-pf-intro {
  font-size: .9em;
  color: var(--aim-text-soft, #555);
  margin: 0 0 18px;
  padding: 10px 14px;
  background: var(--aim-bg-soft, #F5F5F5);
  border-left: 3px solid var(--aim-green, var(--aim-green));
  border-radius: 4px;
}

/* Cabecera verde dentro de modales (firma upload, etc.) -------------- */
.aim-org-section-header {
  background: var(--aim-green, var(--aim-green));
  padding: 14px 20px;
  border-radius: var(--aim-radius, 8px) var(--aim-radius, 8px) 0 0;
  color: #FFF;
  font-weight: bold;
}

.aim-org-text-green { color: var(--aim-green, var(--aim-green)); }
.aim-org-muted-cell {
  color: var(--aim-muted, #777);
  padding: 4px 0;
}
.aim-org-tr-divider { border-top: 1px solid #F0F0F0; }
.aim-org-form-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .82em;
  color: var(--aim-text-soft, #555);
}
.aim-org-checkbox-accent {
  cursor: pointer;
  accent-color: var(--aim-green, var(--aim-green));
}

/* Tabla de price field values (configuración inscripciones) ---------- */
.aim-org-pfv-table-head { background: #F0F0F0; }
.aim-org-pfv-th {
  padding: 7px 12px;
  text-align: left;
  font-size: .82em;
  font-weight: 600;
  color: var(--aim-text-soft, #444);
}
.aim-org-pfv-th--amount { text-align: right; width: 140px; }
.aim-org-pfv-th--toggle { text-align: center; width: 70px; }

/* Cabecera del PriceField: dos inputs ES/EN apilados */
.aim-org-pf-title-edit {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}
.aim-org-pf-lang {
  display: flex;
  align-items: center;
  gap: 8px;
}
.aim-org-lang-flag {
  font-size: 1.1em;
  line-height: 1;
  min-width: 24px;
  text-align: center;
}
.aim-org-pf-title-input {
  flex: 1;
  padding: 4px 8px;
  border: 1px solid var(--aim-border-strong, #DDD);
  border-radius: var(--aim-radius-sm, 4px);
  font-size: .92em;
  font-weight: 600;
}
.aim-org-pfv-td { padding: 7px 12px; }
.aim-org-pfv-td--amount { text-align: right; }
.aim-org-pfv-td--toggle { text-align: center; }
.aim-org-pfv-input {
  width: 100%;
  padding: 5px 8px;
  border: 1px solid var(--aim-border-strong, #DDD);
  border-radius: var(--aim-radius-sm, 4px);
  font-size: .88em;
  box-sizing: border-box;
}
/* Ancho amplio para que las flechitas del spinner number no coman el espacio
   del valor (3 dígitos + 2 decimales + separador + €). */
.aim-org-pfv-input--amount {
  width: 120px;
  text-align: right;
  padding-right: 6px;
}

.aim-org-save-row {
  margin-top: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Tabla resumen ingresos --------------------------------------------- */
.aim-org-resumen-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-bottom: 16px;
}
.aim-org-resumen-table td.aim-org-td-divider     { padding: 8px; border-top: 1px solid #EEE; }
.aim-org-resumen-table td.aim-org-td-amount      { padding: 8px; text-align: right; }
.aim-org-resumen-table td.aim-org-td-net         { padding: 8px; border-top: 2px solid var(--aim-green, var(--aim-green)); font-weight: 700; }
.aim-org-resumen-table td.aim-org-td-warning     { color: #E65100; }
.aim-org-resumen-table tr.aim-org-tr-net td      { background: #F0F7F0; }

/* Sección heading verde grande --------------------------------------- */
.aim-org-section-title {
  margin: 18px 0 10px;
  font-size: 14px;
  color: var(--aim-green, var(--aim-green));
}
.aim-org-h-secondary {
  margin: 24px 0 10px;
  color: var(--aim-text-soft, #444);
  font-size: 14px;
}

/* Tabla compacta secundaria ----------------------------------------- */
.aim-org-table-sm {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

/* Tags inline (Común / Específico, etc.) ----------------------------- */
.aim-org-tag {
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 11px;
  margin-left: 8px;
}
.aim-org-tag--info    { background: #E3F2FD; color: var(--aim-info, #1565C0); }
.aim-org-tag--success { background: var(--aim-green-bg, var(--aim-green-bg)); color: var(--aim-green, var(--aim-green)); }

/* Card title (h4 dentro de .aim-org-card) --------------------------- */
.aim-org-card-title {
  margin: 0;
  font-size: 15px;
  color: var(--aim-text, #333);
}

/* Flex helpers extra ------------------------------------------------- */
.aim-org-flex--gap-sm { gap: 6px; }

/* Variante outline para botones small ------------------------------- */
.aim-org-btn[data-variant="outline"] {
  background: var(--aim-bg, #FFF);
  border-color: var(--aim-green, var(--aim-green));
  color: var(--aim-green, var(--aim-green));
}
.aim-org-btn[data-variant="outline"]:hover { background: var(--aim-green-bg, var(--aim-green-bg)); }
.aim-org-btn[data-variant="outline-green"] {
  background: var(--aim-bg, #FFF);
  border-color: var(--aim-green, var(--aim-green));
  color: var(--aim-green, var(--aim-green));
  display: inline-block;
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}
.aim-org-btn[data-variant="outline-green"]:hover { background: var(--aim-green-bg, var(--aim-green-bg)); }

/* Italic help (sin campos, etc.) ------------------------------------ */
.aim-org-italic-help {
  color: var(--aim-muted, #999);
  font-size: 12px;
  font-style: italic;
  margin: 0;
}

/* Th centrado/derecha en tabla campos personalizados ---------------- */
.aim-org-th-center { padding: 6px 8px; text-align: center; border-bottom: 1px solid var(--aim-border, #E0E0E0); }
.aim-org-th-amount { padding: 6px 8px; text-align: right;  border-bottom: 1px solid var(--aim-border, #E0E0E0); }

/* Filas/celdas helpers extra ---------------------------------------- */
.aim-org-tr-light { border-bottom: 1px solid #F5F5F5; }
.aim-org-td-soft  { padding: 8px; color: #666; }
.aim-org-td-muted-sm { padding: 8px; color: var(--aim-muted, #777); font-size: 12px; }
.aim-org-td-actions  { padding: 8px; text-align: right; white-space: nowrap; }
.aim-org-td-center   { padding: 8px; text-align: center; }
.aim-org-td-th       { padding: 6px 8px; text-align: left; border-bottom: 1px solid var(--aim-border, #E0E0E0); }

.aim-org-code {
  font-size: 11px;
  background: var(--aim-bg-soft, #F5F5F5);
  padding: 1px 6px;
  border-radius: 3px;
}

.aim-org-icon-btn {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 14px;
  margin-right: 4px;
}
.aim-org-icon-btn--info   { color: var(--aim-info, #1565C0); }
.aim-org-icon-btn--danger { color: var(--aim-danger, #C62828); margin-right: 0; }

/* Mini-modal variant ------------------------------------------------ */
.aim-org-modal--narrow { max-width: 480px; }
.aim-org-modal-intro {
  font-size: 13px;
  color: var(--aim-text-soft, #555);
  margin: 0 0 12px;
}

.aim-org-mb-2 { margin-bottom: 12px; }

/* Tabla de opciones ES/EN dentro del modal de edición de CF */
.aim-org-cf-opts-table {
  width: 100%;
  border-collapse: collapse;
  margin: 4px 0 8px;
}
.aim-org-cf-opts-table th.aim-org-cf-opt-th {
  text-align: left;
  font-weight: 600;
  font-size: .82em;
  color: var(--aim-text-soft, #555);
  padding: 6px 4px;
  border-bottom: 1px solid var(--aim-border, #E0E0E0);
}
.aim-org-cf-opts-table td {
  padding: 4px;
  vertical-align: middle;
}
.aim-org-cf-opts-table input[type=text] { width: 100%; }

.aim-org-cf-options-wrap {
  margin-bottom: 10px;
}

.aim-org-help-text--indent {
  margin: 3px 0 0 26px;
}

/* Firma thumbnail -------------------------------------------------- */
.aim-org-firma-thumb {
  max-height: 80px;
  border: 1px solid var(--aim-border, #E0E0E0);
  border-radius: var(--aim-radius-sm, 4px);
  padding: 4px;
  background: var(--aim-bg, #FFF);
}

/* WhatsApp tab banner success -------------------------------------- */
.aim-org-banner-success {
  background: #E7F6EE;
  border-left: 4px solid var(--aim-green, var(--aim-green));
  padding: 10px 14px;
  margin-bottom: 14px;
  font-size: 13px;
}

/* Thead colors ----------------------------------------------------- */
.aim-org-thead-green { background: var(--aim-green, var(--aim-green)); color: #FFF; }
.aim-org-thead-green th { color: #FFF !important; }
.aim-org-thead-grey  { background: var(--aim-bg-soft, #F5F5F5); color: var(--aim-text-soft, #444); }

/* Tabs grupo (subtabs internas) ----------------------------------- */
.aim-org-tabs-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
}
.aim-org-pill-tab {
  padding: 7px 16px;
  font-size: 13px;
  font-weight: 500;
  background: var(--aim-bg, #FFF);
  color: var(--aim-green, var(--aim-green));
  border: 1px solid var(--aim-green, var(--aim-green));
  border-radius: 20px;
  text-decoration: none;
  white-space: nowrap;
}
.aim-org-pill-tab.is-active {
  background: var(--aim-green-dark, var(--aim-green-dark));
  color: #FFF;
  font-weight: 700;
}

/* Tab body wrap (cuerpo bajo las pestañas) ------------------------ */
.aim-org-tab-body {
  background: var(--aim-bg, #FFF);
  border: 1px solid var(--aim-border, #E0E0E0);
  border-top: none;
  padding: 20px 24px;
  border-radius: 0 0 var(--aim-radius, 8px) var(--aim-radius, 8px);
}

/* Event banner + header bar verde --------------------------------- */
.aim-org-event-banner-wrap {
  border-radius: var(--aim-radius, 8px);
  overflow: hidden;
  margin-bottom: var(--aim-s-3, 12px);
  line-height: 0;
}
.aim-org-event-banner-img {
  width: 100%;
  max-height: 200px;
  object-fit: cover;
  display: block;
}
.aim-org-event-eyebrow {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: .8;
  margin-bottom: 4px;
}
.aim-org-event-title {
  margin: 0 0 4px;
  font-size: 20px;
  color: #FFF;
}
.aim-org-event-subtitle {
  font-size: 13px;
  opacity: .9;
}

/* Cabecera evento (barra verde con título + fechas) ----------------
   ⚠️ Retirado 2026-05-15: se unifica con .aim-hero--compact del theme.
   Las reglas se conservan comentadas por si algún sitio quedó usando la clase.
.aim-org-event-bar {
  background: var(--aim-green, var(--aim-green));
  color: #FFF;
  border-radius: var(--aim-radius, 8px) var(--aim-radius, 8px) 0 0;
  padding: 20px 24px;
  margin-bottom: 0;
}
.aim-org-event-bar--with-banner { border-radius: 0; }
*/

/* Back-bar inline en el hero compact (← Mis eventos) */
.aim-org-back-bar {
  margin: 0 0 6px;
  font-size: 13px;
}
.aim-org-back-bar .aim-org-back { color: var(--aim-green, var(--aim-green)); }

/* Utilidades adicionales -------------------------------------------- */
.aim-org-cb-big {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: var(--aim-green, var(--aim-green));
}
.aim-org-input--mono {
  font-family: monospace;
  font-size: .95em;
}
.aim-org-icon-link {
  font-size: 1.2em;
  text-decoration: none;
}
.aim-org-form-collapse {
  margin-top: 12px;
  background: var(--aim-bg-alt, #F9F9F9);
  border: 1px solid var(--aim-border-strong, #DDD);
  border-radius: var(--aim-radius, 6px);
  padding: 18px 20px;
  max-width: 520px;
}
.aim-org-flex-row {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.aim-org-tag--warning { background: #FFF3E0; color: #E65100; }
.aim-org-log-pre {
  background: #FAFAFA;
  border: 1px solid var(--aim-border-strong, #DDD);
  padding: 10px;
  font-size: 11px;
  max-height: 240px;
  overflow: auto;
  white-space: pre-wrap;
}
.aim-org-mr-2 { margin-right: 8px; }
.aim-org-mb-1 { margin-bottom: 6px; }
.aim-org-nowrap { white-space: nowrap; }
.aim-org-bold   { font-weight: bold; }
.aim-org-label-light { font-weight: 400; color: var(--aim-muted, #777); }
.aim-org-cell-truncate { max-width: 240px; overflow: hidden; text-overflow: ellipsis; }

.aim-org-btn--warn {
  background: #E65100;
  color: #FFF;
  border-color: #E65100;
}
.aim-org-btn--warn:hover { background: #D84315; }

@media (max-width: 700px) {
  .aim-org-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .aim-org-field-row { flex-direction: column; gap: 10px; }
}

/* «No se ha podido leer» · mock L
   ----------------------------------------------------------------------
   **Naranja, no rojo.** Rojo significa «algo ha salido mal y hay
   consecuencias»; aquí la consecuencia es que no se puede seguir *ahora*: nada
   roto, nada perdido.

   Y **ocupa el sitio del formulario**, no aparece encima: si el formulario
   estuviera detrás, alguien lo intentaría. */
.aim-org-ilegible {
  padding: 16px 18px;
  border-radius: 0 6px 6px 0;
  border-left: 4px solid #E65100;
  background: #FFF3E0;
  color: #6B4B2A;
}
.aim-org-ilegible__cab {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 10px;
  font-size: 15px;
  color: #E65100;
}
.aim-org-ilegible__p { margin: 0 0 10px; font-size: 13.5px; line-height: 1.65; }
.aim-org-ilegible__resto {
  padding-top: 10px;
  border-top: 1px solid rgba(230, 81, 0, .18);
  color: #7A6350;
}
.aim-org-ilegible__acciones { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
/* La referencia va **al final**, para que la copie si escribe. No como mensaje
   principal: nadie entiende un problema porque le den un código. */
.aim-org-ilegible__ref { margin: 12px 0 0; font-size: 12px; color: #8A7563; }
.aim-org-ilegible__ref code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }

/* ============================================================================
 * REFORMA MÓVIL — filas bilingües ES/EN (pestaña Identidad) y campo suelto de
 * organizadores/candidaturas que usaban grid-template-columns inline sin
 * colapsar. Mismo criterio que la reforma del panel de votaciones: apoyarse
 * en clases ya existentes (.aim-org-form-grid) donde encajan, y una clase
 * nueva solo donde no había ninguna equivalente.
 * ==========================================================================*/

/* Etiqueta fija + columna ES + columna EN. Al apilar en móvil, cada input
 * lleva delante su propia etiqueta "Español"/"English" — si no, al perder la
 * posición en la columna se pierde también la única pista de cuál es cuál. */
.aim-org-form-grid-i18n { display: grid; grid-template-columns: 130px 1fr 1fr; gap: 16px; align-items: center; }
.aim-org-form-grid-i18n--top { align-items: start; }
.aim-org-i18n-tag { display: none; }
@media (max-width: 700px) {
  .aim-org-form-grid-i18n { grid-template-columns: 1fr; gap: 4px; }
  .aim-org-form-grid-i18n--top { align-items: stretch; }
  /* La cabecera "ESPAÑOL / ENGLISH" queda redundante en móvil: cada fila ya
   * lleva su propia etiqueta junto al input. */
  .aim-org-form-grid-i18n--cabecera { display: none; }
  .aim-org-i18n-tag {
    display: block;
    margin-top: 10px;
    font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
    color: var(--aim-muted, #777);
  }
  .aim-org-i18n-tag:first-of-type { margin-top: 2px; }
}
