/* ============================================================
   Hub Pro — overrides locales (servido directo, sin build).
   Para producción usa el build local: npm run build → genera
   un app.css completo desde public/assets/css/input.css.
   ============================================================ */

/* Theme tokens (overridable per-tenant desde settings — ver header.php) */
:root {
  --hub-navy:  #0A2540;
  --hub-ink:   #16263D;
  --hub-bg:    #0A0E14;
  --hub-card:  #0f172a;

  --brand-50:  #f5f3ff;
  --brand-100: #ede9fe;
  --brand-200: #ddd6fe;
  --brand-300: #c4b5fd;
  --brand-400: #a78bfa;
  --brand-500: #8b5cf6;
  --brand-600: #7c3aed;
  --brand-700: #6d28d9;
  --brand-800: #5b21b6;
  --brand-900: #4c1d95;
  --brand-950: #2e1065;
}

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: var(--hub-bg); }
::-webkit-scrollbar-thumb   { background: #334155; border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: #475569; }

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

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

/* HTMX: indicator para mostrar mientras request está in-flight */
.htmx-indicator { opacity: 0; transition: opacity 200ms ease-in; }
.htmx-request .htmx-indicator,
.htmx-request.htmx-indicator { opacity: 1; }

/* Botones (CSS plano, no usa @apply para servir sin build) */
.btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  padding: 0.5rem 1rem; border-radius: 0.5rem;
  background: var(--brand-600); color: #fff; font-weight: 500;
  transition: background 150ms;
}
.btn-primary:hover { background: var(--brand-700); }

.btn-secondary {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  padding: 0.5rem 1rem; border-radius: 0.5rem;
  background: rgb(30, 41, 59); color: rgb(226, 232, 240);
  transition: background 150ms;
}
.btn-secondary:hover { background: rgb(51, 65, 85); }

.btn-danger {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  padding: 0.5rem 1rem; border-radius: 0.5rem;
  background: rgb(225, 29, 72); color: #fff;
  transition: background 150ms;
}
.btn-danger:hover { background: rgb(190, 18, 60); }

/* Badge tier mostrado en topbar */
.tier-badge {
  display: inline-flex; align-items: center; gap: 0.25rem;
  padding: 0.125rem 0.5rem; border-radius: 0.25rem;
  font-size: 0.65rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
  background: linear-gradient(135deg, var(--brand-600), var(--brand-800));
  color: #fff;
}

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