/*
 * ICM — tema do Desk (só ajustes que valem para todo cliente).
 * As cores da marca do cliente NÃO ficam aqui: vêm do doctype "Marca" do site, pelo CSS gerado em
 * icm.setup.marca.tema_css (hooks.py). Sem Marca com cores, valem as do Frappe.
 */

html:root,
html[data-theme="light"] {
	/* F1b — cores nativas do Frappe abaixo de 4.5:1 */
	--alert-text-warning: #8a5a00;
	--text-on-yellow: #8a5a00;
}

html[data-theme="dark"] {
	--bg-yellow: #8a5904; /* pill amarela: texto claro sobre este fundo >= 4.5:1 */

	/* o bloco claro (html:root) também vale no escuro e vence o [data-theme=dark] do Frappe:
	   devolve os valores escuros do Frappe para o que foi ajustado no claro */
	--alert-text-warning: var(--yellow-300);
	--text-on-yellow: var(--yellow-50);
}

/* badge secundário do Bootstrap (#7c7c7c fixo): 4.17:1 com branco */
.badge-secondary {
	background-color: #6b6b6b;
	color: #fff;
}

/* foco dos campos: o Bootstrap usa cinza 25% (1.3:1); usa o anel do tema */
.form-control:focus,
.form-control:focus-visible {
	box-shadow: var(--focus-default) !important;
}

/* botões primários: fundo da cor primária e texto branco nos dois temas */
.btn-primary,
.btn.btn-primary {
	background-color: var(--btn-primary);
	border-color: var(--btn-primary);
	color: #fff;
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus,
.btn.btn-primary:hover {
	background-color: var(--icm-marca-700, var(--blue-700));
	border-color: var(--icm-marca-700, var(--blue-700));
	color: #fff;
}

/* links e textos "primários" */
.text-primary,
a.text-primary {
	color: var(--primary) !important;
}
.bg-primary {
	background-color: var(--primary) !important;
}

/* tela de login: o Frappe usa --gray-900 direto no botão */
.page-card .page-card-actions .btn-login,
.page-card .page-card-actions .btn-ldap-login {
	background: var(--btn-primary) !important;
}
.page-card .page-card-actions .btn-login:hover,
.page-card .page-card-actions .btn-login:focus,
.page-card .page-card-actions .btn-login:active {
	background: var(--icm-marca-700, var(--blue-700)) !important;
}

/* 26/10 — listas das notas (public/js/busca_fiscal.js): a chave, o fornecedor/cliente e a situação cabem inteiros;
   a chave e o fornecedor/cliente buscam sempre por parte, então o botão igual/semelhante sai deles */
.icm-lista-fiscal .standard-filter-section > .form-group[data-fieldname="chave"],
.icm-lista-fiscal .standard-filter-section > .form-group[data-fieldname="ret_key"] {
	flex: 0 0 240px;
	max-width: 240px;
}
.icm-lista-fiscal .standard-filter-section > .form-group[data-fieldname="_icm_parte"] {
	flex: 0 0 220px;
	max-width: 220px;
}
.icm-lista-fiscal .standard-filter-section > .form-group[data-fieldname="chave"] .input-group-btn,
.icm-lista-fiscal .standard-filter-section > .form-group[data-fieldname="ret_key"] .input-group-btn,
.icm-lista-fiscal .standard-filter-section > .form-group[data-fieldname="_icm_parte"] .input-group-btn {
	display: none;
}
.icm-lista-fiscal .level-left > .list-row-col:nth-child(6) {
	flex: 0 0 170px;
}
.icm-lista-fiscal .level-left > .list-row-col:nth-child(6) .indicator-pill {
	max-width: 170px;
}

/* 27/10 — organização por setores (icm.setores, setores.js) */
/* caminho no topo: "Vendas › Fatura de Venda" (sem a casinha nem a barra "/") */
.navbar-breadcrumbs li:has(> a > svg.icon) { display: none; }
.navbar-breadcrumbs > li > a:before { content: "›"; }
.navbar-breadcrumbs li:has(> a > svg.icon) + li > a:before { content: none; }
/* desligado (só o Administrador vê): cinza, com a etiqueta e o botão "Ligar" */
/* o cinza é por transparência (vale no tema claro e no escuro: o texto do tema fica apagado) */
.link-item.icm-desligado .link-text, .icm-setor-desligado .sidebar-item-label, .icm-setor-desligado .sidebar-item-icon,
.icm-desligado.shortcut-widget-box { opacity: .5; }
.icm-etiqueta-desligado {
	display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: 8px; font-size: 10px; line-height: 15px;
	border: 1px solid currentColor; background: transparent; color: inherit; opacity: .55; font-weight: 500;
	vertical-align: middle;
}
.icm-ligar { margin-left: 6px; padding: 0 8px; font-size: 11px; line-height: 16px; height: auto; vertical-align: middle; }
.link-item.icm-desligado { display: flex; align-items: center; }
/* blocos das páginas dos setores: o mesmo espaçamento entre os links */
.widget.links-widget-box .link-item { padding-top: 3px; padding-bottom: 3px; }
.grid-row.icm-modulo-alvo > .data-row { background: var(--yellow-50, #fffbe6); outline: 2px solid var(--yellow-300, #f5d97a); }
/* 27/10 — listas: atalhos de filtro e filtros salvos (listas.js) */
.icm-atalhos-filtro { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 0 var(--padding-md, 15px) 10px; }
.icm-chip { border-radius: 999px; padding: 2px 12px; background: var(--control-bg, var(--gray-100)); color: var(--text-color);
	border: 1px solid transparent; font-size: 12px; line-height: 18px; }
.icm-chip:hover { border-color: var(--gray-300); }
.icm-chip.ativo { background: var(--icm-marca-700, var(--blue-700)); color: #fff; }
.icm-chip-salvo { background: transparent; border-color: var(--gray-300); }
.icm-chip-separador { width: 1px; height: 18px; background: var(--gray-300); margin: 0 4px; }
.icm-salvar-filtro { font-size: 12px; color: var(--text-muted); padding: 2px 6px; }
/* página do setor: o atalho ou contador que a pessoa não vê (módulo desligado, sem permissão) não deixa buraco */
.ce-block:has(> .ce-block__content > div:not([class]):empty) { display: none; }
