/* Bankitos CSS (resumen, incluye estados de error y botones) */
:root {
  --bankitos-primary: #c7f000;
  --bankitos-primary-hover: #b0d600;
  --bankitos-primary-active: #9fbe00;
  --bankitos-primary-text: #0f172a;
  --bco-azul: #016FB0;
  --bco-azul-claro: #e7f3fb;
  --bco-blanco: #ffffff;
  --bco-gris: #f3f4f6;
  --bco-texto: #0f172a;
  --bco-text: #0f172a;
  --bco-text-light: #4b5563;
  --bco-rojo: #b91c1c;
  --bco-primary: var(--bankitos-primary, #c7f000);

  --shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  --card-w: 760px;
}

.difl_advancedmenu, .et_pb_row:has(.difl_advancedmenu), .et_pb_section:has(.difl_advancedmenu) {
    overflow: visible !important;
    background-color: #014770!important;
}

p {padding-bottom: 0;}

.df-normal-menu-wrap .df-menu-wrap .df-menu-nav>li.menu-item>a {color: #fff;}

.bankitos-panel,
.bankitos-login-wrap,
.bankitos-register-wrap,
.bankitos-invite-portal,
.bankitos-credit-request,
.bankitos-credit-summary,
.bankitos-credit-review,
.bankitos-members,
.bankitos-members-table {
  width: 100%;
  margin: 0 auto 1.25rem;
  box-sizing: border-box;
}

.bankitos-panel.bienvenida {background: #e8ff90;}

.bankitos-panel,
.bankitos-login-wrap,
.bankitos-register-wrap {
  background: var(--bco-blanco);
  padding: clamp(1rem, 3vw, 1.5rem);
  border-radius: 18px;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.bankitos-panel h2,
.bankitos-login-wrap h2,
.bankitos-register-wrap h2 {
  margin: 0;
  color: var(--bco-azul);
}

.bankitos-form input, .bankitos-form select, .bankitos-form textarea,
.bankitos-login-wrap input,.bankitos-register-wrap input{
  display:block;width:100%;margin:.45rem 0 1rem;padding:.9rem 1rem;border-radius:12px;border:1px solid #D0D7DE;background:var(--bco-gris);
}
.bankitos-panel *,
.bankitos-login-wrap *,
.bankitos-register-wrap * {
  box-sizing: border-box;
}
.bankitos-form input:focus,.bankitos-form select:focus,.bankitos-form textarea:focus{border-color:var(--bco-azul);background:var(--bco-azul-claro);box-shadow:0 0 0 4px rgba(0,115,179,.14);outline:none;}
.bankitos-btn,.bankitos-panel .button{display:inline-block;font-size:large;width:100%;padding:1rem 1.1rem;border:none;border-radius:12px;background:var(--bankitos-primary,#c7f000);color:var(--bankitos-primary-text,#0f172a);font-weight:800;text-align:center;cursor:pointer;box-shadow:0 4px 12px rgba(15,23,42,.12);transition:background .18s,color .18s,box-shadow .18s}
.bankitos-btn:hover,.bankitos-panel .button:hover{background:var(--bankitos-primary-hover,#b0d600);color:var(--bankitos-primary-text,#0f172a);box-shadow:0 6px 18px rgba(15,23,42,.18);}
.bankitos-btn:focus-visible,.bankitos-panel .button:focus-visible{outline:3px solid rgba(15,23,42,.3);outline-offset:2px;}
.bankitos-btn:active,.bankitos-panel .button:active{background:var(--bankitos-primary-active,#9fbe00);box-shadow:0 3px 10px rgba(15,23,42,.2);}
.bankitos-btn.is-disabled,.bankitos-form button[disabled]{opacity:.55;cursor:not-allowed;filter:grayscale(15%);}
.bankitos-btn.is-loading,.bankitos-form button.is-loading{position:relative;padding-right:2.2rem;pointer-events:none;}
.bankitos-btn.is-loading::after,.bankitos-form button.is-loading::after{content:"";position:absolute;right:.85rem;top:50%;width:.9rem;height:.9rem;border:2px solid currentColor;border-right-color:transparent;border-radius:999px;transform:translateY(-50%);animation:bankitos-spin .8s linear infinite;}
@keyframes bankitos-spin{to{transform:translateY(-50%) rotate(360deg);}}

.bankitos-panel-info{margin:1.5rem 0;padding:1.5rem;border-radius:20px;background:var(--bco-blanco);display:grid;gap:1.2rem;color:var(--bco-texto);}
.bankitos-panel-info__header{display:flex;align-items:center;gap:1rem;}
.bankitos-panel-info__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:var(--bco-azul);color:var(--bco-blanco);font-size:1.6rem;box-shadow:0 4px 12px rgba(0,115,179,.25);}
.bankitos-panel-info__title{margin:0;font-size:1.25rem;font-weight:800;color:var(--bco-azul);}
.bankitos-panel-info__subtitle{margin:.15rem 0 0 0;font-size:.95rem;color:rgba(15,23,42,.75);}
.bankitos-panel-info__grid{display:grid;gap:1rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}
.bankitos-panel-info__row{display:flex;flex-direction:column;padding-bottom:.35rem;border-bottom:1px solid rgba(0,115,179,.15);gap:.25rem;}
.bankitos-panel-info__row:last-of-type{border-bottom:none;padding-bottom:0;}
.bankitos-panel-info__label{font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;font-weight:800;color:rgba(15,23,42,.55);}
.bankitos-panel-info__value{margin:0;font-size:1.05rem;font-weight:800;color:var(--bco-texto);word-break:break-word;}
.bankitos-panel__cta{margin:1rem 0 1.5rem 0;}
.bankitos-panel__quick-actions ul{margin:.65rem 0 0 1.2rem;padding:0;display:grid;gap:.5rem;}
.bankitos-panel__quick-actions li{list-style:disc;color:var(--bco-texto);}
.bankitos-panel__quick-actions a{font-weight:700;color:var(--bco-azul);text-decoration:none;}
.bankitos-panel__quick-actions a:hover{text-decoration:underline;}

.bankitos-panel__message{margin:.75rem 0 0;font-size:1.05rem;color:rgba(15,23,42,.75);}
.bankitos-credit-request__group,
.bankitos-credit-card__details,
.bankitos-credit-card__committee-list,
.bankitos-credit-summary__details,
.bankitos-invite-portal__details {
  width: 100%;
}

.bankitos-members{background:var(--bco-blanco);border-radius:20px;padding:1.25rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1.5rem;}
.bankitos-members__header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;justify-content:space-between;}
.bankitos-members__icon{width:48px;height:48px;border-radius:16px;background:var(--bco-azul);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.6rem;box-shadow:0 4px 12px rgba(0,115,179,.25);}
.bankitos-members__title{margin:0;font-size:1.1rem;font-weight:800;color:var(--bco-azul);}
.bankitos-members__heading{display:flex;align-items:center;gap:1rem;flex:1;min-width:200px;}
.bankitos-members__invite{display:flex;flex-direction:column;gap:1rem;padding:1rem;border-radius:16px;background:var(--bco-gris);border:1px solid rgba(0,115,179,.12);}
.bankitos-members__invite[hidden]{display:none;}
.bankitos-members__invite-intro{margin:0;color:rgba(15,23,42,.75);font-size:.95rem;}
.bankitos-members__invite-error{display:none;background:#FEE2E2;border:1px solid #FCA5A5;color:#B91C1C;padding:.65rem 1rem;border-radius:12px;font-weight:700;}
.bankitos-members__invite-error.is-visible{display:block;}
.bankitos-members__invite-actions{display:flex;flex-direction:column;gap:1rem;}
.bankitos-members__invite-actions > .bankitos-btn{width:auto;align-self:flex-start;}
.bankitos-members__invite-buttons{display:flex;flex-direction:column;gap:.75rem;}
.bankitos-members-table{margin-top:1.5rem;display:flex;flex-direction:column;gap:1rem;background:var(--bco-blanco);border-radius:20px;padding:1.25rem;box-shadow:var(--shadow);}
.bankitos-members-table__header{display:flex;flex-direction:column;gap:.35rem;}
.bankitos-members-table__title{margin:0;font-size:1.05rem;font-weight:800;color:var(--bco-azul);}
.bankitos-members-table__subtitle{margin:0;font-size:.9rem;color:rgba(15,23,42,.65);}
.bankitos-members-table__empty{margin:0;color:rgba(15,23,42,.7);}
.bankitos-table-wrapper{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:16px;border:1px solid rgba(0,115,179,.12);background:var(--bco-blanco);}
.bankitos-table{width:100%;border-collapse:collapse;min-width:320px;}
.bankitos-table th,.bankitos-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid rgba(0,115,179,.12);color:var(--bco-texto);}
.bankitos-table th{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:rgba(15,23,42,.6);background:var(--bco-gris);}
.bankitos-table tbody tr:last-child td{border-bottom:none;}
.bankitos-table td[data-title]{position:relative;}
.bankitos-table__value[hidden]{display:none;}
.bankitos-table__edit-field{margin-top:.5rem;display:flex;flex-direction:column;gap:.35rem;}
.bankitos-table__edit-field input{width:100%;padding:.55rem .75rem;border-radius:10px;border:1px solid rgba(15,23,42,.2);}
.bankitos-table__edit-field[hidden]{display:none;}
.bankitos-invite-actions__form[hidden],
.bankitos-invite-actions__buttons[hidden]{display:none;}
.bankitos-invite-actions{display:flex;flex-direction:column;gap:.75rem;}
.bankitos-invite-actions__form{display:flex;flex-direction:column;gap:.5rem;}
.bankitos-invite-actions__form input{width:100%;padding:.65rem .75rem;border:1px solid rgba(15,23,42,.15);border-radius:10px;}
.bankitos-invite-actions__buttons{display:flex;flex-wrap:wrap;gap:.5rem;}
.bankitos-btn--small{width:auto;padding:.5rem .9rem;font-size:.9rem;line-height:1.2;}
.bankitos-btn--danger{background:#F87171;border:1px solid #DC2626;color:#fff;}
.bankitos-btn--danger:hover{background:#EF4444;color:#fff;}
.bankitos-link--button{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;}
.bankitos-link--button:focus{outline:2px solid var(--bco-azul);outline-offset:2px;}
.bankitos-text-muted{color:rgba(15,23,42,.45);}

.bankitos-btn--ghost{background:var(--bco-blanco);color:var(--bco-azul);border:1px solid rgba(0,115,179,.25);}
.bankitos-btn--ghost:hover{background:var(--bco-azul-claro);color:var(--bco-azul);}

.bankitos-btn--secondary{background:var(--bco-blanco);color:var(--bco-azul);border:1px solid var(--bco-azul);}
.bankitos-btn--secondary:hover{background:var(--bco-azul-claro);color:var(--bco-azul);}
.bankitos-link{color:var(--bco-azul);font-weight:700;text-decoration:none;}
.bankitos-link:hover{text-decoration:underline;}

.bankitos-pill{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;border-radius:999px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;}
.bankitos-pill--pending{background:#FEF3C7;color:#B45309;}
.bankitos-pill--accepted{background:#DCFCE7;color:#166534;}
.bankitos-pill--rejected{background:#FEE2E2;color:#B91C1C;}

.bankitos-accordion{display:flex;flex-direction:column;gap:1rem;}
.bankitos-accordion__item{border:1px solid rgba(0,115,179,.12);border-radius:16px;overflow:hidden;background:var(--bco-blanco);box-shadow:0 6px 20px rgba(15,23,42,.06);}
.bankitos-accordion__summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.2rem;cursor:pointer;background:var(--bco-gris);border:none;flex-wrap:wrap;}
.bankitos-accordion__summary::-webkit-details-marker{display:none;}
.bankitos-accordion__title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;}
.bankitos-accordion__amount{font-size:1.1rem;font-weight:800;color:var(--bco-texto);}
.bankitos-accordion__meta{display:flex;align-items:center;gap:.5rem;color:rgba(15,23,42,.65);font-weight:700;flex-wrap:wrap;}
.bankitos-accordion__name{font-weight:800;color:rgba(15,23,42,.75);}
.bankitos-accordion__chevron{display:inline-block;width:10px;height:10px;border-right:2px solid rgba(15,23,42,.55);border-bottom:2px solid rgba(15,23,42,.55);transform:rotate(45deg);transition:transform .18s ease;}
.bankitos-accordion__item[open] .bankitos-accordion__chevron{transform:rotate(-135deg);}
.bankitos-accordion__content{padding:1rem 1.2rem 1.25rem;background:var(--bco-blanco);}
.bankitos-accordion__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem 1rem;margin:0;}
.bankitos-accordion__grid dt{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:rgba(15,23,42,.55);margin:0;}
.bankitos-accordion__grid dd{margin:.15rem 0 0;font-weight:800;color:var(--bco-texto);}
.bankitos-accordion__grid button{padding:0;font-weight:800;}
.bankitos-accordion__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.5rem;}
.bankitos-accordion__actions .bankitos-btn{width:auto;min-width:140px;}
.bankitos-credit-review__accordion{margin-top:1rem;}
.bankitos-credit-payment__resume{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:0 0 .75rem;}
.bankitos-credit-payment__credit{display:flex;flex-direction:column;gap:.25rem;}
.bankitos-credit-payment__credit-label{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:rgba(15,23,42,.55);}
.bankitos-credit-payment__credit-name{margin:0;font-size:1.05rem;font-weight:800;color:var(--bco-texto);}
.bankitos-credit-payment__credit-meta{display:flex;flex-wrap:wrap;gap:.65rem;color:rgba(15,23,42,.65);font-weight:700;}
.bankitos-credit-payment__grid dd{display:flex;align-items:center;gap:.35rem;}
.bankitos-credit-payment__actions{align-items:center;}
.bankitos-credit-payment__note{margin:0;font-weight:700;color:rgba(15,23,42,.65);}
.bankitos-credit-payment--pending .bankitos-accordion__summary{background:var(--bco-gris);}
.bankitos-credit-payment--approved .bankitos-accordion__summary{background:rgba(220,252,231,.45);}
.bankitos-credit-payment--rejected .bankitos-accordion__summary{background:rgba(254,226,226,.5);}

.bankitos-invite-rows{display:flex;flex-direction:column;gap:1rem;margin:1rem 0;}
.bankitos-invite-row{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;position:relative;padding-right:2.5rem;}
.bankitos-invite-row__remove{position:absolute;right:0;top:50%;transform:translateY(-50%);background:#fff;border:1px solid rgba(15,23,42,.1);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;color:rgba(15,23,42,.6);}
.bankitos-invite-row__remove:hover{background:var(--bco-azul-claro);color:var(--bco-azul);}
.bankitos-members--empty-state{align-items:center;text-align:center;}

.bankitos-invite-portal{max-width:var(--card-w);margin:2rem auto;padding:1.5rem;background:var(--bco-blanco);border-radius:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1.25rem;}
.bankitos-invite-portal__card{background:var(--bco-azul-claro);padding:1.25rem;border-radius:18px;display:flex;flex-direction:column;gap:1rem;}
.bankitos-invite-portal__details{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:0;}
.bankitos-invite-portal__details div{display:flex;flex-direction:column;gap:.25rem;}
.bankitos-invite-portal__details dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:rgba(15,23,42,.55);}
.bankitos-invite-portal__details dd{margin:0;font-weight:700;color:var(--bco-texto);}
.bankitos-invite-portal__note{margin:0;font-size:.92rem;color:rgba(15,23,42,.75);}
.bankitos-invite-portal__actions{display:flex;flex-direction:column;gap:1rem;}
.bankitos-invite-portal__cta{display:flex;flex-wrap:wrap;gap:.75rem;}
.bankitos-invite-portal__reject{text-align:right;}

.bankitos-shortcodes-doc{margin:2rem 0 1rem;background:var(--bco-blanco);border-radius:18px;padding:1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1.25rem;}
.bankitos-shortcodes-doc__intro h2{margin:0 0 .35rem;font-size:1.4rem;color:var(--bco-texto);}
.bankitos-shortcodes-doc__intro p{margin:0;color:rgba(15,23,42,.75);}
.bankitos-shortcodes-doc__tips{margin:.25rem 0 0 1.25rem;padding:0;display:grid;gap:.35rem;color:rgba(15,23,42,.75);}
.bankitos-shortcodes-doc__section{border:1px solid rgba(0,115,179,.12);border-radius:16px;padding:1rem 1rem 1.25rem;background:var(--bco-gris);display:flex;flex-direction:column;gap:1rem;}
.bankitos-shortcodes-doc__section-head h3{margin:0;font-size:1.1rem;color:var(--bco-azul);}
.bankitos-shortcodes-doc__section-head p{margin:.2rem 0 0;color:rgba(15,23,42,.7);}
.bankitos-shortcodes-doc__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;}
.bankitos-shortcodes-doc__card{background:var(--bco-blanco);border-radius:14px;padding:1rem;box-shadow:0 10px 25px rgba(15,23,42,.06);border:1px solid rgba(0,115,179,.08);display:flex;flex-direction:column;gap:.5rem;min-height:220px;}
.bankitos-shortcodes-doc__tag code{background:var(--bco-gris);padding:.35rem .6rem;border-radius:10px;display:inline-block;font-weight:800;color:var(--bco-texto);}
.bankitos-shortcodes-doc__name{margin:0;font-size:1.05rem;color:var(--bco-texto);}
.bankitos-shortcodes-doc__role{margin:0;font-weight:700;color:var(--bco-azul);}
.bankitos-shortcodes-doc__summary{margin:0;color:rgba(15,23,42,.78);}
.bankitos-shortcodes-doc__list{margin:.25rem 0 0 1.1rem;padding:0;display:grid;gap:.25rem;color:rgba(15,23,42,.78);}
.bankitos-shortcodes-doc__usage{margin:.4rem 0 0;color:rgba(15,23,42,.7);font-weight:700;}

.bankitos-wrap .bankitos-shortcodes-doc {
  background: #ffffff;
  color: #0f172a;
}
.bankitos-wrap .bankitos-shortcodes-doc__intro p,
.bankitos-wrap .bankitos-shortcodes-doc__tips,
.bankitos-wrap .bankitos-shortcodes-doc__section-head p,
.bankitos-wrap .bankitos-shortcodes-doc__summary,
.bankitos-wrap .bankitos-shortcodes-doc__list,
.bankitos-wrap .bankitos-shortcodes-doc__usage {
  color: #334155;
}
.bankitos-wrap .bankitos-shortcodes-doc__section {
  background: #f8fafc;
}
.bankitos-wrap .bankitos-shortcodes-doc__tag code {
  background: #e2e8f0;
  color: #0f172a;
}

@media (max-width:720px){
  .bankitos-panel,
  .bankitos-login-wrap,
  .bankitos-register-wrap,
  .bankitos-credit-request,
  .bankitos-credit-summary,
  .bankitos-invite-portal {
    padding: 1rem;
  }

  .bankitos-members__header{
    flex-direction:column;
    align-items:flex-start;
  }

  .bankitos-credit-request__group,
  .bankitos-credit-card__details,
  .bankitos-credit-card__committee-list,
  .bankitos-credit-summary__details,
  .bankitos-invite-portal__details {
    grid-template-columns:1fr;
  }

  .bankitos-credit-card__status {
    align-items:flex-start;
  }

  .bankitos-credit-card__actions,
  .bankitos-credit-summary__actions,
  .bankitos-invite-portal__cta {
    flex-direction:column;
    align-items:stretch;
  }

  .bankitos-credit-card__actions .bankitos-btn,
  .bankitos-credit-summary__actions .bankitos-btn,
  .bankitos-invite-portal__cta .bankitos-btn,
  .bankitos-panel .button {
    width:100%;
  }

  .bankitos-accordion__meta {
    display: grid;
  }

  .bankitos-mobile-menu{display:flex;}
}

@media (min-width:720px){
  .bankitos-panel-info{padding:2rem;gap:1.5rem;}
  .bankitos-panel-info__icon{width:56px;height:56px;font-size:1.8rem;}
  .bankitos-panel-info__grid{gap:1.2rem 2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
  .bankitos-members__invite-buttons{flex-direction:row;}
  .bankitos-members__invite-buttons .bankitos-btn{width:auto;min-width:180px;}
  .bankitos-table th,.bankitos-table td{padding:1rem 1.25rem;}
}

@media (max-width:639px){
  .bankitos-table thead{display:none;}
  .bankitos-table tr{display:block;border-bottom:1px solid rgba(0,115,179,.12);}
  .bankitos-table td{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;}
  .bankitos-table td::before{content:attr(data-title);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;color:rgba(15,23,42,.55);margin-right:1rem;}
  .bankitos-table td:last-child{border-bottom:none;}
}

.bankitos-error{background:#FEE2E2;border:1px solid #FCA5A5;color:var(--bco-rojo);padding:.8rem 1rem;border-radius:12px;margin-bottom:1rem;font-weight:700;}
.bankitos-success{background:#DCFCE7;border:1px solid #86EFAC;color:#166534;padding:.8rem 1rem;border-radius:12px;margin-bottom:1rem;font-weight:700;}

.bankitos-field{position:relative;}
.bankitos-field-error{display:none;margin-top:.35rem;font-size:.92rem;color:#b91c1c;font-weight:700;}
.bankitos-field.has-error .bankitos-field-error{display:block;}
.bankitos-field.has-error input,.bankitos-field.has-error select,.bankitos-field.has-error textarea{
  border-color:#ef4444 !important;background:#fff !important;box-shadow:0 0 0 4px rgba(239,68,68,.14) !important;
}

/* === Corrección de Layout de Acciones (Paso 7) === */
.bankitos-invite-actions {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  align-items: flex-start;
}
.bankitos-invite-actions__group {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.bankitos-invite-actions__group .bankitos-invite-actions__form {
  margin: 0;
  padding: 0;
  gap: 0;
}
.bankitos-invite-actions__form--edit {
  width: 100%;
  max-width: 280px; /* Evita que el formulario sea demasiado ancho */
}
.bankitos-link--button[hidden] {
  display: none;
}

/* === Estilos para Gestor de Roles (Paso 7) === */
.bankitos-role-manager__form {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}
.bankitos-role-manager__form select {
  width: auto;
  min-width: 150px;
  margin: 0;
  padding: .5rem .9rem;
  font-size: .9rem;
  line-height: 1.2;
  background-position: right .75rem center; /* Ajustar flecha de select */
}
.bankitos-role-manager__form .bankitos-btn {
  margin: 0;
}

/* === Modal de soporte === */
.bankitos-modal[hidden] {
  display: none;
}

.bankitos-modal {
  position: fixed;
  inset: 0;
  z-index: 99999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.bankitos-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.5);
  backdrop-filter: blur(2px);
}

.bankitos-modal__body {
  position: relative;
  z-index: 1;
  background: #fff;
  padding: 1rem;
  border-radius: 16px;
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.18);
  max-width: min(880px, 100%);
  width: 100%;
  max-height: calc(100vh - 2rem);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
}

.bankitos-modal__body img {
  max-width: 100%;
  max-height: 82vh;
  height: auto;
  border-radius: 12px;
  display: block;
}

.bankitos-modal__body img[decoding="async"]:not([src]),
.bankitos-modal__body img[decoding="async"][src=""] {
  display: none !important;
}

.bankitos-modal__body iframe {
  width: min(880px, 100%);
  height: 82vh;
  border: none;
  border-radius: 12px;
  background: #f8fafc;
}

.bankitos-modal__close {
  position: absolute;
  top: 0.35rem;
  right: 0.35rem;
  background: #111827;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

/* === Solicitudes de crédito === */
.bankitos-credit-request {
  background: var(--bco-blanco);
  border-radius: 20px;
  padding: 1.5rem;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 760px;
}
.bankitos-credit-request__header {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.bankitos-credit-request__badge {
  margin: 0;
  font-weight: 800;
  color: var(--bco-azul);
  text-transform: uppercase;
  letter-spacing: .08em;
}
.bankitos-credit-request__intro {
  margin: 0;
  color: rgba(15,23,42,.7);
}
.bankitos-credit-request__form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.bankitos-credit-request__group {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
}
.bankitos-credit-request__signature {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  font-weight: 600;
  color: rgba(15,23,42,.85);
}
.bankitos-credit-request__signature input {
  margin-top: .2rem;
}
.bankitos-credit-request__signature input[type="checkbox"] {
    /* 1. Reseteamos el ancho para que no sea 100% */
    width: auto; 
    
    /* 2. Evitamos que el checkbox se aplaste si falta espacio */
    flex-shrink: 0; 
    
    /* 3. Ajustamos márgenes (quitamos el margen grande del input general) */
    margin: 0; 
    margin-top: 0.2rem; /* Mantenemos tu ajuste de alineación vertical */
    
    /* Opcional: Tamaño fijo para que sea fácil de tocar con el dedo */
    height: 20px;
    width: 20px;
}
.bankitos-credit-request__signature span {
    /* 4. Permitimos que el texto ocupe el espacio restante y baje de línea */
    flex: 1;
    
    /* 5. Asegura que el texto no desborde y haga salto de línea */
    white-space: normal;
    word-break: break-word; 
    
    /* Ajuste visual opcional */
    font-size: 0.9rem;
    line-height: 1.4;
}
.bankitos-credit-request__actions {
  margin-top: .5rem;
}

.bankitos-credit-review__header {
  margin-bottom: 1.25rem;
}
.bankitos-credit-review__header h3 {
  margin: 0;
  font-size: 1.4rem;
  color: var(--bco-azul);
}
.bankitos-credit-review__header p {
  margin: .25rem 0 0;
  color: rgba(15,23,42,.7);
}
.bankitos-credit-review__accordion {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.bankitos-credit-accordion {
  border-radius: 18px;
  border: 1px solid rgba(0,115,179,.15);
  background: var(--bco-blanco);
  overflow: hidden;
  box-shadow: var(--shadow);
  }
.bankitos-credit-accordion summary {
  list-style: none;
}
.bankitos-credit-accordion[open] .bankitos-credit-accordion__summary {
  border-bottom: 1px solid rgba(0,115,179,.15);
}
.bankitos-credit-accordion__summary {
  display: grid;
  grid-template-columns: 1fr;
  gap: .75rem;
  align-items: center;
  padding: 1rem 2.25rem 1rem 1.25rem;
  background: linear-gradient(90deg, rgba(0,115,179,.08), rgba(0,115,179,.02));
  cursor: pointer;
  position: relative;
}
.bankitos-credit-accordion__summary::-webkit-details-marker {
  display: none;
}
.bankitos-credit-accordion__summary:after {
  content: '';
  position: absolute;
  right: 1.1rem;
  top: 50%;
  width: .65rem;
  height: .65rem;
  border-right: 2px solid var(--bco-azul);
  border-bottom: 2px solid var(--bco-azul);
  transform: translateY(-50%) rotate(45deg);
  transition: transform .2s ease;
}
.bankitos-credit-accordion[open] .bankitos-credit-accordion__summary:after {
  transform: translateY(-50%) rotate(-135deg);
}
.bankitos-credit-accordion__title h4 {
  margin: .15rem 0 0;
  font-size: 1.15rem;
}
.bankitos-credit-accordion__title {
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.bankitos-credit-accordion__type {
  margin: 0;
  font-weight: 600;
  color: rgba(15,23,42,.7);
}
.bankitos-credit-accordion__meta {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(140px,1fr));
  gap: .5rem .75rem;
  align-items: center;
}
.bankitos-credit-accordion__meta .bankitos-pill {
  justify-self: flex-start;
}
.bankitos-credit-accordion__meta-item {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  font-size: .9rem;
  color: rgba(15,23,42,.7);
}
.bankitos-credit-accordion__meta-item strong {
  color: var(--bco-texto);
}
.bankitos-credit-accordion--approved .bankitos-credit-accordion__summary {
  background: rgba(220,252,231,.55);
}
.bankitos-credit-accordion--rejected .bankitos-credit-accordion__summary {
  background: rgba(254,226,226,.6);
}
.bankitos-credit-accordion__content {
  padding: 1.25rem;
}

.bankitos-credit-card {
  background: var(--bco-blanco);
  border-radius: 12px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.bankitos-credit-card__header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}
.bankitos-credit-card__badge {
  margin: 0 0 .25rem;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(15,23,42,.6);
}
.bankitos-credit-card__status {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  align-items: flex-end;
}
.bankitos-credit-card__date {
  font-size: .9rem;
  color: rgba(15,23,42,.65);
}
.bankitos-credit-card__details {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
  gap: 1rem;
  margin: 0;
}
.bankitos-credit-card__details dt {
  font-size: .75rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(15,23,42,.55);
}
.bankitos-credit-card__details dd {
  margin: .15rem 0 0;
  font-weight: 700;
  color: var(--bco-texto);
}
.bankitos-credit-card__signature-value {
  display: flex;
  align-items: center;
  gap: .35rem;
}
.bankitos-credit-card__description {
  padding: 1rem;
  border-radius: 16px;
  background: var(--bco-gris);
}
.bankitos-credit-card__description-header {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  align-items: center;
  flex-wrap: wrap;
}
.bankitos-credit-card__description h5 {
  margin: 0 0 .35rem;
  font-size: 1rem;
  color: var(--bco-azul);
}
.bankitos-credit-card__signature {
  display: flex;
  gap: .5rem;
  font-weight: 700;
}
.bankitos-credit-card__committee {
  border: 1px solid rgba(0,115,179,.15);
  border-radius: 18px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.bankitos-credit-card__committee-header h5 {
  margin: 0;
  color: var(--bco-azul);
}
.bankitos-credit-card__committee-header p {
  margin: .15rem 0 0;
  color: rgba(15,23,42,.6);
  font-size: .9rem;
}
.bankitos-credit-card__committee-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
  gap: .75rem;
}
.bankitos-credit-card__committee-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  font-weight: 600;
}
.bankitos-credit-card__observaciones {
  padding: .85rem 1rem;
  border-radius: 12px;
  background: var(--bco-gris);
}
.bankitos-credit-card__status-label {
  margin-left: auto;
}

/* === Resumen de créditos del socio === */
.bankitos-credit-summary {
  background: var(--bco-blanco);
  border-radius: 20px;
  padding: 1.5rem;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.bankitos-credit-summary__badge {
  margin: 0;
  font-weight: 800;
  color: var(--bco-azul);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.bankitos-credit-summary__header h3 {
  margin: .15rem 0;
  font-size: 1.4rem;
  color: var(--bco-texto);
}

.bankitos-credit-summary__intro {
  margin: 0;
  color: rgba(15,23,42,.72);
}

.bankitos-credit-summary__summary {
  background: var(--bco-gris);
  padding: 1rem 1.2rem;
}

.bankitos-credit-summary__summary-main {
  display: flex;
  gap: .65rem;
  flex-wrap: wrap;
  align-items: center;
}

.bankitos-credit-summary__amount {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--bco-texto);
}

.bankitos-credit-summary__type {
  font-size: .9rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: rgba(15,23,42,.65);
}

.bankitos-credit-summary__summary-meta {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.bankitos-credit-summary__date {
  font-size: .9rem;
  color: rgba(15,23,42,.6);
}

.bankitos-credit-summary__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.bankitos-credit-summary__details {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
  gap: .85rem;
}

.bankitos-credit-summary__details dt {
  font-size: .78rem;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: rgba(15,23,42,.6);
}

.bankitos-credit-summary__details dd {
  margin: .1rem 0 0;
  font-weight: 700;
  color: var(--bco-texto);
}

.bankitos-credit-summary__actions {
  margin-top: .5rem;
  display: flex;
  justify-content: flex-end;
}

@media (min-width: 768px) {
  .bankitos-credit-summary__summary {
    padding: 1.25rem 1.5rem;
  }

  .bankitos-credit-summary__content {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }

  .bankitos-credit-summary__details {
    flex: 1 1 auto;
    grid-template-columns: repeat(2,minmax(180px,1fr));
  }

  .bankitos-credit-summary__actions {
    margin-top: 0;
    justify-content: flex-start;
    min-width: 150px;
  }
}

.bankitos-credit-summary__modal {
  max-width: min(960px, 100%);
  width: 100%;
  align-items: stretch;
  justify-content: flex-start;
}

.bankitos-credit-summary__modal-content {
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
  padding: .5rem 0;
}

.bankitos-credit-summary__modal-tag {
  font-size: .85rem;
  color: var(--bco-primary);
  font-weight: 600;
  margin: 0 0 .35rem;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.bankitos-credit-summary__modal-title {
  margin: 0 0 .25rem;
}

.bankitos-credit-summary__modal-subtitle {
  margin: 0 0 1rem;
  color: var(--bco-text-light);
}

.bankitos-credit-summary__modal-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
  padding: 0 1rem;
}

.bankitos-credit-summary__modal-badges {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  align-items: center;
}

.bankitos-credit-summary__modal-notes {
  background: #f8fafc;
  border-radius: 12px;
  padding: 1rem;
  color: var(--bco-text);
  white-space: pre-wrap;
}

.bankitos-credit-summary__payments-accordion {
  padding: 0 1rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.bankitos-credit-summary__payment-summary {
  background: var(--bco-gris);
}

.bankitos-credit-summary__payment-number {
  font-weight: 700;
  color: var(--bco-text-light);
  text-transform: uppercase;
  letter-spacing: .04em;
}

.bankitos-credit-summary__payment-content {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.bankitos-credit-summary__payment-grid dd {
  display: flex;
  flex-direction: column;
  gap: .2rem;
}

.bankitos-credit-summary__payment-actions {
  display: flex;
  justify-content: flex-end;
}

.bankitos-credit-summary__payment-item--pending .bankitos-credit-summary__payment-summary {
  border-left: 4px solid rgba(245, 158, 11, .35);
}

.bankitos-credit-summary__payment-item--rejected .bankitos-credit-summary__payment-summary {
  border-left: 4px solid rgba(239, 68, 68, .35);
}

.bankitos-credit-summary__payment-item--approved .bankitos-credit-summary__payment-summary {
  border-left: 4px solid rgba(34, 197, 94, .35);
}

.bankitos-credit-summary__overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: .75rem;
  padding: 0 1rem 1rem;
}

.bankitos-credit-summary__overview-card {
  background: #f8fafc;
  border-radius: 12px;
  padding: .85rem 1rem;
  box-shadow: 0 4px 14px rgba(15,23,42,.06);
}

.bankitos-credit-summary__alert {
  margin: 0 1rem 1rem;
  padding: .85rem 1rem;
  border-radius: 12px;
  background: #fff8e6;
  border: 1px solid rgba(245, 158, 11, .25);
  color: var(--bco-text);
}

.bankitos-credit-summary__help {
  margin: .25rem 0 0;
  color: var(--bco-text-light);
  font-size: .85rem;
}

.bankitos-credit-summary__upload {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}

.bankitos-credit-summary__form {
  display: inline-flex;
  flex-direction: column;
  align-items: stretch;
  gap: .35rem;
}

.bankitos-credit-summary__foot-label {
  margin: 0;
  color: var(--bco-text-light);
  font-size: .9rem;
}

.bankitos-credit-summary__foot-value {
  margin: .1rem 0 0;
  font-weight: 700;
}

@media (max-width: 767px) {
  .bankitos-modal {
    padding: 0;
    align-items: stretch;
  }
  .bankitos-modal__body {
    border-radius: 0;
    max-width: 100%;
    width: 100%;
    height: 100vh;
    max-height: none;
    box-shadow: none;
    padding: 1rem 0;
  }
  .bankitos-credit-summary__modal {
    height: 100vh;
  }
  .bankitos-credit-summary__modal-content {
    max-height: none;
    height: 100%;
    padding: .5rem 1rem 1.25rem;
  }
  .bankitos-credit-summary__payment-summary {
    align-items: flex-start;
    flex-direction: column;
  }
  .bankitos-credit-summary__payment-actions {
    justify-content: flex-start;
  }
  .bankitos-credit-summary__payments-accordion,
  .bankitos-credit-summary__overview {
    padding: 0;
  }
}

.bankitos-file {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem .75rem;
  border: 1px dashed rgba(0, 115, 179, .4);
  border-radius: 12px;
  cursor: pointer;
  color: var(--bco-primary);
  font-weight: 600;
}

.bankitos-file input[type="file"] {
  display: none;
}

.bankitos-file__label {
  white-space: nowrap;
}
.bankitos-file__label--selected {
  color: var(--bco-text);
  max-width: 240px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bankitos-credit-card__observaciones strong {
  display: block;
  margin-bottom: .3rem;
}
.bankitos-credit-card__form {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.bankitos-credit-card__form textarea {
  width: 100%;
  padding: .75rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(0,115,179,.2);
}
.bankitos-credit-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.bankitos-credit-card__footnote {
  margin: 0;
  font-size: .85rem;
  color: rgba(15,23,42,.6);
}

@media (max-width: 599px) {
  .bankitos-credit-card__actions {
    flex-direction: column;
  }
}

/* === MENÚ MÓVIL VERTICAL === */

/* Oculto en escritorio */
.bankitos-mobile-menu {
  display: none;
}

/* Visible solo en móviles/tablets (ajusta 980px según tu tema) */
@media (max-width: 980px) {
  .bankitos-mobile-menu {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999999; /* Z-index muy alto para estar sobre todo */
    padding-right: 0; 
    align-items: flex-end;
    pointer-events: none; /* Permite clicks debajo del área vacía */
  }

  .bankitos-mobile-menu__item {
    pointer-events: auto; /* Reactivar clicks en los botones */
    display: inline-flex;
    align-items: center;
    justify-content: flex-end; /* Alinea contenido a la derecha */
    background-color: #1e3a58; /* Color INACTIVO (Azul Oscuro) */
    color: #fff !important;
    text-decoration: none;
    border-radius: 8px 0 0 8px;
    padding: 0;
    height: 48px;
    width: auto;
    box-shadow: -2px 2px 8px rgba(0,0,0,0.3);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    border: 1px solid rgba(255,255,255,0.15);
    border-right: none;
    overflow: hidden;
    position: relative;
    cursor: pointer;
  }

  /* ESTADO ACTIVO (Página actual): */
  /* Inicia COLAPSADO, fondo Azul Corporativo, Icono Blanco */
  .bankitos-mobile-menu__item--active {
    background-color:var(--bankitos-primary)!important; /* Azul Bancola */
    border-color: rgba(255,255,255,0.4);
  }

  /* ESTADO EXPANDIDO (Al hacer Tap): */
  /* Fondo oscuro para contraste al leer */
  .bankitos-mobile-menu__item.is-expanded {
    background-color:var(--bankitos-primary) !important; 
    padding-left: 15px; /* Espacio para el texto */
  }

  /* EL ICONO: Configuración crítica */
  .bankitos-mobile-menu__icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    line-height: 1;
    color: #ffffff !important; /* Forzar blanco siempre */
    flex-shrink: 0;
    text-decoration: none;
    font-family: "dashicons", sans-serif !important; /* FORZAR FUENTE DASHICONS */
  }
  
  /* Asegurar que el icono dentro (before) tenga las propiedades correctas */
  .bankitos-mobile-menu__icon:before {
    font-family: "dashicons" !important;
    color: #ffffff !important;
  }

  /* EL TEXTO: Oculto por defecto (width 0) */
  .bankitos-mobile-menu__label {
    max-width: 0;
    opacity: 0;
    white-space: nowrap;
    overflow: hidden;
    font-size: 14px;
    font-weight: 600;
    color: #ffffff !important; /* Texto blanco */
    transition: all 0.35s ease;
    padding: 0;
    margin-right: 0;
  }

  /* LÓGICA DE EXPANSIÓN: */
  /* El texto SOLO se muestra si tiene la clase .is-expanded añadida por JS. */
  /* Incluso si es active, no se muestra a menos que se toque. */
  .bankitos-mobile-menu__item.is-expanded .bankitos-mobile-menu__label {
    max-width: 200px;
    opacity: 1;
    margin-right: 4px;
  }
  
  /* Eliminar efectos hover/focus nativos del tema que puedan cambiar colores */
  .bankitos-mobile-menu__item:hover, 
  .bankitos-mobile-menu__item:focus,
  .bankitos-mobile-menu__item:visited {
    color: #fff !important;
    outline: none;
  }
}