/* Placeholder minimo para legibilidad. Sin branding: reemplazar en fase de diseno. */
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, Arial, sans-serif; line-height: 1.5; color: #1a1a1a; }
.container { max-width: 800px; margin: 0 auto; padding: 1rem; }
.site-header, .site-footer { background: #f2f2f2; }
.site-header .container { display: flex; justify-content: space-between; align-items: center; }
.brand { font-weight: 700; text-decoration: none; color: inherit; }
nav a { margin-left: 1rem; }
.hero { padding: 2rem 1rem; }
.field { margin-bottom: 1rem; display: flex; flex-direction: column; }
label { font-weight: 600; margin-bottom: .25rem; }
input, textarea { padding: .5rem; border: 1px solid #bbb; border-radius: 4px; font: inherit; }
button { padding: .6rem 1.2rem; border: 0; border-radius: 4px; background: #1a5cff; color: #fff; font: inherit; cursor: pointer; }
.alert { padding: .75rem 1rem; border-radius: 4px; }
.alert-ok { background: #e6f4ea; color: #1e5631; }
.alert-error { background: #fdecea; color: #8a1c15; }
.field-error { color: #8a1c15; font-size: .875rem; margin-top: .25rem; }
.site-footer ul { list-style: none; padding: 0; }
