/* ============================================================
   Hub Lite — overrides locales
   Tailwind y Flowbite cargan vía CDN en el layout.
   Aquí van solo ajustes finos y utilidades que Tailwind no cubre.
   ============================================================ */

:root {
  /* Theme alineado con logo HUB Lite (slate-300 #CBD5E1 = color principal del logo) */
  --hub-bg:        #f8fafc;  /* slate-50 — fondo principal */
  --hub-surface:   #ffffff;  /* blanco — cards */
  --hub-surface-2: #f1f5f9;  /* slate-100 — elevado */
  --hub-border:    #e2e8f0;  /* slate-200 — bordes suaves */
  --hub-accent:    #cbd5e1;  /* slate-300 — color del logo, dividers/acentos */
  --hub-text:      #0f172a;  /* slate-900 — texto principal */
  --hub-muted:     #64748b;  /* slate-500 — texto secundario */
}

html, body {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::-webkit-scrollbar         { width: 10px; height: 10px; }
::-webkit-scrollbar-track   { background: #f1f5f9; }
::-webkit-scrollbar-thumb   { background: #cbd5e1; border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-text-fill-color: #0f172a;
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  caret-color: #0f172a;
}

[x-cloak] { display: none !important; }

.btn-primary,
.btn-secondary,
.btn-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-weight: 500;
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
  cursor: pointer;
  text-decoration: none;
  line-height: 1.25rem;
}
.btn-primary {
  background-color: #1582f5; /* brand-600 */
  color: #ffffff;
  border: 1px solid transparent;
}
.btn-primary:hover { background-color: #1269e0; /* brand-700 */ }

.btn-secondary {
  background-color: #ffffff;
  color: #334155; /* slate-700 */
  border: 1px solid #cbd5e1; /* slate-300 */
}
.btn-secondary:hover { background-color: #f1f5f9; /* slate-100 */ }

.btn-danger {
  background-color: #e11d48; /* rose-600 */
  color: #ffffff;
  border: 1px solid transparent;
}
.btn-danger:hover { background-color: #be123c; /* rose-700 */ }

/* ============================================================
   Badges (pills) — soft/pastel para fondo claro
   Uso: <span class="badge badge-success">Activo</span>
   ============================================================ */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.5rem;
  border-radius: 0.375rem;
  border: 1px solid transparent;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  white-space: nowrap;
}
.badge-success { background:#ecfdf5; color:#047857; border-color:#a7f3d0; } /* emerald */
.badge-danger  { background:#fff1f2; color:#be123c; border-color:#fecdd3; } /* rose    */
.badge-warning { background:#fffbeb; color:#92400e; border-color:#fde68a; } /* amber   */
.badge-info    { background:#f0f9ff; color:#0369a1; border-color:#bae6fd; } /* sky     */
.badge-violet  { background:#f5f3ff; color:#6d28d9; border-color:#ddd6fe; } /* violet  */
.badge-fuchsia { background:#fdf4ff; color:#a21caf; border-color:#f5d0fe; } /* fuchsia */
.badge-orange  { background:#fff7ed; color:#9a3412; border-color:#fed7aa; } /* orange  */
.badge-brand   { background:#eef9ff; color:#1269e0; border-color:#bce6ff; } /* brand   */
.badge-neutral { background:#f1f5f9; color:#334155; border-color:#e2e8f0; } /* slate   */

/* ============================================================
   Alerts (flash messages) — mismo set de tonos suaves
   Uso: <div class="alert alert-success">…</div>
   ============================================================ */
.alert {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  border: 1px solid transparent;
  font-size: 0.875rem;
  line-height: 1.25rem;
  margin-bottom: 1rem;
}
.alert-success { background:#ecfdf5; color:#065f46; border-color:#a7f3d0; }
.alert-danger  { background:#fff1f2; color:#9f1239; border-color:#fecdd3; }
.alert-warning { background:#fffbeb; color:#78350f; border-color:#fde68a; }
.alert-info    { background:#f0f9ff; color:#075985; border-color:#bae6fd; }

@media print {
  aside, header, footer, .no-print { display: none !important; }
  main { margin: 0 !important; padding: 0 !important; }
}
