/* SOCIOS PRO 1.9.13 — Correcciones específicas basadas en el HTML React.
   No toca base de datos, servicios, reservas ni vistas públicas. */

/* 1. RESERVAS — inputs y iconos alineados sin solapamientos. */
html[data-ec-admin-module="reservas"] body .containerReservas .filtrosReservas{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr))!important;
  align-items:stretch!important;gap:13px!important;
  padding:16px!important;min-width:0!important;max-width:100%!important;
  overflow:visible!important;
}
html[data-ec-admin-module="reservas"] body .containerReservas .filtrosReservas > .filtroItem{
  position:relative!important;display:flex!important;align-items:center!important;
  gap:0!important;width:100%!important;max-width:100%!important;
  min-width:0!important;height:56px!important;min-height:56px!important;
  margin:0!important;padding:0!important;isolation:isolate!important;
}
html[data-ec-admin-module="reservas"] body .containerReservas .filtrosReservas > .filtroItem > svg.iconoFiltro{
  position:absolute!important;left:17px!important;right:auto!important;top:50%!important;
  width:20px!important;height:20px!important;min-width:20px!important;
  max-width:20px!important;max-height:20px!important;
  display:block!important;margin:0!important;padding:0!important;
  transform:translateY(-50%)!important;
  color:var(--sp-muted,#516775)!important;opacity:1!important;
  pointer-events:none!important;z-index:3!important;
}
html[data-ec-admin-module="reservas"] body .containerReservas .filtrosReservas > .filtroItem > :is(input.inputFiltro,input.inputFiltroFecha){
  box-sizing:border-box!important;display:block!important;position:relative!important;
  flex:1 1 auto!important;min-width:0!important;max-width:100%!important;
  width:100%!important;height:56px!important;min-height:56px!important;
  padding:12px 14px 12px 58px!important;
  text-indent:0!important;line-height:1.45!important;font-size:16px!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
  border-radius:12px!important;z-index:1!important;
}
html[data-ec-admin-module="reservas"] body .containerReservas .filtrosReservas > .filtroItem > input::placeholder{
  color:var(--sp-muted,#516775)!important;opacity:1!important;
}
html[data-ec-admin-module="reservas"] body .containerReservas .filtrosReservas > :is(button.btnLimpiarFiltros){
  box-sizing:border-box!important;min-height:52px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:10px!important;white-space:normal!important;line-height:1.3!important;
}
html[data-ec-admin-module="reservas"] body .containerReservas .filtrosReservas > button svg{
  position:static!important;width:19px!important;height:19px!important;
  flex:0 0 19px!important;transform:none!important;
}
@media(max-width:699px){
  html[data-ec-admin-module="reservas"] body .containerReservas .filtrosReservas{
    grid-template-columns:minmax(0,1fr)!important;gap:12px!important;
    padding:14px!important;
  }
}

/* 2. PROFESIONALES — el icono del título debe ser pequeño, no una imagen de fondo. */
html[data-ec-admin-module="profesionales"] body .profesionales-container{
  overflow:hidden!important;isolation:isolate!important;
}
html[data-ec-admin-module="profesionales"] body .profesionales-header,
html[data-ec-admin-module="profesionales"] body .profesionales-header h2{
  position:relative!important;max-width:100%!important;min-width:0!important;
}
html[data-ec-admin-module="profesionales"] body .profesionales-header h2{
  display:flex!important;align-items:center!important;flex-wrap:wrap!important;
  justify-content:flex-start!important;gap:10px!important;
  line-height:1.35!important;
}
html[data-ec-admin-module="profesionales"] body .profesionales-header h2 > svg{
  box-sizing:border-box!important;position:static!important;
  width:26px!important;height:26px!important;min-width:26px!important;
  min-height:26px!important;max-width:26px!important;max-height:26px!important;
  flex:0 0 26px!important;display:inline-block!important;
  margin:0!important;padding:0!important;transform:none!important;
  opacity:1!important;z-index:auto!important;
  color:var(--sp-action,#00a99e)!important;
}
html[data-ec-admin-module="profesionales"] body .profesionales-header h2 > svg :is(path,g){
  transform:none!important;
}
html[data-ec-admin-module="profesionales"] body .profesionales-container > svg,
html[data-ec-admin-module="profesionales"] body .profesionales-container > i{
  display:none!important;
}
@media(max-width:699px){
  html[data-ec-admin-module="profesionales"] body .profesionales-header{
    display:flex!important;flex-direction:column!important;gap:14px!important;
  }
  html[data-ec-admin-module="profesionales"] body .profesionales-search{
    display:flex!important;flex-direction:column!important;gap:12px!important;
    width:100%!important;min-width:0!important;
  }
  html[data-ec-admin-module="profesionales"] body .profesionales-search :is(input,button){
    min-width:0!important;max-width:100%!important;width:100%!important;
    min-height:49px!important;
  }
}

/* 3. PRODUCTOS — los tres filtros siempre accesibles y visibles. */
html[data-ec-admin-module="productos"] body .filtrosContain{
  box-sizing:border-box!important;display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;gap:12px!important;
  max-width:100%!important;width:100%!important;min-width:0!important;
  margin:14px 0!important;padding:0!important;overflow:visible!important;
}
html[data-ec-admin-module="productos"] body .filtrosContain > .inputsColumn{
  display:flex!important;flex:1 1 auto!important;width:100%!important;min-width:0!important;
  max-width:100%!important;margin:0!important;padding:0!important;
}
html[data-ec-admin-module="productos"] body .filtrosContain > .inputsColumn > :is(input,select){
  box-sizing:border-box!important;display:block!important;width:100%!important;
  max-width:100%!important;min-width:0!important;min-height:52px!important;
  height:auto!important;padding:12px 15px!important;
  margin:0!important;border-radius:12px!important;line-height:1.4!important;
  overflow:hidden!important;text-overflow:clip!important;
}
@media (max-width:1024px){
  html[data-ec-admin-module="productos"] body .filtrosContain{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  html[data-ec-admin-module="productos"] body .filtrosContain > .inputsColumn:last-child{
    grid-column:1/-1!important;
  }
}
@media (max-width:620px){
  html[data-ec-admin-module="productos"] body .filtrosContain{
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }
  html[data-ec-admin-module="productos"] body .filtrosContain > .inputsColumn:last-child{
    grid-column:auto!important;
  }
}

/* 4. BUSCADOR DEL ADMIN — icono táctil legible y centrado. */
html.ec-admin-active body .HeaderDashContain .inputSearchDashboard .search{
  box-sizing:border-box!important;display:flex!important;align-items:center!important;
  gap:12px!important;min-width:0!important;max-width:100%!important;
}
html.ec-admin-active body .HeaderDashContain .inputSearchDashboard .search > svg.search-icon{
  box-sizing:border-box!important;display:block!important;position:static!important;
  width:24px!important;height:24px!important;min-width:24px!important;
  min-height:24px!important;max-width:24px!important;max-height:24px!important;
  flex:0 0 24px!important;padding:0!important;margin:0!important;
  transform:none!important;opacity:1!important;
  color:var(--sp-action,#007970)!important;
}
html.ec-admin-active body .HeaderDashContain .inputSearchDashboard .search > input.input{
  flex:1 1 auto!important;width:auto!important;min-width:0!important;
  max-width:100%!important;padding-inline:16px!important;
}

/* 5. Quitar acceso visual a USUARIOS, sin borrar cuentas ni permisos existentes. */
html.ec-admin-active body .navbarDashboard a[href="/dashboard/usuarios"],
html.ec-admin-active body .CardsCantidad a[href="/dashboard/usuarios"],
html.ec-admin-active body .inputSearchDashboard a[href="/dashboard/usuarios"]{
  display:none!important;
}
/* Además, no ofrecer el rol Usuario en formularios administrativos. */
html.ec-admin-active body select[name="rol"] option[value="usuario"],
html.ec-admin-active body select#rol option[value="usuario"]{
  display:none!important;
}
