/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jun 03 2026 | 21:38:20 */
/* ════════════════════════════════════════════════════════════════════════
 * cp-pages-meu-trabalho-financeiro.css — Fase 1.B do ERP Criminal V1
 *
 * Aba "Financeiro" do /meu-trabalho/. SÓ layout/composição específica.
 * Cores, spacing, botões, cards, modais, badges vêm dos primitives cpds-*
 * (cp-design-system.css). Regra: nada de redefinir cor ou spacing aqui.
 *
 * Doc: doc/planejamento/escritorio-virtual-fase-1b-financeiro.md §4.0.
 * ════════════════════════════════════════════════════════════════════════ */

/* ── Banner Beta ───────────────────────────────────────────────────────── */
.cp-fin-banner {
	background: var(--cp-brand-yellow-soft) !important;
	border: 1px solid var(--cp-brand-yellow) !important;
	border-radius: var(--cp-radius-lg) !important;
	padding: var(--cp-space-3) var(--cp-space-4) !important;
	margin-bottom: var(--cp-space-5) !important;
}
.cp-fin-banner-body strong {
	background: var(--cp-brand-yellow) !important;
	color: var(--cp-brand-black) !important;
	padding: 2px 8px !important;
	border-radius: var(--cp-radius-pill) !important;
	font-size: var(--cp-text-xs) !important;
	font-weight: var(--cp-weight-bold) !important;
	margin-right: var(--cp-space-2) !important;
}
.cp-fin-banner-body span {
	color: var(--cp-text-secondary) !important;
	font-size: var(--cp-text-sm) !important;
}

/* ── KPI strip ─────────────────────────────────────────────────────────── */
.cp-fin-kpis {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
	gap: var(--cp-space-3) !important;
	margin-bottom: var(--cp-space-5) !important;
}
.cp-fin-kpi {
	background: var(--cp-surface) !important;
	border: 1px solid var(--cp-border) !important;
	border-radius: var(--cp-radius-lg) !important;
	padding: var(--cp-space-4) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: var(--cp-space-1) !important;
}
.cp-fin-kpi-lbl {
	font-size: var(--cp-text-xs) !important;
	color: var(--cp-text-tertiary) !important;
	font-weight: var(--cp-weight-medium) !important;
	text-transform: uppercase !important;
	letter-spacing: .04em !important;
}
.cp-fin-kpi-val {
	font-size: var(--cp-text-2xl) !important;
	font-weight: var(--cp-weight-bold) !important;
	color: var(--cp-text-primary) !important;
	font-variant-numeric: tabular-nums !important;
}
.cp-fin-kpi-sub {
	font-size: var(--cp-text-xs) !important;
	color: var(--cp-text-tertiary) !important;
}
.cp-fin-kpi-danger .cp-fin-kpi-val {
	color: var(--cp-danger-fg) !important;
}

/* ── Toolbar ───────────────────────────────────────────────────────────── */
.cp-fin-toolbar {
	display: flex !important;
	align-items: center !important;
	gap: var(--cp-space-3) !important;
	margin-bottom: var(--cp-space-4) !important;
}

/* ── Loading skeleton ──────────────────────────────────────────────────── */
.cp-fin-loading {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
	gap: var(--cp-space-3) !important;
}
.cp-fin-skel-card {
	background: var(--cp-surface-muted) !important;
	border-radius: var(--cp-radius-lg) !important;
	height: 120px !important;
	animation: cp-fin-skel-pulse 1.4s ease-in-out infinite !important;
}
@keyframes cp-fin-skel-pulse {
	0%, 100% { opacity: .5; }
	50% { opacity: .8; }
}

/* ── Error inline ──────────────────────────────────────────────────────── */
.cp-fin-error {
	background: var(--cp-danger-bg) !important;
	color: var(--cp-danger-fg) !important;
	border: 1px solid var(--cp-danger-border) !important;
	border-radius: var(--cp-radius-default) !important;
	padding: var(--cp-space-2) var(--cp-space-3) !important;
	margin-bottom: var(--cp-space-3) !important;
	font-size: var(--cp-text-sm) !important;
}

/* ── Cards de contrato (rendered via CP.dataTable cardRender) ──────────── */
.cp-fin-card {
	display: block !important;
	background: var(--cp-surface) !important;
	border: 1px solid var(--cp-border) !important;
	border-radius: var(--cp-radius-lg) !important;
	padding: var(--cp-space-4) !important;
	text-decoration: none !important;
	color: inherit !important;
	transition: border-color var(--cp-trans), box-shadow var(--cp-trans) !important;
}
.cp-fin-card:hover, .cp-fin-card:focus {
	border-color: var(--cp-brand-yellow) !important;
	box-shadow: var(--cp-shadow-sm) !important;
	text-decoration: none !important;
	color: inherit !important;
}
.cp-fin-card-head {
	display: flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	gap: var(--cp-space-2) !important;
	margin-bottom: var(--cp-space-2) !important;
}
.cp-fin-card-title {
	font-size: var(--cp-text-md) !important;
	font-weight: var(--cp-weight-bold) !important;
	color: var(--cp-text-primary) !important;
	margin: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}
