:root { --fondo: #ffffff; --texto: #001621; --suave: #475569; --linea: #e2e8f0; --primario: #0277b8; --marca: #fff3cd; --marca-texto: #5c4400; }
@media (prefers-color-scheme: dark) {
    :root { --fondo: #001621; --texto: #f0f7f9; --suave: #9fb2c4; --linea: rgba(67, 160, 185, 0.25); --primario: #5cb9d2; --marca: #4a3a00; --marca-texto: #ffe08a; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--fondo); color: var(--texto); font: 16px/1.65 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
main { max-width: 780px; margin: 0 auto; padding: 32px 16px 64px; }
header.legal-cabeza { border-bottom: 1px solid var(--linea); margin-bottom: 24px; padding-bottom: 12px; }
header.legal-cabeza a { color: var(--primario); font-weight: 600; text-decoration: none; }
h1 { font-size: 1.9rem; line-height: 1.2; margin: 8px 0; }
h2 { font-size: 1.2rem; margin: 32px 0 8px; }
p, li { color: var(--texto); }
.fecha { color: var(--suave); font-size: 0.9rem; }
a { color: var(--primario); }
ul { padding-left: 1.25rem; }
table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 0.92rem; }
th, td { text-align: left; vertical-align: top; padding: 8px 10px; border: 1px solid var(--linea); }
th { background: rgba(2, 119, 184, 0.08); }
.tabla-scroll { overflow-x: auto; }
mark.completar { background: var(--marca); color: var(--marca-texto); padding: 1px 4px; border-radius: 4px; font-weight: 600; }
footer.legal-pie { border-top: 1px solid var(--linea); margin-top: 40px; padding-top: 16px; color: var(--suave); font-size: 0.9rem; }
