/* Base CSS neutro para todas las verticales */
:root {
  --color-fg: #111;
  --color-bg: #fff;
  --color-primary: #0d6efd;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --radius: 6px;
  --font-sans: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, sans-serif;
}

html, body {
  margin: 0;
  padding: 0;
  color: var(--color-fg);
  background: var(--color-bg);
  font-family: var(--font-sans);
  line-height: 1.45;
}

header, main, footer {
  padding: var(--space-3);
}

h1, h2, h3 { margin: var(--space-3) 0 var(--space-2); }

.messages { list-style: none; padding: 0; margin: var(--space-3) 0; }
.messages li { padding: var(--space-2); border-radius: var(--radius); background: #f3f4f6; }
.messages li.success { background: #d1fae5; }
.messages li.error { background: #fee2e2; }

form { max-width: 420px; display: grid; gap: var(--space-2); }
input, select, textarea { padding: var(--space-2); border: 1px solid #d1d5db; border-radius: var(--radius); }
button { padding: var(--space-2) var(--space-3); border: 0; border-radius: var(--radius); background: var(--color-primary); color: #fff; cursor: pointer; }
button:hover { filter: brightness(0.95); }
