/* ===== Floating Scrollbar (Minimal AdminLTE-friendly) ===== */
:root{
  --fsb-h: 12px;
  --fsb-pad: 12px;
  --fsb-track: rgba(17,24,39,.06); /* gris suave */
  --fsb-border: rgba(17,24,39,.1);
  --fsb-shadow: 0 8px 18px rgba(0,0,0,.12);
  --fsb-thumb: rgba(37,99,235,.55); /* azul primary */
  --fsb-thumb-hover: rgba(37,99,235,.75);
}

.fsb {
  position: fixed;
  left: var(--fsb-pad);
  right: var(--fsb-pad);
  bottom: var(--fsb-pad);
  height: var(--fsb-h);
  z-index: 1035; /* encima de cards/modales ligeros */
  background: var(--fsb-track);
  border: 1px solid var(--fsb-border);
  border-radius: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  box-shadow: var(--fsb-shadow);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
  opacity: 0; visibility: hidden; transform: translateY(6px);
}
.fsb.show { opacity: 1; visibility: visible; transform: translateY(0); }
.fsb-inner { height: 1px; } /* genera el ancho del scroll */

.fsb:hover { background: rgba(17,24,39,.09); }

/* Minimal scrollbars (WebKit) */
.fsb::-webkit-scrollbar { height: var(--fsb-h); }
.fsb::-webkit-scrollbar-track { background: transparent; }
.fsb::-webkit-scrollbar-thumb {
  background: var(--fsb-thumb);
  border-radius: 10px;
  border: 3px solid transparent;
  background-clip: content-box;
}
.fsb::-webkit-scrollbar-thumb:hover { background: var(--fsb-thumb-hover); }

/* Minimal scrollbars (Firefox) */
.fsb { scrollbar-width: thin; scrollbar-color: var(--fsb-thumb) transparent; }

/* Opcional: estilo de tablas para indicar overflow */
.table-responsive.fsb-active {
  outline: 1px dashed rgba(37,99,235,.25);
  outline-offset: 2px;
}

/* Si quieres excluir algún contenedor del comportamiento, añade .fsb-skip */
.fsb-skip { /* marcador vacío */ }

