/*
 * Tokens semânticos do SisEPI.
 * Camada 1: variáveis das Configurações (--institution-*, --admin-*, --public-*).
 * Camada 2: este arquivo, que dá o papel de cada cor em cada contexto.
 * Camada 3: theme.css, que usa só --ds-*.
 *
 * Valores fixos aqui existem só onde não há configuração: status.
 */

html[data-ds] {
	--ds-danger: #B42318;
	--ds-on-danger: #FFFFFF;
	--ds-success: #067647;
	--ds-warning: #B54708;
	--ds-info: #175CD3;

	--ds-line-strong: color-mix(in srgb, var(--ds-on-surface) 32%, var(--ds-surface));
	--ds-tint: color-mix(in srgb, var(--ds-action) 8%, var(--ds-surface));
	--ds-tint-strong: color-mix(in srgb, var(--ds-action) 16%, var(--ds-surface));
	--ds-action-hover: color-mix(in srgb, var(--ds-action) 86%, var(--ds-on-action));
	--ds-focus: var(--ds-on-surface);
}

html[data-ds-surface="panel"] {
	--ds-bg: var(--admin-page-bg);
	--ds-on-bg: var(--ds-on-page);
	--ds-surface: var(--admin-card-bg);
	--ds-on-surface: var(--ds-on-card);
	--ds-muted: color-mix(in srgb, var(--ds-on-surface) 72%, var(--ds-surface));
	--ds-head-bg: var(--admin-card-header-bg);
	--ds-head-text: var(--admin-card-header-text);
	--ds-title: var(--ds-title-readable);
	--ds-line: var(--admin-border-color);
	--ds-action: var(--admin-button-bg);
	--ds-on-action: var(--admin-button-text);
	--ds-nav-bg: var(--admin-sidebar-bg);
	--ds-nav-text: var(--admin-sidebar-text);
	--ds-nav-hover-bg: var(--admin-sidebar-hover-bg);
	--ds-nav-hover-text: var(--admin-sidebar-hover-text);
	--ds-nav-active-bg: var(--admin-sidebar-active-bg);
	--ds-nav-active-text: var(--admin-sidebar-active-text);
	--ds-bar-bg: var(--admin-header-bg);
	--ds-bar-text: var(--admin-header-text);
}

html[data-ds-surface="portal"] {
	--ds-bg: var(--public-page-bg);
	--ds-on-bg: var(--public-text-color);
	--ds-surface: var(--public-card-bg);
	--ds-on-surface: var(--public-text-color);
	--ds-muted: var(--public-muted-text);
	--ds-head-bg: var(--public-card-bg);
	--ds-head-text: var(--public-text-color);
	--ds-title: var(--ds-title-readable);
	--ds-line: var(--public-border-color);
	--ds-action: var(--public-button-bg);
	--ds-on-action: var(--public-button-text);
	--ds-nav-bg: var(--public-menu-bg);
	--ds-nav-text: var(--public-menu-text);
	--ds-nav-hover-bg: var(--public-menu-hover-bg);
	--ds-nav-hover-text: var(--public-menu-hover-text);
	--ds-hero-bg: var(--public-hero-bg);
	--ds-hero-text: var(--ds-hero-text-readable);
	--ds-footer-bg: var(--public-footer-bg);
	--ds-footer-text: var(--public-footer-text);
	--ds-footer-accent: var(--public-footer-accent);
}

/* Login, cadastro e recuperação não têm cores próprias: usam as institucionais. */
html[data-ds-surface="login"] {
	--ds-bg: color-mix(in srgb, var(--institution-primary) 5%, #FFFFFF);
	--ds-surface: #FFFFFF;
	--ds-on-surface: color-mix(in srgb, var(--institution-primary) 18%, #15191E);
	--ds-muted: color-mix(in srgb, var(--ds-on-surface) 72%, #FFFFFF);
	--ds-title: var(--ds-on-surface);
	--ds-line: color-mix(in srgb, var(--institution-primary) 22%, #FFFFFF);
	--ds-action: var(--institution-primary);
	--ds-on-action: var(--ds-on-primary);
	--ds-field: var(--institution-primary);
	--ds-on-field: var(--ds-on-gradient);
}

/* Títulos do painel: legíveis sem deixar de usar a cor configurada. */
html[data-ds][data-ds-surface="panel"] body {
	--admin-title-color: var(--ds-title);
	--sisepi-admin-title-color: var(--ds-title);
}

/* Legibilidade comum a todas as telas ------------------------------------- */

html[data-ds] body .alert { color: var(--ds-on-surface); }

html[data-ds][data-ds-surface="login"] body a:not(.btn) {
	color: var(--ds-on-surface) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

html[data-ds][data-ds-surface="panel"] body .cards-container a:not(.btn):not(.adaptive-home-card):not(.nav-link):not(.dropdown-item):not(.small-box-footer) { color: var(--ds-title) !important; }
html[data-ds][data-ds-surface="panel"] body .adaptive-empty-state,
html[data-ds][data-ds-surface="panel"] body .adaptive-empty-state * { color: var(--ds-on-surface) !important; }
html[data-ds][data-ds-surface="panel"] body .cards-container h3:not(.card-title):not(.small-box h3) { color: var(--ds-title); }

html[data-ds][data-ds-surface="portal"] body .menu-acessibilidade strong {
	border: 1px solid var(--public-accessibility-text) !important;
	background: transparent !important;
	color: var(--public-accessibility-text) !important;
}

html[data-ds][data-ds-surface="portal"] body .home-quick-link h3,
html[data-ds][data-ds-surface="portal"] body .home-quick-link-content h3,
html[data-ds][data-ds-surface="portal"] body .home-news-featured-title,
html[data-ds][data-ds-surface="portal"] body .home-news-featured-title a,
html[data-ds][data-ds-surface="portal"] body .home-news-secondary-title,
html[data-ds][data-ds-surface="portal"] body .home-news-secondary-title a { color: var(--ds-on-surface) !important; }

html[data-ds][data-ds-surface="portal"] body .home-quick-link p,
html[data-ds][data-ds-surface="portal"] body .home-quick-link-content p,
html[data-ds][data-ds-surface="portal"] body .home-news-summary,
html[data-ds][data-ds-surface="portal"] body .home-news-secondary-summary,
html[data-ds][data-ds-surface="portal"] body .home-news-date,
html[data-ds][data-ds-surface="portal"] body .home-number-since { color: var(--ds-muted) !important; }

html[data-ds][data-ds-surface="portal"] body .home-news-all { color: var(--ds-title) !important; }

html[data-ds][data-ds-surface="portal"] body .public-footer-kicker {
	color: var(--ds-footer-text) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

html[data-ds][data-ds-surface="portal"] body #content a:not(.btn):not(.active):not(.home-quick-link):not(.home-news-all):not(.home-hero-primary):not(.home-hero-secondary):not([class*="news"]) { color: var(--ds-title); }