/* S100: colores de catálogo; no altera geometría, datos o reglas. */
:root{--s100-header:#163E54;--s100-primary:#17241F;--s100-hover:#0E1613;--s100-success:#17614D;--s100-text:#183442;--s100-muted:#52636C;--s100-canvas:#F5F7F6;--s100-soft:#EDF4F7;--s100-info:#25475B;--s100-border:#D8E2DC;--s100-icon:#E5F1E9;--s100-focus:#B66B20}
[data-s100-preview="azul-verde"]{--s100-header:#163E54;--s100-primary:#17241F;--s100-hover:#0E1613;--s100-success:#17614D;--s100-text:#183442;--s100-muted:#52636C;--s100-canvas:#F5F7F6;--s100-soft:#EDF4F7;--s100-info:#25475B;--s100-border:#D8E2DC;--s100-icon:#E5F1E9;--s100-focus:#B66B20}
[data-s100-preview="azul"]{--s100-header:#173D64;--s100-primary:#1F5599;--s100-hover:#153C70;--s100-text:#203249;--s100-muted:#536276;--s100-canvas:#F3F6FA;--s100-soft:#EDF3FB;--s100-info:#24486D;--s100-border:#D5DEEA;--s100-icon:#E7EFFB;--s100-focus:#A65E13}
[data-s100-preview="verde"]{--s100-header:#1C493A;--s100-primary:#24634B;--s100-hover:#174936;--s100-text:#1B352B;--s100-muted:#53685D;--s100-canvas:#F4F8F4;--s100-soft:#ECF4EE;--s100-info:#2E5140;--s100-border:#D4E0D8;--s100-icon:#E5F1E9;--s100-focus:#A65E13}

html[data-s100-module]{--blue:var(--s100-primary);--green:var(--s100-primary);--muted:var(--s100-muted);--line:var(--s100-border);--soft:var(--s100-soft);--azul:var(--s100-primary);--verde:var(--s100-primary);--linea:var(--s100-border);color:var(--s100-text);background:var(--s100-canvas)}
html[data-s100-module] body{color:var(--s100-text);background:var(--s100-canvas)}
html[data-s100-module] :is(button,a,input,select,textarea,summary):focus-visible{outline-color:var(--s100-focus)}
html[data-s100-module] input:is([type=checkbox],[type=radio]){accent-color:var(--s100-primary)}
html[data-s100-module=mvp] .citizen-design{--entry-ink:var(--s100-text);--entry-muted:var(--s100-muted);--entry-blue:var(--s100-header);--entry-green:var(--s100-primary);--entry-green-hover:var(--s100-hover);--entry-mint:var(--s100-icon);--entry-line:var(--s100-border);--entry-canvas:var(--s100-canvas)}
html[data-s100-module=mvp] .institution,html[data-s100-module=ule] .header,html[data-s100-module=declarante] .brand{background:var(--s100-header);color:#fff}
html[data-s100-module=mvp] :is(h1,h2,h3),html[data-s100-module=ule] :is(h1,h2,h3),html[data-s100-module=vivienda] :is(h1,h2,h3){color:var(--s100-text)}
html[data-s100-module=mvp] .primary:not(:disabled),html[data-s100-module=declarante] .primary:not(:disabled),html[data-s100-module=ule] button.primary:not(:disabled){background:var(--s100-primary);border-color:var(--s100-primary);color:#fff}
html[data-s100-module=mvp] .primary:not(:disabled):hover,html[data-s100-module=declarante] .primary:not(:disabled):hover,html[data-s100-module=ule] button.primary:not(:disabled):hover{background:var(--s100-hover);border-color:var(--s100-hover)}
html[data-s100-module=mvp] :is(.secondary,.text-button,.brand-link),html[data-s100-module=declarante] :is(.secondary,.switch-device button),html[data-s100-module=ule] button.plain{color:var(--s100-primary)}
html[data-s100-module=mvp] .roles button.active{background:var(--s100-header);color:#fff}
html[data-s100-module=mvp] .intro,html[data-s100-module=mvp] .muted,html[data-s100-module=mvp] .feature :is(p,ul),html[data-s100-module=mvp] .preflight-panel p{color:var(--s100-muted)}
html[data-s100-module=mvp] .welcome-copy>.info{background:var(--s100-soft);color:var(--s100-info);border-color:var(--s100-border)}
html[data-s100-module=mvp] .welcome-copy>.info h2{color:var(--s100-info)}
html[data-s100-module=mvp] .icon-chip{background:var(--s100-icon);color:var(--s100-primary)}
html[data-s100-module=mvp] :is(.identity-card h2 svg,.preflight-panel h2 svg,.preflight-title>svg){color:var(--s100-primary)}
html[data-s100-module=mvp] .feature li::marker{color:var(--s100-primary)}
html[data-s100-module=mvp] .feature:has(ul),html[data-s100-module=mvp] .preflight-confirmations .check{background:var(--s100-canvas)}
html[data-s100-module=mvp] .preflight-confirmations .check:has(input:checked){background:var(--s100-icon);border-color:var(--s100-primary)}
html[data-s100-module=mvp] .preflight-panel summary{color:var(--s100-primary)}
html[data-s100-module=ule] :is(.window,.compare>div){background:var(--s100-canvas)}
html[data-s100-module=ule] :is(.muted,.small,.facts dt,td small,footer){color:var(--s100-muted)}
html[data-s100-module=ule] :is(a,.tabs button[aria-selected=true]){color:var(--s100-primary)}
html[data-s100-module=ule] :is(.info,.tabs button[aria-selected=true],th){background:var(--s100-soft);color:var(--s100-info);border-color:var(--s100-primary)}
html[data-s100-module=ule] .attention{background:#FFF1D6;color:#654B1C}
html[data-s100-module=declarante] :is(h1,h2,h3){color:var(--s100-text)}
html[data-s100-module=declarante] .steps li:before{color:var(--s100-primary);background:var(--s100-soft)}
html[data-s100-module=vivienda] :is(a,.enlace,.volver,.secundario){color:var(--s100-primary)}
html[data-s100-module=vivienda] button:not(#map button):not(:disabled):not(.secundario):not(.enlace):not(.volver):not(.opcion):not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out){background:var(--s100-primary);color:#fff}
html[data-s100-module=vivienda] .opcion.elegida,html[data-s100-module=vivienda] nav strong{background:var(--s100-soft);color:var(--s100-info);border-color:var(--s100-primary)}
html[data-s100-module=vivienda] .opcion.elegida{box-shadow:0 0 0 1px var(--s100-primary)}
html[data-s100-module=vivienda] :is(.ayuda,.nota,.progreso){color:var(--s100-muted)}
html[data-s100-module=vivienda] .mapa-toolbar .activo{background:var(--s100-primary);color:#fff}
html[data-s100-module=hogar] .brand{background:var(--s100-header);color:#fff}
html[data-s100-module=hogar] :is(h1,h2,h3){color:var(--s100-text)}
html[data-s100-module=hogar] .button.primary:not(:disabled){background:var(--s100-primary);border-color:var(--s100-primary);color:#fff}
html[data-s100-module=hogar] .button.primary:not(:disabled):hover{background:var(--s100-hover);border-color:var(--s100-hover)}
html[data-s100-module=hogar] :is(a,.button.secondary){color:var(--s100-primary)}
html[data-s100-module=hogar] :is(.muted,small,footer){color:var(--s100-muted)}
html[data-s100-module=hogar] .step.active span:first-child{background:var(--s100-primary);border-color:var(--s100-primary);color:#fff}
html[data-s100-module=hogar] .notice:not(.error){background:var(--s100-soft);color:var(--s100-info);border-color:var(--s100-border)}
/* Tokens v2 (s100-online, docs/DISENO.md): tipografía, controles y layout comunes a todos los módulos. */
:root{--s100-surface:#FFFFFF;--s100-link:var(--s100-primary);--s100-font:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--s100-fs-body:16px;--s100-fs-h1:28px;--s100-fs-h2:20px;--s100-header-h:64px;--s100-control-h:52px;--s100-radius-control:12px;--s100-radius-card:16px;--s100-content:640px;--s100-content-wide:960px}
@media (max-width:600px){:root{--s100-fs-h1:24px;--s100-header-h:56px}}
