body.usuario-logueado .enlace-catalogo-box {
  background:#fff !important;
  border:1px solid var(--cv-border) !important;
  border-radius:17px !important;
  box-shadow:var(--cv-shadow) !important;
  min-width:0 !important;
}
body.usuario-logueado .estadistica-card {
  padding:22px !important;
  transition:transform .18s ease,box-shadow .18s ease !important;
}
body.usuario-logueado .estadistica-card:hover,
body.usuario-logueado .dashboard-card:hover,
body.usuario-logueado .admin-module-card:hover {
  transform:translateY(-2px) !important;
  box-shadow:0 14px 30px rgba(40,31,82,.11) !important;
}
body.usuario-logueado .estadistica-card i {
  color:var(--cv-primary) !important;
}
body.usuario-logueado .estadistica-card h3 {
  color:var(--cv-muted) !important;
}
body.usuario-logueado .estadistica-card .numero {
  color:var(--cv-text) !important;
  overflow-wrap:anywhere !important;
}
body.usuario-logueado .grafico-grid {
  gap:18px !important;
}
body.usuario-logueado .grafico-card { padding:22px !important; }
body.usuario-logueado .grafico-card h3 { color:var(--cv-text) !important; }
body.usuario-logueado .admin-section { margin:28px 0 !important; }
body.usuario-logueado .admin-module-grid {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)) !important;
  gap:15px !important;
}
body.usuario-logueado .admin-module-card {
  padding:18px !important;
  color:var(--cv-text) !important;
}
body.usuario-logueado .admin-module-card .module-icon {
  background:var(--cv-primary-soft) !important;
  color:var(--cv-primary) !important;
  border-radius:13px !important;
}
body.usuario-logueado .admin-module-card h3 { color:var(--cv-text) !important; }
body.usuario-logueado .admin-module-card p { color:var(--cv-muted) !important; }

/* Formularios y tablas de administración */
body.usuario-logueado input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),
body.usuario-logueado select,
body.usuario-logueado textarea {
  border-color:#dedfeb !important;
  border-radius:10px !important;
  max-width:100%;
  box-sizing:border-box;
}
body.usuario-logueado input:focus,
body.usuario-logueado select:focus,
body.usuario-logueado textarea:focus {
  outline:none !important;
  border-color:var(--cv-primary) !important;
  box-shadow:0 0 0 3px rgba(112,71,235,.12) !important;
}
body.usuario-logueado table { border-color:var(--cv-border) !important; }
body.usuario-logueado thead th {
  background:#f5f3ff !important;
  color:#4c3b83 !important;
}
body.usuario-logueado td,
body.usuario-logueado th { border-color:var(--cv-border) !important; }
body.usuario-logueado img,
body.usuario-logueado canvas { max-width:100%; }

/* Responsive: contenido no debe quedar fuera del viewport */
@media(max-width:1100px) {
  body.usuario-logueado .dashboard-page { padding:22px 16px !important; }
  body.usuario-logueado .grafico-grid { grid-template-columns:1fr !important; }
}
@media(max-width:900px) {
  body.usuario-logueado .dashboard-page { padding:18px 12px !important; }
  body.usuario-logueado .dashboard-welcome { padding:20px !important; }
  body.usuario-logueado .dashboard-hero { padding:22px !important; }
  body.usuario-logueado .admin-module-grid { grid-template-columns:1fr !important; }
}
@media(max-width:600px) {
  body.usuario-logueado .dashboard-welcome { border-radius:16px !important; padding:16px !important; }
  body.usuario-logueado .dashboard-hero { border-radius:16px !important; padding:20px 16px !important; }
  body.usuario-logueado .dashboard-welcome h1 { font-size:clamp(23px,6vw,30px) !important; }
  body.usuario-logueado .estadisticas-grid { grid-template-columns:1fr !important; }
  body.usuario-logueado .estadistica-card,
  body.usuario-logueado .grafico-card { padding:17px !important; }
  body.usuario-logueado .dashboard-actions { gap:10px !important; }
  body.usuario-logueado .dashboard-actions > * { max-width:100%; }
  body.usuario-logueado table { display:block; max-width:100%; overflow-x:auto; }
}

/* Mantener el diseño existente de catálogo público y módulos descargables/digitales.
   Los selectores siguientes son deliberadamente específicos. */
.seccion-digitales .chip-categoria-digital:hover { transform:translateY(-1px) !important; }
.seccion-digitales .grid-digitales { gap:16px !important; }
.seccion-digitales .card-digital {
  grid-template-columns:92px minmax(0,1fr) !important;
  gap:15px !important; align-items:center !important; padding:15px !important;
  border:1px solid #e5eaf2 !important; border-radius:18px !important;
  box-shadow:0 5px 18px rgba(15,23,42,.055) !important;
}
.seccion-digitales .portada-digital { width:92px !important; height:132px !important; border-radius:10px !important; }
.seccion-digitales .portada-digital img { width:100% !important; height:100% !important; object-fit:contain !important; }
.seccion-digitales .categoria-etiqueta-digital { border-radius:20px !important; padding:5px 10px !important; line-height:1.35 !important; }
.seccion-digitales .card-digital h3 { line-height:1.32 !important; margin-bottom:7px !important; }
.seccion-digitales .descripcion-digital { line-height:1.48 !important; margin-bottom:8px !important; }
.seccion-digitales .precio-digital { line-height:1.15 !important; margin:8px 0 !important; }
.seccion-digitales .seguridad-digital { line-height:1.45 !important; margin-bottom:11px !important; }
.seccion-digitales .btn-comprar-digital { min-height:40px !important; border-radius:10px !important; padding:10px 14px !important; }
.seccion-digitales .btn-comprar-digital:hover { filter:brightness(.96) !important; transform:translateY(-1px) !important; }
@media(max-width:560px) {
  .seccion-digitales { margin:22px auto !important; padding:0 12px !important; }
  .seccion-digitales .titulo-digitales h2 { font-size:23px !important; }
  .seccion-digitales .titulo-digitales p { font-size:14px !important; line-height:1.45 !important; }
  .seccion-digitales .grid-digitales { grid-template-columns:1fr !important; gap:12px !important; }
  .seccion-digitales .card-digital { grid-template-columns:78px minmax(0,1fr) !important; gap:12px !important; padding:12px !important; border-radius:16px !important; }
  .seccion-digitales .portada-digital { width:78px !important; height:112px !important; border-radius:8px !important; }
  .seccion-digitales .card-digital h3 { font-size:15px !important; line-height:1.3 !important; }
  .seccion-digitales .descripcion-digital { font-size:12px !important; line-height:1.4 !important; }
  .seccion-digitales .precio-digital { font-size:20px !important; }
  .seccion-digitales .seguridad-digital { font-size:11px !important; }
