:root { --fondo:#f6f3ec; --tinta:#1f2a2e; --suave:#5d6b6f; --borde:#d9d4c7; --acento:#2f6b5a; --error:#a33a2b; }
* { box-sizing: border-box; }
body { margin:0; background:var(--fondo); color:var(--tinta); font:16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; }
header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.5rem; border-bottom:1px solid var(--borde); background:#fff; }
.marca b { font:650 1.35rem Georgia, "Times New Roman", serif; color:var(--acento); margin-right:.5rem; }
.marca span { color:var(--suave); font-size:.9rem; }
nav a { margin-left:1rem; color:var(--tinta); text-decoration:none; font-weight:500; }
nav a:hover { color:var(--acento); }
main { max-width:960px; margin:2rem auto; padding:0 1rem; }
.tarjeta { background:#fff; border:1px solid var(--borde); border-radius:14px; padding:1.5rem 1.75rem; margin-bottom:1.5rem; }
.estrecha { max-width:420px; margin:3rem auto; }
h1 { font:650 1.6rem Georgia, "Times New Roman", serif; margin:0 0 .5rem; }
h2 { font:600 1.2rem Georgia, "Times New Roman", serif; margin:0 0 1rem; }
.suave { color:var(--suave); }
.nota { color:var(--suave); font-size:.85rem; margin-top:1rem; }
label { display:block; margin:.9rem 0; font-weight:500; font-size:.92rem; }
input:not([type=checkbox]) { display:block; width:100%; margin-top:.3rem; padding:.6rem .7rem; border:1px solid var(--borde); border-radius:8px; font:inherit; }
input:focus { outline:2px solid var(--acento); outline-offset:1px; }
button { background:var(--acento); color:#fff; border:0; border-radius:8px; padding:.65rem 1.2rem; font:600 .95rem system-ui, sans-serif; cursor:pointer; }
button:hover { filter:brightness(1.1); }
button.peq { padding:.35rem .7rem; font-size:.8rem; background:#eef2ef; color:var(--tinta); }
button.peligro { background:#f7e4e0; color:var(--error); }
.error { background:#f7e4e0; color:var(--error); border-radius:8px; padding:.7rem .9rem; margin:1rem 0; }
.ok { background:#e3efe9; color:var(--acento); border-radius:8px; padding:.7rem .9rem; margin:1rem 0; }
code { background:#fff; padding:.1rem .4rem; border-radius:4px; font-size:1.05rem; user-select:all; }
table { width:100%; border-collapse:collapse; font-size:.92rem; }
th, td { text-align:left; padding:.6rem .4rem; border-bottom:1px solid var(--borde); vertical-align:top; }
th { color:var(--suave); font-weight:500; }
.acciones { white-space:nowrap; }
form.enlinea { display:inline; }
form.enlinea + form.enlinea { margin-left:.25rem; }
.fila { display:flex; flex-wrap:wrap; gap:0 1rem; align-items:flex-end; }
.fila label { flex:1 1 200px; }
.fila label.check { flex:0 0 auto; display:flex; gap:.4rem; align-items:center; margin-bottom:1.3rem; }
.fila button { margin-bottom:.9rem; }
@media (max-width:700px) { .acciones { white-space:normal; } nav a { margin-left:.6rem; } }
