/* ============================================================
   shared-app.css — Estilos compartidos entre admin y turnos
   Incluir ANTES del CSS específico de cada página
   ============================================================ */
@import url('/v/6bcb752228/css/amun-tokens.css');
@import url('/v/6bcb752228/css/amun-componentes.css');

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

/* ── VARIABLES ── (viven en amun-tokens.css, importado arriba) */

/* ── BASE ── */
body { font-family:'Source Sans 3',sans-serif; background:var(--bg-page); color:var(--white); min-height:100vh; overflow-x:hidden; }
a { color:inherit; }

/* ── 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: rgba(var(--fg-rgb),1); margin-top: 1rem; font-size: 0.9rem; }
.spinner {
  width: 40px; height: 40px;
  border: 3px solid color-mix(in srgb, var(--red) 30%, transparent);
  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(var(--fg-rgb),0.3); }
.form-group select option { background: #2d0609; }
.form-group textarea { resize: vertical; min-height: 110px; }