.cp-fin-card-meta {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: var(--cp-space-2) !important;
	font-size: var(--cp-text-sm) !important;
	color: var(--cp-text-secondary) !important;
	margin-bottom: var(--cp-space-3) !important;
}
.cp-fin-card-valor {
	font-size: var(--cp-text-lg) !important;
	font-weight: var(--cp-weight-bold) !important;
	color: var(--cp-text-primary) !important;
	font-variant-numeric: tabular-nums !important;
	margin-bottom: var(--cp-space-2) !important;
}
.cp-fin-card-progress {
	height: 6px !important;
	background: var(--cp-surface-muted) !important;
	border-radius: var(--cp-radius-pill) !important;
	overflow: hidden !important;
	margin-bottom: var(--cp-space-2) !important;
}
.cp-fin-card-progress-fill {
	height: 100% !important;
	background: var(--cp-success-fg) !important;
	transition: width var(--cp-trans-slow) !important;
}
.cp-fin-card-foot {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	font-size: var(--cp-text-xs) !important;
	color: var(--cp-text-tertiary) !important;
}

/* ── Detalhe: tabela de parcelas dentro do CpdsSectionBlock ────────────── */
.cp-fin-parcelas-table {
	width: 100% !important;
	border-collapse: collapse !important;
	font-size: var(--cp-text-sm) !important;
}
.cp-fin-parcelas-table th,
.cp-fin-parcelas-table td {
	padding: var(--cp-space-2) var(--cp-space-3) !important;
	text-align: left !important;
	border-bottom: 1px solid var(--cp-border) !important;
}
.cp-fin-parcelas-table th {
	font-weight: var(--cp-weight-medium) !important;
	color: var(--cp-text-tertiary) !important;
	font-size: var(--cp-text-xs) !important;
	text-transform: uppercase !important;
	letter-spacing: .04em !important;
}
.cp-fin-parcelas-table tbody tr:last-child td {
	border-bottom: none !important;
}
.cp-fin-parcelas-table td.cp-fin-num {
	font-variant-numeric: tabular-nums !important;
	text-align: right !important;
}

/* Recebimentos list */
.cp-fin-recebimento-row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: var(--cp-space-2) 0 !important;
	border-bottom: 1px solid var(--cp-border) !important;
	font-size: var(--cp-text-sm) !important;
	gap: var(--cp-space-3) !important;
}
.cp-fin-recebimento-row:last-child {
	border-bottom: none !important;
}
.cp-fin-recebimento-valor {
	font-weight: var(--cp-weight-bold) !important;
	color: var(--cp-success-fg) !important;
	font-variant-numeric: tabular-nums !important;
}

/* ── Forms (modais) — layout só ────────────────────────────────────────── */
.cp-fin-field {
	display: flex !important;
	flex-direction: column !important;
	gap: var(--cp-space-1) !important;
}
.cp-fin-field > span {
	font-size: var(--cp-text-sm) !important;
	color: var(--cp-text-secondary) !important;
	font-weight: var(--cp-weight-medium) !important;
}
.cp-fin-field-optional {
	color: var(--cp-text-tertiary) !important;
	font-weight: var(--cp-weight-regular) !important;
}
.cp-fin-grid-2 {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: var(--cp-space-3) !important;
}
@media (max-width: 480px) {
	.cp-fin-grid-2 {
		grid-template-columns: 1fr !important;
	}
}

/* ── Empty / loading inline ────────────────────────────────────────────── */
.cp-fin-empty-inline,
.cp-fin-loading-inline {
	color: var(--cp-text-tertiary) !important;
	font-size: var(--cp-text-sm) !important;
	font-style: italic !important;
	padding: var(--cp-space-3) 0 !important;
	margin: 0 !important;
}

/* ── LGPD note ─────────────────────────────────────────────────────────── */
.cp-fin-lgpd {
	margin-top: var(--cp-space-6) !important;
	padding: var(--cp-space-3) var(--cp-space-4) !important;
	background: var(--cp-surface-subtle) !important;
	border-left: 3px solid var(--cp-info-border) !important;
	font-size: var(--cp-text-xs) !important;
	color: var(--cp-text-secondary) !important;
	border-radius: 0 var(--cp-radius-default) var(--cp-radius-default) 0 !important;
}
.cp-fin-lgpd strong {
	color: var(--cp-text-primary) !important;
}
