/* ─── Gravity Pipeline — shared stylesheet ─────────────────────────────────── */

/* Base */
body { background: #f8f9fa; font-family: system-ui, -apple-system, sans-serif; }

/* Navbar */
.navbar { position: sticky; top: 0; z-index: 1030; }

/* Logo animado */
.g-logo svg { width: 22px; height: 22px; vertical-align: -5px; }
.g-logo .core { fill: #212529; }
.g-logo .ray {
  stroke: #212529; stroke-width: 2.4; stroke-linecap: round;
  fill: none; stroke-dasharray: 10 20;
  animation: grav-ray var(--dur) linear infinite;
  animation-delay: var(--del); opacity: var(--opa, 1);
}
@keyframes grav-ray {
  0%   { stroke-dashoffset: 0;   opacity: 0; }
  15%  { opacity: var(--opa, 1); }
  85%  { opacity: var(--opa, 1); }
  100% { stroke-dashoffset: -30; opacity: 0; }
}

/* Logo oscuro (console) */
.g-logo-dark .core { fill: #c9d1d9; }
.g-logo-dark .ray  { stroke: #c9d1d9; }

/* Preloader */
#preloader {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(33,37,41,0.88); z-index: 99999;
  display: none; align-items: center; justify-content: center;
  flex-direction: column; gap: 16px;
}
.pl-spin {
  width: 2.5rem; height: 2.5rem;
  border: 3px solid rgba(255,255,255,.2); border-top-color: #fff;
  border-radius: 50%; animation: pl-s .8s linear infinite;
}
.pl-label {
  color: rgba(255,255,255,.6); font-size: 13px;
  font-family: system-ui, sans-serif; letter-spacing: .01em;
}
@keyframes pl-s { to { transform: rotate(360deg); } }

/* Preloader JS — activar en navegación */
/* (inline en cada página via <script>...</script>) */

/* Cards y herramientas */
.tool-row {
  display: flex; align-items: flex-start;
  justify-content: space-between;
  padding: 10px 16px; border-bottom: 1px solid #f0f0f0; gap: 12px;
}
.tool-row:last-child { border-bottom: none; }
.settings-panel { background: #f8f9fa; border-top: 1px solid #dee2e6; padding: 16px; }

/* Toasts */
.toast-container { z-index: 2000; }
