/*
 * Ficha de Ingreso — static styles. Extracted from an inline <style> block so the
 * page CSP can drop `script-src 'unsafe-inline'` (CSP hardening, audit 2026-06-13).
 * The Tailwind CDN runtime still injects styles at runtime, so `style-src
 * 'unsafe-inline'` is retained by necessity (documented in index.html + README).
 */
:root {
  --bg-deep: #0F172A;
  --bg-light: #F8FAFC;
  --accent-tech: #3B82F6;
  --accent-creative: #8B5CF6;
  --text-on-light: #0F172A;
  --text-dim-light: #475569;
}
* { box-sizing: border-box; }
html, body { overflow-x: hidden; }
body { background: var(--bg-light); color: var(--text-on-light); }
/* Long unbroken strings (CURP, email, error text) must never push width on a 320px phone. */
.field label, .err, p, h1, h2 { overflow-wrap: anywhere; word-break: break-word; }
.btn-primary {
  background: linear-gradient(135deg, #1D4ED8 0%, #8B5CF6 100%);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.btn-primary:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(59,130,246,.35); }
.btn-primary:active:not(:disabled) { transform: translateY(0); }
.btn-primary:disabled { opacity: .7; cursor: progress; }
.section-accent { background: linear-gradient(135deg, #60A5FA 0%, #A78BFA 100%); }
.field input:focus, .field select:focus, .field textarea:focus { outline: 2px solid #3B82F6; outline-offset: 1px; }
/* WCAG 2.4.7 — keyboard focus ring on every interactive element (matches landing). */
button:focus-visible, a:focus-visible { outline: 2px solid #3B82F6; outline-offset: 2px; border-radius: 4px; }
.field input[aria-invalid="true"], .field select[aria-invalid="true"], .field textarea[aria-invalid="true"] { border-color: #C2410C; }
input, select, textarea { font-size: 16px; } /* ≥16px avoids iOS zoom */
.tap { min-height: 44px; } /* touch target ≥44px */
.cta-safe { padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { .btn-primary { transition: none; } .btn-primary:hover { transform: none; } }

/* Static styles moved off inline `style=` attributes (CSP cleanliness). */
.clinic-doctor { color: var(--text-on-light); }
.clinic-dim { color: var(--text-dim-light); }
.site-footer { background: #0F172A; color: #fff; }
