/**
 * Ouvidoria Cidadã - Tema "GovBr UI Modern"
 * Design tokens compartilhados entre front-end e painel administrativo.
 */
:root {
	--ouv-primary: #1351b4;
	--ouv-primary-dark: #0c326f;
	--ouv-primary-light: #e6f0fa;
	--ouv-secondary: #168821;

	--ouv-status-aberto: #1351b4;
	--ouv-status-aberto-bg: #e6f0fa;
	--ouv-status-andamento: #a36400;
	--ouv-status-andamento-bg: #fdf0d5;
	--ouv-status-fechado: #168821;
	--ouv-status-fechado-bg: #e2f6e4;
	--ouv-status-vencido: #c22e2e;
	--ouv-status-vencido-bg: #fbe4e4;

	--ouv-surface: #ffffff;
	--ouv-surface-alt: #f8f9fb;
	--ouv-border: #d5d9e0;
	--ouv-text: #1c2126;
	--ouv-text-muted: #5d6b7a;

	--ouv-radius-sm: 6px;
	--ouv-radius-md: 12px;
	--ouv-radius-lg: 18px;
	--ouv-shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.06), 0 1px 3px rgba(16, 24, 40, 0.08);
	--ouv-shadow-md: 0 4px 10px rgba(16, 24, 40, 0.08), 0 2px 4px rgba(16, 24, 40, 0.06);
	--ouv-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}

.ouv-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	background: var(--ouv-surface-alt);
	color: var(--ouv-text);
	white-space: nowrap;
}

.ouv-badge::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	flex-shrink: 0;
}

.ouv-badge-recebida,
.ouv-status-recebida { color: var(--ouv-status-aberto); background: var(--ouv-status-aberto-bg); }
.ouv-badge-em_analise,
.ouv-status-em_analise,
.ouv-badge-encaminhada,
.ouv-status-encaminhada { color: var(--ouv-status-andamento); background: var(--ouv-status-andamento-bg); }
.ouv-badge-respondida,
.ouv-status-respondida,
.ouv-badge-concluida,
.ouv-status-concluida { color: var(--ouv-status-fechado); background: var(--ouv-status-fechado-bg); }
.ouv-badge-vencido { color: var(--ouv-status-vencido); background: var(--ouv-status-vencido-bg); }

.ouv-deadline-bar {
	height: 6px;
	border-radius: 999px;
	background: var(--ouv-surface-alt);
	overflow: hidden;
	margin-top: 6px;
}

.ouv-deadline-bar-fill {
	height: 100%;
	border-radius: 999px;
	background: var(--ouv-secondary);
}

.ouv-deadline-bar-fill.is-warning { background: var(--ouv-status-andamento); }
.ouv-deadline-bar-fill.is-overdue { background: var(--ouv-status-vencido); }

.ouv-deadline-caption {
	font-size: 11px;
	color: var(--ouv-text-muted);
	margin-top: 4px;
}
