/* Salvaguardas de presentación: evitan que controles agregados por scripts
   hereden columnas o alturas de sus contenedores de informes. */
.cbk-export-pdf-btn,
button[data-cbk-export-button],
button[data-cbk-excel-for-button] {
  align-self: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: max-content !important;
  min-height: 0 !important;
  max-height: 44px !important;
  white-space: nowrap !important;
}

/* Aísla tarjetas y tablas para que estilos de una sección no cambien la
   geometría de otra en pantallas anchas. */
main article,
main section { min-width: 0; }
main table { max-width: 100%; }

/* Panel de recuperación: comparte el lenguaje visual del acceso y evita que
   los estilos globales de la aplicación desarmen los controles. */
#cbk-forgot-password-overlay.cbk-login-recovery-panel {
  display: grid !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 390px !important;
  margin: 0 auto !important;
  padding: 4px 0 0 !important;
  color: #0f2742 !important;
  font: 14px/1.5 Inter, ui-sans-serif, system-ui, sans-serif !important;
}
#cbk-forgot-password-overlay h2 { margin: 0 !important; color: #062452 !important; font-size: 25px !important; font-weight: 800 !important; letter-spacing: -.02em !important; }
#cbk-forgot-password-overlay > p { margin: -5px 0 4px !important; color: #557092 !important; font-size: 13px !important; }
#cbk-forgot-password-overlay form { display: grid !important; gap: 8px !important; margin: 0 !important; }
#cbk-forgot-password-overlay label { display: block !important; margin: 0 !important; color: #27496b !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .06em !important; text-transform: uppercase !important; }
#cbk-forgot-password-overlay input[type="email"] { display: block !important; width: 100% !important; min-height: 46px !important; box-sizing: border-box !important; padding: 11px 13px !important; color: #172033 !important; background: #fff !important; border: 1px solid #b9cbe0 !important; border-radius: 8px !important; box-shadow: inset 0 1px 2px #0f172a0a !important; font: 15px/1.25 Inter, ui-sans-serif, system-ui, sans-serif !important; }
#cbk-forgot-password-overlay input[type="email"]:focus { outline: 0 !important; border-color: #0678ad !important; box-shadow: 0 0 0 3px #149fd125 !important; }
#cbk-forgot-password-overlay .cbk-email-actions { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; margin-top: 10px !important; }
#cbk-forgot-password-overlay .cbk-email-primary { display: block !important; width: 100% !important; min-height: 45px !important; padding: 11px 16px !important; color: #fff !important; background: linear-gradient(135deg, #007cb3, #005f91) !important; border: 0 !important; border-radius: 8px !important; box-shadow: 0 8px 16px #006a9c33 !important; font: 800 14px/1 Inter, ui-sans-serif, system-ui, sans-serif !important; cursor: pointer !important; }
#cbk-forgot-password-overlay .cbk-email-primary:hover { filter: brightness(1.06); }
#cbk-forgot-password-overlay .cbk-login-recovery-back { justify-self: center !important; margin: 2px 0 0 !important; padding: 5px 8px !important; color: #476987 !important; background: transparent !important; border: 0 !important; font: 700 12px/1.3 Inter, ui-sans-serif, system-ui, sans-serif !important; cursor: pointer !important; }
#cbk-forgot-password-overlay .cbk-email-admin-status { min-height: 20px !important; margin: 0 !important; color: #58708a !important; font-size: 12px !important; text-align: center !important; }

@media (max-width: 680px) {
  .cbk-login-recovery-panel .cbk-email-actions { align-items: flex-start; }
}
