/* ============================================================
   shared-app.css — Estilos compartidos entre admin, nueva-orden y turnos
   Incluir ANTES del CSS específico de cada página
   ============================================================ */

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ── VARIABLES ── */
:root {
  --red: #c0181e;
  --red-dark: #8b0f13;
  --red-light: #e63b3f;
  --surface: #1e1e1e;
  --surface2: #252525;
  --border: #2e2e2e;
  --white: #fff;
  --green: #10b981;
  --amber: #f59e0b;
  --blue: #3b82f6;
  --gray: #6b7280;
  --purple: #8b5cf6;
}

/* ── TIPOGRAFÍA ── */
h1,h2,h3,h4 { font-family: 'Oswald', sans-serif; letter-spacing: 0.04em; }

/* ── LOADING OVERLAY ── */
.loading-overlay {
  display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.6);
  z-index: 9999; align-items: center; justify-content: center; flex-direction: column;
}
.loading-overlay.show { display: flex; }
.loading-overlay p { color: #fff; margin-top: 1rem; font-size: 0.9rem; }
.spinner {
  width: 40px; height: 40px;
  border: 3px solid rgba(192,24,30,0.3);
  border-top-color: var(--red);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ── FORM ── */
.form-group { margin-bottom: 1rem; }
.form-group label {
  display: block; letter-spacing: 0.1em; text-transform: uppercase;
  margin-bottom: 0.4rem; font-family: 'Oswald', sans-serif;
}
.form-group input::placeholder,
.form-group textarea::placeholder { color: rgba(255,255,255,0.3); }
.form-group select option { background: #2d0609; }
.form-group textarea { resize: vertical; min-height: 110px; }
