/* PALETA ALVAMUEL
   Valores de marca declarados en la documentación: #002E52 (texto) y #00A6CA (acento cian).
   El resto de la escala se ha derivado de esos dos anclajes. */
:root{
/* Azul ALVAMUEL — color de marca, texto y superficies oscuras */
--alv-navy-900:#00182B;--alv-navy-800:#002440;--alv-navy-700:#002E52;--alv-navy-600:#0B4370;--alv-navy-500:#1A5C8E;--alv-navy-400:#4A83AC;--alv-navy-300:#8AAAC4;--alv-navy-200:#BDD0DE;--alv-navy-100:#DCE7EF;--alv-navy-50:#EEF4F8;
/* Cian ALVAMUEL — acento, antetítulos, subrayados, estados activos */
--alv-cyan-800:#005E76;--alv-cyan-700:#007693;--alv-cyan-600:#008FB0;--alv-cyan-500:#00A6CA;--alv-cyan-400:#3CBEDB;--alv-cyan-300:#79D5E9;--alv-cyan-200:#AEE6F2;--alv-cyan-100:#D3F1F8;--alv-cyan-50:#E9F8FC;
/* Neutros — hormigón */
--alv-grey-950:#12171A;--alv-grey-900:#1E262B;--alv-grey-800:#333F49;--alv-grey-700:#4A555E;--alv-grey-600:#5F6B74;--alv-grey-500:#77838C;--alv-grey-400:#9AA5AD;--alv-grey-300:#C4CCD2;--alv-grey-200:#DDE3E7;--alv-grey-100:#EDF0F2;--alv-grey-50:#F6F8F9;--alv-white:#FFFFFF;
/* Semánticos — mapean los tres tipos de aviso de la documentación técnica */
--alv-alert-700:#8E1D17;--alv-alert-600:#B3261E;--alv-alert-100:#F8DEDC;--alv-alert-50:#FCEDEC;
--alv-warn-700:#8A5300;--alv-warn-600:#B26B00;--alv-warn-100:#FAE9C9;--alv-warn-50:#FDF6E9;
--alv-ok-700:#166039;--alv-ok-600:#1E7A4B;--alv-ok-100:#D6EDE0;--alv-ok-50:#E9F6EF;
/* Color de material — tonos declarados en las fichas de producto, para muestras y diagramas */
--alv-mat-hormigon:#8C8F8E;--alv-mat-arcilla:#B4623C;--alv-mat-terracota:#C97A4E;--alv-mat-xps:#2E6FB7;--alv-mat-adhesivo:#F1EDE5;
}
:root{
/* Alias semánticos: usar SIEMPRE estos en componentes y pantallas */
--text-heading:var(--alv-navy-700);--text-body:var(--alv-grey-800);--text-muted:var(--alv-grey-500);--text-inverse:var(--alv-white);--text-on-navy:var(--alv-navy-100);
--text-accent:var(--alv-cyan-700);/* cian legible sobre blanco (4.5:1). El #00A6CA puro es gráfico, no de texto */
--text-accent-on-navy:var(--alv-cyan-400);
--surface-page:var(--alv-white);--surface-sunken:var(--alv-grey-50);--surface-card:var(--alv-white);--surface-inset:var(--alv-grey-100);
--surface-navy:var(--alv-navy-700);--surface-navy-deep:var(--alv-navy-900);--surface-accent:var(--alv-cyan-500);--surface-accent-soft:var(--alv-cyan-50);
--border-subtle:var(--alv-grey-200);--border-default:var(--alv-grey-300);--border-strong:var(--alv-navy-700);--border-accent:var(--alv-cyan-500);--border-on-navy:rgba(255,255,255,.18);
--focus-ring:var(--alv-cyan-500);
--state-hover-navy:var(--alv-navy-600);--state-hover-accent:var(--alv-cyan-600);--state-press-navy:var(--alv-navy-800);--state-press-accent:var(--alv-cyan-700);
--state-disabled-bg:var(--alv-grey-100);--state-disabled-text:var(--alv-grey-400);
--link-color:var(--alv-cyan-700);--link-hover:var(--alv-navy-700);
--feedback-alert-fg:var(--alv-alert-700);--feedback-alert-bg:var(--alv-alert-50);--feedback-alert-border:var(--alv-alert-600);
--feedback-warn-fg:var(--alv-warn-700);--feedback-warn-bg:var(--alv-warn-50);--feedback-warn-border:var(--alv-warn-600);
--feedback-ok-fg:var(--alv-ok-700);--feedback-ok-bg:var(--alv-ok-50);--feedback-ok-border:var(--alv-ok-600);
--feedback-info-fg:var(--alv-cyan-800);--feedback-info-bg:var(--alv-cyan-50);--feedback-info-border:var(--alv-cyan-500);
}
