/* DEEC Studio · panel administrativo: reglas exclusivas de escritorio (se carga solo con (min-width:901px)).
   REGLA DE AISLAMIENTO: móvil y escritorio no comparten cambios. Lo exclusivo de móvil vive en admin-mobile.css y admin-filters.css (solo (max-width:900px));
   lo exclusivo de escritorio, aquí. Ningún archivo de móvil puede alterar el escritorio ni este archivo la versión móvil (tests/admin-mobile.test.js y backend/scripts/ui-panel-aislamiento.mjs). */
@media (min-width:901px){
  /* Elementos que solo existen en móvil: la lupa, el logotipo de la barra, el cierre del buscador, el botón de filtros y su modal */
  .gsbar__btn,.gsbar__logo,.gs__x,.fbar,.fbm{display:none}
  /* Acciones como enlace (admin-links.css): varios enlaces seguidos (celdas de tabla y catálogo) con aire entre ellos */
  .tw td .btn + .btn{margin-left:18px}
  .pc2 .row-act,.row-act,.top__act,.mdl__f{gap:6px 20px}

  /* Búsqueda y filtros en una sola barra (admin-filters-desktop.js): campo a la izquierda y, a la derecha tras un divisor, el icono de filtros con el contador.
     Los controles de filtro y los chips de categoría viven en un panel desplegable bajo la barra; el cambio de vista (.seg) queda debajo. */
  [data-fd] .fd-item,[data-fd] .xf__grid,[data-fd] .cf__grid,.chips[data-fgd]{display:none}
  .card.xf[data-fd],.card.cf[data-fd]{padding:0;border:0;background:none;box-shadow:none}
  [data-fd] .xf__top,[data-fd] .cf__top,.filters[data-fd]{display:flex;flex-wrap:nowrap;align-items:stretch;gap:0;padding:0;border:1px solid var(--line-strong);border-radius:14px;background:var(--card)}
  [data-fd] .xf__top:focus-within,[data-fd] .cf__top:focus-within,.filters[data-fd]:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 14%,transparent)}
  [data-fd] .xf__top .fld--grow,[data-fd] .cf__top .fld--grow,.filters[data-fd] .fld--grow{position:relative;display:block;flex:1 1 auto;min-width:0}
  [data-fd] .fld--grow>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  [data-fd] .fld--grow input[type=search],[data-fd] .fld--grow input[type=search]:focus{width:100%;height:100%;min-height:46px;padding:0 8px 0 46px;border:0;border-radius:14px 0 0 14px;box-shadow:none;-webkit-appearance:none;appearance:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 15px center/20px;text-overflow:ellipsis}
  .fdbar{position:relative;display:flex;flex:none;align-items:center;margin:0}
  .fdbar::before{content:"";width:1px;height:26px;background:var(--line-strong)}
  .fdbar__b{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:64px;min-height:46px;padding:0 16px;border:0;border-radius:0 14px 14px 0;background:none;color:var(--fg);font:inherit;cursor:pointer}
  .fdbar__b:hover{color:var(--acc)}
  .fdbar__b svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
  .fdbar__b.on{color:var(--acc)}
  .fdbar__n{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--acc);color:var(--accfg);font-size:12.5px;font-style:normal;font-weight:600}
  .fdbar__n[hidden]{display:none}
  /* Cabeceras con un solo filtro (p. ej. Tickets) o bloques sin campo de búsqueda: solo el icono, a la derecha */
  .filters[data-fd]:not(:has(input[type=search])){justify-content:flex-end;border:0;background:none;box-shadow:none}
  .fbx .fdbar,.filters[data-fd]:not(:has(input[type=search])) .fdbar{margin-left:auto}
  .fbx .fdbar::before,.filters[data-fd]:not(:has(input[type=search])) .fdbar::before{display:none}
  .fbx .fdbar__b,.filters[data-fd]:not(:has(input[type=search])) .fdbar__b{border:1px solid var(--line-strong);border-radius:12px;background:var(--card)}
  [data-fd]>.seg{margin-top:12px}
  [data-fd] .xf__foot,[data-fd] .cf__foot{margin-top:10px;padding:0 4px;border-top:0}
  [data-fd] .xf__foot .btn,[data-fd] .cf__foot .btn{display:none}
  /* Panel desplegable de filtros */
  .fdp{position:absolute;z-index:40;top:calc(100% + 8px);right:0;width:min(620px,92vw);padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 18px 40px -16px color-mix(in srgb,var(--shadow) 30%,transparent)}
  .fdp--up{top:auto;bottom:calc(100% + 8px)}
  .fdp__b{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;max-height:min(60vh,420px);overflow-y:auto}
  [data-fd] .fdp .fd-item{display:grid}
  [data-fd] .fdp .chk,[data-fd] .fdp .crm__sw,[data-fd] .fdp .xf__chk{display:flex;align-items:center;gap:10px;align-self:center;margin:0}
  .fdp__f{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:14px}
  /* Indicadores compactos: icono · título (una línea) · cifra con su variación · descripción breve; misma estructura en todas las tarjetas, así títulos y cifras quedan alineados */
  .kpis .kpi{display:flex;flex-direction:column}
  .kpis .kpi small{min-height:1.35em}
  /* Usuarios y accesos: las tablas viven dentro del cuerpo acolchado de la tarjeta; salen a sus bordes para que los renglones alternados lleguen de borde a borde (el texto conserva el padding de la tarjeta) */
  .ax .card__b>div>.tw{margin-inline:-20px}
  .ax .card__b>div>.tw :is(th,td):first-child{padding-left:20px}
  .ax .card__b>div>.tw :is(th,td):last-child{padding-right:20px}
}
