/**
 * Compact operational expense report (invoice-style table).
 * Scoped by modal/sheet IDs so styles apply even if modal is outside app shell.
 */

#stm-cash-ops-report-modal .modal-content {
	border: 0;
	border-radius: 0.75rem;
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.18);
}

#stm-cash-ops-report-modal .modal-header,
#stm-cash-ops-report-modal .modal-footer {
	border-color: #e8ece9;
}

#stm-cash-ops-report-sheet.stm-ops-doc,
.stm-ops-doc#stm-cash-ops-report-sheet {
	--ops-ink: #111827;
	--ops-muted: #6b7280;
	--ops-line: #e5e7eb;
	--ops-head: #1f473a;
	--ops-debit: #047857;
	--ops-credit: #b91c1c;
	--ops-zebra: #f8faf9;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0.35rem 0.15rem 0.25rem;
	color: var(--ops-ink);
	background: #fff;
	font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	line-height: 1.4;
}

#stm-cash-ops-report-sheet .stm-ops-doc__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem 1.25rem;
	margin: 0 0 0.65rem;
	padding: 0 0 0.65rem;
	border-bottom: 2px solid var(--ops-head);
}

#stm-cash-ops-report-sheet .stm-ops-doc__brand-block {
	min-width: 0;
	flex: 1 1 14rem;
}

#stm-cash-ops-report-sheet .stm-ops-doc__brand {
	margin: 0 0 0.15rem;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ops-head);
}

#stm-cash-ops-report-sheet .stm-ops-doc__title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.25;
	color: var(--ops-ink);
}

#stm-cash-ops-report-sheet .stm-ops-doc__period {
	margin: 0.2rem 0 0;
	font-size: 12px;
	font-weight: 600;
	color: var(--ops-muted);
}

#stm-cash-ops-report-sheet .stm-ops-doc__totals {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	justify-content: flex-end;
}

#stm-cash-ops-report-sheet .stm-ops-doc__total {
	min-width: 6.5rem;
	padding: 0.4rem 0.55rem;
	border: 1px solid var(--ops-line);
	border-radius: 0.4rem;
	background: #f9fafb;
	text-align: right;
}

#stm-cash-ops-report-sheet .stm-ops-doc__total span {
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ops-muted);
}

#stm-cash-ops-report-sheet .stm-ops-doc__total strong {
	display: block;
	margin-top: 0.1rem;
	font-size: 13px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--ops-ink);
}

#stm-cash-ops-report-sheet .stm-ops-doc__total.stm-cash-ops-col-debit strong {
	color: var(--ops-debit);
}

#stm-cash-ops-report-sheet .stm-ops-doc__total.stm-cash-ops-col-credit strong {
	color: var(--ops-credit);
}

#stm-cash-ops-report-sheet .stm-ops-doc__meta {
	margin: 0 0 0.55rem;
	font-size: 11px;
	font-weight: 600;
	color: var(--ops-muted);
}

#stm-cash-ops-report-sheet .stm-ops-doc__table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	table-layout: auto;
	font-size: 12px;
}

#stm-cash-ops-report-sheet .stm-ops-doc__table th,
#stm-cash-ops-report-sheet .stm-ops-doc__table td {
	padding: 0.38rem 0.45rem;
	border-bottom: 1px solid var(--ops-line);
	vertical-align: top;
	text-align: left;
}

#stm-cash-ops-report-sheet .stm-ops-doc__table thead th {
	background: var(--ops-head);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-bottom: none;
	white-space: nowrap;
}

#stm-cash-ops-report-sheet .stm-ops-doc__table tbody tr:nth-child(even) td {
	background: var(--ops-zebra);
}

#stm-cash-ops-report-sheet .stm-ops-doc__col-no {
	width: 2.25rem;
	color: var(--ops-muted);
	font-variant-numeric: tabular-nums;
}

#stm-cash-ops-report-sheet .stm-ops-doc__col-date {
	width: 6.5rem;
	white-space: nowrap;
	font-weight: 600;
}

#stm-cash-ops-report-sheet .stm-ops-doc__num {
	width: 1%;
	min-width: 5.5rem;
	text-align: right !important;
	white-space: nowrap;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

#stm-cash-ops-report-sheet .stm-ops-doc__table .stm-cash-ops-col-debit.stm-ops-doc__num {
	color: var(--ops-debit);
}

#stm-cash-ops-report-sheet .stm-ops-doc__table .stm-cash-ops-col-credit.stm-ops-doc__num {
	color: var(--ops-credit);
}

#stm-cash-ops-report-sheet .stm-ops-doc__table tfoot td {
	border-bottom: none;
	border-top: 2px solid var(--ops-head);
	background: #eef5f1;
	font-weight: 700;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

#stm-cash-ops-report-sheet .stm-ops-doc__total-label {
	text-align: right !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 11px;
	color: var(--ops-head);
}

#stm-cash-ops-report-sheet .stm-ops-doc__foot {
	margin: 0.55rem 0 0;
	font-size: 10px;
	font-weight: 600;
	color: var(--ops-muted);
	text-align: right;
}

#stm-cash-ops-report-sheet.stm-ops-doc--hide-debit .stm-cash-ops-col-debit,
#stm-cash-ops-report-sheet.stm-cash-ops-sheet--hide-debit .stm-cash-ops-col-debit,
#stm-cash-ops-report-sheet.stm-ops-doc--hide-credit .stm-cash-ops-col-credit,
#stm-cash-ops-report-sheet.stm-cash-ops-sheet--hide-credit .stm-cash-ops-col-credit {
	display: none !important;
}

#stm-cash-ops-report-sheet svg {
	max-width: 28px !important;
	max-height: 28px !important;
	width: 28px !important;
	height: 28px !important;
}

@media print {
	@page {
		size: A4;
		margin: 12mm;
	}

	body.stm-cash-ops-printing * {
		visibility: hidden !important;
	}

	body.stm-cash-ops-printing #stm-cash-ops-report-sheet,
	body.stm-cash-ops-printing #stm-cash-ops-report-sheet * {
		visibility: visible !important;
	}

	body.stm-cash-ops-printing .stm-cash-ops-no-print {
		display: none !important;
	}

	body.stm-cash-ops-printing #stm-cash-ops-report-sheet {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		padding: 0 !important;
		background: #fff !important;
	}

	body.stm-cash-ops-printing .modal,
	body.stm-cash-ops-printing .modal-dialog,
	body.stm-cash-ops-printing .modal-content,
	body.stm-cash-ops-printing .modal-body {
		position: static !important;
		transform: none !important;
		width: auto !important;
		max-width: none !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		box-shadow: none !important;
		border: none !important;
		background: transparent !important;
		padding: 0 !important;
		margin: 0 !important;
	}
}
