/* =============================================================================
   DASHBOARD — estilos específicos da tela. Depende de cwd-vars + cwd-base.
   Todo seletor escopado sob .cwd-root. Marks de gráfico em hue único dourado;
   status sempre com rótulo (badge), nunca cor sozinha.
   ============================================================================= */

/* ---- Barra de controles (seletor + filtro de período) ---- */
.cwd-root .cwd-dash-topo {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 20px;
}
.cwd-root .cwd-dash-controles {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
}
@media (max-width: 640px) {
	.cwd-root .cwd-dash-topo { justify-content: stretch; }
	.cwd-root .cwd-dash-controles { align-items: stretch; width: 100%; }
	.cwd-root .cwd-dash-filtros { justify-content: flex-start; }
}
.cwd-root .cwd-dash-filtros {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.cwd-root .cwd-dash-devolutiva {
	font-family: inherit;
	font-size: 13px;
	color: var(--cwd-text-1);
	background: var(--cwd-surface);
	border: 1px solid var(--cwd-border);
	border-radius: var(--cwd-r-interno);
	padding: 7px 12px;
	max-width: 260px;
	cursor: pointer;
}
.cwd-root .cwd-dash-devolutiva:focus {
	outline: none;
	border-color: var(--cwd-acento-border);
}
/* O popup nativo do <select> herda o esquema do SO — tokens garantem contraste
   nos dois temas (antes: cinza do wp-admin cravado, ilegível no dark). */
.cwd-root .cwd-dash-devolutiva option {
	color: var(--cwd-text-1);
	background: var(--cwd-surface);
}

@media (max-width: 640px) {
	.cwd-root .cwd-dash-controles {
		align-items: stretch;
		width: 100%;
	}
	.cwd-root .cwd-dash-devolutiva {
		max-width: none;
		width: 100%;
	}
	.cwd-root .cwd-dash-filtros {
		justify-content: flex-start;
	}
}

/* ---- KPI ---- */
.cwd-root .cwd-dash-kpi {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.cwd-root .cwd-dash-kpi-valor {
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--cwd-text-1);
	line-height: 1.1;
}
.cwd-root .cwd-dash-kpi-rodape {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.cwd-root .cwd-dash-delta {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: 12px;
	font-weight: 700;
}
/* A seta mostra a direção do número; a cor, se isso é bom.
   "Em aberto" caindo é seta para baixo e boa notícia — por isso as duas coisas
   são independentes. */
.cwd-root .cwd-dash-delta-bom    { color: var(--cwd-success); }
.cwd-root .cwd-dash-delta-ruim   { color: var(--cwd-erro); }
.cwd-root .cwd-dash-delta-neutro {
	color: var(--cwd-text-3);
	font-weight: 600;
	font-size: 11.5px;
}
.cwd-root .cwd-dash-kpi-ajuda {
	font-size: 11.5px;
	color: var(--cwd-text-3);
}

/* ---- Espaço entre KPI row e gráficos ---- */
.cwd-root .cwd-dash-bloco[data-bloco="kpis"] {
	margin-bottom: 20px;
}

/* ---- Charts: 2 colunas ---- */
.cwd-root .cwd-dash-charts {
	margin-bottom: 20px;
	align-items: start;
}

/* ---- Colunas (por mês) ---- */
.cwd-root .cwd-dash-colunas {
	display: flex;
	align-items: flex-end;
	gap: 2px;                 /* gap de superfície entre barras adjacentes */
	height: 180px;
	padding-top: 8px;
}
.cwd-root .cwd-dash-col {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	height: 100%;
	cursor: default;
	border-radius: 6px;
	outline: none;
}
.cwd-root .cwd-dash-col-barra {
	width: 100%;
	max-width: 34px;
	background: var(--cwd-destaque);
	border-radius: 4px 4px 0 0;   /* cantos só na ponta do dado */
	transition: filter 160ms var(--cwd-ease-out), transform 160ms var(--cwd-ease-out);
	transform-origin: bottom;
}
.cwd-root .cwd-dash-col:hover .cwd-dash-col-barra,
.cwd-root .cwd-dash-col:focus-visible .cwd-dash-col-barra {
	filter: brightness(1.12);
}
.cwd-root .cwd-dash-col:focus-visible {
	box-shadow: 0 0 0 2px var(--cwd-destaque);
}
.cwd-root .cwd-dash-col-label {
	font-size: 10.5px;
	color: var(--cwd-text-3);
	white-space: nowrap;
}

/* ---- Barras horizontais (por setor) ---- */
.cwd-root .cwd-dash-barras {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.cwd-root .cwd-dash-barra-linha {
	display: grid;
	grid-template-columns: 92px 1fr auto;
	align-items: center;
	gap: 10px;
	outline: none;
	border-radius: 6px;
}
.cwd-root .cwd-dash-barra-nome {
	font-size: 12px;
	color: var(--cwd-text-2);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cwd-root .cwd-dash-barra-trilho {
	height: 14px;
	background: var(--cwd-poco);
	border-radius: var(--cwd-r-pill);
	overflow: hidden;
}
.cwd-root .cwd-dash-barra-fill {
	height: 100%;
	background: var(--cwd-destaque);
	border-radius: var(--cwd-r-pill);
	transition: filter 160ms var(--cwd-ease-out);
}
.cwd-root .cwd-dash-barra-linha:hover .cwd-dash-barra-fill,
.cwd-root .cwd-dash-barra-linha:focus-visible .cwd-dash-barra-fill {
	filter: brightness(1.12);
}
.cwd-root .cwd-dash-barra-linha:focus-visible {
	box-shadow: 0 0 0 2px var(--cwd-destaque);
}
.cwd-root .cwd-dash-barra-valor {
	font-size: 12px;
	font-weight: 700;
	color: var(--cwd-text-1);
	min-width: 34px;
	text-align: right;
}

/* Rampa dourada sequencial validada (dataviz) */

/* ---- Status (medidores) ---- */
.cwd-root .cwd-dash-status {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.cwd-root .cwd-dash-status-linha {
	display: grid;
	grid-template-columns: 116px 1fr auto auto;
	align-items: center;
	gap: 12px;
}
.cwd-root .cwd-dash-status-trilho {
	height: 10px;
	background: var(--cwd-poco);
	border-radius: var(--cwd-r-pill);
	overflow: hidden;
}
.cwd-root .cwd-dash-status-fill {
	height: 100%;
	background: var(--cwd-destaque);
	border-radius: var(--cwd-r-pill);
}
.cwd-root .cwd-dash-status-valor {
	font-size: 13px;
	font-weight: 700;
	color: var(--cwd-text-1);
	min-width: 44px;
	text-align: right;
}
.cwd-root .cwd-dash-status-pct {
	font-size: 11.5px;
	color: var(--cwd-text-3);
	min-width: 36px;
	text-align: right;
}

/* ---- Tabela: rolagem horizontal isolada ---- */
.cwd-root .cwd-dash-tabela-wrap {
	overflow-x: auto;
}

/* ---- Sem dados no período / estado vazio geral ---- */
.cwd-root .cwd-dash-sem-dados {
	margin: 0;
	padding: 22px 0;
	text-align: center;
	font-size: 13px;
	font-style: italic;
	color: var(--cwd-text-3);
}

.cwd-root .cwd-dash-vazio {
	text-align: center;
	padding: 40px 24px;
}
.cwd-root .cwd-dash-vazio h3 {
	margin: 0 0 10px;
	font-size: 17px;
	font-weight: 700;
	color: var(--cwd-text-1);
}
.cwd-root .cwd-dash-vazio p {
	margin: 0 auto 8px;
	max-width: 520px;
	font-size: 13.5px;
	color: var(--cwd-text-2);
	line-height: 1.6;
}
.cwd-root .cwd-dash-vazio-passos {
	font-size: 12.5px !important;
	color: var(--cwd-text-3) !important;
	padding-top: 8px;
}

/* ---- Tooltip flutuante ---- */
.cwd-root .cwd-dash-tooltip {
	position: fixed;
	z-index: 99999;
	pointer-events: none;
	padding: 6px 10px;
	border-radius: 8px;
	background: var(--cwd-surface);
	border: 1px solid var(--cwd-border);
	color: var(--cwd-text-1);
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	box-shadow: var(--cwd-shadow);
	transform: translate(-50%, -100%);
}

/* ---- Responsivo ---- */
@media (max-width: 760px) {
	.cwd-root .cwd-dash-charts { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
	.cwd-root .cwd-dash-status-linha {
		grid-template-columns: 100px 1fr auto;
	}
	.cwd-root .cwd-dash-status-pct { display: none; }
	.cwd-root .cwd-dash-barra-linha {
		grid-template-columns: 76px 1fr auto;
	}
	.cwd-root .cwd-dash-kpi-valor { font-size: 28px; }
}
