:root {
	--nch-bg: #f6f7f9;
	--nch-surface: #ffffff;
	--nch-ink: #1d2430;
	--nch-muted: #697386;
	--nch-line: #d9dee7;
	--nch-blue: #175cd3;
	--nch-green: #16803c;
	--nch-yellow: #9a6700;
	--nch-shadow: 0 16px 40px rgba(29, 36, 48, 0.08);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Central reports workspace */
.nch-reports-main {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.nch-reports-topbar {
	margin-bottom: 0;
}

.nch-report-category-tabs {
	display: flex;
	gap: 6px;
	overflow-x: auto;
	padding: 3px 0 8px;
	scrollbar-width: thin;
}

.nch-report-category-tabs a {
	flex: 0 0 auto;
	padding: 9px 12px;
	border: 1px solid #d9e0e9;
	border-radius: 6px;
	background: #fff;
	color: #45546a;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.nch-report-category-tabs a:hover,
.nch-report-category-tabs a.is-active {
	border-color: #1f64d7;
	background: #edf4ff;
	color: #174ea6;
}

.nch-report-catalog-tools {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 16px;
	padding: 16px;
	border: 1px solid #dce3ec;
	border-radius: 8px;
	background: #fff;
}

.nch-report-catalog-tools label {
	display: grid;
	gap: 7px;
	width: min(620px, 100%);
}

.nch-report-catalog-tools label span,
.nch-report-filter-bar label > span {
	color: #667389;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-report-catalog-tools > span {
	color: #667389;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

.nch-report-catalog {
	display: grid;
	gap: 24px;
}

.nch-report-category {
	display: grid;
	gap: 14px;
}

.nch-report-category > header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 10px;
	border-bottom: 1px solid #dce3ec;
}

.nch-report-category > header h2 {
	margin: 3px 0 0;
	font-size: 20px;
}

.nch-report-category > header > p {
	max-width: 660px;
	margin: 0;
	color: #667389;
	font-size: 14px;
	text-align: right;
}

.nch-report-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.nch-report-card {
	display: flex;
	min-height: 138px;
	flex-direction: column;
	align-items: flex-start;
	padding: 16px;
	border: 1px solid #dce3ec;
	border-radius: 8px;
	background: #fff;
	color: #1b2433;
	text-decoration: none;
	transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.nch-report-card:hover {
	border-color: #8db2ee;
	box-shadow: 0 8px 20px rgba(32, 63, 107, 0.09);
	transform: translateY(-1px);
}

.nch-report-card > span {
	font-size: 15px;
	font-weight: 800;
}

.nch-report-card p {
	margin: 7px 0 14px;
	color: #667389;
	font-size: 13px;
	line-height: 1.45;
}

.nch-report-card small {
	margin-top: auto;
	color: #1f64d7;
	font-weight: 800;
}

.nch-report-card small b {
	margin-left: 4px;
}

.nch-report-catalog-empty {
	padding: 42px 20px;
	border: 1px dashed #cbd5e2;
	border-radius: 8px;
	color: #667389;
	text-align: center;
}

.nch-report-filter-bar {
	display: grid;
	grid-template-columns: minmax(150px, .75fr) minmax(150px, .75fr) minmax(210px, 1fr) minmax(250px, 1.4fr) auto;
	align-items: end;
	gap: 12px;
	padding: 15px;
	border: 1px solid #dce3ec;
	border-radius: 8px;
	background: #fff;
}

.nch-report-filter-bar label {
	display: grid;
	min-width: 0;
	gap: 7px;
}

.nch-report-filter-actions {
	display: flex;
	gap: 8px;
}

.nch-report-filter-actions .nch-button {
	height: 44px;
}

.nch-report-summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.nch-report-summary > div {
	min-width: 0;
	padding: 15px;
	border: 1px solid #dce3ec;
	border-top: 3px solid #1f64d7;
	border-radius: 7px;
	background: #fff;
}

.nch-report-summary span {
	display: block;
	margin-bottom: 7px;
	color: #667389;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-report-summary strong {
	display: block;
	overflow-wrap: anywhere;
	font-size: 21px;
}

.nch-report-note {
	margin: 0;
	padding: 11px 13px;
	border-left: 3px solid #2f8b57;
	background: #eef8f2;
	color: #365b47;
	font-size: 13px;
}

.nch-report-results {
	min-width: 0;
}

.nch-central-report-table {
	min-width: max-content;
}

.nch-central-report-table th,
.nch-central-report-table td {
	max-width: 360px;
	vertical-align: top;
	white-space: normal;
}

.nch-central-report-table td {
	font-size: 13px;
	overflow-wrap: anywhere;
}

.nch-central-report-table td.nch-number,
.nch-central-report-table th.nch-number {
	white-space: nowrap;
}

.nch-report-empty-state {
	display: grid;
	gap: 5px;
	padding: 36px 15px;
	color: #667389;
	text-align: center;
}

.nch-report-empty-state strong {
	color: #283548;
	font-size: 15px;
}

@media (max-width: 1180px) {
	.nch-report-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nch-report-filter-bar {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nch-report-search-field,
	.nch-report-filter-actions {
		grid-column: span 2;
	}

	.nch-report-filter-actions {
		justify-content: flex-end;
	}

	.nch-report-summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.nch-reports-main {
		gap: 14px;
	}

	.nch-report-catalog-tools,
	.nch-report-category > header {
		align-items: stretch;
		flex-direction: column;
	}

	.nch-report-category > header > p {
		text-align: left;
	}

	.nch-report-card-grid,
	.nch-report-filter-bar,
	.nch-report-summary {
		grid-template-columns: minmax(0, 1fr);
	}

	.nch-report-search-field,
	.nch-report-filter-actions {
		grid-column: auto;
	}

	.nch-report-filter-actions {
		justify-content: stretch;
	}

	.nch-report-filter-actions .nch-button {
		flex: 1;
	}

	.nch-report-card {
		min-height: 122px;
	}

	.nch-report-summary > div {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
	}

	.nch-report-summary span {
		margin: 0;
	}

	.nch-report-summary strong {
		font-size: 18px;
		text-align: right;
	}
}

* {
	box-sizing: border-box;
}

[hidden] {
	display: none !important;
}

.nch-dialog {
	width: min(620px, calc(100vw - 32px));
	max-height: calc(100vh - 48px);
	padding: 24px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-surface);
	box-shadow: 0 24px 64px rgba(29, 36, 48, 0.22);
}

.nch-dialog::backdrop {
	background: rgba(16, 24, 40, 0.42);
}

.nch-production-dialog {
	width: min(760px, calc(100vw - 32px));
	max-height: calc(100dvh - 32px);
	padding: 0;
	overflow: hidden;
}

.nch-production-completion-form {
	max-height: calc(100dvh - 32px);
	padding: 24px;
	overflow-y: auto;
}

.nch-production-dialog .nch-section-heading {
	align-items: center;
}

.nch-production-dialog .nch-help-text {
	max-width: 600px;
}

.nch-production-quantities {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nch-completion-material-lines {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.nch-production-cost-line {
	min-width: 0;
	grid-template-columns: minmax(120px, 0.8fr) minmax(180px, 1.2fr) minmax(110px, 0.55fr) 42px;
}

.nch-production-dialog .nch-submit-bar {
	margin-top: 4px;
}

.nch-factory-queue-table {
	display: block;
	min-width: 0;
}

.nch-factory-queue-table thead {
	display: none;
}

.nch-factory-queue-table tbody {
	display: block;
}

.nch-factory-queue-table tr {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px 18px;
	padding: 16px 10px;
	border-bottom: 1px solid var(--nch-line);
}

.nch-factory-queue-table td {
	display: grid;
	min-width: 0;
	gap: 5px;
	padding: 0;
	border: 0;
	vertical-align: top;
	white-space: normal;
}

.nch-factory-queue-table td:last-child {
	grid-column: span 2;
}

.nch-factory-queue-table td::before {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-factory-queue-table td:nth-child(1)::before { content: "Work order"; }
.nch-factory-queue-table td:nth-child(2)::before { content: "Location"; }
.nch-factory-queue-table td:nth-child(3)::before { content: "Finished goods"; }
.nch-factory-queue-table td:nth-child(4)::before { content: "Output progress"; }
.nch-factory-queue-table td:nth-child(5)::before { content: "Material stage"; }
.nch-factory-queue-table td:nth-child(6)::before { content: "Status"; }
.nch-factory-queue-table td:nth-child(7)::before { content: "Actions"; }

.nch-factory-queue-table td > strong,
.nch-factory-queue-table td > small {
	display: block;
	overflow-wrap: anywhere;
}

.nch-factory-queue-table td > small {
	margin-top: 5px;
	color: var(--nch-muted);
	font-size: 11px;
	line-height: 1.4;
}

.nch-factory-queue-actions {
	flex-wrap: wrap;
}

.nch-finance-modal.nch-work-order-detail-modal {
	width: min(940px, calc(100vw - 32px));
}

.nch-work-order-detail-modal .nch-finance-modal-form {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
}

.nch-work-order-detail-modal .nch-finance-modal-header small,
.nch-dispatch-modal .nch-finance-modal-header small {
	display: block;
	margin-top: 5px;
	color: var(--nch-muted);
	font-size: 12px;
	overflow-wrap: anywhere;
}

.nch-work-order-detail-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.nch-work-order-detail-head strong {
	font-size: 13px;
}

.nch-work-order-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	overflow: hidden;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
}

.nch-work-order-kpis > div {
	min-width: 0;
	padding: 14px;
	border-right: 1px solid var(--nch-line);
}

.nch-work-order-kpis > div:last-child {
	border-right: 0;
}

.nch-work-order-kpis span,
.nch-work-order-kpis strong,
.nch-work-order-meta span,
.nch-work-order-meta strong {
	display: block;
	overflow-wrap: anywhere;
}

.nch-work-order-kpis span,
.nch-work-order-meta span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-work-order-kpis strong {
	margin-top: 6px;
	font-size: 19px;
	font-variant-numeric: tabular-nums;
}

.nch-work-order-meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 14px;
}

.nch-work-order-meta > div {
	min-width: 0;
	padding: 12px 14px;
	border-left: 3px solid #b7c7df;
	background: #f8fafc;
}

.nch-work-order-meta strong {
	margin-top: 5px;
	font-size: 13px;
}

.nch-work-order-materials {
	margin-top: 18px;
	padding-top: 2px;
}

.nch-work-order-materials .nch-section-heading > span {
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
}

.nch-work-order-materials .nch-table {
	min-width: 720px;
}

.nch-work-order-materials td strong,
.nch-work-order-materials td small {
	display: block;
}

.nch-work-order-materials td small {
	margin-top: 3px;
	color: var(--nch-muted);
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	overflow-x: hidden;
	background: var(--nch-bg);
	color: var(--nch-ink);
}

a {
	color: inherit;
	text-decoration: none;
}

.nch-app-shell {
	display: grid;
	min-height: 100vh;
	grid-template-columns: 284px minmax(0, 1fr);
}

.nch-sidebar {
	position: sticky;
	top: 0;
	display: flex;
	height: 100vh;
	flex-direction: column;
	gap: 20px;
	padding: 24px 18px;
	overflow-y: auto;
	border-right: 1px solid var(--nch-line);
	background: #101828;
	color: #ffffff;
}

.nch-brand {
	display: flex;
	align-items: center;
	gap: 12px;
}

.nch-brand-mark {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border-radius: 8px;
	background: #ffffff;
	color: #101828;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0;
}

.nch-brand strong,
.nch-brand small {
	display: block;
}

.nch-brand strong {
	font-size: 17px;
	letter-spacing: 0;
}

.nch-brand small {
	margin-top: 2px;
	color: #b8c0cc;
	font-size: 12px;
}

.nch-nav {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.nch-nav a {
	padding: 8px 10px;
	border-radius: 6px;
	color: #d7dee8;
	font-size: 13px;
	font-weight: 600;
}

.nch-nav a:hover,
.nch-nav a.is-active {
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff;
}

.nch-nav-category {
	min-width: 0;
	padding: 4px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.nch-nav-category:last-child {
	border-bottom: 0;
}

.nch-nav-category summary {
	position: relative;
	padding: 8px 26px 8px 10px;
	color: #8f9bad;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0;
	list-style: none;
	text-transform: uppercase;
	cursor: pointer;
	user-select: none;
}

.nch-nav-category summary::-webkit-details-marker {
	display: none;
}

.nch-nav-category summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 10px;
	color: #98a2b3;
	font-size: 14px;
	transform: translateY(-50%);
}

.nch-nav-category[open] summary::after {
	content: "\2212";
}

.nch-nav-category summary:hover {
	color: #d7dee8;
}

.nch-nav-category-links {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 0 0 5px;
}

.nch-main {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 24px;
	padding: 28px;
}

.nch-topbar,
.nch-section-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.nch-eyebrow {
	margin: 0 0 5px;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

h1,
h2,
h3 {
	margin: 0;
	letter-spacing: 0;
}

h1 {
	font-size: 30px;
	line-height: 1.15;
}

h2 {
	font-size: 22px;
	line-height: 1.2;
}

h3 {
	font-size: 16px;
	line-height: 1.3;
}

.nch-user-strip {
	display: flex;
	align-items: center;
	gap: 12px;
}

.nch-location-select {
	width: 260px;
	max-width: 40vw;
	height: 40px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-surface);
	color: var(--nch-ink);
	font-size: 14px;
}

.nch-user {
	min-width: 170px;
	padding: 8px 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-surface);
}

.nch-user strong,
.nch-user span {
	display: block;
}

.nch-user strong {
	font-size: 14px;
}

.nch-user span {
	margin-top: 2px;
	color: var(--nch-muted);
	font-size: 12px;
}

.nch-kpi-grid,
.nch-module-grid,
.nch-location-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 12px;
}

.nch-kpi,
.nch-panel,
.nch-module,
.nch-location {
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-surface);
	box-shadow: var(--nch-shadow);
}

.nch-kpi {
	padding: 18px;
}

.nch-kpi span {
	display: block;
	color: var(--nch-muted);
	font-size: 13px;
	font-weight: 650;
}

.nch-kpi strong {
	display: block;
	margin-top: 10px;
	font-size: 28px;
	line-height: 1;
}

.nch-section {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.nch-action-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
}

.nch-action-row.is-tight {
	gap: 6px;
}

.nch-button {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	padding: 0 13px;
	border-radius: 8px;
	background: var(--nch-blue);
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
}

.nch-button:disabled {
	cursor: not-allowed;
	opacity: 0.45;
	box-shadow: none;
	filter: grayscale(0.2);
}

.nch-button.is-small {
	min-height: 32px;
	padding: 7px 10px;
	font-size: 12px;
}

.nch-button.is-advanced {
	background: #344054;
}

.nch-finance-page {
	gap: 18px;
}

.nch-finance-topbar {
	align-items: center;
}

.nch-page-subtitle,
.nch-panel-note {
	margin: 6px 0 0;
	color: var(--nch-muted);
	font-size: 13px;
	line-height: 1.45;
}

.nch-finance-actions {
	max-width: 100%;
	flex: 0 1 auto;
}

.nch-finance-actions .nch-button {
	white-space: nowrap;
}

.nch-filter-bar.nch-finance-period {
	align-items: end;
	width: 100%;
	max-width: 1120px;
	grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr) auto;
	padding: 14px 16px;
}

.nch-finance-period .nch-button {
	height: 40px;
	min-height: 40px;
	margin-left: 0;
}

.nch-finance-tabs {
	position: static;
	overflow-x: auto;
	flex-wrap: nowrap;
	padding: 6px;
}

.nch-finance-tabs button {
	white-space: nowrap;
}

.nch-finance-kpis .nch-kpi {
	min-width: 0;
}

.nch-finance-kpis .nch-kpi strong {
	overflow: hidden;
	text-overflow: ellipsis;
}

.nch-finance-kpis .nch-kpi small {
	display: block;
	margin-top: 7px;
	color: var(--nch-muted);
	font-size: 12px;
}

.nch-intelligence-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.nch-intelligence-kpis .nch-kpi {
	min-width: 0;
}

.nch-intelligence-kpis .nch-kpi strong {
	overflow: hidden;
	font-size: 26px;
	text-overflow: ellipsis;
}

.nch-intelligence-kpis .nch-kpi small {
	display: block;
	margin-top: 8px;
	color: var(--nch-muted);
	font-size: 12px;
}

.nch-delta.is-positive,
.nch-number.is-positive {
	color: #027a48 !important;
}

.nch-delta.is-negative,
.nch-number.is-negative {
	color: #b42318 !important;
}

.nch-intelligence-primary,
.nch-intelligence-secondary {
	display: grid;
	gap: 12px;
}

.nch-intelligence-primary {
	grid-template-columns: minmax(0, 1.6fr) minmax(300px, .7fr);
}

.nch-intelligence-secondary {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nch-trend-panel,
.nch-intelligence-panel {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 16px;
}

.nch-chart-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 700;
}

.nch-chart-legend span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.nch-chart-legend i {
	width: 9px;
	height: 9px;
	border-radius: 2px;
	background: var(--nch-blue);
}

.nch-chart-legend i.is-expense {
	background: #dc6803;
}

.nch-finance-column-chart {
	display: flex;
	min-height: 250px;
	align-items: stretch;
	gap: 10px;
	overflow-x: auto;
	padding: 8px 4px 0;
	border-bottom: 1px solid var(--nch-line);
}

.nch-finance-month {
	display: grid;
	min-width: 82px;
	flex: 1 0 82px;
	grid-template-rows: 180px auto auto;
	gap: 6px;
	text-align: center;
}

.nch-finance-bars {
	display: flex;
	height: 180px;
	align-items: flex-end;
	justify-content: center;
	gap: 5px;
	padding: 0 10px;
	border-bottom: 1px solid #cfd6e1;
}

.nch-finance-bars > span {
	width: min(24px, 40%);
	min-height: 2px;
	border-radius: 4px 4px 0 0;
	background: var(--nch-blue);
}

.nch-finance-bars > span.is-expense {
	background: #dc6803;
}

.nch-finance-month > strong {
	font-size: 12px;
}

.nch-finance-month > small {
	color: var(--nch-muted);
	font-size: 10px;
	line-height: 1.3;
}

.nch-insight-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.nch-insight {
	display: block;
	padding: 11px 12px;
	border-left: 3px solid #98a2b3;
	border-radius: 0 6px 6px 0;
	background: #f8fafc;
}

.nch-insight.is-positive {
	border-left-color: #12b76a;
	background: #f6fef9;
}

.nch-insight.is-warning {
	border-left-color: #f79009;
	background: #fffcf5;
}

.nch-insight.is-critical {
	border-left-color: #f04438;
	background: #fff6f5;
}

.nch-insight strong,
.nch-insight span {
	display: block;
}

.nch-insight strong {
	font-size: 13px;
}

.nch-insight span {
	margin-top: 3px;
	color: var(--nch-muted);
	font-size: 12px;
	line-height: 1.4;
}

.nch-health-rows,
.nch-driver-list {
	display: flex;
	flex-direction: column;
	margin-top: 14px;
}

.nch-health-rows > a,
.nch-health-rows > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 12px 0;
	border-bottom: 1px solid var(--nch-line);
}

.nch-health-rows > :last-child {
	border-bottom: 0;
}

.nch-health-rows span,
.nch-health-rows small {
	display: block;
}

.nch-health-rows span {
	font-size: 13px;
	font-weight: 700;
}

.nch-health-rows small {
	margin-top: 3px;
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 500;
}

.nch-health-rows strong {
	white-space: nowrap;
}

.nch-health-rows strong.is-warning {
	color: #b54708;
}

.nch-driver-list {
	gap: 12px;
}

.nch-driver-list > div > div:first-child {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 13px;
}

.nch-driver-track {
	height: 7px;
	margin-top: 6px;
	overflow: hidden;
	border-radius: 999px;
	background: #edf1f6;
}

.nch-driver-track span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #dc6803;
}

.nch-driver-list small {
	display: block;
	margin-top: 4px;
	color: var(--nch-muted);
	font-size: 10px;
}

.nch-location-intelligence {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.nch-finance-shortcuts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.nch-finance-shortcut {
	min-width: 0;
	padding: 18px;
	color: var(--nch-ink);
}

.nch-finance-shortcut:hover {
	border-color: var(--nch-blue);
	color: var(--nch-ink);
}

.nch-finance-shortcut span {
	display: block;
	margin-top: 8px;
	color: var(--nch-muted);
	font-size: 13px;
	line-height: 1.45;
}

.nch-profit-loss {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.nch-finance-report {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.nch-pl-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-surface);
	box-shadow: var(--nch-shadow);
	overflow: hidden;
}

.nch-pl-summary > div {
	min-width: 0;
	padding: 18px 20px;
	border-right: 1px solid var(--nch-line);
}

.nch-pl-summary > div:last-child {
	border-right: 0;
}

.nch-pl-summary span,
.nch-pl-summary strong {
	display: block;
}

.nch-pl-summary span {
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-pl-summary strong {
	margin-top: 8px;
	font-size: 24px;
	line-height: 1.1;
}

.nch-pl-summary .is-positive strong,
.nch-profit-net.is-positive strong {
	color: #027a48;
}

.nch-pl-summary .is-negative strong,
.nch-profit-net.is-negative strong {
	color: #b42318;
}

.nch-profit-section {
	display: flex;
	min-width: 0;
	flex-direction: column;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-surface);
	box-shadow: var(--nch-shadow);
	overflow: hidden;
}

.nch-profit-section > header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 18px;
	border-bottom: 1px solid var(--nch-line);
	background: #f8fafc;
}

.nch-profit-section > header h3 {
	margin: 0;
}

.nch-profit-section > header > strong {
	font-size: 17px;
}

.nch-profit-rows {
	min-height: 120px;
	padding: 4px 18px;
}

.nch-profit-rows > div,
.nch-profit-section > footer,
.nch-profit-net {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.nch-profit-rows > div {
	padding: 12px 0;
	border-bottom: 1px solid var(--nch-line);
	font-size: 14px;
}

.nch-profit-rows > div:last-child {
	border-bottom: 0;
}

.nch-profit-rows p {
	margin: 18px 0;
	color: var(--nch-muted);
	font-size: 13px;
}

.nch-profit-section > footer {
	margin-top: auto;
	padding: 14px 18px;
	border-top: 1px solid var(--nch-line);
	background: #f8fafc;
	font-weight: 800;
}

.nch-profit-net {
	grid-column: 1 / -1;
	padding: 16px 18px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f4f8ff;
	font-size: 18px;
	font-weight: 800;
}

.nch-journal-form {
	min-width: 0;
}

.nch-journal-lines {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 14px;
}

.nch-journal-line {
	display: grid;
	grid-template-columns: minmax(150px, 1.4fr) minmax(90px, .6fr) minmax(90px, .6fr) minmax(120px, 1fr) auto;
	gap: 8px;
	align-items: center;
}

.nch-icon-button {
	width: 38px;
	min-height: 38px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
	color: #b42318;
	font-size: 12px;
	font-weight: 700;
}

.nch-journal-totals {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 14px;
	padding: 10px 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
	font-size: 13px;
}

.nch-journal-totals span:last-child {
	margin-left: auto;
	font-weight: 800;
	color: #027a48;
}

.nch-journal-totals .is-error {
	color: #b42318 !important;
}

.nch-journal-totals .is-pending {
	color: var(--nch-muted) !important;
}

.nch-balance-status {
	display: inline-flex;
	min-height: 32px;
	align-items: center;
	padding: 0 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
}

.nch-balance-status.is-balanced {
	background: #ecfdf3;
	color: #027a48;
}

.nch-balance-status.is-unbalanced {
	background: #fef3f2;
	color: #b42318;
}

.nch-finance-modal {
	width: min(960px, calc(100vw - 32px));
	max-height: calc(100dvh - 32px);
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	overflow: hidden;
}

.nch-finance-modal.is-compact {
	width: min(560px, calc(100vw - 32px));
}

.nch-finance-modal::backdrop {
	background: rgba(16, 24, 40, 0.48);
}

.nch-finance-modal-form {
	max-height: calc(100dvh - 32px);
	margin: 0;
	gap: 0;
	overflow: hidden;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-surface);
	box-shadow: 0 24px 64px rgba(16, 24, 40, 0.28);
}

.nch-finance-modal-header,
.nch-finance-modal-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 18px 20px;
}

.nch-finance-modal-header {
	border-bottom: 1px solid var(--nch-line);
}

.nch-finance-modal-footer {
	justify-content: flex-end;
	border-top: 1px solid var(--nch-line);
	background: #f8fafc;
}

.nch-finance-modal-body {
	overflow-y: auto;
	padding: 20px;
}

.nch-account-form .nch-form-grid {
	grid-template-columns: minmax(0, 1fr);
}

.nch-account-form .nch-finance-modal-body {
	padding-bottom: 24px;
}

.nch-modal-close {
	width: 34px;
	height: 34px;
	min-height: 34px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
	color: var(--nch-ink);
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}

.nch-journal-meta {
	margin-bottom: 18px;
}

.nch-journal-column-head {
	display: grid;
	grid-template-columns: minmax(180px, 1.4fr) minmax(100px, .6fr) minmax(100px, .6fr) minmax(140px, 1fr) 38px;
	gap: 8px;
	padding: 0 0 7px;
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-add-line-button {
	min-height: 36px;
	margin-top: 10px;
	padding: 0 12px;
	border: 1px dashed #98a2b3;
	border-radius: 8px;
	background: #fff;
	color: #344054;
	font-size: 12px;
	font-weight: 800;
}

.nch-text-link {
	display: inline-flex;
	margin-top: 10px;
	color: var(--nch-blue);
	font-size: 13px;
	font-weight: 800;
}

.nch-work-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
	gap: 12px;
}

.nch-work-grid.is-single {
	grid-template-columns: minmax(0, 1fr);
}

.nch-tab-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 8px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fbfcfe;
}

.nch-tab-list button,
.nch-tab-list a {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	padding: 0 14px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: transparent;
	color: var(--nch-muted);
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}

.nch-tab-list button.is-active,
.nch-tab-list a.is-active {
	border-color: var(--nch-line);
	background: #ffffff;
	color: var(--nch-ink);
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.08);
}

.nch-tab-panel {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.nch-primary-form {
	width: 100%;
}

.nch-supplier-create-form {
	max-width: 720px;
}

.nch-form-group-label {
	margin: 4px 0 -2px;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.nch-field-hint {
	display: block;
	margin-top: 6px;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
}

.nch-toggle-row {
	display: flex;
	align-items: center;
	gap: 10px;
	width: fit-content;
	min-height: 50px;
	padding: 10px 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
	cursor: pointer;
}

.nch-toggle-row.is-compact {
	min-height: 44px;
	padding: 8px 10px;
}

.nch-toggle-row input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
}

.nch-toggle-control {
	position: relative;
	width: 36px;
	height: 20px;
	flex: 0 0 36px;
	border-radius: 999px;
	background: #98a2b3;
	transition: background 160ms ease;
}

.nch-toggle-control::after {
	position: absolute;
	top: 3px;
	left: 3px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #ffffff;
	content: "";
	transition: transform 160ms ease;
}

.nch-toggle-row input:checked + .nch-toggle-control {
	background: var(--nch-blue);
}

.nch-toggle-row input:checked + .nch-toggle-control::after {
	transform: translateX(16px);
}

.nch-toggle-row input:focus-visible + .nch-toggle-control {
	outline: 2px solid var(--nch-blue);
	outline-offset: 2px;
}

.nch-toggle-copy {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.nch-toggle-copy strong {
	font-size: 13px;
}

.nch-toggle-copy small {
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 600;
}

.nch-approval-rule-toggle {
	width: min(380px, 100%);
	min-height: 58px;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 12px 10px 14px;
	background: #ffffff;
}

.nch-approval-rule-toggle .nch-toggle-copy {
	min-width: 0;
	flex: 1 1 auto;
}

.nch-approval-rule-toggle .nch-toggle-copy small {
	line-height: 1.35;
}

.nch-approval-rule-toggle .nch-toggle-control {
	flex: 0 0 36px;
}

.nch-procurement-subsection {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.nch-supplier-admin-grid {
	display: grid;
	grid-template-columns: minmax(340px, 0.78fr) minmax(0, 1.22fr);
	gap: 14px;
	align-items: stretch;
}

.nch-supplier-admin-grid .nch-supplier-create-form {
	height: 100%;
	max-width: none;
}

.nch-supplier-admin-grid .nch-submit-bar.is-compact {
	margin-top: auto;
}

.nch-submit-bar.is-compact {
	position: static;
	z-index: auto;
	min-height: auto;
	justify-content: flex-end;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.nch-submit-bar.is-compact p {
	margin-right: auto;
	font-size: 13px;
	font-weight: 700;
}

.nch-panel {
	min-width: 0;
	padding: 18px;
}

.nch-panel h3 {
	margin-bottom: 14px;
}

.nch-table-wrap {
	overflow-x: auto;
}

.nch-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.nch-table th,
.nch-table td {
	padding: 12px 10px;
	border-bottom: 1px solid var(--nch-line);
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}

.nch-table th {
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-number {
	text-align: right;
}

.nch-steps {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding-left: 20px;
}

.nch-steps li strong,
.nch-steps li span {
	display: block;
}

.nch-steps li strong {
	font-size: 14px;
}

.nch-steps li span {
	margin-top: 2px;
	color: var(--nch-muted);
	font-size: 13px;
	line-height: 1.4;
}

.nch-module {
	display: flex;
	min-height: 148px;
	flex-direction: column;
	gap: 10px;
	padding: 16px;
}

.nch-module span {
	align-self: flex-start;
	padding: 4px 8px;
	border-radius: 999px;
	background: #eef4ff;
	color: var(--nch-blue);
	font-size: 12px;
	font-weight: 800;
}

.nch-module strong {
	font-size: 16px;
}

.nch-module small {
	color: var(--nch-muted);
	font-size: 13px;
	line-height: 1.45;
}

.nch-module.is-active {
	border-color: var(--nch-blue);
}

.nch-module.is-active span {
	background: #e7f8ed;
	color: var(--nch-green);
}

.nch-module.is-muted {
	opacity: 0.62;
}

.nch-location {
	padding: 15px;
}

.nch-location strong,
.nch-location span,
.nch-location small {
	display: block;
}

.nch-location strong {
	font-size: 14px;
}

.nch-location span {
	margin-top: 6px;
	color: var(--nch-muted);
	font-size: 13px;
}

.nch-location small {
	margin-top: 10px;
	color: var(--nch-green);
	font-size: 12px;
	font-weight: 800;
}

.nch-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.nch-form-section {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.nch-form-grid,
.nch-location-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(150px, 1fr));
	gap: 14px;
}

.nch-form-grid.is-two-column {
	grid-template-columns: repeat(2, minmax(180px, 1fr));
}

.nch-form label,
.nch-location-row label {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 7px;
}

.nch-form label span,
.nch-location-row label span {
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-form label > small {
	color: var(--nch-muted);
	font-size: 11px;
	line-height: 1.35;
}

.nch-input-action {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
}

.nch-input-action .nch-button {
	height: 42px;
	white-space: nowrap;
}

.nch-category-field {
	grid-column: span 2;
}

.nch-category-modal .nch-panel-note {
	margin: 12px 0 0;
	color: var(--nch-muted);
	font-size: 12px;
}

.nch-category-modal .nch-check-row {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	align-items: start;
	gap: 11px;
	margin: 16px 0 0;
	padding: 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
}

.nch-category-modal .nch-check-row input {
	width: 18px;
	min-height: 18px;
	margin: 1px 0 0;
}

.nch-category-modal .nch-check-row > span {
	display: grid;
	gap: 3px;
}

.nch-category-modal .nch-check-row strong,
.nch-category-modal .nch-check-row small {
	display: block;
}

.nch-category-mode {
	display: inline-grid;
	grid-template-columns: repeat(2, minmax(150px, 1fr));
	gap: 3px;
	margin: 0 0 18px;
	padding: 3px;
	border: 1px solid var(--nch-line);
	border-radius: 7px;
	background: #f2f4f7;
}

.nch-category-mode button {
	min-height: 38px;
	padding: 8px 14px;
	border: 0;
	border-radius: 5px;
	color: var(--nch-muted);
	background: transparent;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}

.nch-category-mode button.is-active {
	color: var(--nch-ink);
	background: #fff;
	box-shadow: 0 1px 3px rgba(16, 24, 40, 0.14);
}

.nch-invoice-category-field select {
	font-weight: 700;
}

.nch-item-classification small {
	display: block;
	margin-top: 4px;
	color: var(--nch-muted);
	font-size: 11px;
}

.nch-category-modal [hidden] {
	display: none !important;
}

.nch-form input,
.nch-form select,
.nch-form textarea {
	width: 100%;
	min-height: 42px;
	padding: 9px 11px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
	color: var(--nch-ink);
	font: inherit;
	font-size: 14px;
}

.nch-form input:focus,
.nch-form select:focus,
.nch-form textarea:focus {
	border-color: var(--nch-blue);
	box-shadow: 0 0 0 3px rgba(23, 92, 211, 0.12);
	outline: none;
}

.nch-form textarea {
	resize: vertical;
}

.nch-check-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.nch-check-row label {
	display: inline-flex;
	min-height: 38px;
	flex-direction: row;
	align-items: center;
	gap: 8px;
	padding: 8px 11px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
	font-size: 14px;
	font-weight: 650;
}

.nch-check-row input,
.nch-default-check input {
	width: 18px;
	min-height: 18px;
}

.nch-help-line {
	padding: 11px 12px;
	border: 1px solid #b9d4ff;
	border-radius: 8px;
	background: #eef4ff;
	color: #1849a9;
	font-size: 13px;
	line-height: 1.45;
}

.nch-location-rows {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.nch-location-row {
	position: relative;
	align-items: end;
	padding: 14px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fbfcfe;
}

.nch-location-row label:first-child {
	grid-column: span 2;
}

.nch-default-check {
	align-items: flex-start;
}

.nch-default-check input {
	margin-top: 5px;
}

.nch-icon-button {
	min-height: 42px;
	padding: 0 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
	color: #b42318;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}

.nch-document-actions {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}

.nch-document-icon-button {
	display: inline-grid;
	width: 36px;
	height: 36px;
	flex: 0 0 36px;
	place-items: center;
	box-sizing: border-box;
	padding: 0;
	border: 1px solid var(--nch-line);
	border-radius: 7px;
	background: #fff;
	color: #344054;
	text-decoration: none;
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}

.nch-document-icon-button svg {
	width: 17px;
	height: 17px;
}

.nch-document-icon-button:hover,
.nch-document-icon-button:focus-visible {
	border-color: #175cd3;
	background: #eff8ff;
	color: #175cd3;
	outline: none;
}

.nch-sales-event-summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 14px;
}

.nch-sales-event-summary > a {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 18px;
	align-items: center;
	color: inherit;
	text-decoration: none;
}

.nch-sales-event-summary span,
.nch-sales-event-summary small {
	color: var(--nch-muted);
}

.nch-sales-event-summary strong {
	grid-column: 2;
	grid-row: 1 / 3;
	font-size: 24px;
}

.nch-sales-event-summary small {
	display: block;
}

.nch-sales-free-issue {
	grid-column: 1 / -2;
	display: grid;
	grid-template-columns: minmax(220px, 1fr) minmax(110px, 180px);
	gap: 10px;
	padding: 10px;
	border: 1px dashed #b9c7da;
	border-radius: 7px;
	background: #f8fbff;
}

.nch-sales-free-issue label {
	min-width: 0;
}

.nch-quotation-lines {
	display: grid;
	gap: 10px;
}

.nch-quotation-entry-line {
	display: grid;
	grid-template-columns: minmax(260px, 1.7fr) minmax(110px, .55fr) minmax(130px, .7fr) minmax(110px, .55fr) 38px;
	gap: 10px;
	align-items: end;
	padding: 12px;
	border: 1px solid var(--nch-line);
	border-radius: 7px;
	background: #f8fafc;
}

.nch-quotation-entry-line > * {
	min-width: 0;
}

.nch-quotation-entry-line .nch-line-amount {
	min-height: 42px;
	justify-content: center;
}

.nch-sales-quotation-modal {
	width: min(960px, calc(100vw - 32px));
}

.nch-sales-quotation-modal .nch-order-review-section > .nch-button {
	margin-top: 12px;
}

@media (max-width: 720px) {
	.nch-sales-free-issue {
		grid-column: 1 / -1;
		grid-template-columns: 1fr;
	}

	.nch-quotation-entry-line {
		grid-template-columns: 1fr 1fr;
	}

	.nch-quotation-entry-line > label:first-child {
		grid-column: 1 / -1;
	}

	.nch-quotation-entry-line .nch-icon-button {
		justify-self: end;
	}
}

/* Return management */
.nch-return-topbar {
	align-items: flex-end;
}

.nch-return-intelligence-filters {
	align-items: end;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(220px, 1.4fr) minmax(180px, .8fr) minmax(180px, .8fr) repeat(2, minmax(135px, .65fr)) auto;
	margin-bottom: 18px;
	padding: 16px;
}

.nch-return-intelligence-filters label {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.nch-return-intelligence-filters label > span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-return-intelligence-filters input,
.nch-return-intelligence-filters select {
	box-sizing: border-box;
	height: 42px;
	min-width: 0;
	width: 100%;
}

.nch-return-intelligence-filters .nch-filter-actions {
	align-items: center;
	display: flex;
	gap: 8px;
}

.nch-return-kpis {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.nch-return-kpis .nch-kpi small {
	color: var(--nch-muted);
	display: block;
	font-size: 12px;
	margin-top: 5px;
}

.nch-return-kpis .nch-kpi.is-warning {
	border-top: 3px solid #f79009;
}

.nch-return-kpis .nch-kpi.is-risk {
	border-top: 3px solid #d92d20;
}

.nch-return-kpis .nch-kpi.is-success {
	border-top: 3px solid #12b76a;
}

.nch-return-intelligence-grid,
.nch-return-analysis-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
	margin-top: 18px;
}

.nch-return-analysis-grid {
	grid-template-columns: minmax(0, 1.45fr) minmax(360px, .55fr);
}

.nch-return-intelligence-grid .nch-panel,
.nch-return-analysis-grid .nch-panel {
	margin: 0;
	min-width: 0;
}

.nch-return-trend-panel {
	grid-column: 1 / -1;
}

.nch-return-disposition-chart,
.nch-return-trend-chart,
.nch-return-signal-list {
	display: grid;
	gap: 10px;
	margin-top: 16px;
}

.nch-return-disposition-row,
.nch-return-trend-row {
	align-items: center;
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(180px, .8fr) minmax(180px, 1.5fr) minmax(110px, .45fr);
	min-width: 0;
}

.nch-return-disposition-row > div:first-child strong,
.nch-return-disposition-row > div:first-child small,
.nch-return-trend-row > div strong,
.nch-return-trend-row > div small {
	display: block;
}

.nch-return-disposition-row small,
.nch-return-trend-row small {
	color: var(--nch-muted);
	font-size: 12px;
	margin-top: 3px;
}

.nch-return-disposition-row > strong {
	font-size: 16px;
	text-align: right;
}

.nch-return-intelligence-track {
	background: #eef2f7;
	border-radius: 3px;
	height: 12px;
	overflow: hidden;
}

.nch-return-intelligence-track i {
	background: #1d60d2;
	display: block;
	height: 100%;
	min-width: 2px;
}

.nch-return-intelligence-track i.is-good { background: #12b76a; }
.nch-return-intelligence-track i.is-damaged { background: #d92d20; }
.nch-return-intelligence-track i.is-factory { background: #f79009; }

.nch-return-signal-list article {
	border-left: 4px solid #98a2b3;
	border-radius: 4px;
	display: grid;
	gap: 3px;
	padding: 11px 13px;
	background: #f8fafc;
}

.nch-return-signal-list article.is-positive { border-color: #12b76a; background: #ecfdf3; }
.nch-return-signal-list article.is-warning { border-color: #f79009; background: #fffaeb; }
.nch-return-signal-list article.is-critical { border-color: #d92d20; background: #fef3f2; }

.nch-return-signal-list article strong,
.nch-return-signal-list article span {
	display: block;
}

.nch-return-signal-list article strong {
	font-size: 13px;
}

.nch-return-signal-list article span {
	color: var(--nch-muted);
	font-size: 12px;
	line-height: 1.45;
}

.nch-return-trend-row {
	border-top: 1px solid var(--nch-border);
	grid-template-columns: minmax(90px, .4fr) minmax(220px, 1.4fr) minmax(220px, 1fr);
	padding-top: 10px;
}

.nch-return-trend-row > div:last-child {
	text-align: right;
}

.nch-return-register {
	margin-top: 20px;
}

.nch-filter-bar.nch-return-filters {
	align-items: end;
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(210px, 1.35fr) minmax(130px, .65fr) minmax(150px, .75fr) repeat(2, minmax(125px, .55fr)) 44px;
	margin: 18px 0;
}

.nch-return-filters .nch-icon-button {
	height: 44px;
	width: 44px;
}

.nch-return-table td {
	vertical-align: middle;
}

.nch-return-table td > small,
.nch-return-table td > strong {
	display: block;
}

.nch-return-table td > small {
	color: var(--nch-muted);
	margin-top: 3px;
}

.nch-return-disposition {
	display: block;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

.nch-return-disposition.is-good { color: #067647; }
.nch-return-disposition.is-damaged { color: #b42318; }
.nch-return-disposition.is-factory { color: #b54708; }

.nch-finance-modal.nch-return-modal {
	max-width: min(1040px, calc(100vw - 32px));
	width: 1040px;
}

.nch-return-modal .nch-finance-modal-form {
	max-height: min(880px, calc(100vh - 32px));
}

.nch-return-modal .nch-finance-modal-body {
	display: grid;
	gap: 16px;
	overflow: auto;
	padding: 20px 24px;
}

.nch-return-modal .nch-modal-section {
	border: 1px solid var(--nch-border);
	border-radius: 8px;
	margin: 0;
	padding: 18px;
}

.nch-return-modal .nch-modal-section > h3,
.nch-return-modal .nch-section-heading h3 {
	font-size: 16px;
	margin: 0 0 14px;
}

.nch-return-policy-preview {
	align-items: center;
	border: 1px solid #b2ddff;
	border-radius: 6px;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin-top: 14px;
	padding: 11px 13px;
}

.nch-return-policy-preview strong,
.nch-return-policy-preview span {
	display: block;
}

.nch-return-policy-preview span {
	color: var(--nch-muted);
	font-size: 12px;
	text-align: right;
}

.nch-return-policy-preview.is-ok { background: #ecfdf3; border-color: #abefc6; }
.nch-return-policy-preview.is-warning { background: #fffaeb; border-color: #fedf89; }
.nch-return-policy-preview.is-danger { background: #fef3f2; border-color: #fecdca; }

.nch-return-request-lines,
.nch-return-review-lines {
	display: grid;
	gap: 10px;
}

.nch-return-request-line {
	align-items: end;
	background: #f8fafc;
	border: 1px solid var(--nch-border);
	border-radius: 6px;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(240px, 1.5fr) 150px minmax(220px, 1fr);
	padding: 12px;
}

.nch-return-request-line > div strong,
.nch-return-request-line > div small {
	display: block;
}

.nch-return-request-line > div small {
	color: var(--nch-muted);
	font-size: 12px;
	margin-top: 3px;
}

.nch-return-review-summary {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	overflow: hidden;
	border: 1px solid var(--nch-border);
	border-radius: 8px;
	background: var(--nch-border);
}

.nch-return-review-summary > div {
	background: #fff;
	min-height: 82px;
	padding: 13px 15px;
}

.nch-return-review-summary span,
.nch-return-review-summary strong,
.nch-return-review-summary small {
	display: block;
}

.nch-return-review-summary span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.nch-return-review-summary strong {
	font-size: 14px;
	margin-top: 5px;
}

.nch-return-review-summary small {
	color: var(--nch-muted);
	margin-top: 3px;
}

.nch-return-review-line {
	align-items: end;
	background: #f8fafc;
	border: 1px solid var(--nch-border);
	border-radius: 6px;
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(220px, 1.5fr) 105px 105px 115px minmax(190px, 1fr);
	padding: 12px;
}

.nch-return-review-item strong,
.nch-return-review-item small {
	display: block;
}

.nch-return-modal label {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.nch-return-modal label > span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.nch-return-modal input,
.nch-return-modal select,
.nch-return-modal textarea {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 42px;
	padding: 9px 11px;
	border: 1px solid #cfd7e6;
	border-radius: 6px;
	background: #fff;
	color: var(--nch-ink);
	font: inherit;
	font-size: 13px;
	line-height: 1.35;
}

.nch-return-modal textarea {
	min-height: 76px;
	resize: vertical;
}

.nch-return-modal input:focus,
.nch-return-modal select:focus,
.nch-return-modal textarea:focus {
	border-color: var(--nch-blue);
	box-shadow: 0 0 0 3px rgba(29, 96, 210, 0.12);
	outline: 0;
}

.nch-return-modal .nch-form-message {
	margin: 0;
	padding: 12px 14px;
	border: 1px solid #fecdca;
	border-radius: 7px;
	background: #fef3f2;
	color: #b42318;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.45;
}

.nch-return-modal .nch-form-message.is-success {
	border-color: #abefc6;
	background: #ecfdf3;
	color: #067647;
}

.nch-return-review-item small {
	color: var(--nch-muted);
	font-size: 12px;
	margin-top: 4px;
}

.nch-return-factory-balance {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 6px;
	min-height: 44px;
	padding: 7px 10px;
}

.nch-return-factory-balance span,
.nch-return-factory-balance strong {
	display: block;
}

.nch-return-factory-balance span {
	color: #9a3412;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
}

.nch-return-factory-balance strong {
	color: #7c2d12;
	font-size: 15px;
	margin-top: 2px;
}

.nch-return-review-footer {
	justify-content: space-between;
}

.nch-document-reference {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
	gap: 8px;
	padding: 7px 10px;
	border: 1px solid var(--nch-line);
	border-radius: 6px;
	background: #f8fafc;
}

.nch-document-reference strong,
.nch-document-reference small {
	display: block;
}

.nch-document-reference strong {
	color: var(--nch-ink);
	font-size: 11px;
}

.nch-document-reference small {
	color: var(--nch-muted);
	font-size: 10px;
}

.nch-damaged-destination {
	border-color: #f2c94c;
	background: #fffdf5;
}

.nch-damaged-mapping {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}

.nch-damaged-mapping > div {
	border: 1px solid #e4d9ac;
	background: #fff;
	padding: 10px 12px;
}

.nch-damaged-mapping span,
.nch-damaged-mapping strong {
	display: block;
}

.nch-damaged-mapping span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-damaged-mapping strong {
	font-size: 13px;
	margin-top: 4px;
	overflow-wrap: anywhere;
}

.nch-button.is-danger {
	background: #b42318;
	border-color: #b42318;
	color: #fff;
}

.nch-button.is-danger:hover {
	background: #912018;
}

@media (max-width: 1180px) {
	.nch-return-kpis {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.nch-return-intelligence-filters {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.nch-return-intelligence-grid,
	.nch-return-analysis-grid {
		grid-template-columns: 1fr;
	}

	.nch-return-trend-panel {
		grid-column: auto;
	}

	.nch-filter-bar.nch-return-filters {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.nch-return-review-line {
		grid-template-columns: minmax(220px, 1.5fr) repeat(3, 105px);
	}

	.nch-return-review-line .is-note {
		grid-column: 1 / -1;
	}
}

@media (max-width: 720px) {
	.nch-return-topbar {
		align-items: stretch;
	}

	.nch-return-kpis,
	.nch-return-intelligence-filters,
	.nch-return-disposition-row,
	.nch-return-trend-row,
	.nch-filter-bar.nch-return-filters,
	.nch-return-review-summary,
	.nch-damaged-mapping,
	.nch-return-request-line,
	.nch-return-review-line {
		grid-template-columns: 1fr;
	}

	.nch-return-intelligence-filters .nch-filter-actions,
	.nch-return-intelligence-filters .nch-button {
		width: 100%;
	}

	.nch-return-intelligence-filters .nch-filter-actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.nch-return-disposition-row > strong,
	.nch-return-trend-row > div:last-child {
		text-align: left;
	}

	.nch-filter-bar.nch-return-filters .nch-icon-button {
		justify-self: end;
	}

	.nch-finance-modal.nch-return-modal {
		height: 100dvh;
		margin: 0;
		max-height: none;
		max-width: none;
		width: 100vw;
	}

	.nch-return-modal .nch-finance-modal-form {
		border-radius: 0;
		height: 100%;
		max-height: none;
	}

	.nch-return-modal .nch-finance-modal-body {
		padding: 14px;
	}

	.nch-return-review-line .is-note {
		grid-column: auto;
	}

	.nch-return-review-footer {
		align-items: stretch;
		flex-direction: column;
	}

	.nch-return-review-footer .nch-action-row,
	.nch-return-review-footer .nch-button {
		width: 100%;
	}

	.nch-return-review-footer .nch-action-row {
		display: grid;
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px) {
	.nch-sales-event-summary {
		grid-template-columns: 1fr;
	}
}

.nch-icon-button.is-remove,
.nch-icon-button[data-remove-journal-line],
.nch-icon-button[data-remove-budget-line] {
	display: inline-grid;
	width: 38px;
	min-width: 38px;
	height: 38px;
	min-height: 38px;
	place-items: center;
	align-self: center;
	padding: 0;
	border-color: #f0c5c1;
	background: #ffffff;
	color: #b42318;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}

.nch-icon-button.is-remove:hover,
.nch-icon-button[data-remove-journal-line]:hover,
.nch-icon-button[data-remove-budget-line]:hover {
	border-color: #d92d20;
	background: #fff1f0;
	color: #912018;
}

.nch-icon-button.is-remove:focus-visible,
.nch-icon-button[data-remove-journal-line]:focus-visible,
.nch-icon-button[data-remove-budget-line]:focus-visible {
	border-color: #d92d20;
	box-shadow: 0 0 0 3px rgba(217, 45, 32, 0.14);
	outline: none;
}

.nch-icon-button.is-remove:disabled,
.nch-icon-button[data-remove-journal-line]:disabled,
.nch-icon-button[data-remove-budget-line]:disabled {
	cursor: not-allowed;
	opacity: 0.45;
}

@media (max-width: 640px) {
	.nch-location-row .nch-icon-button.is-remove,
	.nch-pos-cart-line .nch-icon-button.is-remove,
	.nch-sales-line .nch-icon-button.is-remove,
	.nch-holiday-line .nch-icon-button.is-remove,
	.nch-structure-line .nch-icon-button.is-remove {
		justify-self: end;
	}
}

.nch-row-guidance {
	grid-column: 1 / -1;
	margin: 0;
	color: var(--nch-muted);
	font-size: 13px;
	line-height: 1.4;
}

.nch-sales-items,
.nch-sales-lines {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.nch-sales-line {
	display: grid;
	grid-template-columns: minmax(240px, 1.4fr) minmax(100px, 0.5fr) minmax(120px, 0.55fr) minmax(130px, 0.55fr) auto;
	gap: 12px;
	align-items: end;
	padding: 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fbfcfe;
}

.nch-line-amount {
	min-height: 42px;
	padding: 8px 10px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
}

.nch-line-amount span,
.nch-line-amount strong,
.nch-line-amount small,
.nch-sales-total span,
.nch-sales-total strong {
	display: block;
}

.nch-line-amount span,
.nch-sales-total span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-line-amount strong,
.nch-sales-total strong {
	margin-top: 4px;
	font-size: 15px;
}

.nch-line-amount small {
	margin-top: 5px;
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 700;
}

.nch-line-amount small.is-warning {
	color: var(--nch-yellow);
}

.nch-sales-total {
	min-width: 120px;
	text-align: right;
}

.nch-sales-totals {
	display: grid;
	grid-template-columns: repeat(3, minmax(90px, auto));
	gap: 18px;
	text-align: right;
}

.nch-sales-totals span,
.nch-sales-totals strong {
	display: block;
}

.nch-sales-totals span {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-sales-totals strong {
	margin-top: 3px;
	font-size: 15px;
}

.nch-sales-totals .is-grand strong {
	font-size: 19px;
}

.nch-pos-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	align-items: start;
}

.nch-pos-billing,
.nch-pos-entry,
.nch-pos-bill {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.nch-pos-entry,
.nch-pos-bill {
	gap: 10px;
}

.nch-pos-entry-row {
	display: grid;
	grid-template-columns: minmax(190px, 250px) minmax(0, 1fr);
	gap: 12px;
	align-items: end;
}

.nch-pos-billing > .nch-form-grid.is-two-column {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Keyboard-first item picker */
.nch-pos-search-field {
	position: relative;
	min-width: 0;
}

.nch-pos-results-wrap {
	position: absolute;
	z-index: 40;
	top: calc(100% + 6px);
	right: 0;
	left: 0;
	padding: 10px;
	border: 1px solid var(--nch-line);
	border-radius: 10px;
	background: var(--nch-surface);
	box-shadow: var(--nch-shadow);
}

.nch-pos-results-wrap[hidden] {
	display: none;
}

.nch-pos-results-wrap.is-empty .nch-pos-result-head {
	display: none;
}

.nch-pos-qty-chip {
	position: absolute;
	right: 10px;
	bottom: 10px;
	padding: 3px 8px;
	border-radius: 999px;
	background: var(--nch-blue);
	color: #ffffff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.02em;
	pointer-events: none;
}

.nch-pos-qty-chip[hidden] {
	display: none;
}

.nch-kbd {
	display: inline-block;
	min-width: 20px;
	padding: 2px 6px;
	border: 1px solid #c6cedb;
	border-bottom-width: 2px;
	border-radius: 5px;
	background: #f3f5f9;
	color: #45546a;
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
	font-size: 11px;
	font-weight: 700;
	line-height: 15px;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
}

.nch-button .nch-kbd {
	margin-left: 6px;
	border-color: rgba(255, 255, 255, 0.45);
	background: rgba(255, 255, 255, 0.16);
	color: inherit;
}

.nch-button.is-advanced .nch-kbd {
	border-color: #c6cedb;
	background: #f3f5f9;
	color: #45546a;
}

.nch-kbd-hints {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin: 0;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 700;
}

.nch-kbd-hints span {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.nch-pos-result-head,
.nch-pos-result {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 132px 96px 108px 124px;
	gap: 10px;
	align-items: center;
}

.nch-pos-result-head {
	padding: 0 13px;
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.nch-pos-results {
	display: flex;
	max-height: 336px;
	flex-direction: column;
	gap: 6px;
	margin-top: 6px;
	overflow-y: auto;
	scrollbar-gutter: stable;
}

.nch-pos-result {
	min-height: 52px;
	padding: 9px 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
	color: var(--nch-ink);
	cursor: pointer;
	font: inherit;
	text-align: left;
}

.nch-pos-result:hover {
	border-color: var(--nch-blue);
}

.nch-pos-result.is-active {
	border-color: var(--nch-blue);
	background: #eef4ff;
	box-shadow: 0 0 0 3px rgba(23, 92, 211, 0.16);
}

.nch-pos-result.is-credit-blocked,
.nch-pos-result:disabled {
	border-color: #f1c5bd;
	background: #fff8f6;
	cursor: not-allowed;
	opacity: 0.78;
}

.nch-pos-result.is-credit-blocked.is-active,
.nch-pos-result:disabled.is-active {
	border-color: #d92d20;
	box-shadow: 0 0 0 3px rgba(217, 45, 32, 0.16);
}

.nch-pos-result.is-credit-blocked .nch-pos-result-policy {
	color: #b42318;
}

.nch-pos-result strong {
	display: -webkit-box;
	min-width: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 14px;
	line-height: 18px;
	overflow: hidden;
	overflow-wrap: anywhere;
}

.nch-pos-result span,
.nch-pos-result small {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nch-pos-result-code {
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 700;
}

.nch-pos-result-price {
	font-size: 14px;
	font-variant-numeric: tabular-nums;
	font-weight: 800;
	text-align: right;
}

.nch-pos-result-stock {
	color: var(--nch-muted);
	font-size: 12px;
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	text-align: right;
}

.nch-pos-result-policy {
	color: var(--nch-green);
	font-size: 12px;
	font-weight: 800;
}

.nch-pos-location-strip,
.nch-pos-sale-type {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.nch-pos-location-strip div {
	padding: 10px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fbfcfe;
}

.nch-pos-location-strip span,
.nch-pos-location-strip strong {
	display: block;
}

.nch-pos-location-strip span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-pos-location-strip strong {
	margin-top: 5px;
	overflow: hidden;
	font-size: 13px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nch-pos-sale-type {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* These sit inside .nch-form, which stacks and uppercases labels, so both are reset here. */
.nch-pos-sale-type label,
.nch-pos-return-mode label {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 9px;
	padding: 11px 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fbfcfe;
	cursor: pointer;
	font-weight: 800;
}

.nch-pos-sale-type label > span,
.nch-pos-return-mode label > span {
	color: var(--nch-ink);
	font-size: 13px;
	font-weight: 800;
	text-transform: none;
}

.nch-pos-sale-type label:has(input:checked),
.nch-pos-return-mode label:has(input:checked) {
	border-color: var(--nch-blue);
	background: #eef4ff;
}

.nch-pos-sale-type input,
.nch-pos-return-mode input {
	width: 16px;
	min-height: 16px;
	flex: 0 0 auto;
	margin: 0;
}

.nch-pos-print-setting {
	display: grid;
	gap: 7px;
}

.nch-pos-print-setting > span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-pos-print-setting > small {
	color: var(--nch-muted);
	font-size: 12px;
}

.nch-field-warning {
	display: block;
	margin-top: 5px;
	color: #9a5b00 !important;
	font-weight: 700;
}

.nch-pos-store-credit {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 12px;
	padding: 14px 16px;
	border: 1px solid #b9d4c3;
	border-radius: 8px;
	background: #f3fbf6;
}

.nch-pos-store-credit[hidden],
.nch-pos-store-credit [hidden] {
	display: none;
}

.nch-pos-store-credit-heading,
.nch-pos-store-credit-fields {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(180px, auto);
	align-items: end;
	gap: 14px;
}

.nch-pos-store-credit-voucher {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 8px 10px;
}

.nch-pos-store-credit-voucher label {
	margin: 0;
}

.nch-pos-store-credit-voucher .nch-button {
	height: 44px;
	white-space: nowrap;
}

.nch-pos-store-credit-voucher > small {
	grid-column: 1 / -1;
	color: var(--nch-muted);
	font-size: 12px;
}

.nch-pos-store-credit-voucher > small.is-success {
	color: #16753a;
}

.nch-pos-store-credit-voucher > small.is-warning {
	color: #945d00;
}

.nch-pos-store-credit-voucher > small.is-error {
	color: #b42318;
}

.nch-pos-store-credit-heading > div > span,
.nch-pos-store-credit-fields > div span {
	display: block;
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-pos-store-credit-heading strong span {
	display: inline;
	color: inherit;
	font: inherit;
	text-transform: none;
}

.nch-pos-store-credit-heading strong,
.nch-pos-store-credit-fields > div strong {
	display: block;
	margin-top: 4px;
	font-size: 18px;
}

.nch-form label.nch-switch-row {
	display: flex;
	min-height: 42px;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	gap: 9px;
	margin: 0;
	cursor: pointer;
}

.nch-form label.nch-switch-row input {
	width: 16px;
	min-height: 16px;
	flex: 0 0 auto;
	margin: 0;
}

.nch-form label.nch-switch-row span {
	color: var(--nch-ink);
	font-size: 13px;
	font-weight: 800;
	text-transform: none;
}

.nch-pos-store-credit-fields label {
	margin: 0;
}

.nch-pos-store-credit > small {
	color: var(--nch-muted);
	font-size: 12px;
	line-height: 1.45;
}

.nch-pos-cart-lines {
	display: flex;
	max-height: 420px;
	flex-direction: column;
	gap: 8px;
	overflow-y: auto;
	scrollbar-gutter: stable;
}

.nch-pos-bill-head,
.nch-pos-cart-line {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 118px 118px 128px 40px;
	gap: 10px;
	align-items: center;
}

.nch-pos-bill-head {
	padding: 0 13px;
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.nch-pos-bill-head .nch-number {
	text-align: right;
}

.nch-pos-cart-line {
	padding: 10px 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fbfcfe;
}

.nch-pos-cart-line [data-cart-amount] {
	font-size: 15px;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.nch-pos-cart-lines .nch-empty-state {
	padding: 18px 0;
	border: 1px dashed var(--nch-line);
	border-radius: 8px;
}

.nch-pos-cart-line strong,
.nch-pos-cart-line span {
	display: block;
}

.nch-pos-cart-item {
	min-width: 0;
}

.nch-pos-cart-item strong {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-height: 18px;
	overflow: hidden;
	overflow-wrap: anywhere;
}

.nch-pos-cart-line span {
	margin-top: 4px;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 700;
}

.nch-pos-cart-line input {
	min-height: 36px;
	padding: 7px 8px;
}

.nch-pos-cart-line:focus-visible,
.nch-pos-cart-line:focus {
	border-color: var(--nch-blue);
	background: #eef4ff;
	box-shadow: 0 0 0 3px rgba(23, 92, 211, 0.16);
	outline: none;
}

.nch-pos-cart-line.is-just-added {
	animation: nch-pos-line-flash 0.6s ease-out;
}

@keyframes nch-pos-line-flash {
	from {
		border-color: var(--nch-green);
		background: #e7f6ec;
	}
	to {
		border-color: var(--nch-line);
		background: #fbfcfe;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nch-pos-cart-line.is-just-added {
		animation: none;
	}
}

/* Counter returns and end of day */
.nch-pos-return-modal,
.nch-pos-eod-modal {
	width: min(1080px, calc(100vw - 32px));
}

.nch-pos-eod-modal {
	width: min(820px, calc(100vw - 32px));
}

.nch-pos-return-modal .nch-finance-modal-body,
.nch-pos-eod-modal .nch-finance-modal-body {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.nch-pos-return-detail {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.nch-pos-return-section {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.nch-pos-return-section h3 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

/* Inside a scrolling modal an overlay dropdown gets clipped, so these lists sit in flow. */
.nch-pos-return-modal .nch-pos-results-wrap {
	position: static;
	margin-top: 8px;
	box-shadow: none;
}

.nch-pos-return-modal .nch-pos-results {
	max-height: 260px;
}

.nch-pos-result.is-invoice {
	grid-template-columns: minmax(0, 1fr) 150px 110px 110px 120px;
}

.nch-pos-return-head,
.nch-pos-return-line {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 80px 100px 110px 110px;
	gap: 10px;
	align-items: center;
}

.nch-pos-return-head {
	padding: 0 13px;
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.nch-pos-return-head .nch-number,
.nch-pos-return-line .nch-number {
	text-align: right;
}

.nch-pos-return-lines {
	display: flex;
	max-height: 300px;
	flex-direction: column;
	gap: 8px;
	overflow-y: auto;
	scrollbar-gutter: stable;
}

.nch-pos-return-line {
	padding: 10px 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fbfcfe;
	font-variant-numeric: tabular-nums;
}

.nch-pos-return-line:focus-visible,
.nch-pos-return-line:focus {
	border-color: var(--nch-blue);
	background: #eef4ff;
	box-shadow: 0 0 0 3px rgba(23, 92, 211, 0.16);
	outline: none;
}

.nch-pos-return-line.is-blocked {
	background: #f6f7f9;
	opacity: 0.7;
}

.nch-pos-return-line input {
	min-height: 36px;
	padding: 7px 8px;
	text-align: right;
}

.nch-pos-return-mode {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.nch-pos-exchange-balance .nch-pos-return-mode {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nch-pos-return-summary,
.nch-pos-eod-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 10px;
	padding: 14px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #101828;
	color: #ffffff;
}

.nch-pos-eod-grid {
	background: #fbfcfe;
	color: var(--nch-ink);
}

.nch-pos-return-summary span,
.nch-pos-eod-grid span {
	display: block;
	color: #d7dee8;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-pos-eod-grid span {
	color: var(--nch-muted);
}

.nch-pos-return-summary strong,
.nch-pos-eod-grid strong {
	display: block;
	margin-top: 4px;
	font-size: 16px;
	font-variant-numeric: tabular-nums;
}

.nch-pos-return-summary .is-grand strong,
.nch-pos-eod-grid .is-grand strong {
	font-size: 22px;
}

.nch-pos-return-summary .is-grand.is-collect strong {
	color: #fdb022;
}

.nch-pos-return-summary .is-grand.is-approval strong {
	color: #fdb022;
	font-size: 15px;
	line-height: 1.35;
}

.nch-pos-eod-grid .is-grand {
	color: var(--nch-ink);
}

.nch-pos-eod-modal [data-eod-float-help].is-drift {
	color: var(--nch-yellow);
	font-weight: 700;
}

.nch-pos-eod-modal [data-eod-variance].is-variance {
	border-color: #d92d20;
	color: #b42318;
	font-weight: 800;
}

.nch-row-guidance.is-warning {
	padding: 10px 12px;
	border: 1px solid #f1c5bd;
	border-radius: 8px;
	background: #fff8f6;
	color: #b42318;
	font-weight: 700;
}

/* Shortcut reference */
.nch-pos-help-modal .nch-finance-modal-body {
	display: grid;
	gap: 18px;
}

.nch-pos-help-group h3 {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--nch-muted);
}

.nch-pos-help-group dl {
	display: grid;
	grid-template-columns: 116px minmax(0, 1fr);
	gap: 8px 14px;
	margin: 0;
	align-items: baseline;
}

.nch-pos-help-group dt {
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
	margin: 0;
}

.nch-pos-help-group dd {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
}

.nch-pos-help-group p {
	margin: 10px 0 0;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 600;
}

.nch-pos-total-box {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: center;
	gap: 12px;
	padding: 14px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #101828;
	color: #ffffff;
}

.nch-pos-total-box span {
	color: #d7dee8;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-pos-total-box strong {
	display: block;
	margin-top: 4px;
	font-size: 17px;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.nch-pos-total-box > div {
	min-width: 0;
	text-align: right;
}

.nch-pos-total-box > div:first-child {
	text-align: left;
}

.nch-pos-total-box .is-grand strong {
	font-size: 25px;
}

.nch-submit-bar {
	position: static;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: none;
}

.nch-pricing-request-form .nch-submit-bar {
	position: static;
}

.nch-pricing-current-price input[readonly] {
	background: #f8fafc;
	color: var(--nch-ink);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.nch-price-decision-note {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 7px;
	margin-top: 18px;
}

.nch-price-decision-note > span {
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-price-decision-note textarea {
	width: 100%;
	min-height: 96px;
	padding: 10px 12px;
	resize: vertical;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
	color: var(--nch-ink);
	font: inherit;
	font-size: 14px;
	line-height: 1.45;
}

.nch-price-decision-note textarea:focus {
	border-color: var(--nch-blue);
	box-shadow: 0 0 0 3px rgba(23, 92, 211, 0.12);
	outline: none;
}

.nch-price-decision-note > small {
	color: var(--nch-muted);
	font-size: 11px;
	line-height: 1.4;
}

.nch-submit-bar p {
	margin: 0;
	color: var(--nch-muted);
	font-size: 14px;
}

.nch-submit-bar p.is-error {
	color: #b42318;
}

.nch-submit-bar p.is-success {
	color: var(--nch-green);
}

#nch-customer-form .nch-customer-submit-bar {
	min-height: 56px;
	margin-top: 2px;
	padding: 16px 0 0;
	border: 0;
	border-top: 1px solid var(--nch-line);
	border-radius: 0;
	background: transparent;
}

#nch-customer-form .nch-customer-submit-bar p:empty {
	display: none;
}

#nch-customer-form .nch-customer-submit-bar .nch-button {
	min-width: 156px;
	margin-left: auto;
}

.nch-form-message {
	margin: 0;
	color: var(--nch-muted);
	font-size: 14px;
	font-weight: 700;
}

.nch-form-message.is-error {
	color: #b42318;
}

.nch-form-message.is-success {
	color: var(--nch-green);
}

.nch-inventory-list-panel {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.nch-filter-bar {
	display: grid;
	grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(150px, 1fr));
	gap: 12px;
	padding: 14px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fbfcfe;
}

.nch-filter-bar.is-compact {
	grid-template-columns: 1fr;
	padding: 0;
	border: 0;
	background: transparent;
}

.nch-filter-bar.is-compact.nch-customer-filters {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nch-customer-filters label:first-child,
.nch-customer-filters label:last-child {
	grid-column: 1 / -1;
}

.nch-filter-bar label {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 7px;
}

.nch-filter-bar span {
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-filter-bar input,
.nch-filter-bar select {
	width: 100%;
	min-height: 40px;
	padding: 8px 10px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
	color: var(--nch-ink);
	font: inherit;
	font-size: 14px;
}

.nch-filter-bar input:focus,
.nch-filter-bar select:focus {
	border-color: var(--nch-blue);
	box-shadow: 0 0 0 3px rgba(23, 92, 211, 0.12);
	outline: none;
}

.nch-filter-actions {
	display: flex;
	align-items: end;
	gap: 8px;
}

.nch-filter-result {
	color: var(--nch-muted);
	font-size: 13px;
	font-weight: 700;
}

.nch-filter-result.is-error {
	color: #b42318;
}

.nch-filter-result.is-success {
	color: var(--nch-green);
}

.nch-inline-action {
	display: grid;
	grid-template-columns: minmax(92px, 0.8fr) minmax(120px, 1fr) auto;
	gap: 8px;
	align-items: center;
	min-width: 320px;
}

.nch-inline-action input,
.nch-inline-action select {
	width: 100%;
	min-height: 38px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
	color: var(--nch-ink);
	font: inherit;
	font-size: 14px;
}

.nch-report-chart-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.nch-chart-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 14px;
}

.nch-bar-chart {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.nch-chart-row {
	display: grid;
	grid-template-columns: minmax(150px, 0.42fr) minmax(0, 0.58fr);
	gap: 12px;
	align-items: center;
}

.nch-chart-label {
	min-width: 0;
}

.nch-chart-label strong,
.nch-chart-label span {
	display: block;
}

.nch-chart-label strong {
	overflow: hidden;
	font-size: 13px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nch-chart-label span {
	margin-top: 4px;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
}

.nch-chart-track {
	height: 12px;
	overflow: hidden;
	border-radius: 999px;
	background: #edf1f6;
}

.nch-chart-track span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--nch-blue);
}

.nch-chart-track.is-quantity span {
	background: var(--nch-green);
}

.nch-chart-series {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 5px;
}

.nch-chart-track.is-plan span {
	background: #697386;
}

.nch-chart-track.is-cost span {
	background: #7a5af8;
}

.nch-chart-track.is-warning span {
	background: #dc6803;
}

.nch-inventory-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.nch-inventory-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 16px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fbfcfe;
}

.nch-inventory-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.nch-item-code {
	display: inline-flex;
	margin-bottom: 8px;
	padding: 4px 8px;
	border-radius: 999px;
	background: #eef4ff;
	color: var(--nch-blue);
	font-size: 12px;
	font-weight: 800;
}

.nch-inventory-card h3 {
	margin-bottom: 6px;
	font-size: 18px;
}

.nch-inventory-card p {
	margin: 0;
	color: var(--nch-muted);
	font-size: 13px;
}

.nch-item-metrics {
	display: grid;
	min-width: 360px;
	grid-template-columns: repeat(3, minmax(86px, 1fr));
	gap: 8px;
}

.nch-item-metrics div {
	padding: 10px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
}

.nch-item-metrics div.is-warning {
	border-color: #f6c96b;
	background: #fffaeb;
}

.nch-item-metrics span {
	display: block;
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-item-metrics strong {
	display: block;
	margin-top: 6px;
	font-size: 16px;
}

.nch-credit-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.nch-credit-strip.is-compact {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nch-credit-strip div {
	padding: 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fbfcfe;
}

.nch-credit-strip span,
.nch-credit-strip strong {
	display: block;
}

.nch-credit-strip span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-credit-strip strong {
	margin-top: 6px;
	font-size: 14px;
}

.nch-customer-credit-policy,
.nch-credit-due-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 14px;
	padding: 16px;
	border: 1px solid #cbd9ee;
	border-radius: 8px;
	background: #f8fbff;
}

.nch-customer-details-panel {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 16px;
}

.nch-customer-credit-policy {
	gap: 12px;
	padding: 14px 16px 16px;
	background: #fbfcfe;
}

.nch-customer-credit-policy-heading,
.nch-credit-due-summary {
	display: flex;
	min-width: 0;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.nch-customer-credit-policy-heading h3 {
	margin: 0;
	font-size: 16px;
}

.nch-customer-credit-policy-heading > small,
.nch-credit-due-summary > small {
	max-width: 360px;
	color: var(--nch-muted);
	font-size: 12px;
	line-height: 1.45;
	text-align: right;
}

.nch-input-suffix {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	overflow: hidden;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
}

.nch-form .nch-input-suffix input {
	border: 0;
	border-radius: 0;
}

.nch-form .nch-input-suffix > span {
	display: flex;
	align-items: center;
	padding: 0 12px;
	border-left: 1px solid var(--nch-line);
	background: #eef3f9;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
	text-transform: none;
}

.nch-credit-due-card[hidden],
.nch-customer-credit-policy[hidden],
.nch-credit-due-card [hidden] {
	display: none;
}

.nch-credit-due-summary span,
.nch-credit-due-summary strong {
	display: block;
}

.nch-credit-due-summary span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-credit-due-summary strong {
	margin-top: 4px;
	font-size: 19px;
}

.nch-form label.nch-credit-due-toggle {
	margin-top: 0;
}

.nch-credit-due-card .nch-row-guidance {
	margin: 0;
	color: var(--nch-muted);
	font-size: 12px;
	line-height: 1.45;
}

.nch-credit-due-card.is-modal {
	padding: 14px;
}

.nch-text-danger {
	color: #b42318;
	font-weight: 800;
}

@media (max-width: 640px) {
	.nch-customer-credit-policy-heading,
	.nch-credit-due-summary {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}

	.nch-customer-credit-policy-heading > small,
	.nch-credit-due-summary > small {
		max-width: none;
		text-align: left;
	}
}

.nch-customer-audit {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	padding-top: 14px;
	border-top: 1px solid var(--nch-line);
}

.nch-customer-audit div {
	min-width: 0;
}

.nch-customer-audit span,
.nch-customer-audit strong,
.nch-customer-audit small {
	display: block;
	overflow-wrap: anywhere;
}

.nch-customer-audit span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-customer-audit strong {
	margin-top: 6px;
	font-size: 13px;
}

.nch-customer-audit small {
	margin-top: 4px;
	color: var(--nch-muted);
}

.nch-customer-audit p {
	grid-column: 1 / -1;
	margin: 0;
	padding: 10px 12px;
	border-left: 3px solid #b42318;
	background: #fff4f2;
	color: #912018;
	font-size: 13px;
}

.nch-customer-workspace {
	grid-template-columns: minmax(280px, 0.34fr) minmax(0, 0.66fr);
}

.nch-customer-tabs {
	position: sticky;
	top: 8px;
	z-index: 3;
}

.nch-customer-profile-panel {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 16px;
}

.nch-customer-profile-panel[hidden] {
	display: none;
}

.nch-customer-history-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	overflow: hidden;
}

.nch-customer-history-kpis div {
	min-width: 0;
	padding: 14px;
	border-right: 1px solid var(--nch-line);
	background: #fbfcfe;
}

.nch-customer-history-kpis div:last-child {
	border-right: 0;
}

.nch-customer-history-kpis span,
.nch-customer-history-kpis strong,
.nch-customer-profile-meta span,
.nch-customer-profile-meta strong {
	display: block;
	overflow-wrap: anywhere;
}

.nch-customer-history-kpis span,
.nch-customer-profile-meta span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-customer-history-kpis strong {
	margin-top: 7px;
	font-size: 18px;
}

.nch-customer-profile-meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.nch-customer-profile-meta div {
	padding: 12px 14px;
	border-left: 3px solid #175cd3;
	background: #f5f8ff;
}

.nch-customer-profile-meta strong {
	margin-top: 5px;
	font-size: 14px;
}

.nch-customer-activity {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--nch-line);
}

.nch-customer-activity-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 2px;
	border-bottom: 1px solid var(--nch-line);
}

.nch-customer-activity-row div {
	min-width: 0;
}

.nch-customer-activity-row span,
.nch-customer-activity-row strong,
.nch-customer-activity-row small {
	display: block;
	overflow-wrap: anywhere;
}

.nch-customer-activity-row span {
	color: var(--nch-blue);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-customer-activity-row strong {
	margin-top: 3px;
	font-size: 13px;
}

.nch-customer-activity-row small {
	margin-top: 3px;
	color: var(--nch-muted);
}

.nch-customer-activity-row .is-right {
	flex: 0 0 auto;
	text-align: right;
}

.nch-customer-history-table {
	min-width: 760px;
}

.nch-customer-history-table .is-number {
	text-align: right;
	white-space: nowrap;
}

.nch-customer-items-cell {
	max-width: 220px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nch-location-stock-table th,
.nch-location-stock-table td {
	white-space: normal;
}

.nch-status {
	display: inline-flex;
	min-height: 24px;
	align-items: center;
	padding: 0 8px;
	border-radius: 999px;
	background: #f2f4f7;
	color: #475467;
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.nch-status.is-ok {
	background: #e7f8ed;
	color: var(--nch-green);
}

.nch-status.is-warning {
	background: #fffaeb;
	color: var(--nch-yellow);
}

.nch-status.is-danger {
	background: #fef3f2;
	color: #b42318;
}

.nch-doc-links {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.nch-doc-links a {
	color: var(--nch-blue);
	font-size: 12px;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 2px;
	white-space: nowrap;
}

.nch-doc-links small {
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 700;
}

.nch-vat-print-options {
	display: grid;
	min-width: 132px;
	gap: 5px;
}

.nch-vat-print-options > span {
	color: var(--nch-ink);
	font-size: 12px;
	font-weight: 800;
}

.nch-vat-print-options > div {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.nch-vat-print-options a,
.nch-doc-links .nch-vat-print-options a {
	display: inline-flex;
	min-height: 28px;
	align-items: center;
	padding: 4px 8px;
	border: 1px solid var(--nch-line);
	border-radius: 6px;
	background: #ffffff;
	color: var(--nch-blue);
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.nch-vat-print-options a:hover,
.nch-vat-print-options a:focus-visible {
	border-color: var(--nch-blue);
	background: #eef4ff;
}

.nch-debtor-settlement-panel .nch-section-heading {
	align-items: center;
}

.nch-debtor-settlement-panel .nch-table-wrap {
	overflow-x: hidden;
}

.nch-debtor-tabs {
	margin-bottom: 16px;
}

.nch-debtor-panel {
	display: grid;
	gap: 16px;
}

.nch-debtor-invoice-table {
	table-layout: fixed;
}

.nch-debtor-invoice-table th:nth-child(1) { width: 19%; }
.nch-debtor-invoice-table th:nth-child(2) { width: 23%; }
.nch-debtor-invoice-table th:nth-child(3) { width: 16%; }
.nch-debtor-invoice-table th:nth-child(4) { width: 15%; }
.nch-debtor-invoice-table th:nth-child(5) { width: 10%; }
.nch-debtor-invoice-table th:nth-child(6) { width: 9%; }
.nch-debtor-invoice-table th:nth-child(7) { width: 8%; }

.nch-debtor-invoice-table th,
.nch-debtor-invoice-table td {
	vertical-align: middle;
	white-space: normal;
}

.nch-debtor-invoice-table td:first-child,
.nch-debtor-invoice-table td:nth-child(2),
.nch-debtor-invoice-table td:nth-child(3) {
	overflow-wrap: anywhere;
}

.nch-debtor-invoice-table td:nth-child(4) .nch-status {
	margin-top: 6px;
}

.nch-debtor-invoice-id {
	display: block;
	max-width: 100%;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.nch-table-action {
	text-align: right;
	white-space: nowrap;
}

.nch-debtor-history-table {
	table-layout: fixed;
}

.nch-debtor-history-table th:nth-child(1) { width: 19%; }
.nch-debtor-history-table th:nth-child(2) { width: 29%; }
.nch-debtor-history-table th:nth-child(3) { width: 20%; }
.nch-debtor-history-table th:nth-child(4) { width: 24%; }
.nch-debtor-history-table th:nth-child(5) { width: 8%; }

.nch-debtor-history-table td {
	vertical-align: middle;
	white-space: normal;
	overflow-wrap: anywhere;
}

.nch-settlement-summary {
	display: grid;
	grid-template-columns: 1.3fr 1fr 0.8fr;
	margin-bottom: 20px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
	overflow: hidden;
}

.nch-settlement-summary > div {
	min-width: 0;
	padding: 14px 16px;
	border-right: 1px solid var(--nch-line);
}

.nch-settlement-summary > div:last-child {
	border-right: 0;
	text-align: right;
}

.nch-settlement-summary span,
.nch-settlement-summary strong,
.nch-settlement-summary small {
	display: block;
}

.nch-settlement-summary span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-settlement-summary strong {
	margin-top: 5px;
	font-size: 15px;
	overflow-wrap: anywhere;
}

.nch-settlement-summary small {
	margin-top: 3px;
	color: var(--nch-muted);
}

.nch-settlement-fields label > small {
	margin-top: 5px;
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 700;
}

.nch-debtor-profile-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 14px;
}

.nch-debtor-profile {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 14px;
	padding: 14px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fbfcfe;
}

.nch-debtor-profile header {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 12px;
}

.nch-debtor-profile h3,
.nch-debtor-profile h4,
.nch-debtor-profile p {
	margin: 0;
}

.nch-debtor-profile h3 {
	font-size: 16px;
}

.nch-debtor-profile header p,
.nch-history-columns p {
	margin-top: 5px;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 700;
}

.nch-debtor-profile header > strong {
	font-size: 18px;
	text-align: right;
}

.nch-profile-metrics,
.nch-history-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.nch-profile-metrics div {
	padding: 10px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
}

.nch-profile-metrics span,
.nch-profile-metrics strong {
	display: block;
}

.nch-profile-metrics span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-profile-metrics strong {
	margin-top: 5px;
	font-size: 14px;
}

.nch-history-columns h4 {
	font-size: 12px;
	text-transform: uppercase;
	color: var(--nch-muted);
}

.nch-empty-state {
	display: flex;
	min-height: 240px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 28px;
	text-align: center;
}

.nch-empty-state p {
	margin: 0;
	color: var(--nch-muted);
}

.nch-empty-state.is-small {
	min-height: 160px;
}

.nch-user-admin-layout {
	display: grid;
	grid-template-columns: minmax(280px, 0.42fr) minmax(0, 0.58fr);
	gap: 14px;
	align-items: start;
}

.nch-user-list-panel,
.nch-user-access-form,
.nch-location-access-section {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.nch-user-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.nch-user-list-item {
	width: 100%;
	padding: 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
	color: var(--nch-ink);
	cursor: pointer;
	font: inherit;
	text-align: left;
}

.nch-user-list-item:hover,
.nch-user-list-item.is-active {
	border-color: var(--nch-blue);
	box-shadow: 0 0 0 3px rgba(23, 92, 211, 0.1);
}

.nch-user-list-item strong,
.nch-user-list-item span,
.nch-user-list-item small {
	display: block;
}

.nch-user-list-item strong {
	font-size: 14px;
}

.nch-user-list-item span {
	margin-top: 4px;
	color: var(--nch-muted);
	font-size: 13px;
}

.nch-user-list-item small {
	margin-top: 8px;
	color: var(--nch-blue);
	font-size: 12px;
	font-weight: 800;
}

.nch-location-check-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 10px;
}

.nch-location-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fbfcfe;
}

.nch-location-check input {
	width: 18px;
	min-height: 18px;
	margin-top: 2px;
}

.nch-location-check span,
.nch-location-check strong,
.nch-location-check small {
	display: block;
}

.nch-location-check strong {
	font-size: 14px;
}

.nch-location-check small {
	margin-top: 4px;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 700;
}

@media (max-width: 900px) {
	.nch-app-shell {
		grid-template-columns: 1fr;
	}

	.nch-sidebar {
		position: static;
		height: auto;
	}

	.nch-nav {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.nch-main {
		padding: 20px;
	}

	.nch-topbar,
	.nch-section-heading,
	.nch-user-strip {
		align-items: stretch;
		flex-direction: column;
	}

	.nch-location-select {
		width: 100%;
		max-width: none;
	}

	.nch-user {
		width: 100%;
	}

	.nch-action-row {
		justify-content: flex-start;
	}

	.nch-work-grid {
		grid-template-columns: 1fr;
	}

	.nch-pos-layout {
		grid-template-columns: 1fr;
	}

	.nch-pos-result-head,
	.nch-pos-bill-head {
		display: none;
	}

	.nch-pos-entry-row {
		grid-template-columns: 1fr;
	}

	.nch-pos-billing > .nch-form-grid.is-two-column {
		grid-template-columns: 1fr;
	}

	.nch-pos-cart-line [data-cart-amount] {
		text-align: left;
	}

	.nch-pos-result {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 4px 10px;
		min-height: 64px;
	}

	.nch-pos-result strong {
		grid-column: 1;
	}

	.nch-pos-result-price {
		grid-column: 2;
		grid-row: 1;
	}

	.nch-pos-result-code {
		grid-column: 1;
	}

	.nch-pos-result-stock {
		grid-column: 2;
	}

	.nch-pos-result-policy {
		grid-column: 1 / -1;
	}

	.nch-pos-location-strip,
	.nch-pos-sale-type {
		grid-template-columns: 1fr;
	}

	.nch-pos-help-group dl {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.nch-pos-return-head {
		display: none;
	}

	.nch-pos-result.is-invoice {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.nch-pos-return-line {
		grid-template-columns: minmax(0, 1fr) 100px;
		gap: 6px 10px;
	}

	.nch-pos-return-mode {
		grid-template-columns: 1fr;
	}

	.nch-pos-store-credit-heading,
	.nch-pos-store-credit-fields,
	.nch-pos-store-credit-voucher {
		grid-template-columns: 1fr;
		align-items: stretch;
	}

	.nch-pos-store-credit-voucher > small {
		grid-column: auto;
	}

	.nch-form label.nch-switch-row {
		justify-content: flex-start;
	}

	.nch-pos-help-group dd {
		margin-bottom: 8px;
	}

	.nch-form-grid,
	.nch-location-row,
	.nch-sales-line,
	.nch-supplier-admin-grid {
		grid-template-columns: 1fr;
	}

	.nch-input-action {
		grid-template-columns: 1fr;
	}

	.nch-category-field {
		grid-column: auto;
	}

	.nch-input-action .nch-button {
		width: 100%;
	}

	.nch-location-row label:first-child {
		grid-column: auto;
	}

	.nch-submit-bar {
		align-items: stretch;
		flex-direction: column;
	}

	.nch-sales-total {
		text-align: left;
	}

	.nch-pos-cart-line {
		grid-template-columns: 1fr;
	}

	.nch-debtor-invoice-table {
		min-width: 780px;
		table-layout: auto;
	}

	.nch-debtor-settlement-panel .nch-table-wrap {
		overflow-x: auto;
	}

	.nch-settlement-summary {
		grid-template-columns: 1fr;
	}

	.nch-settlement-summary > div,
	.nch-settlement-summary > div:last-child {
		border-right: 0;
		border-bottom: 1px solid var(--nch-line);
		text-align: left;
	}

	.nch-settlement-summary > div:last-child {
		border-bottom: 0;
	}

	.nch-profile-metrics,
	.nch-history-columns {
		grid-template-columns: 1fr;
	}

	.nch-inventory-card-head {
		flex-direction: column;
	}

	.nch-item-metrics {
		width: 100%;
		min-width: 0;
		grid-template-columns: 1fr;
	}

	.nch-credit-strip {
		grid-template-columns: 1fr;
	}

	.nch-filter-bar {
		grid-template-columns: 1fr;
	}

	.nch-filter-bar.is-compact.nch-customer-filters,
	.nch-customer-audit {
		grid-template-columns: 1fr;
	}

	.nch-customer-filters label:first-child,
	.nch-customer-filters label:last-child,
	.nch-customer-audit p {
		grid-column: auto;
	}

	.nch-filter-bar.nch-finance-period {
		grid-template-columns: 1fr;
	}

	.nch-finance-period .nch-button {
		width: 100%;
	}

	.nch-finance-shortcuts {
		grid-template-columns: 1fr;
	}

	.nch-intelligence-kpis,
	.nch-intelligence-primary,
	.nch-intelligence-secondary {
		grid-template-columns: 1fr;
	}

	.nch-finance-column-chart {
		min-height: 230px;
	}

	.nch-pl-summary,
	.nch-profit-loss {
		grid-template-columns: 1fr;
	}

	.nch-pl-summary > div {
		border-right: 0;
		border-bottom: 1px solid var(--nch-line);
	}

	.nch-pl-summary > div:last-child {
		border-bottom: 0;
	}

	.nch-profit-net {
		grid-column: auto;
	}

	.nch-journal-line {
		grid-template-columns: 1fr 1fr;
	}

	.nch-journal-column-head {
		display: none;
	}

	.nch-journal-line select,
	.nch-journal-line input[name='remark'] {
		grid-column: 1 / -1;
	}

	.nch-report-chart-grid,
	.nch-chart-row {
		grid-template-columns: 1fr;
	}

	.nch-chart-label strong {
		white-space: normal;
	}

	.nch-user-admin-layout,
	.nch-form-grid.is-two-column {
		grid-template-columns: 1fr;
	}
}

/* Operational intelligence workspaces */
.nch-ops-intelligence {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 12px;
}

.nch-ops-intelligence-grid {
	display: grid;
	grid-template-columns: minmax(360px, 1.25fr) repeat(2, minmax(250px, .8fr));
	align-items: start;
	gap: 12px;
}

.nch-customer-intelligence-page .nch-kpi-grid,
.nch-debtor-intelligence-page .nch-kpi-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.nch-ops-intelligence-grid > .nch-panel {
	min-width: 0;
	padding: 18px;
}

.nch-ops-intelligence-grid.is-inventory {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nch-ops-intelligence-grid .is-wide {
	grid-column: 1 / -1;
}

.nch-ops-intelligence h3 {
	margin: 0;
	font-size: 16px;
}

.nch-inline-metrics {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.nch-inline-metrics span {
	padding: 6px 8px;
	border: 1px solid var(--nch-line);
	border-radius: 6px;
	background: #f8fafc;
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 700;
}

.nch-inline-metrics strong {
	margin-left: 3px;
	color: var(--nch-ink);
}

.nch-ops-column-chart {
	display: flex;
	min-height: 225px;
	align-items: stretch;
	gap: 10px;
	padding-top: 12px;
	border-bottom: 1px solid var(--nch-line);
}

.nch-ops-column {
	display: grid;
	min-width: 42px;
	flex: 1;
	grid-template-rows: 20px 165px 24px;
	gap: 5px;
	text-align: center;
}

.nch-ops-column-value {
	overflow: hidden;
	color: var(--nch-muted);
	font-size: 9px;
	font-weight: 800;
	text-overflow: ellipsis;
}

.nch-ops-column-track {
	display: flex;
	height: 165px;
	align-items: end;
	justify-content: center;
	gap: 4px;
	padding: 0 8px;
	border-bottom: 1px solid #cfd6e1;
	background: linear-gradient(to top, transparent 24%, #f2f4f7 25%, transparent 26%, transparent 49%, #f2f4f7 50%, transparent 51%, transparent 74%, #f2f4f7 75%, transparent 76%);
}

.nch-ops-column-track i {
	display: block;
	width: min(28px, 70%);
	min-height: 2px;
	border-radius: 4px 4px 0 0;
	background: #175cd3;
}

.nch-ops-column-track i.is-collected {
	background: #16803c;
}

.nch-ops-column-chart.is-paired .nch-ops-column-track i {
	width: min(18px, 42%);
}

.nch-ops-column > strong {
	font-size: 10px;
}

.nch-chart-legend i.is-collected {
	background: #16803c;
}

.nch-ops-distribution,
.nch-ops-ranking-list,
.nch-ops-action-list {
	display: grid;
	gap: 1px;
}

.nch-ops-distribution-row {
	display: grid;
	grid-template-columns: minmax(78px, .8fr) minmax(80px, 1fr) 42px;
	align-items: center;
	gap: 10px;
	min-height: 54px;
	border-bottom: 1px solid var(--nch-line);
}

.nch-ops-distribution-row:last-child {
	border-bottom: 0;
}

.nch-ops-distribution-row span strong,
.nch-ops-distribution-row span small {
	display: block;
}

.nch-ops-distribution-row span strong {
	font-size: 11px;
}

.nch-ops-distribution-row span small {
	margin-top: 3px;
	color: var(--nch-muted);
	font-size: 9px;
}

.nch-ops-distribution-row > div,
.nch-ops-ranking-list > div > div,
.nch-ops-ranking-list > a > div {
	height: 8px;
	overflow: hidden;
	border-radius: 3px;
	background: #eef2f6;
}

.nch-ops-distribution-row > div i,
.nch-ops-ranking-list > div > div i,
.nch-ops-ranking-list > a > div i {
	display: block;
	height: 100%;
	min-width: 2px;
	border-radius: inherit;
	background: #175cd3;
}

.nch-ops-distribution-row > b {
	font-size: 10px;
	text-align: right;
}

.nch-ops-distribution-row i.is-approval-approved,
.nch-ops-distribution-row i.is-stock-healthy { background: #16803c; }
.nch-ops-distribution-row i.is-approval-pending,
.nch-ops-distribution-row i.is-stock-low-stock { background: #f79009; }
.nch-ops-distribution-row i.is-approval-rejected,
.nch-ops-distribution-row i.is-stock-no-stock { background: #d92d20; }

.nch-ops-footnote {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	margin-top: 12px;
	padding-top: 11px;
	border-top: 1px solid var(--nch-line);
}

.nch-ops-footnote span,
.nch-ops-footnote strong {
	display: block;
}

.nch-ops-footnote span {
	color: var(--nch-muted);
	font-size: 9px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-ops-footnote strong {
	margin-top: 4px;
	color: var(--nch-ink);
	font-size: 13px;
}

.nch-ops-action-list > button,
.nch-ops-action-list > a,
.nch-ops-ranking-list > div,
.nch-ops-ranking-list > a {
	display: grid;
	width: 100%;
	min-width: 0;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	min-height: 54px;
	padding: 8px 0;
	border: 0;
	border-bottom: 1px solid var(--nch-line);
	background: transparent;
	color: var(--nch-ink);
	font: inherit;
	text-align: left;
}

.nch-ops-action-list > button,
.nch-ops-action-list > a,
.nch-ops-ranking-list > a {
	cursor: pointer;
}

.nch-ops-action-list > button:hover,
.nch-ops-action-list > a:hover,
.nch-ops-ranking-list > a:hover {
	background: #f8fafc;
}

.nch-ops-action-list > :last-child,
.nch-ops-ranking-list > :last-child {
	border-bottom: 0;
}

.nch-ops-action-list span,
.nch-ops-ranking-list span {
	min-width: 0;
}

.nch-ops-action-list span strong,
.nch-ops-action-list span small,
.nch-ops-ranking-list span strong,
.nch-ops-ranking-list span small {
	display: block;
}

.nch-ops-action-list span strong,
.nch-ops-ranking-list span strong {
	overflow: hidden;
	font-size: 11px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nch-ops-action-list span small,
.nch-ops-ranking-list span small {
	margin-top: 3px;
	overflow: hidden;
	color: var(--nch-muted);
	font-size: 9px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nch-ops-action-list > button > b,
.nch-ops-action-list > a > b,
.nch-ops-ranking-list > div > b,
.nch-ops-ranking-list > a > b {
	font-size: 11px;
	text-align: right;
	white-space: nowrap;
}

.nch-ops-ranking-list > div,
.nch-ops-ranking-list > a {
	grid-template-columns: minmax(95px, 1fr) minmax(70px, .7fr) auto;
}

.nch-ops-ranking-list > div > div i,
.nch-ops-ranking-list > a > div i { background: #0e9384; }
.nch-ops-ranking-list > a > div i.is-value { background: #7f56d9; }

.nch-ops-ranking-list.is-two-column {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 24px;
}

.nch-aging-stack {
	display: flex;
	height: 24px;
	margin: 16px 0 12px;
	overflow: hidden;
	border-radius: 5px;
	background: #eef2f6;
}

.nch-aging-stack i {
	display: block;
	height: 100%;
	min-width: 0;
}

.nch-aging-stack .is-aging-1,
.nch-aging-legend .is-aging-1 { background: #16803c; }
.nch-aging-stack .is-aging-2,
.nch-aging-legend .is-aging-2 { background: #fdb022; }
.nch-aging-stack .is-aging-3,
.nch-aging-legend .is-aging-3 { background: #f79009; }
.nch-aging-stack .is-aging-4,
.nch-aging-legend .is-aging-4 { background: #e04f16; }
.nch-aging-stack .is-aging-5,
.nch-aging-legend .is-aging-5 { background: #d92d20; }

.nch-aging-legend {
	display: grid;
	gap: 2px;
}

.nch-aging-legend > div {
	display: grid;
	grid-template-columns: 9px minmax(45px, 1fr) auto 38px;
	align-items: center;
	gap: 7px;
	min-height: 27px;
	font-size: 10px;
}

.nch-aging-legend > div > i {
	width: 9px;
	height: 9px;
	border-radius: 2px;
}

.nch-aging-legend small {
	color: var(--nch-muted);
	text-align: right;
}

.nch-exposure-note {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
	padding-top: 11px;
	border-top: 1px solid var(--nch-line);
	font-size: 10px;
}

.nch-exposure-note span { color: var(--nch-muted); font-weight: 800; text-transform: uppercase; }
.nch-exposure-note strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nch-exposure-note b { white-space: nowrap; }

@media (max-width: 1280px) {
	.nch-ops-intelligence-grid,
	.nch-ops-intelligence-grid.is-inventory {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.nch-ops-trend-panel,
	.nch-ops-intelligence-grid .is-wide { grid-column: 1 / -1; }
}

@media (max-width: 1180px) {
	.nch-customer-intelligence-page .nch-kpi-grid,
	.nch-debtor-intelligence-page .nch-kpi-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.nch-ops-intelligence-grid,
	.nch-ops-intelligence-grid.is-inventory { grid-template-columns: 1fr; }
	.nch-ops-trend-panel,
	.nch-ops-intelligence-grid .is-wide { grid-column: auto; }
	.nch-ops-intelligence-grid > .nch-panel { padding: 14px; }
	.nch-ops-column-chart { min-width: 410px; }
	.nch-ops-trend-panel { overflow-x: auto; }
	.nch-ops-trend-panel > .nch-section-heading,
	.nch-ops-trend-panel > .nch-ops-footnote { position: sticky; left: 0; min-width: calc(100vw - 76px); }
	.nch-ops-ranking-list.is-two-column { grid-template-columns: 1fr; }
	.nch-inline-metrics { justify-content: flex-start; }
}

/* Home is an operational work queue; analytics remain in Executive Intelligence. */
.nch-home-main {
	gap: 18px;
}

.nch-home-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.nch-home-welcome h1,
.nch-home-welcome p {
	margin: 0;
}

.nch-home-welcome h1 {
	margin-top: 4px;
	font-size: 28px;
}

.nch-home-welcome > p:last-child {
	margin-top: 6px;
	color: var(--nch-muted);
	font-size: 13px;
}

.nch-home-controls {
	display: flex;
	min-width: 0;
	align-items: stretch;
	justify-content: flex-end;
	gap: 8px;
}

.nch-home-location {
	display: grid;
	width: 210px;
	min-width: 0;
	gap: 4px;
	padding: 8px 10px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
}

.nch-home-location > span {
	color: var(--nch-muted);
	font-size: 9px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-home-location select {
	width: 100%;
	min-width: 0;
	border: 0;
	background: transparent;
	color: var(--nch-ink);
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	outline: 0;
}

.nch-home-user {
	display: flex;
	min-width: 145px;
	flex-direction: column;
	justify-content: center;
	padding: 8px 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
}

.nch-home-user strong,
.nch-home-user span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nch-home-user strong { font-size: 12px; }
.nch-home-user span { margin-top: 3px; color: var(--nch-muted); font-size: 10px; }

.nch-approval-alert-control {
	display: grid;
	min-width: 190px;
	grid-template-columns: 26px minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
	color: var(--nch-ink);
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.nch-approval-alert-control:hover {
	border-color: #98a2b3;
	background: #f8fafc;
}

.nch-approval-alert-control[data-state="enabled"] { border-color: #75c69b; background: #f0fdf4; }
.nch-approval-alert-control[data-state="blocked"],
.nch-approval-alert-control[data-state="error"] { border-color: #f3b7b2; background: #fff7f6; }

.nch-notification-mark {
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
	border: 1px solid #98a2b3;
	border-radius: 6px;
	background: #f2f4f7;
}

.nch-notification-mark::before {
	position: absolute;
	top: 6px;
	left: 7px;
	width: 8px;
	height: 8px;
	border: 2px solid #475467;
	border-radius: 8px 8px 3px 3px;
	content: "";
}

.nch-notification-mark::after {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 6px;
	height: 6px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #d92d20;
	content: "";
}

.nch-approval-alert-control > span:nth-child(2) strong,
.nch-approval-alert-control > span:nth-child(2) small {
	display: block;
}

.nch-approval-alert-control > span:nth-child(2) strong { font-size: 11px; }
.nch-approval-alert-control > span:nth-child(2) small { margin-top: 2px; color: var(--nch-muted); font-size: 9px; }

.nch-approval-alert-control > b,
.nch-home-count-badge {
	display: inline-flex;
	min-width: 23px;
	height: 23px;
	align-items: center;
	justify-content: center;
	padding: 0 6px;
	border-radius: 12px;
	background: #d92d20;
	color: #fff;
	font-size: 10px;
}

.nch-home-counter-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.nch-home-counter {
	position: relative;
	display: grid;
	min-width: 0;
	min-height: 112px;
	align-content: center;
	gap: 5px;
	overflow: hidden;
	padding: 15px 16px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--nch-shadow);
}

.nch-home-counter::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 4px;
	background: #667085;
	content: "";
}

.nch-home-counter.is-approval::before { background: #7f56d9; }
.nch-home-counter.is-sales::before { background: #175cd3; }
.nch-home-counter.is-inventory::before { background: #f79009; }
.nch-home-counter.is-finance::before { background: #d92d20; }
.nch-home-counter.is-transfer::before { background: #0e9384; }

.nch-home-counter span {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-home-counter strong {
	font-size: 24px;
}

.nch-home-counter small {
	overflow: hidden;
	color: var(--nch-muted);
	font-size: 10px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nch-home-workspace {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(290px, .75fr);
	align-items: start;
	gap: 12px;
}

.nch-home-workspace.without-approvals {
	grid-template-columns: minmax(290px, 520px);
}

.nch-home-focus-column {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 12px;
}

.nch-home-approval-panel,
.nch-home-start-panel,
.nch-home-attention-panel {
	min-width: 0;
	padding: 18px;
}

.nch-home-approval-panel h2,
.nch-home-start-panel h2,
.nch-home-attention-panel h2 {
	font-size: 18px;
}

.nch-home-approval-list,
.nch-home-action-list,
.nch-home-attention-list {
	display: grid;
}

.nch-home-approval-list > a {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr) minmax(110px, .34fr);
	align-items: center;
	gap: 12px;
	min-height: 62px;
	padding: 9px 0;
	border-bottom: 1px solid var(--nch-line);
	color: var(--nch-ink);
}

.nch-home-approval-list > a:last-child,
.nch-home-action-list > a:last-child,
.nch-home-attention-list > :last-child {
	border-bottom: 0;
}

.nch-home-approval-list > a:hover,
.nch-home-action-list > a:hover,
.nch-home-attention-list > a:hover {
	background: #f8fafc;
}

.nch-home-type {
	display: inline-flex;
	width: fit-content;
	max-width: 92px;
	min-height: 24px;
	align-items: center;
	padding: 4px 7px;
	border-radius: 5px;
	background: #eef2f6;
	color: #344054;
	font-size: 9px;
	font-weight: 800;
}

.nch-home-type.is-customer,
.nch-home-type.is-sales-order { background: #eaf1fc; color: #1849a9; }
.nch-home-type.is-stock-transfer,
.nch-home-type.is-purchase { background: #edf9f4; color: #067647; }
.nch-home-type.is-journal,
.nch-home-type.is-price { background: #fff4e5; color: #b54708; }
.nch-home-type.is-salary-advance { background: #f4f0ff; color: #6941c6; }

.nch-home-row-copy,
.nch-home-row-meta {
	min-width: 0;
}

.nch-home-row-copy strong,
.nch-home-row-copy small,
.nch-home-row-meta strong,
.nch-home-row-meta small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nch-home-row-copy strong { font-size: 12px; }
.nch-home-row-copy small { margin-top: 4px; color: var(--nch-muted); font-size: 10px; }
.nch-home-row-meta { text-align: right; }
.nch-home-row-meta strong { font-size: 10px; }
.nch-home-row-meta small { margin-top: 4px; color: var(--nch-muted); font-size: 9px; }

.nch-home-action-list > a {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 18px;
	align-items: center;
	gap: 10px;
	min-height: 68px;
	padding: 10px 0;
	border-bottom: 1px solid var(--nch-line);
	color: var(--nch-ink);
}

.nch-home-action-list small,
.nch-home-action-list strong,
.nch-home-action-list p {
	display: block;
	margin: 0;
}

.nch-home-action-list small { color: #175cd3; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.nch-home-action-list strong { margin-top: 3px; font-size: 12px; }
.nch-home-action-list p { margin-top: 4px; color: var(--nch-muted); font-size: 9px; line-height: 1.35; }
.nch-home-action-list > a > b { color: #98a2b3; font-size: 22px; text-align: right; }

.nch-home-attention-list > a,
.nch-home-attention-list > div {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	min-height: 58px;
	padding: 9px 0;
	border-bottom: 1px solid var(--nch-line);
	color: var(--nch-ink);
}

.nch-home-attention-kind {
	color: var(--nch-muted);
	font-size: 9px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-home-attention-list span:nth-child(2) strong,
.nch-home-attention-list span:nth-child(2) small {
	display: block;
}

.nch-home-attention-list span:nth-child(2) strong { font-size: 12px; }
.nch-home-attention-list span:nth-child(2) small { margin-top: 3px; color: var(--nch-muted); font-size: 10px; }
.nch-home-attention-list > a > b { color: #175cd3; font-size: 10px; }
.nch-home-attention-list .is-warning .nch-home-attention-kind { color: #b54708; }
.nch-home-attention-list .is-danger .nch-home-attention-kind { color: #b42318; }
.nch-home-attention-list .is-ok .nch-home-attention-kind { color: #067647; }

.nch-home-clear-state {
	display: grid;
	min-height: 100px;
	place-content: center;
	gap: 5px;
	color: var(--nch-muted);
	text-align: center;
}

.nch-home-clear-state strong { color: var(--nch-ink); font-size: 13px; }
.nch-home-clear-state span { font-size: 10px; }

@media (max-width: 1180px) {
	.nch-home-header { align-items: flex-start; }
	.nch-home-controls { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)); }
	.nch-home-user { display: none; }
	.nch-home-location { width: auto; }
	.nch-home-workspace { grid-template-columns: 1fr; }
	.nch-home-start-panel .nch-home-action-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
}

@media (max-width: 760px) {
	.nch-home-header { flex-direction: column; }
	.nch-home-welcome h1 { font-size: 24px; }
	.nch-home-controls { width: 100%; grid-template-columns: 1fr; }
	.nch-approval-alert-control,
	.nch-home-location { width: 100%; }
	.nch-home-counter-grid { display: flex; overflow-x: auto; padding-bottom: 3px; scroll-snap-type: x proximity; }
	.nch-home-counter { min-width: 176px; scroll-snap-align: start; }
	.nch-home-approval-panel,
	.nch-home-start-panel,
	.nch-home-attention-panel { padding: 14px; }
	.nch-home-approval-list > a { grid-template-columns: 82px minmax(0, 1fr); }
	.nch-home-row-meta { display: none; }
	.nch-home-start-panel .nch-home-action-list { grid-template-columns: 1fr; }
	.nch-home-attention-list > a,
	.nch-home-attention-list > div { grid-template-columns: 72px minmax(0, 1fr); }
	.nch-home-attention-list > a > b { display: none; }
}

@media (max-width: 520px) {
	h1 {
		font-size: 24px;
	}

	h2 {
		font-size: 19px;
	}

	.nch-kpi-grid,
	.nch-module-grid,
	.nch-location-grid {
		grid-template-columns: 1fr;
	}

	.nch-journal-line {
		grid-template-columns: 1fr;
	}

	.nch-journal-line input,
	.nch-journal-line select {
		grid-column: auto;
	}

	.nch-journal-totals span:last-child {
		width: 100%;
		margin-left: 0;
	}
}

/* Finance workflow and source-detail polish */
.nch-return-intelligence-filters input,
.nch-return-intelligence-filters select {
	padding: 9px 11px;
	border: 1px solid #d0d5dd;
	border-radius: 8px;
	background: #fff;
	color: var(--nch-ink);
	font: inherit;
	font-size: 14px;
	box-shadow: none;
}

.nch-return-intelligence-filters input:focus,
.nch-return-intelligence-filters select:focus {
	border-color: var(--nch-blue);
	box-shadow: 0 0 0 3px rgba(23, 92, 211, 0.12);
	outline: none;
}

.nch-return-intelligence-filters .nch-filter-actions .nch-button {
	height: 42px;
	min-width: 78px;
}

.nch-adjustment-workflows {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 16px 0 24px;
}

.nch-adjustment-workflows article {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	align-content: start;
	gap: 7px 10px;
	min-width: 0;
	padding: 15px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
}

.nch-adjustment-workflows article > .nch-button,
.nch-adjustment-workflows article > .nch-action-row {
	grid-column: 1 / -1;
	margin-top: 7px;
}

.nch-adjustment-workflows article > .nch-button { width: 100%; }
.nch-adjustment-workflows article > .nch-action-row .nch-button { flex: 1 1 0; }
.nch-adjustment-workflows strong,
.nch-adjustment-workflows small { display: block; }
.nch-adjustment-workflows strong { font-size: 13px; line-height: 1.4; }
.nch-adjustment-workflows small { margin-top: 4px; color: var(--nch-muted); font-size: 12px; line-height: 1.45; }

.nch-workflow-number {
	display: grid;
	width: 30px;
	height: 30px;
	place-items: center;
	border-radius: 50%;
	background: #e8f1ff;
	color: var(--nch-blue);
	font-size: 12px;
	font-weight: 900;
}

.nch-workflow-notice {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 18px;
	margin-bottom: 20px;
	padding: 14px 16px;
	border: 1px solid #fedf89;
	border-radius: 8px;
	background: #fffaeb;
}

.nch-workflow-notice strong,
.nch-workflow-notice span { grid-column: 1; }
.nch-workflow-notice span { color: #7a2e0e; font-size: 12px; line-height: 1.45; }
.nch-workflow-notice a { grid-column: 2; grid-row: 1 / 3; align-self: center; color: #b54708; font-size: 12px; font-weight: 800; }
.nch-credit-note-confirm { border-color: #fedf89; background: #fffaeb; }

.nch-supplier-bill-modal { width: min(820px, calc(100vw - 32px)); }
.nch-supplier-bill-modal .nch-modal-section + .nch-modal-section { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--nch-line); }
.nch-supplier-bill-modal .nch-modal-line-list { margin-top: 8px; border: 1px solid var(--nch-line); border-radius: 8px; background: #f8fafc; }
.nch-supplier-bill-modal .nch-procurement-qty-line { padding: 12px 14px; }
.nch-supplier-bill-modal .nch-procurement-qty-line + .nch-procurement-qty-line { border-top: 1px solid var(--nch-line); }
.nch-supplier-bill-modal label > small { display: block; margin-top: 5px; color: var(--nch-muted); font-size: 11px; }

.nch-credit-exception {
	margin-top: 20px;
	padding: 16px;
	border: 1px solid #fedf89;
	border-radius: 8px;
	background: #fffaeb;
}

.nch-credit-exception-summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 12px 0;
	border: 1px solid #fedf89;
	border-radius: 8px;
	overflow: hidden;
	background: #fedf89;
}

.nch-credit-exception-summary > div { padding: 12px 14px; background: #fff; }
.nch-credit-exception-summary span,
.nch-credit-exception-summary strong { display: block; }
.nch-credit-exception-summary span { color: var(--nch-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.nch-credit-exception-summary strong { margin-top: 4px; font-size: 16px; font-variant-numeric: tabular-nums; }
.nch-credit-exception textarea { min-height: 82px; }

.nch-finance-detail-table { min-width: 1120px; }

.nch-journal-double-entry-table {
	min-width: 0;
}

.nch-journal-double-entry-table th,
.nch-journal-double-entry-table td {
	min-width: 0;
	white-space: normal;
}

.nch-journal-double-entry-table.is-register,
.nch-journal-double-entry-table.is-register thead,
.nch-journal-double-entry-table.is-register tbody {
	display: block;
	width: 100%;
}

.nch-journal-double-entry-table.is-register tr {
	display: grid;
	grid-template-columns:
		minmax(135px, 0.8fr)
		minmax(170px, 1.05fr)
		minmax(260px, 1.7fr)
		minmax(260px, 1.7fr)
		minmax(115px, 0.7fr)
		minmax(90px, 0.55fr)
		64px;
}

.nch-journal-double-entry-table.is-register thead tr {
	border-bottom: 1px solid var(--nch-line);
}

.nch-journal-double-entry-table.is-register tbody tr {
	border-bottom: 1px solid var(--nch-line);
}

.nch-journal-double-entry-table.is-register tbody tr:last-child {
	border-bottom: 0;
}

.nch-journal-double-entry-table.is-register th,
.nch-journal-double-entry-table.is-register td {
	border-bottom: 0;
}

.nch-journal-double-entry-table.is-register td:nth-child(5) {
	text-align: right;
}

.nch-journal-double-entry-table.is-register td:nth-child(7) {
	display: flex;
	justify-content: flex-end;
}

.nch-journal-double-entry-table.is-detailed {
	min-width: 1120px;
}

.nch-journal-double-entry-table.is-detailed th:nth-child(2),
.nch-journal-double-entry-table.is-detailed th:nth-child(3) {
	min-width: 360px;
}

.nch-journal-side {
	display: grid;
	gap: 10px;
	min-width: 0;
	padding-left: 12px;
	border-left: 3px solid #98a2b3;
	white-space: normal;
}

.nch-journal-side.is-debit {
	border-left-color: #175cd3;
}

.nch-journal-side.is-credit {
	border-left-color: #067647;
}

.nch-journal-side-line {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	align-items: start;
	min-width: 0;
	padding-bottom: 10px;
	border-bottom: 1px solid #eaecf0;
}

.nch-journal-side-line:last-of-type {
	padding-bottom: 0;
	border-bottom: 0;
}

.nch-journal-side-line > span,
.nch-journal-side-line small {
	display: block;
}

.nch-journal-side-line > span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.nch-journal-side-line > span > strong {
	display: block;
	line-height: 1.35;
}

.nch-journal-side-line small {
	margin-top: 3px;
	color: #667085;
	line-height: 1.35;
}

.nch-journal-line-amount {
	align-self: start;
	text-align: right;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.nch-journal-side footer {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding-top: 10px;
	border-top: 1px solid #d0d5dd;
}

.nch-journal-side.is-compact {
	gap: 7px;
}

.nch-journal-side.is-compact .nch-journal-side-line {
	padding-bottom: 7px;
}

.nch-journal-side::before {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

.nch-journal-side.is-debit::before {
	content: "Debit entries";
}

.nch-journal-side.is-credit::before {
	content: "Credit entries";
}

.nch-journal-report-status {
	margin-top: 10px;
}

.nch-journal-balance {
	display: inline-flex;
	align-items: center;
	margin-top: 12px;
	padding: 5px 9px;
	border-radius: 6px;
	font-size: 0.78rem;
	font-weight: 700;
}

.nch-journal-balance.is-balanced {
	color: #067647;
	background: #ecfdf3;
}

.nch-journal-balance.is-unbalanced {
	color: #b42318;
	background: #fef3f2;
}

@media (max-width: 1280px) {
	.nch-journal-double-entry-table.is-register {
		display: block;
		min-width: 0;
	}

	.nch-journal-double-entry-table.is-register thead {
		display: none;
	}

	.nch-journal-double-entry-table.is-register tbody {
		display: grid;
		gap: 14px;
		padding: 4px 0;
	}

	.nch-journal-double-entry-table.is-register tbody tr {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		border: 1px solid #d0d5dd;
		border-radius: 6px;
		background: #fff;
		overflow: hidden;
	}

	.nch-journal-double-entry-table.is-register tbody td {
		display: block;
		min-width: 0;
		border: 0;
	}

	.nch-journal-double-entry-table.is-register tbody td:nth-child(1) { grid-column: 1 / 5; }
	.nch-journal-double-entry-table.is-register tbody td:nth-child(2) { grid-column: 5 / -1; }
	.nch-journal-double-entry-table.is-register tbody td:nth-child(3) { grid-column: 1 / 7; border-top: 1px solid #eaecf0; }
	.nch-journal-double-entry-table.is-register tbody td:nth-child(4) { grid-column: 7 / -1; border-top: 1px solid #eaecf0; }
	.nch-journal-double-entry-table.is-register tbody td:nth-child(5) { grid-column: 1 / 5; border-top: 1px solid #eaecf0; }
	.nch-journal-double-entry-table.is-register tbody td:nth-child(6) { grid-column: 5 / 9; border-top: 1px solid #eaecf0; }
	.nch-journal-double-entry-table.is-register tbody td:nth-child(7) { grid-column: 9 / -1; border-top: 1px solid #eaecf0; text-align: right; }

}

@media (max-width: 720px) {
	.nch-journal-double-entry-table.is-register tbody {
		padding: 2px 0;
	}

	.nch-journal-double-entry-table.is-register tbody td {
		grid-column: 1 / -1 !important;
		grid-row: auto !important;
		border-top: 1px solid #eaecf0;
	}

	.nch-journal-double-entry-table.is-register tbody td:first-child {
		border-top: 0;
	}

	.nch-journal-side-line {
		grid-template-columns: minmax(0, 1fr);
		gap: 5px;
	}

	.nch-journal-line-amount {
		text-align: left;
	}
}
.nch-account-transactions > div { width: min(850px, calc(100vw - 96px)); }
.nch-account-transactions .nch-table { min-width: 760px; }

.nch-profit-detail-rows > details { border-bottom: 1px solid var(--nch-line); }
.nch-profit-detail-rows > details:last-child { border-bottom: 0; }
.nch-profit-detail-rows > details > summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	padding: 12px 0;
	cursor: pointer;
	list-style-position: inside;
}
.nch-profit-detail-rows > details > summary span { display: inline; font-weight: 700; }
.nch-profit-detail-rows > details > summary small { display: block; margin: 3px 0 0 18px; color: var(--nch-muted); font-size: 11px; font-weight: 500; }
.nch-profit-detail-rows > details > summary > strong { text-align: right; font-variant-numeric: tabular-nums; }
.nch-profit-account-detail { max-width: 100%; margin: 0 0 12px; border: 1px solid var(--nch-line); border-radius: 8px; overflow: auto; }
.nch-profit-account-detail .nch-table { min-width: 680px; margin: 0; }

.nch-ledger-account-list { border: 1px solid var(--nch-line); border-radius: 8px; overflow: hidden; background: #fff; }
.nch-ledger-account-head,
.nch-ledger-account > summary {
	display: grid;
	grid-template-columns: minmax(220px, 1.6fr) repeat(4, minmax(105px, .65fr)) 70px;
	align-items: center;
	gap: 14px;
	min-width: 820px;
	padding: 12px 16px;
}
.nch-ledger-account-head { background: #f8fafc; color: var(--nch-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.nch-ledger-account { border-top: 1px solid var(--nch-line); }
.nch-ledger-account > summary { cursor: pointer; }
.nch-ledger-account > summary:hover { background: #f8fafc; }
.nch-ledger-account > summary > span:first-child strong,
.nch-ledger-account > summary > span:first-child small { display: block; }
.nch-ledger-account > summary > span:first-child small { margin-top: 3px; color: var(--nch-muted); font-size: 11px; }
.nch-ledger-account > summary > strong { text-align: right; font-variant-numeric: tabular-nums; }
.nch-ledger-account > summary > .nch-status { justify-self: end; }
.nch-ledger-account-detail { padding: 0 16px 16px; background: #f8fafc; }
.nch-ledger-account-detail .nch-table-wrap { margin: 0; background: #fff; }
.nch-ledger-account-detail .nch-table { min-width: 900px; }

@media (max-width: 900px) {
	.nch-adjustment-workflows { grid-template-columns: 1fr; }
	.nch-ledger-account-list { overflow-x: auto; }
}

@media (max-width: 640px) {
	.nch-return-intelligence-filters { padding: 12px; }
	.nch-workflow-notice { grid-template-columns: 1fr; }
	.nch-workflow-notice a { grid-column: 1; grid-row: auto; margin-top: 6px; }
	.nch-credit-exception-summary { grid-template-columns: 1fr; }
	.nch-supplier-bill-modal .nch-procurement-qty-line { align-items: stretch; flex-direction: column; }
	.nch-supplier-bill-modal .nch-qty-field { width: 100%; flex-basis: auto; }
}

/* Procurement money presentation: the badge identifies currency; the amount stays neutral. */
.nch-money {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
	max-width: 100%;
	color: var(--nch-ink);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.nch-money-value {
	color: var(--nch-ink);
	font: inherit;
	font-variant-numeric: tabular-nums;
}

.nch-currency-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 22px;
	padding: 0 7px;
	border: 1px solid #d0d5dd;
	border-radius: 5px;
	background: #f2f4f7;
	color: #344054;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0;
	vertical-align: middle;
}

.nch-currency-badge[data-currency="LKR"] {
	border-color: #a6f4c5;
	background: #ecfdf3;
	color: #067647;
}

.nch-currency-badge[data-currency="USD"] {
	border-color: #b2ddff;
	background: #eff8ff;
	color: #175cd3;
}

.nch-currency-badge[data-currency="EUR"] {
	border-color: #d9d6fe;
	background: #f4f3ff;
	color: #5925dc;
}

.nch-currency-badge[data-currency="GBP"] {
	border-color: #fedf89;
	background: #fffaeb;
	color: #b54708;
}

.nch-currency-badge[data-currency="CNY"] {
	border-color: #fecdca;
	background: #fef3f2;
	color: #b42318;
}

.nch-currency-badge[data-currency="AED"] {
	border-color: #a5f0fc;
	background: #ecfdff;
	color: #0e7090;
}

.nch-currency-badge[data-currency="INR"] {
	border-color: #f9dbaf;
	background: #fef6ee;
	color: #b93815;
}

.nch-currency-badge[data-currency="JPY"] {
	border-color: #fcceee;
	background: #fdf2fa;
	color: #c11574;
}

.nch-currency-total-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin-top: 6px;
}

.nch-currency-total-list.is-prominent .nch-money-value {
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
}

.nch-table-money-list {
	display: grid;
	justify-items: end;
	gap: 6px;
}

@media (max-width: 760px) {
	.nch-table-money-list {
		justify-items: start;
	}

	.nch-currency-total-list {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}
}
.nch-statement-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.nch-statement-single { max-width: 900px; margin: 0 auto; border: 1px solid var(--nch-border); background: #fff; }
.nch-statement-opening, .nch-statement-line, .nch-statement-total, .nch-statement-closing { display: flex; justify-content: space-between; gap: 24px; padding: 16px 20px; border-bottom: 1px solid var(--nch-border); }
.nch-statement-line strong, .nch-statement-opening strong, .nch-statement-total strong, .nch-statement-closing strong { font-variant-numeric: tabular-nums; }
.nch-statement-opening { background: #f7f9fc; }
.nch-statement-total { font-weight: 700; border-top: 2px solid #263247; }
.nch-statement-closing { border: 0; background: #e9f7ef; font-size: 1.05rem; font-weight: 800; }
@media (max-width: 760px) { .nch-statement-grid { grid-template-columns: 1fr; } .nch-statement-opening, .nch-statement-line, .nch-statement-total, .nch-statement-closing { padding: 14px; } }
.nch-statement-dashboard { display: flex; width: 100%; flex-direction: column; gap: 18px; }
.nch-statement-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-surface);
	overflow: hidden;
}
.nch-statement-summary > div { min-width: 0; padding: 18px 20px; border-right: 1px solid var(--nch-line); }
.nch-statement-summary > div:last-child { border-right: 0; }
.nch-statement-summary > div.is-closing { background: #eef7f1; }
.nch-statement-summary.is-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nch-statement-summary span,
.nch-statement-summary strong,
.nch-statement-summary small { display: block; }
.nch-statement-summary span { color: var(--nch-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.nch-statement-summary strong { margin-top: 8px; font-size: 24px; font-variant-numeric: tabular-nums; line-height: 1.1; }
.nch-statement-summary small { margin-top: 6px; color: var(--nch-muted); font-size: 12px; }
.nch-statement-summary .is-positive,
.nch-statement-breakdown .is-positive { color: #137a3c; }
.nch-statement-summary .is-negative,
.nch-statement-breakdown .is-negative { color: #b42318; }
.nch-statement-breakdown { width: 100%; border: 1px solid var(--nch-line); border-radius: 8px; background: var(--nch-surface); overflow: hidden; }
.nch-statement-breakdown > header,
.nch-statement-breakdown-rows > div,
.nch-statement-breakdown > footer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(130px, .28fr); align-items: center; gap: 24px; }
.nch-statement-breakdown > header { padding: 16px 20px; border-bottom: 1px solid var(--nch-line); background: #f8fafc; }
.nch-statement-breakdown > header > strong { color: var(--nch-muted); font-size: 11px; text-align: right; text-transform: uppercase; }
.nch-statement-breakdown-rows > div { min-height: 54px; padding: 13px 20px; border-bottom: 1px solid var(--nch-line); }
.nch-statement-breakdown-rows > div:last-child { border-bottom: 0; }
.nch-statement-breakdown-rows strong,
.nch-statement-breakdown > footer strong { text-align: right; font-variant-numeric: tabular-nums; }
.nch-statement-breakdown > footer { padding: 16px 20px; border-top: 2px solid #344054; background: #f8fafc; font-weight: 800; }
.nch-statement-filter {
	display: grid;
	grid-template-columns: repeat(2, minmax(220px, 1fr)) auto;
	align-items: end;
	gap: 12px;
	padding: 14px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-surface);
}
.nch-statement-filter label { display: grid; gap: 6px; min-width: 0; }
.nch-statement-filter label > span { color: var(--nch-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.nch-statement-filter select { width: 100%; height: 40px; padding: 0 12px; border: 1px solid var(--nch-line); border-radius: 8px; background: #fff; color: var(--nch-ink); font: inherit; font-size: 14px; }
.nch-statement-filter .nch-button { height: 40px; }
.nch-statement-comparison {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-line);
	overflow: hidden;
}
.nch-statement-comparison > div { min-width: 0; padding: 13px 16px; background: #f8fafc; }
.nch-statement-comparison span,
.nch-statement-comparison strong { display: block; }
.nch-statement-comparison span { color: var(--nch-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.nch-statement-comparison strong { margin-top: 5px; overflow-wrap: anywhere; font-size: 13px; font-variant-numeric: tabular-nums; }
.nch-statement-comparison .is-positive,
.nch-detailed-statement .is-positive,
.nch-equity-components .is-positive,
.nch-inline-details .is-positive { color: #137a3c; }
.nch-statement-comparison .is-negative,
.nch-detailed-statement .is-negative,
.nch-equity-components .is-negative,
.nch-inline-details .is-negative { color: #b42318; }
.nch-detailed-statement,
.nch-equity-components { width: 100%; border: 1px solid var(--nch-line); border-radius: 8px; background: var(--nch-surface); overflow: hidden; }
.nch-detailed-statement > header,
.nch-equity-components > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; border-bottom: 1px solid var(--nch-line); background: #f8fafc; }
.nch-statement-columns { display: grid; grid-template-columns: repeat(3, minmax(88px, 1fr)); gap: 12px; min-width: 330px; color: var(--nch-muted); font-size: 10px; font-weight: 800; text-align: right; text-transform: uppercase; }
.nch-statement-columns.is-single { grid-template-columns: minmax(100px, 1fr); min-width: 140px; }
.nch-statement-activity { border-bottom: 1px solid var(--nch-line); }
.nch-statement-activity:last-of-type { border-bottom: 0; }
.nch-statement-activity > summary {
	display: grid;
	grid-template-columns: minmax(240px, 1fr) repeat(3, minmax(88px, .24fr));
	align-items: center;
	gap: 12px;
	min-height: 62px;
	padding: 12px 20px;
	cursor: pointer;
	list-style: none;
}
.nch-statement-activity > summary::-webkit-details-marker { display: none; }
.nch-statement-activity > summary:hover { background: #fbfcfe; }
.nch-statement-activity > summary > span:first-child { min-width: 0; }
.nch-statement-activity > summary > span:first-child::before { content: "+"; display: inline-grid; width: 22px; height: 22px; margin-right: 10px; place-items: center; border: 1px solid var(--nch-line); border-radius: 50%; color: var(--nch-muted); font-weight: 800; }
.nch-statement-activity[open] > summary > span:first-child::before { content: "-"; }
.nch-statement-activity > summary span strong,
.nch-statement-activity > summary span small { display: block; }
.nch-statement-activity > summary span strong { display: inline; }
.nch-statement-activity > summary span small { margin: 5px 0 0 34px; color: var(--nch-muted); font-size: 11px; }
.nch-statement-activity > summary > strong { text-align: right; font-variant-numeric: tabular-nums; }
.nch-detailed-statement .nch-statement-columns.is-single + * { min-width: 0; }
.nch-detailed-statement .nch-statement-columns.is-single { margin-left: auto; }
.nch-detailed-statement .nch-statement-columns.is-single span { text-align: right; }
.nch-detailed-statement .nch-statement-activity:has(summary > span + strong:last-child) > summary { grid-template-columns: minmax(240px, 1fr) minmax(100px, .24fr); }
.nch-statement-detail { padding: 18px 20px 20px; border-top: 1px solid var(--nch-line); background: #fbfcfe; }
.nch-statement-detail h4 { margin: 0 0 9px; font-size: 12px; text-transform: uppercase; }
.nch-statement-detail h4:not(:first-child) { margin-top: 18px; }
.nch-compact-rows { border: 1px solid var(--nch-line); border-radius: 8px; background: #fff; overflow: hidden; }
.nch-compact-rows > div { display: flex; justify-content: space-between; gap: 20px; padding: 10px 12px; border-bottom: 1px solid var(--nch-line); }
.nch-compact-rows > div:last-child { border-bottom: 0; }
.nch-compact-rows > p { margin: 0; padding: 12px; color: var(--nch-muted); }
.nch-detailed-statement > footer {
	display: grid;
	grid-template-columns: minmax(240px, 1fr) repeat(3, minmax(88px, .24fr));
	align-items: center;
	gap: 12px;
	padding: 16px 20px;
	border-top: 2px solid #344054;
	background: #f8fafc;
	font-weight: 800;
}
.nch-detailed-statement > footer > strong { text-align: right; }
.nch-detailed-statement > footer > strong:only-of-type { grid-column: -2 / -1; }
.nch-table.is-compact th,
.nch-table.is-compact td { padding-top: 9px; padding-bottom: 9px; }
.nch-equity-components .nch-table-wrap { border: 0; border-radius: 0; }
.nch-equity-components .nch-table tfoot th { border-top: 2px solid #344054; background: #f8fafc; }
.nch-inline-details { position: relative; }
.nch-inline-details > summary { color: var(--nch-blue); font-size: 12px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.nch-inline-details > div { min-width: 320px; margin-top: 8px; }
.nch-inline-details p { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; margin: 0; padding: 8px 0; border-bottom: 1px solid var(--nch-line); }
.nch-inline-details p:last-child { border-bottom: 0; }
.nch-inline-details p span { grid-column: 1 / -1; color: var(--nch-muted); font-size: 11px; }
.nch-inline-details p em { grid-column: 2; grid-row: 1; font-style: normal; font-weight: 800; }
@media (max-width: 760px) {
	.nch-statement-summary { grid-template-columns: 1fr; }
	.nch-statement-summary.is-four { grid-template-columns: 1fr; }
	.nch-statement-summary > div { border-right: 0; border-bottom: 1px solid var(--nch-line); }
	.nch-statement-summary > div:last-child { border-bottom: 0; }
	.nch-statement-breakdown > header,
	.nch-statement-breakdown-rows > div,
	.nch-statement-breakdown > footer { grid-template-columns: minmax(0, 1fr) minmax(92px, .4fr); gap: 12px; }
	.nch-statement-breakdown > header,
	.nch-statement-breakdown-rows > div,
	.nch-statement-breakdown > footer { padding-left: 14px; padding-right: 14px; }
	.nch-statement-filter { grid-template-columns: 1fr; }
	.nch-statement-filter .nch-button { width: 100%; }
	.nch-statement-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-detailed-statement > header,
	.nch-equity-components > header { align-items: flex-start; flex-direction: column; padding: 14px; }
	.nch-statement-columns { width: 100%; min-width: 0; grid-template-columns: repeat(3, minmax(70px, 1fr)); }
	.nch-statement-activity > summary { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 12px 14px; }
	.nch-statement-activity > summary > span:first-child { grid-column: 1 / -1; }
	.nch-statement-activity > summary > strong { text-align: center; }
	.nch-detailed-statement .nch-statement-activity:has(summary > span + strong:last-child) > summary { grid-template-columns: 1fr; }
	.nch-detailed-statement .nch-statement-activity:has(summary > span + strong:last-child) > summary > strong { text-align: right; }
	.nch-statement-activity > summary span small { margin-left: 0; }
	.nch-statement-detail { padding: 14px; }
	.nch-detailed-statement > footer { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 14px; }
	.nch-detailed-statement > footer > span:first-child { grid-column: 1 / -1; }
	.nch-detailed-statement > footer > strong { text-align: center; }
	.nch-inline-details > div { min-width: 240px; }
}
.nch-budget-line { display: grid; grid-template-columns: minmax(0, 1fr) minmax(140px, .35fr) 42px; gap: 10px; margin-bottom: 10px; }
.nch-control-workflow-modal { width: min(760px, calc(100vw - 32px)); }
.nch-control-workflow-modal .nch-finance-modal-header small { display: block; margin-top: 4px; color: var(--nch-muted); font-size: 12px; }
.nch-control-workflow-modal .nch-modal-section { margin-bottom: 20px; padding-bottom: 20px; }
.nch-control-workflow-modal .nch-modal-section > h3 { margin: 0 0 14px; font-size: 14px; }
.nch-budget-column-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(140px, .35fr) 42px; gap: 10px; padding: 0 2px 7px; color: var(--nch-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.nch-budget-total { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 12px; padding: 13px 14px; border-top: 2px solid #344054; background: #f8fafc; font-variant-numeric: tabular-nums; }
.nch-budget-total strong { font-size: 17px; }
.nch-adjustment-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 14px; border: 1px solid var(--nch-line); border-radius: 8px; overflow: hidden; }
.nch-adjustment-summary > div { min-width: 0; padding: 12px 14px; border-right: 1px solid var(--nch-line); background: #f8fafc; }
.nch-adjustment-summary > div:last-child { border-right: 0; }
.nch-adjustment-summary span, .nch-adjustment-summary strong { display: block; }
.nch-adjustment-summary span { color: var(--nch-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.nch-adjustment-summary strong { margin-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.nch-control-choice { margin-top: 14px; }
.nch-control-choice > span { display: grid; gap: 3px; }
.nch-control-choice small { color: var(--nch-muted); font-size: 11px; font-weight: 500; }
.nch-payroll-control { display: grid; gap: 14px; }
.nch-payroll-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.nch-payroll-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 4px 0 18px; border: 1px solid var(--nch-line); border-radius: 8px; overflow: hidden; }
.nch-payroll-steps > div { display: grid; grid-template-columns: 30px minmax(0, 1fr); grid-template-rows: auto auto; gap: 2px 10px; padding: 14px; border-right: 1px solid var(--nch-line); }
.nch-payroll-steps > div:last-child { border-right: 0; }
.nch-payroll-steps span { grid-row: 1 / 3; display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #e8f1ff; color: var(--nch-blue); font-size: 12px; font-weight: 900; }
.nch-payroll-steps strong { font-size: 13px; }
.nch-payroll-steps small { color: var(--nch-muted); font-size: 11px; }
@media (max-width: 980px) { .nch-payroll-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
	.nch-budget-column-head { display: none; }
	.nch-budget-line { grid-template-columns: minmax(0, 1fr) 42px; padding: 12px; border: 1px solid var(--nch-line); border-radius: 8px; }
	.nch-budget-line input { grid-column: 1 / 2; }
	.nch-budget-line .nch-icon-button { grid-column: 2; grid-row: 1 / 3; align-self: center; }
	.nch-adjustment-summary, .nch-payroll-kpis, .nch-payroll-steps { grid-template-columns: 1fr; }
	.nch-adjustment-summary > div, .nch-payroll-steps > div { border-right: 0; border-bottom: 1px solid var(--nch-line); }
	.nch-adjustment-summary > div:last-child, .nch-payroll-steps > div:last-child { border-bottom: 0; }
}
.nch-branch-code-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin-top: 12px; }

.nch-tax-workflow {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--nch-shadow);
}

.nch-cheque-summary { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.nch-tax-workflow > div {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 10px;
	min-width: 0;
	padding: 16px;
	border-right: 1px solid var(--nch-line);
}

.nch-tax-workflow > div:last-child { border-right: 0; }
.nch-tax-workflow > div > span {
	grid-row: 1 / 3;
	display: grid;
	width: 28px;
	height: 28px;
	place-items: center;
	border-radius: 50%;
	background: #e8f1ff;
	color: var(--nch-blue);
	font-size: 12px;
	font-weight: 900;
}
.nch-tax-workflow small { color: var(--nch-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.nch-tax-workflow strong { margin-top: 4px; font-size: 21px; font-variant-numeric: tabular-nums; }
.nch-tax-kpis { margin-top: 14px; }
.nch-tax-register-panel { margin-top: 14px; }
.nch-tax-register-filters {
	display: grid;
	grid-template-columns: minmax(220px, 1.4fr) repeat(2, minmax(145px, .7fr)) minmax(180px, .9fr) minmax(160px, .8fr) auto;
	align-items: end;
	gap: 10px;
	margin: 14px 0 8px;
	padding: 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
}
.nch-tax-register-filters label { display: grid; min-width: 0; gap: 6px; }
.nch-tax-register-filters label > span { color: var(--nch-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.nch-tax-register-filters input,
.nch-tax-register-filters select { width: 100%; height: 40px; padding: 0 11px; border: 1px solid var(--nch-line); border-radius: 8px; background: #fff; color: var(--nch-ink); font: inherit; }
.nch-tax-register-filters .nch-button { height: 40px; }
.nch-tax-overdue { color: #b42318; font-weight: 800; }
.nch-tax-settings { margin-top: 14px; padding: 0; overflow: hidden; }
.nch-tax-settings > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px;
	cursor: pointer;
	list-style: none;
}
.nch-tax-settings > summary::-webkit-details-marker { display: none; }
.nch-tax-settings > summary span:first-child { display: grid; gap: 3px; }
.nch-tax-settings > summary small { color: var(--nch-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.nch-tax-settings > summary strong { font-size: 17px; }
.nch-tax-settings > summary span:last-child { color: var(--nch-muted); font-size: 12px; }
.nch-tax-settings > summary::after { content: "+"; color: var(--nch-muted); font-size: 22px; font-weight: 700; }
.nch-tax-settings[open] > summary::after { content: "-"; }
.nch-tax-settings > form { padding: 0 20px 20px; border-top: 1px solid var(--nch-line); }
.nch-tax-settings > form > .nch-form-grid { padding-top: 18px; }
.nch-tax-settings-actions { justify-content: space-between; margin-top: 18px; }
.nch-tax-settings-actions .nch-form-message { margin: 0; }

@media (max-width: 1450px) {
	.nch-tax-register-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.nch-tax-workflow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-tax-workflow > div:nth-child(2) { border-right: 0; }
	.nch-tax-workflow > div:nth-child(-n + 2) { border-bottom: 1px solid var(--nch-line); }
	.nch-tax-register-filters { grid-template-columns: minmax(0, 1fr); }
	.nch-tax-register-filters .nch-button { width: 100%; }
	.nch-tax-settings > summary { align-items: flex-start; }
	.nch-tax-settings > summary span:last-child { display: none; }
}

/* Focused cash and banking workspaces */
.nch-controls-page [data-control-panel="banking"] { display: none !important; }
.nch-money-page { gap: 18px; }
.nch-money-header { align-items: center; }
.nch-money-header .nch-action-row { justify-content: flex-end; }
.nch-money-page [data-money-panel] {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.nch-page-subtitle { margin: 6px 0 0; color: var(--nch-muted); font-size: 14px; }
.nch-money-filter {
	display: grid;
	grid-template-columns: minmax(160px, .7fr) minmax(160px, .7fr) minmax(240px, 1.4fr) auto;
	align-items: end;
	gap: 12px;
	padding: 14px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-surface);
}
.nch-money-filter label { display: grid; gap: 6px; min-width: 0; }
.nch-money-filter label > span { color: var(--nch-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.nch-money-filter input,
.nch-money-filter select,
.nch-inline-search { width: 100%; height: 40px; padding: 0 12px; border: 1px solid var(--nch-line); border-radius: 8px; background: #fff; color: var(--nch-ink); font: inherit; font-size: 14px; }
.nch-money-filter .nch-button { min-width: 86px; height: 40px; }
.nch-money-summary,
.nch-bank-account-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-surface);
	overflow: hidden;
}
.nch-money-summary.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nch-money-summary > div,
.nch-bank-account-strip > div { min-width: 0; padding: 16px 18px; border-right: 1px solid var(--nch-line); }
.nch-money-summary > div:last-child,
.nch-bank-account-strip > div:last-child { border-right: 0; }
.nch-money-summary span,
.nch-bank-account-strip span { display: block; color: var(--nch-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.nch-money-summary strong,
.nch-bank-account-strip strong { display: block; margin-top: 7px; overflow-wrap: anywhere; font-size: 22px; font-variant-numeric: tabular-nums; }
.nch-money-summary small,
.nch-bank-account-strip small { display: block; margin-top: 5px; color: var(--nch-muted); font-size: 12px; }
.nch-money-summary .is-closing { background: #eef7f1; }
.nch-money-summary strong.is-positive,
.nch-table .is-positive { color: #137a3c; }
.nch-money-summary strong.is-negative,
.nch-table .is-negative { color: #b42318; }
.nch-money-ledger .nch-section-heading { align-items: center; }
.nch-money-ledger .nch-action-row { flex-wrap: nowrap; }
.nch-inline-search { width: min(260px, 24vw); }
.nch-money-pending { border-left: 3px solid #e3a008; }
.nch-money-tabs { flex-wrap: nowrap; overflow-x: auto; }
.nch-money-tabs button { flex: 0 0 auto; }
.nch-tab-count { display: inline-grid; min-width: 20px; height: 20px; margin-left: 7px; place-items: center; border-radius: 10px; background: #edf2f8; color: #344054; font-size: 11px; }
.nch-bank-account-strip { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.nch-bank-account-strip > div { min-height: 98px; }
.nch-bank-account-list { display: grid; }
.nch-bank-account-list article { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(420px, 1.2fr); gap: 24px; padding: 18px 4px; border-bottom: 1px solid var(--nch-line); }
.nch-bank-account-list article:last-child { border-bottom: 0; }
.nch-bank-account-list article h3 { margin-top: 8px; }
.nch-bank-account-list article p { margin: 5px 0 0; color: var(--nch-muted); font-size: 13px; }
.nch-bank-account-list dl { display: grid; grid-template-columns: 1.4fr .7fr .7fr; gap: 16px; margin: 0; }
.nch-bank-account-list dl > div { min-width: 0; }
.nch-bank-account-list dt { color: var(--nch-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.nch-bank-account-list dd { margin: 7px 0 0; overflow-wrap: anywhere; font-size: 14px; font-weight: 700; }
.nch-empty-state { margin: 0; padding: 28px 0; color: var(--nch-muted); text-align: center; }
.nch-form label.nch-check-row {
	display: inline-flex;
	width: fit-content;
	min-height: 40px;
	margin-top: 14px;
	flex-direction: row;
	align-items: center;
	gap: 9px;
	padding: 9px 11px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
}
.nch-form label.nch-check-row > span { color: var(--nch-ink); font-size: 13px; font-weight: 700; text-transform: none; }
.nch-form label.nch-check-row > input { flex: 0 0 18px; margin: 0; }
.nch-cheque-register { min-width: 0; }
.nch-cheque-register .nch-panel-note { max-width: 720px; margin: 5px 0 0; color: var(--nch-muted); font-size: 13px; }
.nch-cheque-filters {
	display: grid;
	grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(150px, .7fr));
	gap: 12px;
	margin-top: 16px;
}
.nch-cheque-result-row { display: flex; justify-content: flex-end; padding-top: 10px; }
.nch-cheque-table { min-width: 1120px; }
.nch-cheque-table th,
.nch-cheque-table td { vertical-align: middle; }
.nch-cheque-table th:nth-child(3),
.nch-cheque-table td:nth-child(3),
.nch-cheque-table th:nth-child(7),
.nch-cheque-table td:nth-child(7) { white-space: nowrap; }

@media (max-width: 1100px) {
	.nch-money-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-money-filter .nch-button { justify-self: start; }
	.nch-money-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-money-summary > div:nth-child(2) { border-right: 0; }
	.nch-money-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--nch-line); }
	.nch-bank-account-list article { grid-template-columns: 1fr; }
	.nch-cheque-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
	.nch-money-header { align-items: stretch; }
	.nch-money-header .nch-action-row { justify-content: flex-start; }
	.nch-money-page [data-money-panel] { gap: 14px; }
	.nch-money-filter { grid-template-columns: 1fr; }
	.nch-money-filter .nch-button { width: 100%; }
	.nch-money-summary,
	.nch-money-summary.is-three,
	.nch-bank-account-strip { grid-template-columns: 1fr; }
	.nch-money-summary > div,
	.nch-money-summary > div:nth-child(2),
	.nch-bank-account-strip > div { border-right: 0; border-bottom: 1px solid var(--nch-line); }
	.nch-money-summary > div:last-child,
	.nch-bank-account-strip > div:last-child { border-bottom: 0; }
	.nch-money-ledger .nch-section-heading { align-items: stretch; }
	.nch-money-ledger .nch-action-row { flex-wrap: wrap; }
	.nch-inline-search { width: 100%; }
	.nch-bank-account-list dl { grid-template-columns: 1fr; }
	.nch-cheque-filters { grid-template-columns: 1fr; }
}

/* Stock transfer request, transit and destination workflow */
.nch-subtitle { margin: 6px 0 0; color: var(--nch-muted); font-size: 14px; }
.nch-transfer-progress {
	display: grid;
	grid-template-columns: auto minmax(24px, 1fr) auto minmax(24px, 1fr) auto minmax(24px, 1fr) auto minmax(24px, 1fr) auto;
	align-items: center;
	gap: 10px;
	padding: 14px 18px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-surface);
}
.nch-transfer-progress span { color: #344054; font-size: 12px; font-weight: 800; white-space: nowrap; }
.nch-transfer-progress i { height: 2px; background: #cbd5e1; }
.nch-transfer-progress span:nth-of-type(1),
.nch-transfer-progress span:nth-of-type(2) { color: var(--nch-blue); }
.nch-transfer-progress span:nth-of-type(3),
.nch-transfer-progress span:nth-of-type(4) { color: #a15c00; }
.nch-transfer-progress span:nth-of-type(5) { color: var(--nch-green); }
.nch-transfer-tabs {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 5px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #eef2f6;
	overflow-x: auto;
}
.nch-transfer-tabs button {
	display: inline-flex;
	min-height: 40px;
	flex: 1 0 auto;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0 16px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #475467;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}
.nch-transfer-tabs button:hover { background: #f8fafc; color: var(--nch-ink); }
.nch-transfer-tabs button.is-active { background: #fff; color: var(--nch-blue); box-shadow: 0 1px 3px rgba(16, 24, 40, .12); }
.nch-transfer-tabs button span { display: inline-grid; min-width: 22px; height: 22px; place-items: center; border-radius: 11px; background: #e4e7ec; color: #344054; font-size: 11px; }
.nch-transfer-tabs button.is-active span { background: #e8f0ff; color: var(--nch-blue); }
.nch-transfer-kpis .nch-kpi:nth-child(2) { border-top: 3px solid var(--nch-blue); }
.nch-transfer-kpis .nch-kpi:nth-child(3) { border-top: 3px solid #d97706; }
.nch-transfer-kpis .nch-kpi:nth-child(4) { border-top: 3px solid var(--nch-green); }
.nch-receiving-quantity {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 18px;
}
.nch-receiving-quantity > div {
	display: flex;
	min-height: 76px;
	flex-direction: column;
	justify-content: center;
	padding: 12px 14px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
}
.nch-receiving-quantity > div span { color: var(--nch-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.nch-receiving-quantity > div strong { margin-top: 7px; font-size: 20px; font-variant-numeric: tabular-nums; }
.nch-form-grid .is-full,
.nch-row-guidance.is-full { grid-column: 1 / -1; }
.nch-table .is-warning { color: #a15c00; font-weight: 800; }
.nch-status.is-negative { background: #fef3f2; color: #b42318; }

.nch-view-detail-button {
	display: inline-flex;
	width: 38px;
	min-width: 38px;
	height: 38px;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	padding: 0;
	color: var(--nch-blue);
	cursor: pointer;
}

.nch-view-detail-button:hover {
	border-color: var(--nch-blue);
	background: #eef4ff;
}

.nch-view-detail-button svg {
	width: 18px;
	height: 18px;
}

.nch-finance-modal.nch-transfer-detail-modal {
	width: min(920px, calc(100vw - 32px));
}

.nch-finance-modal.nch-transfer-request-modal {
	width: min(700px, calc(100vw - 32px));
}

.nch-transfer-request-modal .nch-finance-modal-form {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
}

.nch-transfer-request-modal .nch-finance-modal-body {
	display: grid;
	gap: 20px;
	min-width: 0;
	overflow-x: hidden;
}

.nch-transfer-request-section {
	display: grid;
	gap: 12px;
	min-width: 0;
	margin: 0;
}

.nch-transfer-request-section + .nch-transfer-request-section {
	padding-top: 20px;
	border-top: 1px solid var(--nch-line);
}

.nch-transfer-request-section > .nch-eyebrow {
	margin: 0;
}

.nch-transfer-request-route,
.nch-transfer-request-stock {
	display: grid;
	gap: 14px;
	min-width: 0;
}

.nch-transfer-request-route {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nch-transfer-request-stock {
	grid-template-columns: minmax(0, 1fr) 150px;
}

.nch-transfer-request-route label,
.nch-transfer-request-stock label,
.nch-transfer-request-note {
	min-width: 0;
}

.nch-transfer-request-route select,
.nch-transfer-request-stock select,
.nch-transfer-request-stock input,
.nch-transfer-request-note textarea {
	width: 100%;
	min-width: 0;
}

.nch-transfer-request-quantity input {
	font-variant-numeric: tabular-nums;
}

.nch-transfer-request-modal .nch-row-guidance {
	margin: -2px 0 0;
	padding: 10px 12px;
	border-left: 3px solid var(--nch-blue);
	background: #f5f8ff;
	color: #475467;
	font-size: 13px;
	line-height: 1.45;
}

.nch-transfer-request-note textarea {
	min-height: 92px;
	resize: vertical;
}

.nch-transfer-route-summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid #cfdcf2;
	border-radius: 8px;
	background: #f7faff;
}

.nch-transfer-route-summary > div,
.nch-transfer-item-summary > div {
	min-width: 0;
}

.nch-transfer-route-summary span:not(.nch-status),
.nch-transfer-item-summary > div:last-child span,
.nch-transfer-receipt-metrics span,
.nch-transfer-timeline span {
	display: block;
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-transfer-route-summary strong {
	display: block;
	margin-top: 4px;
	font-size: 15px;
	overflow-wrap: anywhere;
}

.nch-transfer-route-summary i {
	color: var(--nch-blue);
	font-size: 22px;
	font-style: normal;
}

.nch-transfer-item-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 2px 16px;
	border-bottom: 1px solid var(--nch-line);
}

.nch-transfer-item-summary h3,
.nch-transfer-item-summary p {
	margin: 0;
}

.nch-transfer-item-summary h3 {
	margin-top: 4px;
	font-size: 20px;
}

.nch-transfer-item-summary small {
	display: block;
	margin-top: 3px;
	color: var(--nch-muted);
}

.nch-transfer-item-summary > div:last-child {
	flex: 0 0 auto;
	text-align: right;
}

.nch-transfer-item-summary > div:last-child strong {
	display: block;
	margin-top: 4px;
	font-size: 22px;
	font-variant-numeric: tabular-nums;
}

.nch-transfer-timeline {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 16px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	overflow: hidden;
}

.nch-transfer-timeline > div {
	min-width: 0;
	padding: 12px 14px;
	border-right: 1px solid var(--nch-line);
	background: #fff;
}

.nch-transfer-timeline > div:last-child {
	border-right: 0;
}

.nch-transfer-timeline strong,
.nch-transfer-timeline small {
	display: block;
	overflow-wrap: anywhere;
}

.nch-transfer-timeline strong {
	margin-top: 5px;
	font-size: 13px;
}

.nch-transfer-timeline small {
	margin-top: 3px;
	color: var(--nch-muted);
}

.nch-transfer-operation-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 16px;
}

.nch-transfer-operation-grid .nch-transfer-detail-section {
	align-content: start;
	margin: 0;
	padding: 16px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
}

.nch-transfer-operation-grid .nch-transfer-detail-section dl {
	grid-template-columns: minmax(0, 1fr);
}

.nch-transfer-operation-grid .nch-transfer-detail-section dl > div {
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid var(--nch-line);
	border-radius: 0;
}

.nch-transfer-operation-grid .nch-transfer-detail-section dl > div:last-child {
	border-bottom: 0;
}

.nch-transfer-operation-grid .nch-transfer-detail-section dd {
	white-space: pre-line;
}

.nch-transfer-receipt-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.nch-transfer-receipt-metrics > div {
	min-width: 0;
	padding: 10px;
	border: 1px solid #b7dfc4;
	border-radius: 6px;
	background: #f2fbf5;
}

.nch-transfer-receipt-metrics > div.is-damaged,
.nch-transfer-receipt-metrics > div.is-shortage {
	border-color: #f3d0ae;
	background: #fff8f0;
}

.nch-transfer-receipt-metrics strong {
	display: block;
	margin-top: 5px;
	font-size: 16px;
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}

.nch-finance-modal.nch-dispatch-modal {
	width: min(680px, calc(100vw - 32px));
}

.nch-dispatch-form-section {
	padding: 16px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
}

.nch-dispatch-form-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.nch-dispatch-form-heading h3,
.nch-dispatch-form-heading p {
	margin: 0;
}

.nch-dispatch-form-heading h3 {
	margin-top: 4px;
	font-size: 16px;
}

.nch-dispatch-form-section .nch-form-grid {
	grid-template-columns: minmax(0, 1fr);
}

.nch-dispatch-form-section textarea {
	min-height: 102px;
	resize: vertical;
}

.nch-dispatch-form-section label > small {
	line-height: 1.4;
}

.nch-dispatch-guidance {
	margin: 14px 0 0;
	padding: 11px 12px;
	border-left: 3px solid #d97706;
	background: #fffaeb;
	color: #7a4d00;
	line-height: 1.45;
}

.nch-transfer-detail-modal .nch-finance-modal-form {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
}

.nch-transfer-detail-modal .nch-finance-modal-body {
	min-height: 0;
}

.nch-transfer-detail-status {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 12px;
}

.nch-transfer-detail-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
	overflow: hidden;
}

.nch-transfer-detail-grid > div {
	min-width: 0;
	padding: 14px;
	border-right: 1px solid var(--nch-line);
}

.nch-transfer-detail-grid > div:last-child {
	border-right: 0;
}

.nch-transfer-detail-grid span,
.nch-transfer-detail-grid strong,
.nch-transfer-detail-grid small {
	display: block;
}

.nch-transfer-detail-grid span,
.nch-transfer-detail-section dt {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-transfer-detail-grid strong {
	margin-top: 5px;
	overflow-wrap: anywhere;
}

.nch-transfer-detail-grid small {
	margin-top: 3px;
	color: var(--nch-muted);
	overflow-wrap: anywhere;
}

.nch-transfer-detail-section {
	display: grid;
	gap: 12px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--nch-line);
}

.nch-transfer-detail-section h3,
.nch-transfer-detail-section p {
	margin: 3px 0 0;
}

.nch-transfer-detail-section dl {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
}

.nch-transfer-detail-section dl > div {
	min-width: 0;
	padding: 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
}

.nch-transfer-detail-section dd {
	margin: 6px 0 0;
	font-weight: 700;
	overflow-wrap: anywhere;
}

@media (max-width: 760px) {
	.nch-transfer-progress { grid-template-columns: repeat(5, minmax(78px, 1fr)); overflow-x: auto; }
	.nch-transfer-progress i { display: none; }
	.nch-transfer-progress span { min-height: 34px; display: grid; place-items: center; padding: 0 10px; border: 1px solid var(--nch-line); border-radius: 6px; background: #f8fafc; }
	.nch-transfer-tabs button { min-width: 118px; }
	.nch-receiving-quantity { grid-template-columns: 1fr; }
	.nch-transfer-detail-grid,
	.nch-transfer-detail-section dl { grid-template-columns: 1fr; }
	.nch-transfer-route-summary { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
	.nch-transfer-route-summary .nch-status { grid-column: 1 / -1; justify-self: start; }
	.nch-transfer-item-summary { align-items: flex-start; flex-direction: column; gap: 10px; }
	.nch-transfer-item-summary > div:last-child { text-align: left; }
	.nch-transfer-timeline,
	.nch-transfer-operation-grid { grid-template-columns: minmax(0, 1fr); }
	.nch-transfer-timeline > div { border-right: 0; border-bottom: 1px solid var(--nch-line); }
	.nch-transfer-timeline > div:last-child { border-bottom: 0; }
	.nch-transfer-receipt-metrics { grid-template-columns: repeat(3, minmax(80px, 1fr)); overflow-x: auto; }
	.nch-transfer-request-route,
	.nch-transfer-request-stock { grid-template-columns: minmax(0, 1fr); }
	.nch-transfer-request-modal .nch-finance-modal-footer { align-items: stretch; flex-direction: column-reverse; }
	.nch-transfer-request-modal .nch-finance-modal-footer .nch-button { width: 100%; }
	.nch-transfer-detail-grid > div { border-right: 0; border-bottom: 1px solid var(--nch-line); }
	.nch-transfer-detail-grid > div:last-child { border-bottom: 0; }
	.nch-dispatch-form-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
	.nch-dispatch-modal .nch-finance-modal-footer { align-items: stretch; flex-direction: column-reverse; }
	.nch-dispatch-modal .nch-finance-modal-footer .nch-button { width: 100%; }
	.nch-work-order-detail-head { align-items: flex-start; flex-direction: column; }
	.nch-work-order-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-work-order-kpis > div:nth-child(2) { border-right: 0; }
	.nch-work-order-kpis > div:nth-child(-n + 2) { border-bottom: 1px solid var(--nch-line); }
	.nch-work-order-meta { grid-template-columns: minmax(0, 1fr); }
	.nch-approval-rule-toggle { width: 100%; }
}

@media (max-width: 520px) {
	.nch-work-order-kpis { grid-template-columns: minmax(0, 1fr); }
	.nch-work-order-kpis > div,
	.nch-work-order-kpis > div:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--nch-line); }
	.nch-work-order-kpis > div:last-child { border-bottom: 0; }
	#nch-customer-form .nch-customer-submit-bar .nch-button { width: 100%; margin-left: 0; }
}

.nch-user-pin-settings {
	display: grid;
	gap: 16px;
	padding: 18px;
	border: 1px solid var(--nch-line);
	background: #f8fafc;
	border-radius: 8px;
}
.nch-user-pin-settings h2 { margin: 2px 0 0; font-size: 18px; }
.nch-user-pin-settings > small { color: var(--nch-muted); }
.nch-user-password-settings {
	display: grid;
	gap: 16px;
	padding: 18px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
}
.nch-user-password-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}
.nch-user-password-heading h2 { margin: 2px 0 0; font-size: 18px; }
.nch-temporary-password-control {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto;
	align-items: end;
	gap: 12px;
}
.nch-temporary-password-control label { display: grid; gap: 7px; }
.nch-temporary-password-control label > span {
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}
.nch-temporary-password-control input { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.nch-user-password-settings > small { color: var(--nch-muted); }
.nch-user-password-settings .nch-status.is-positive { background: #e9f8ef; color: #157a3b; }
.nch-user-password-settings .nch-status.is-neutral { background: #eef1f5; color: var(--nch-muted); }
@media (max-width: 760px) {
	.nch-temporary-password-control { grid-template-columns: 1fr; }
	.nch-temporary-password-control .nch-action-row { justify-content: flex-start; }
}
.nch-pin-login-page { min-height: 100vh; background: #eef1f5; }
.nch-pin-login-shell {
	width: min(440px, calc(100% - 32px));
	min-height: 100vh;
	margin: 0 auto;
	display: grid;
	align-content: center;
	gap: 20px;
	padding: 32px 0;
}
.nch-pin-login-brand { display: flex; align-items: center; gap: 12px; }
.nch-pin-login-brand div { display: grid; }
.nch-pin-login-brand strong { font-size: 18px; }
.nch-pin-login-brand small { color: var(--nch-muted); }
.nch-pin-login-form { display: grid; gap: 18px; padding: 28px; }
.nch-pin-login-form header h1 { margin: 4px 0 0; font-size: 30px; }
.nch-pin-login-form .nch-button { width: 100%; }
.nch-pin-login-form .nch-text-link { text-align: center; }
.nch-sales-dispatch-modal {
	width: min(920px, calc(100vw - 32px));
}

.nch-sales-dispatch-form {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
}

.nch-sales-dispatch-modal .nch-finance-modal-header small {
	display: block;
	margin-top: 5px;
	color: var(--nch-muted);
	font-size: 12px;
}

.nch-sales-dispatch-modal .nch-finance-modal-body {
	display: grid;
	gap: 22px;
}

.nch-sales-dispatch-overview {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(140px, 0.7fr);
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
}

.nch-sales-dispatch-overview > div {
	min-width: 0;
	padding: 14px 16px;
	border-right: 1px solid var(--nch-line);
}

.nch-sales-dispatch-overview > div:last-child {
	border-right: 0;
}

.nch-sales-dispatch-overview span,
.nch-sales-dispatch-overview strong {
	display: block;
	overflow-wrap: anywhere;
}

.nch-sales-dispatch-overview span {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-sales-dispatch-overview strong {
	margin-top: 5px;
	font-size: 14px;
}

.nch-sales-dispatch-section + .nch-sales-dispatch-section {
	padding-top: 20px;
	border-top: 1px solid var(--nch-line);
}

.nch-sales-dispatch-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 12px;
}

.nch-sales-dispatch-heading h3 {
	margin: 3px 0 0;
	font-size: 18px;
}

.nch-sales-dispatch-heading > span {
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
}

.nch-sales-dispatch-heading > span.is-empty {
	color: #b42318;
}

.nch-sales-dispatch-columns,
.nch-sales-dispatch-line {
	display: grid;
	grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(76px, 0.5fr)) minmax(150px, 0.8fr);
	gap: 12px;
	align-items: center;
}

.nch-sales-dispatch-columns {
	padding: 8px 12px;
	border-top: 1px solid var(--nch-line);
	border-bottom: 1px solid var(--nch-line);
	background: #f8fafc;
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-sales-dispatch-lines {
	display: grid;
}

.nch-sales-dispatch-line {
	min-height: 76px;
	padding: 12px;
	border-bottom: 1px solid var(--nch-line);
}

.nch-sales-dispatch-item,
.nch-sales-dispatch-metric {
	min-width: 0;
}

.nch-sales-dispatch-item strong,
.nch-sales-dispatch-item small,
.nch-sales-dispatch-metric span,
.nch-sales-dispatch-metric strong {
	display: block;
	overflow-wrap: anywhere;
}

.nch-sales-dispatch-item small,
.nch-sales-dispatch-metric span,
.nch-sales-dispatch-quantity small {
	margin-top: 4px;
	color: var(--nch-muted);
	font-size: 11px;
}

.nch-sales-dispatch-metric span,
.nch-sales-dispatch-quantity > span {
	display: none;
}

.nch-sales-dispatch-metric strong {
	font-size: 14px;
	font-variant-numeric: tabular-nums;
}

.nch-sales-dispatch-quantity input {
	width: 100%;
}

.nch-sales-dispatch-transport-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nch-sales-financial-cell strong,
.nch-sales-financial-cell small {
	display: block;
}

.nch-sales-financial-cell strong {
	font-size: 14px;
}

.nch-sales-financial-cell small {
	margin-top: 3px;
	white-space: nowrap;
}

.nch-sales-financial-cell .is-outstanding {
	color: #b54708;
	font-weight: 800;
}

.nch-sales-payment-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
}

.nch-sales-payment-summary > div {
	min-width: 0;
	padding: 12px 14px;
	border-right: 1px solid var(--nch-line);
	border-bottom: 1px solid var(--nch-line);
}

.nch-sales-payment-summary > div:nth-child(3),
.nch-sales-payment-summary > div:last-child {
	border-right: 0;
}

.nch-sales-payment-summary > div:nth-child(n + 4) {
	border-bottom: 0;
}

.nch-sales-payment-summary > div:nth-child(4) {
	grid-column: 1 / 2;
}

.nch-sales-payment-summary > div:last-child {
	grid-column: 2 / 4;
	background: #fff8eb;
}

.nch-sales-payment-summary span,
.nch-sales-payment-summary strong {
	display: block;
	overflow-wrap: anywhere;
}

.nch-sales-payment-summary span {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-sales-payment-summary strong {
	margin-top: 5px;
	font-size: 16px;
	font-variant-numeric: tabular-nums;
}

.nch-sales-payment-summary .is-outstanding strong {
	color: #b54708;
}

@media (max-width: 760px) {
	.nch-sales-dispatch-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-sales-dispatch-overview > div:nth-child(2) { border-right: 0; }
	.nch-sales-dispatch-overview > div:last-child { grid-column: 1 / -1; border-top: 1px solid var(--nch-line); }
	.nch-sales-dispatch-columns { display: none; }
	.nch-sales-dispatch-line { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
	.nch-sales-dispatch-item { grid-column: 1 / -1; }
	.nch-sales-dispatch-metric span,
	.nch-sales-dispatch-quantity > span { display: block; margin: 0 0 4px; color: var(--nch-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
	.nch-sales-dispatch-quantity { grid-column: 1 / -1; }
	.nch-sales-dispatch-transport-grid { grid-template-columns: minmax(0, 1fr); }
	.nch-sales-dispatch-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
}

@media (max-width: 620px) {
	.nch-sales-dispatch-overview { grid-template-columns: minmax(0, 1fr); }
	.nch-sales-dispatch-overview > div,
	.nch-sales-dispatch-overview > div:nth-child(2) { grid-column: auto; border-right: 0; border-bottom: 1px solid var(--nch-line); }
	.nch-sales-dispatch-overview > div:last-child { border-top: 0; border-bottom: 0; }
	.nch-pin-login-form { padding: 22px; }
	.nch-sales-payment-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-sales-payment-summary > div,
	.nch-sales-payment-summary > div:nth-child(3),
	.nch-sales-payment-summary > div:nth-child(n + 4) { grid-column: auto; border-right: 1px solid var(--nch-line); border-bottom: 1px solid var(--nch-line); }
	.nch-sales-payment-summary > div:nth-child(even) { border-right: 0; }
	.nch-sales-payment-summary > div:last-child { grid-column: 1 / -1; border-right: 0; border-bottom: 0; }
}

/* Sales order workspace */
.nch-sales-page .nch-main {
	gap: 18px;
}

.nch-sales-sidebar-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.nch-sales-menu-button {
	display: none;
	min-height: 40px;
	padding: 0 12px;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 7px;
	background: transparent;
	color: #ffffff;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}

.nch-sales-page .nch-kpi-grid {
	grid-template-columns: repeat(5, minmax(130px, 1fr));
}

.nch-sales-page .nch-kpi {
	padding: 15px 16px;
}

.nch-sales-page .nch-kpi strong {
	margin-top: 7px;
	font-size: 23px;
}

.nch-sales-tabs {
	display: flex;
	min-width: 0;
	gap: 4px;
	padding: 4px;
	overflow-x: auto;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: var(--nch-shadow);
	scrollbar-width: thin;
}

.nch-sales-tabs button {
	display: inline-flex;
	min-width: max-content;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 0 14px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--nch-muted);
	font: inherit;
	font-size: 13px;
	font-weight: 750;
	cursor: pointer;
}

.nch-sales-tabs button:hover {
	background: #f3f5f8;
	color: var(--nch-ink);
}

.nch-sales-tabs button.is-active {
	background: #1f5fbf;
	color: #ffffff;
}

.nch-sales-tabs button span {
	display: inline-grid;
	min-width: 21px;
	height: 21px;
	place-items: center;
	padding: 0 6px;
	border-radius: 11px;
	background: #e8edf4;
	color: #344054;
	font-size: 11px;
}

.nch-sales-tabs button.is-active span {
	background: rgba(255, 255, 255, 0.2);
	color: #ffffff;
}

.nch-sales-panel[hidden] {
	display: none;
}

.nch-sales-order-entry {
	display: flex;
	max-width: 1180px;
	flex-direction: column;
	gap: 20px;
}

.nch-sales-step {
	padding: 6px 9px;
	border-radius: 6px;
	background: #eef2f7;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
}

.nch-sales-order-entry .nch-sales-items {
	padding-top: 18px;
	border-top: 1px solid var(--nch-line);
}

.nch-sales-order-entry .nch-credit-strip {
	gap: 0;
	overflow: hidden;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
}

.nch-sales-order-entry .nch-credit-strip div {
	border: 0;
	border-right: 1px solid var(--nch-line);
	border-radius: 0;
}

.nch-sales-order-entry .nch-credit-strip div:last-child {
	border-right: 0;
}

.nch-sales-line {
	min-width: 0;
	border-color: #d9e0ea;
	background: #fbfcfe;
}

.nch-sales-line > * {
	min-width: 0;
}

.nch-sales-line select,
.nch-sales-line input {
	width: 100%;
}

.nch-sales-remove-line {
	width: 38px;
	height: 38px;
	padding: 0;
	color: #b42318;
	font-size: 23px;
	line-height: 1;
}

.nch-sales-notes {
	border-top: 1px solid var(--nch-line);
	border-bottom: 1px solid var(--nch-line);
}

.nch-sales-notes summary {
	padding: 13px 0;
	color: #1f5fbf;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}

.nch-sales-notes label {
	padding-bottom: 14px;
}

.nch-approval-confirmation {
	display: flex !important;
	min-width: 0;
	flex-direction: row !important;
	align-items: flex-start;
	gap: 11px !important;
}

.nch-approval-confirmation input[type="checkbox"] {
	width: 18px;
	height: 18px;
	min-height: 18px;
	flex: 0 0 18px;
	margin: 2px 0 0;
	accent-color: var(--nch-blue);
}

.nch-approval-confirmation > span,
.nch-approval-confirmation strong,
.nch-approval-confirmation small {
	display: block;
}

.nch-approval-confirmation strong {
	color: var(--nch-ink);
	font-size: 14px;
	line-height: 1.35;
}

.nch-approval-confirmation small {
	margin-top: 3px;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.45;
	text-transform: none;
}

.nch-discount-request-grid {
	align-items: stretch;
	padding-top: 4px;
}

.nch-discount-toggle {
	min-height: 72px;
	justify-content: flex-start;
	padding: 13px 14px !important;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
}

.nch-discount-request-grid [data-discount-amount] {
	justify-content: center;
}

.nch-delivery-exception {
	padding: 13px 14px;
	border: 1px solid #fedf89;
	border-radius: 8px;
	background: #fffaeb;
}

.nch-sales-search {
	width: min(320px, 100%);
}

.nch-sales-search span {
	display: block;
	margin-bottom: 5px;
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-sales-search input {
	width: 100%;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
	color: var(--nch-ink);
	font: inherit;
	font-size: 14px;
}

.nch-sales-no-results {
	margin: 14px 0 0;
	padding: 16px;
	border: 1px dashed var(--nch-line);
	border-radius: 8px;
	color: var(--nch-muted);
	text-align: center;
}

.nch-sales-page .nch-doc-links {
	min-width: 120px;
}

.nch-view-order-button {
	display: inline-flex;
	width: 38px;
	height: 38px;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	padding: 0;
	color: var(--nch-blue);
	cursor: pointer;
}

.nch-view-order-button svg {
	width: 18px;
	height: 18px;
}

.nch-sales-review-modal .nch-finance-modal-form {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
}

.nch-order-review-status {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}

.nch-order-review-alert {
	margin: 0 0 16px;
	padding: 12px 14px;
	border: 1px solid #fecdca;
	border-radius: 8px;
	background: #fef3f2;
	color: #b42318;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.nch-order-review-alert.is-warning {
	border-color: #fedf89;
	background: #fffaeb;
	color: #93370d;
}

.nch-order-review-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--nch-line);
	border-bottom: 1px solid var(--nch-line);
}

.nch-order-review-grid > div {
	min-width: 0;
	padding: 14px 16px;
	border-right: 1px solid var(--nch-line);
}

.nch-order-review-grid > div:first-child {
	padding-left: 0;
}

.nch-order-review-grid > div:last-child {
	padding-right: 0;
	border-right: 0;
}

.nch-order-review-grid span,
.nch-order-review-grid strong,
.nch-order-review-grid small {
	display: block;
}

.nch-order-review-grid span {
	margin-bottom: 5px;
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-order-review-grid strong {
	overflow-wrap: anywhere;
	font-size: 14px;
}

.nch-order-review-grid small {
	margin-top: 3px;
	color: var(--nch-muted);
}

.nch-order-review-section {
	padding-top: 20px;
}

.nch-order-review-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 10px;
}

.nch-order-review-section-heading h3 {
	margin: 2px 0 0;
	font-size: 17px;
}

.nch-order-review-section-heading > small {
	color: var(--nch-muted);
	text-align: right;
}

.nch-review-decision {
	display: grid;
	gap: 14px;
}

.nch-review-decision .nch-order-review-section-heading {
	margin-bottom: 0;
}

.nch-review-request {
	display: grid;
	grid-template-columns: minmax(140px, 0.35fr) minmax(0, 1fr);
	align-items: baseline;
	gap: 12px;
	padding: 11px 13px;
	border-left: 3px solid #2e6bd8;
	background: #f8fafc;
}

.nch-review-request span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-review-request strong {
	min-width: 0;
	font-size: 14px;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.nch-review-decision-controls {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.75fr);
	align-items: stretch;
	gap: 12px;
}

.nch-review-toggle {
	min-height: 74px;
	padding: 13px 14px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
}

.nch-review-toggle input[type="checkbox"] {
	width: 18px !important;
	height: 18px !important;
	min-height: 18px !important;
	padding: 0 !important;
}

.nch-review-toggle > span,
.nch-review-toggle strong,
.nch-review-toggle small {
	text-transform: none !important;
}

.nch-review-amount {
	justify-content: center;
	padding: 10px 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #ffffff;
}

.nch-order-review-table {
	min-width: 690px;
}

.nch-order-review-lower {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 24px;
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--nch-line);
}

.nch-order-review-lower section + section {
	padding-left: 24px;
	border-left: 1px solid var(--nch-line);
}

.nch-order-review-lower p {
	margin: 6px 0 0;
	color: var(--nch-muted);
	font-size: 13px;
	line-height: 1.5;
}

.nch-order-review-credit {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-top: 8px;
	font-size: 13px;
}

.nch-order-review-credit span {
	color: var(--nch-muted);
}

.nch-order-review-credit strong {
	display: block;
	margin-top: 2px;
	color: var(--nch-ink);
}

@media (max-width: 760px) {
	.nch-sales-page .nch-sidebar {
		gap: 12px;
		padding: 14px;
	}

	.nch-sales-page .nch-brand-mark {
		width: 40px;
		height: 40px;
	}

	.nch-sales-page .nch-sales-menu-button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.nch-sales-page .nch-nav {
		display: none;
		padding-top: 8px;
		border-top: 1px solid rgba(255, 255, 255, 0.12);
	}

	.nch-sales-page .nch-nav.is-open {
		display: flex;
	}

	.nch-sales-page .nch-main {
		gap: 14px;
		padding: 14px;
	}

	.nch-sales-page .nch-topbar {
		gap: 14px;
	}

	.nch-sales-page .nch-topbar .nch-action-row {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nch-sales-page .nch-topbar .nch-button {
		width: 100%;
		min-height: 44px;
	}

	.nch-sales-page .nch-kpi-grid {
		display: flex;
		gap: 8px;
		overflow-x: auto;
		padding-bottom: 3px;
		scroll-snap-type: x proximity;
	}

	.nch-sales-page .nch-kpi {
		min-width: 132px;
		padding: 13px;
		scroll-snap-align: start;
	}

	.nch-sales-tabs {
		margin-right: -14px;
		margin-left: -14px;
		padding-right: 14px;
		padding-left: 14px;
		border-right: 0;
		border-left: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.nch-sales-tabs button {
		min-height: 44px;
	}

	.nch-sales-order-entry,
	.nch-sales-page .nch-inventory-list-panel {
		padding: 16px;
	}

	.nch-sales-order-entry > .nch-form-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.nch-sales-order-entry > .nch-form-grid > label:nth-child(-n+2) {
		grid-column: 1 / -1;
	}

	.nch-sales-order-entry .nch-credit-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nch-sales-order-entry .nch-credit-strip div:nth-child(2) {
		border-right: 0;
	}

	.nch-sales-order-entry .nch-credit-strip div:nth-child(-n+2) {
		border-bottom: 1px solid var(--nch-line);
	}

	.nch-sales-line {
		position: relative;
		grid-template-columns: repeat(2, minmax(0, 1fr)) 40px;
		gap: 10px;
		padding: 12px;
	}

	.nch-sales-line > label:first-child {
		grid-column: 1 / 3;
	}

	.nch-sales-line > label:nth-child(2) {
		grid-column: 1;
	}

	.nch-sales-line > label:nth-child(3) {
		grid-column: 2;
	}

	.nch-sales-line .nch-line-amount {
		display: grid;
		grid-column: 1 / 3;
		grid-template-columns: 1fr auto;
		align-items: center;
		padding-top: 2px;
	}

	.nch-sales-line .nch-line-amount strong {
		margin: 0;
		text-align: right;
	}

	.nch-sales-line .nch-line-amount small {
		grid-column: 1 / -1;
	}

	.nch-sales-remove-line {
		grid-column: 3;
		grid-row: 1;
	}

	.nch-sales-order-entry .nch-submit-bar {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
	}

	.nch-sales-order-entry .nch-submit-bar p {
		grid-column: 1 / -1;
	}

	.nch-sales-order-entry .nch-submit-bar .nch-button {
		min-height: 44px;
	}

	.nch-sales-search {
		width: 100%;
	}

	.nch-sales-search input {
		height: 44px;
	}

	.nch-sales-responsive-table,
	.nch-sales-responsive-table tbody {
		display: block;
		width: 100%;
	}

	.nch-sales-responsive-table thead {
		display: none;
	}

	.nch-sales-responsive-table tbody {
		display: grid;
		gap: 12px;
	}

	.nch-sales-responsive-table tbody tr[data-sales-row] {
		display: block;
		overflow: hidden;
		border: 1px solid var(--nch-line);
		border-radius: 8px;
		background: #ffffff;
	}

	.nch-sales-responsive-table tbody tr[data-sales-row][hidden] {
		display: none;
	}

	.nch-sales-responsive-table tbody tr[data-sales-row] td {
		display: grid;
		grid-template-columns: minmax(92px, 0.36fr) minmax(0, 1fr);
		gap: 12px;
		align-items: start;
		padding: 11px 12px;
		border-bottom: 1px solid var(--nch-line);
		text-align: left;
	}

	.nch-sales-responsive-table tbody tr[data-sales-row] td:last-child {
		border-bottom: 0;
	}

	.nch-sales-responsive-table tbody tr[data-sales-row] td::before {
		content: attr(data-label);
		color: var(--nch-muted);
		font-size: 10px;
		font-weight: 800;
		text-transform: uppercase;
	}

	.nch-sales-responsive-table .nch-action-row {
		justify-content: flex-start;
	}

	.nch-sales-responsive-table .nch-button.is-small {
		min-height: 40px;
	}

	.nch-sales-responsive-table .nch-table-empty,
	.nch-sales-responsive-table .nch-table-empty td {
		display: block;
		width: 100%;
	}

	.nch-sales-page .nch-finance-modal {
		width: calc(100% - 24px);
		max-height: calc(100dvh - 24px);
		margin: auto;
	}

	.nch-sales-page .nch-finance-modal-body {
		padding: 16px;
	}

	.nch-sales-page .nch-finance-modal-footer {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nch-sales-page .nch-finance-modal-footer .nch-button {
		width: 100%;
		min-height: 44px;
	}

	.nch-order-review-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nch-order-review-grid > div,
	.nch-order-review-grid > div:first-child,
	.nch-order-review-grid > div:last-child {
		padding: 12px;
	}

	.nch-order-review-grid > div:nth-child(2n) {
		border-right: 0;
	}

	.nch-order-review-grid > div:nth-child(-n + 2) {
		border-bottom: 1px solid var(--nch-line);
	}

	.nch-order-review-section-heading {
		align-items: start;
		flex-direction: column;
		gap: 4px;
	}

	.nch-order-review-section-heading > small {
		text-align: left;
	}

	.nch-order-review-lower {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.nch-review-decision-controls,
	.nch-review-request {
		grid-template-columns: 1fr;
	}

	.nch-order-review-lower section + section {
		padding-top: 16px;
		padding-left: 0;
		border-top: 1px solid var(--nch-line);
		border-left: 0;
	}

	.nch-sales-review-modal .nch-finance-modal-footer [data-close-sales-modal] {
		grid-column: 1 / -1;
	}
}

@media (max-width: 420px) {
	.nch-sales-order-entry > .nch-form-grid {
		grid-template-columns: 1fr;
	}

	.nch-sales-order-entry > .nch-form-grid > label {
		grid-column: auto;
	}

	.nch-sales-order-entry .nch-submit-bar {
		grid-template-columns: 1fr;
	}

	.nch-sales-order-entry .nch-submit-bar .nch-button {
		width: 100%;
	}
}

/* NCH authentication and product credit */
.nch-powered-by {
	display: grid;
	width: fit-content;
	gap: 2px;
}

.nch-powered-by span {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.nch-powered-by strong {
	font-size: 14px;
	letter-spacing: 0;
}

.nch-powered-by small {
	font-size: 11px;
}

.nch-powered-by.is-auth {
	color: #ffffff;
}

.nch-powered-by.is-auth span,
.nch-powered-by.is-auth small {
	color: #aeb8c7;
}

.nch-powered-by.is-login {
	justify-self: center;
	color: var(--nch-ink);
	text-align: center;
}

.nch-powered-by.is-login span,
.nch-powered-by.is-login small {
	color: var(--nch-muted);
}

.nch-auth-page {
	min-height: 100vh;
	background: #f3f5f8;
}

.nch-auth-shell {
	display: grid;
	min-height: 100vh;
	grid-template-columns: minmax(320px, 0.8fr) minmax(460px, 1.2fr);
}

.nch-auth-brand {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: flex-start;
	padding: clamp(28px, 5vw, 72px);
	background: #101828;
	color: #ffffff;
}

.nch-auth-brand-lockup {
	display: flex;
	align-items: center;
	gap: 13px;
}

.nch-auth-brand-lockup strong,
.nch-auth-brand-lockup small {
	display: block;
}

.nch-auth-brand-lockup strong {
	font-size: 19px;
}

.nch-auth-brand-lockup small {
	margin-top: 3px;
	color: #b8c0cc;
	font-size: 12px;
}

.nch-auth-brand-copy {
	max-width: 440px;
	margin-top: auto;
	padding-bottom: 8vh;
}

.nch-auth-brand-copy .nch-eyebrow {
	color: #8fd3a5;
}

.nch-auth-brand-copy h1 {
	max-width: 390px;
	font-size: clamp(38px, 4vw, 58px);
	line-height: 1.06;
}

.nch-auth-brand-copy > p:last-child {
	max-width: 390px;
	margin: 18px 0 0;
	color: #cbd3df;
	font-size: 16px;
	line-height: 1.6;
}

.nch-auth-content {
	display: grid;
	place-items: center;
	padding: 32px;
}

.nch-auth-form {
	display: grid;
	width: min(440px, 100%);
	gap: 18px;
	padding: 30px;
}

.nch-auth-form[hidden] {
	display: none;
}

.nch-auth-form header {
	margin-bottom: 2px;
}

.nch-auth-form header h2 {
	font-size: 29px;
}

.nch-auth-form header > p:last-child {
	margin: 8px 0 0;
	color: var(--nch-muted);
	font-size: 14px;
	line-height: 1.5;
}

.nch-auth-password-control {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
}

.nch-auth-password-control input {
	min-width: 0;
	border-radius: 8px 0 0 8px;
}

.nch-auth-password-control button {
	min-width: 62px;
	border: 1px solid var(--nch-line);
	border-left: 0;
	border-radius: 0 8px 8px 0;
	background: #eef2f7;
	color: #344054;
	font: inherit;
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
}

.nch-auth-primary {
	width: 100%;
	min-height: 46px;
	font-size: 14px;
}

.nch-auth-links {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.nch-auth-links a,
.nch-auth-links button,
.nch-auth-text-button,
.nch-auth-back-link {
	padding: 0;
	border: 0;
	background: transparent;
	color: #1f5fbf;
	font: inherit;
	font-size: 13px;
	font-weight: 750;
	cursor: pointer;
}

.nch-auth-text-button,
.nch-auth-back-link {
	justify-self: center;
	text-align: center;
}

.nch-auth-notice {
	margin: 0;
	padding: 11px 12px;
	border-radius: 7px;
	font-size: 13px;
	font-weight: 700;
}

.nch-auth-notice.is-success {
	background: #eaf7ee;
	color: #176b37;
}

@media (max-width: 780px) {
	.nch-auth-shell {
		grid-template-columns: 1fr;
		align-content: start;
	}

	.nch-auth-brand {
		min-height: auto;
		padding: 18px 20px;
	}

	.nch-auth-brand-copy {
		display: none;
	}

	.nch-powered-by.is-auth {
		margin-top: 18px;
	}

	.nch-auth-content {
		padding: 24px 16px;
	}

	.nch-auth-form {
		padding: 24px;
	}
}

@media (max-width: 380px) {
	.nch-auth-links {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* HR and payroll */
.nch-hr-page .nch-main {
	min-width: 0;
}

.nch-hr-header {
	align-items: flex-end;
}

.nch-module-tabs {
	display: flex;
	gap: 4px;
	margin-bottom: 16px;
	padding: 4px;
	overflow-x: auto;
	background: #e9edf3;
	border: 1px solid #d8dee8;
	border-radius: 7px;
	scrollbar-width: thin;
}

.nch-module-tabs button {
	min-height: 38px;
	padding: 8px 15px;
	border: 0;
	border-radius: 5px;
	background: transparent;
	color: #536075;
	font: inherit;
	font-size: 13px;
	font-weight: 750;
	white-space: nowrap;
	cursor: pointer;
}

.nch-module-tabs button:hover {
	background: #f6f8fb;
	color: var(--nch-ink);
}

.nch-module-tabs button.is-active {
	background: #fff;
	color: var(--nch-blue);
	box-shadow: 0 1px 3px rgba(16, 24, 40, .12);
}

.nch-hr-kpis {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.nch-hr-kpis .nch-kpi:nth-child(1) { border-top: 3px solid #1769d2; }
.nch-hr-kpis .nch-kpi:nth-child(2) { border-top: 3px solid #16845b; }
.nch-hr-kpis .nch-kpi:nth-child(3) { border-top: 3px solid #6f56d9; }
.nch-hr-kpis .nch-kpi:nth-child(4) { border-top: 3px solid #1d7f96; }
.nch-hr-kpis .nch-kpi:nth-child(5) { border-top: 3px solid #c77b13; }

.nch-hr-kpis .nch-kpi strong {
	font-size: clamp(21px, 2vw, 30px);
}

.nch-hr-chart-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nch-hr-action-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--nch-border);
}

.nch-hr-action-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 68px;
	padding: 14px 18px;
	border-right: 1px solid var(--nch-border);
	color: var(--nch-ink);
	text-decoration: none;
}

.nch-hr-action-list a:last-child {
	border-right: 0;
}

.nch-hr-action-list a:hover {
	background: #f7f9fc;
}

.nch-hr-action-list strong {
	display: grid;
	min-width: 34px;
	height: 34px;
	place-items: center;
	border-radius: 17px;
	background: #e8f0ff;
	color: var(--nch-blue);
}

.nch-attendance-summary {
	display: flex;
	gap: 1px;
	margin: 0 0 16px;
	overflow-x: auto;
	border: 1px solid var(--nch-border);
	border-radius: 6px;
	background: var(--nch-border);
}

.nch-attendance-summary span {
	display: flex;
	align-items: baseline;
	gap: 7px;
	min-width: 128px;
	padding: 11px 14px;
	background: #fff;
	font-size: 12px;
	color: var(--nch-muted);
}

.nch-attendance-summary strong {
	font-size: 18px;
	color: var(--nch-ink);
}

.nch-hr-setup-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.nch-hr-calendar-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.nch-hr-calendar-summary h2,
.nch-hr-calendar-summary p {
	margin: 0;
}

.nch-hr-calendar-summary p:last-child {
	margin-top: 5px;
	color: var(--nch-muted);
}

.nch-inline-tag {
	display: inline-block;
	margin: 2px 4px 2px 0;
	padding: 3px 6px;
	border-radius: 4px;
	background: #eef2f7;
	font-size: 11px;
	white-space: nowrap;
}

.nch-form-grid.is-three-column {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nch-modal-section {
	padding: 0 0 18px;
	margin-bottom: 18px;
	border-bottom: 1px solid var(--nch-border);
}

.nch-modal-section:last-of-type {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: 0;
}

.nch-modal-section h3,
.nch-section-heading.is-compact h3 {
	margin: 0 0 12px;
	font-size: 15px;
}

.nch-section-heading.is-compact {
	margin-top: 18px;
	margin-bottom: 8px;
}

.nch-attendance-editor {
	max-height: min(56vh, 620px);
	margin-top: 16px;
	overflow: auto;
	border: 1px solid var(--nch-border);
	border-radius: 6px;
}

.nch-attendance-line {
	display: grid;
	grid-template-columns: minmax(230px, 1fr) 170px 82px 104px;
	align-items: center;
	gap: 10px;
	min-height: 58px;
	padding: 8px 12px;
	border-bottom: 1px solid var(--nch-border);
}

.nch-attendance-line:last-child {
	border-bottom: 0;
}

.nch-attendance-line .nch-check-row {
	margin: 0;
}

.nch-attendance-line .nch-check-row span {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.nch-attendance-line .nch-check-row small {
	color: var(--nch-muted);
}

.nch-check-row.is-compact {
	padding: 0;
	border: 0;
	background: transparent;
}

.nch-structure-lines {
	display: grid;
	gap: 8px;
}

.nch-holiday-lines {
	display: grid;
	gap: 8px;
	max-height: 280px;
	overflow-y: auto;
}

.nch-holiday-line {
	display: grid;
	grid-template-columns: 150px minmax(220px, 1fr) 40px;
	gap: 8px;
}

.nch-structure-line {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) 160px 40px;
	gap: 8px;
}

.nch-structure-line .nch-icon-button {
	width: 40px;
	height: 40px;
}

@media (max-width: 1180px) {
	.nch-hr-kpis {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.nch-attendance-line {
		grid-template-columns: minmax(200px, 1fr) 160px;
	}
}

@media (max-width: 820px) {
	.nch-hr-header {
		align-items: flex-start;
	}

	.nch-hr-header .nch-action-row {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nch-hr-header .nch-button {
		width: 100%;
	}

	.nch-hr-kpis,
	.nch-hr-chart-grid,
	.nch-hr-setup-grid,
	.nch-hr-action-list,
	.nch-form-grid.is-three-column {
		grid-template-columns: 1fr;
	}

	.nch-hr-action-list a {
		border-right: 0;
		border-bottom: 1px solid var(--nch-border);
	}

	.nch-hr-action-list a:last-child {
		border-bottom: 0;
	}

	.nch-attendance-line {
		grid-template-columns: 1fr 1fr;
	}

	.nch-finance-modal[data-hr-modal="attendance"] {
		width: calc(100% - 20px);
	}
}

@media (max-width: 560px) {
	.nch-module-tabs {
		margin-inline: -12px;
		border-left: 0;
		border-right: 0;
		border-radius: 0;
	}

	.nch-hr-header .nch-action-row,
	.nch-attendance-line,
	.nch-structure-line,
	.nch-holiday-line {
		grid-template-columns: 1fr;
	}

	.nch-hr-calendar-summary {
		align-items: flex-start;
		flex-direction: column;
	}

	.nch-structure-line .nch-icon-button {
		justify-self: end;
	}
}

/* Finance posting audit */
.nch-finance-audit-page .nch-kpi-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nch-finance-audit-page .nch-filter-bar {
	grid-template-columns: minmax(240px, 1.4fr) minmax(190px, 0.8fr) minmax(150px, 0.6fr);
}

.nch-audit-table {
	table-layout: fixed;
}

.nch-audit-table th,
.nch-audit-table td {
	white-space: normal;
	vertical-align: top;
}

.nch-audit-table th:nth-child(1),
.nch-audit-table td:nth-child(1) {
	width: 18%;
}

.nch-audit-table th:nth-child(2),
.nch-audit-table td:nth-child(2) {
	width: 25%;
}

.nch-audit-table th:nth-child(3),
.nch-audit-table td:nth-child(3) {
	width: 11%;
}

.nch-audit-reference,
.nch-audit-action {
	display: block;
	margin-top: 5px;
	color: var(--nch-muted);
	line-height: 1.45;
}

.nch-audit-reference {
	word-break: break-word;
}

.nch-audit-finding {
	display: block;
	font-weight: 650;
	line-height: 1.45;
}

#nch-edit-account .nch-form-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

#nch-edit-account select,
#nch-edit-account input {
	min-width: 0;
	width: 100%;
}

@media (max-width: 980px) {
	.nch-finance-audit-page .nch-kpi-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nch-finance-audit-page .nch-filter-bar {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 720px) {
	.nch-finance-audit-page .nch-kpi-grid,
	.nch-finance-audit-page .nch-filter-bar {
		grid-template-columns: 1fr;
	}

	.nch-finance-audit-page .nch-table-wrap {
		overflow: visible;
	}

	.nch-audit-table,
	.nch-audit-table tbody,
	.nch-audit-table tr,
	.nch-audit-table td {
		display: block;
		width: 100% !important;
	}

	.nch-audit-table thead {
		display: none;
	}

	.nch-audit-table tr {
		margin-bottom: 12px;
		padding: 14px;
		border: 1px solid var(--nch-border);
		border-radius: 8px;
		background: #fff;
	}

	.nch-audit-table td {
		padding: 4px 0;
		border: 0;
	}

	#nch-edit-account .nch-form-grid {
		grid-template-columns: 1fr;
	}
}

/* Executive business intelligence */
.nch-executive-main {
	gap: 20px;
}

.nch-intelligence-page .nch-sidebar {
	overflow-y: auto;
}

.nch-executive-sidebar-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.nch-executive-menu-button {
	display: none;
	min-height: 40px;
	padding: 0 12px;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 7px;
	background: transparent;
	color: #fff;
	font: inherit;
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
}

.nch-executive-header {
	align-items: center;
}

.nch-page-subtitle,
.nch-panel-note {
	margin: 6px 0 0;
	color: var(--nch-muted);
	font-size: 13px;
	line-height: 1.45;
}

.nch-dashboard-tabs {
	display: flex;
	gap: 4px;
	padding: 4px;
	overflow-x: auto;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-surface);
}

.nch-dashboard-tabs a {
	min-width: max-content;
	padding: 9px 12px;
	border-radius: 6px;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
}

.nch-dashboard-tabs a:hover,
.nch-dashboard-tabs a.is-active {
	background: #eaf1fc;
	color: #1849a9;
}

.nch-executive-filter {
	display: grid;
	grid-template-columns: repeat(3, minmax(170px, 1fr)) auto;
	align-items: end;
	gap: 12px;
	padding: 14px;
}

.nch-executive-filter label {
	display: grid;
	min-width: 0;
	gap: 6px;
}

.nch-executive-filter label > span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-executive-filter input,
.nch-executive-filter select {
	width: 100%;
	height: 42px;
	min-width: 0;
	padding: 0 11px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
	color: var(--nch-ink);
	font: inherit;
	font-size: 14px;
}

.nch-executive-filter-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.nch-executive-filter-actions .nch-button {
	min-height: 42px;
}

.nch-executive-kpis {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
}

.nch-executive-kpis .nch-kpi {
	min-width: 0;
	padding: 15px;
	border-top: 3px solid #98a2b3;
}

.nch-executive-kpis .nch-kpi:nth-child(1) { border-top-color: #175cd3; }
.nch-executive-kpis .nch-kpi:nth-child(2) { border-top-color: #dc6803; }
.nch-executive-kpis .nch-kpi:nth-child(4) { border-top-color: #667085; }
.nch-executive-kpis .nch-kpi:nth-child(5) { border-top-color: #7f56d9; }
.nch-executive-kpis .nch-kpi:nth-child(6) { border-top-color: #0e9384; }
.nch-executive-kpis .nch-kpi.is-success { border-top-color: #16803c; }
.nch-executive-kpis .nch-kpi.is-risk { border-top-color: #d92d20; }
.nch-executive-kpis .nch-kpi.is-warning { border-top-color: #f79009; }

.nch-executive-kpis .nch-kpi strong {
	display: block;
	margin-top: 7px;
	overflow: hidden;
	font-size: 22px;
	text-overflow: ellipsis;
}

.nch-executive-kpis .nch-kpi small {
	display: block;
	margin-top: 7px;
	color: var(--nch-muted);
	font-size: 11px;
	line-height: 1.35;
}

.nch-dashboard-section {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 12px;
	scroll-margin-top: 20px;
}

.nch-executive-primary {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(280px, .65fr);
	gap: 12px;
}

.nch-executive-trend,
.nch-executive-insights,
.nch-location-dashboard,
.nch-ranking-panel {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 15px;
}

.nch-executive-column-chart {
	display: flex;
	min-height: 245px;
	align-items: stretch;
	gap: 8px;
	overflow-x: auto;
	padding: 6px 2px 0;
	border-bottom: 1px solid var(--nch-line);
}

.nch-executive-month {
	display: grid;
	min-width: 68px;
	flex: 1 0 68px;
	grid-template-rows: 180px auto auto;
	gap: 5px;
	text-align: center;
}

.nch-executive-bars {
	display: flex;
	height: 180px;
	align-items: end;
	justify-content: center;
	gap: 5px;
	padding: 0 8px;
	border-bottom: 1px solid #cfd6e1;
}

.nch-executive-bars > span {
	width: min(22px, 42%);
	min-height: 2px;
	border-radius: 4px 4px 0 0;
	background: #175cd3;
}

.nch-executive-bars > span.is-expense {
	background: #dc6803;
}

.nch-executive-month > strong {
	font-size: 11px;
}

.nch-executive-month > small {
	font-size: 10px;
	font-weight: 800;
}

.nch-executive-month-values {
	display: grid;
	gap: 2px;
	padding-bottom: 7px;
	font-size: 9px;
	text-align: left;
}

.nch-executive-month-values span,
.nch-executive-month-values small {
	display: flex;
	justify-content: space-between;
	gap: 5px;
}

.nch-executive-month-values span:first-child { color: #175cd3; }
.nch-executive-month-values span:nth-child(2) { color: #b54708; }
.nch-executive-month-values small { padding-top: 2px; border-top: 1px solid var(--nch-line); font-weight: 800; }

.nch-text-link {
	color: #175cd3;
	font-size: 13px;
	font-weight: 800;
}

.nch-location-chart {
	display: grid;
	gap: 12px;
	padding-bottom: 4px;
}

.nch-location-chart-row {
	display: grid;
	grid-template-columns: minmax(180px, .42fr) minmax(360px, 1fr) 120px;
	align-items: center;
	gap: 18px;
	min-height: 76px;
	padding: 9px 0;
	border-bottom: 1px solid var(--nch-line);
}

.nch-location-chart-row:last-child {
	border-bottom: 0;
}

.nch-location-identity strong,
.nch-location-identity small {
	display: block;
}

.nch-location-identity strong {
	font-size: 13px;
}

.nch-location-identity small {
	margin-top: 3px;
	color: var(--nch-muted);
	font-size: 11px;
}

.nch-location-bars {
	display: grid;
	gap: 7px;
}

.nch-location-bars > div {
	display: grid;
	grid-template-columns: 116px minmax(140px, 1fr) 88px;
	align-items: center;
	gap: 10px;
}

.nch-location-bars > div > span {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-location-bars > div > strong {
	font-size: 11px;
	text-align: right;
}

.nch-location-track {
	height: 11px;
	overflow: hidden;
	border: 1px solid #e3e8ef;
	border-radius: 3px;
	background: #f2f4f7;
}

.nch-location-track i {
	display: block;
	height: 100%;
	min-width: 0;
	border-radius: 2px;
}

.nch-location-track i.is-revenue { background: #2e90fa; }
.nch-location-track i.is-expense { background: #f79009; }
.nch-location-track i.is-adjustment { background: #12b76a; }

.nch-location-profit {
	display: grid;
	gap: 3px;
	text-align: right;
}

.nch-location-profit span {
	color: var(--nch-muted);
	font-size: 9px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-location-profit strong {
	font-size: 14px;
}

.nch-location-profit small {
	color: var(--nch-muted);
	font-size: 10px;
}

.nch-sales-summary {
	display: grid;
	grid-template-columns: repeat(3, auto);
	align-items: baseline;
	gap: 10px;
	color: var(--nch-muted);
	font-size: 12px;
}

.nch-sales-summary strong {
	color: var(--nch-ink);
	font-size: 20px;
}

.nch-sales-intelligence-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.nch-ranking-list {
	display: grid;
}

.nch-ranking-list > a,
.nch-export-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(70px, .6fr) auto;
	align-items: center;
	gap: 10px;
	min-height: 56px;
	padding: 9px 0;
	border-bottom: 1px solid var(--nch-line);
}

.nch-ranking-list > a:last-child { border-bottom: 0; }
.nch-ranking-list > a > span:first-child { min-width: 0; }
.nch-ranking-list > a > span:first-child strong,
.nch-ranking-list > a > span:first-child small { display: block; }
.nch-ranking-list > a > span:first-child strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.nch-ranking-list > a > span:first-child small { margin-top: 3px; overflow: hidden; color: var(--nch-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.nch-ranking-list > a > strong { font-size: 12px; text-align: right; }

.nch-export-heading {
	min-height: auto;
	padding: 0 0 7px;
	color: var(--nch-muted);
	font-size: 9px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-export-heading span:last-child { text-align: right; }

.nch-ranking-track {
	display: block;
	height: 6px;
	overflow: hidden;
	border-radius: 6px;
	background: #edf1f6;
}

.nch-ranking-track i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #175cd3;
}

.nch-ranking-track.is-product i { background: #16803c; }
.nch-ranking-track.is-customer i { background: #7f56d9; }

.nch-empty-copy {
	margin: 0;
	padding: 18px 0;
	color: var(--nch-muted);
	font-size: 13px;
}

.nch-inventory-intelligence-kpis {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	overflow: hidden;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
}

.nch-inventory-intelligence-kpis > div {
	min-width: 0;
	padding: 14px 16px;
	border-right: 1px solid var(--nch-line);
}

.nch-inventory-intelligence-kpis > div:last-child { border-right: 0; }
.nch-inventory-intelligence-kpis span,
.nch-inventory-intelligence-kpis strong,
.nch-inventory-intelligence-kpis small { display: block; }
.nch-inventory-intelligence-kpis span { color: var(--nch-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.nch-inventory-intelligence-kpis strong { margin-top: 5px; font-size: 21px; }
.nch-inventory-intelligence-kpis small { margin-top: 4px; color: var(--nch-muted); font-size: 10px; }

.nch-inventory-intelligence-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.nch-inventory-intelligence-grid > .nch-panel {
	min-width: 0;
}

.nch-stock-risk-panel {
	grid-column: 1 / -1;
}

@media (max-width: 1320px) {
	.nch-executive-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nch-sales-intelligence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-sales-intelligence-grid > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 1050px) {
	.nch-customer-workspace { grid-template-columns: 1fr; }
	.nch-customer-tabs { position: static; overflow-x: auto; flex-wrap: nowrap; }
	.nch-customer-tabs button { flex: 0 0 auto; }
	.nch-executive-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-executive-filter-actions { justify-content: flex-end; }
	.nch-executive-primary { grid-template-columns: 1fr; }
	.nch-location-chart-row { grid-template-columns: 160px minmax(320px, 1fr) 100px; }
}

@media (max-width: 760px) {
	.nch-customer-history-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-customer-history-kpis div:nth-child(2) { border-right: 0; }
	.nch-customer-history-kpis div:nth-child(-n + 2) { border-bottom: 1px solid var(--nch-line); }
	.nch-customer-profile-meta { grid-template-columns: 1fr; }
	.nch-customer-activity-row { align-items: flex-start; }
	.nch-customer-history-table { min-width: 680px; }
	.nch-intelligence-page .nch-sidebar { gap: 12px; padding: 14px; }
	.nch-intelligence-page .nch-sidebar .nch-nav { display: none; padding-top: 8px; border-top: 1px solid rgba(255, 255, 255, .12); }
	.nch-intelligence-page .nch-sidebar .nch-nav.is-open { display: flex; }
	.nch-executive-menu-button { display: inline-flex; align-items: center; justify-content: center; }
	.nch-executive-main { padding: 14px; }
	.nch-executive-header { align-items: stretch; }
	.nch-dashboard-tabs { margin-inline: -14px; padding-inline: 14px; border-right: 0; border-left: 0; border-radius: 0; }
	.nch-dashboard-tabs a { min-height: 42px; }
	.nch-executive-filter { grid-template-columns: 1fr; }
	.nch-executive-filter-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-executive-filter-actions .nch-button { width: 100%; }
	.nch-executive-kpis { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 3px; scroll-snap-type: x proximity; }
	.nch-executive-kpis .nch-kpi { min-width: 158px; scroll-snap-align: start; }
	.nch-dashboard-section > .nch-section-heading { gap: 8px; }
	.nch-sales-summary { grid-template-columns: repeat(2, auto); justify-content: start; }
	.nch-sales-summary small { grid-column: 1 / -1; }
	.nch-sales-intelligence-grid,
	.nch-inventory-intelligence-grid { grid-template-columns: 1fr; }
	.nch-sales-intelligence-grid > :last-child,
	.nch-stock-risk-panel { grid-column: auto; }
	.nch-inventory-intelligence-kpis { display: flex; overflow-x: auto; }
	.nch-inventory-intelligence-kpis > div { min-width: 150px; }
	.nch-location-chart { overflow-x: auto; }
	.nch-location-chart-row { min-width: 760px; }
	.nch-location-dashboard .nch-table-wrap { max-width: calc(100vw - 60px); }
}

@media (max-width: 900px) {
	.nch-sidebar .nch-nav {
		flex-direction: column;
		flex-wrap: nowrap;
	}

	.nch-nav-category {
		width: 100%;
	}
}

/* Stock and valuation intelligence */
.nch-page-intro {
	max-width: 720px;
	margin: 7px 0 0;
	color: var(--nch-muted);
	font-size: 13px;
	line-height: 1.45;
}

.nch-report-scope {
	display: grid;
	grid-template-columns: minmax(240px, 1fr) repeat(3, minmax(155px, .55fr)) auto;
	align-items: end;
	gap: 12px;
	padding: 14px 16px;
}

.nch-report-scope > div strong,
.nch-report-scope > div small {
	display: block;
}

.nch-report-scope > div strong {
	margin-top: 3px;
	font-size: 14px;
}

.nch-report-scope > div small {
	margin-top: 4px;
	color: var(--nch-muted);
	font-size: 11px;
	line-height: 1.4;
}

.nch-report-scope label {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 6px;
}

.nch-report-scope label > span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-report-scope select {
	width: 100%;
	height: 40px;
	min-width: 0;
	padding: 0 34px 0 11px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
	color: var(--nch-ink);
	font: inherit;
	font-size: 13px;
}

.nch-report-scope .nch-button {
	height: 40px;
}

.nch-report-kpis {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.nch-report-kpis .nch-kpi {
	min-width: 0;
	padding: 15px 16px;
	border-top: 3px solid #98a2b3;
}

.nch-report-kpis .nch-kpi.is-risk {
	border-top-color: #d92d20;
}

.nch-report-kpis .nch-kpi strong {
	overflow: hidden;
	margin-top: 7px;
	font-size: 23px;
	text-overflow: ellipsis;
}

.nch-report-kpis .nch-kpi small {
	display: block;
	margin-top: 6px;
	color: var(--nch-muted);
	font-size: 10px;
	line-height: 1.35;
}

.nch-inventory-knowledge-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(380px, .9fr);
	gap: 14px;
}

.nch-inventory-knowledge-grid > .nch-panel {
	min-width: 0;
}

.nch-inventory-action-panel {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 14px;
}

.nch-inventory-action-list {
	display: flex;
	max-height: 360px;
	flex-direction: column;
	overflow-y: auto;
	border-top: 1px solid var(--nch-line);
}

.nch-inventory-action-list > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 11px 2px 11px 10px;
	border-bottom: 1px solid var(--nch-line);
	border-left: 3px solid #98a2b3;
	color: var(--nch-ink);
}

.nch-inventory-action-list > a.is-critical { border-left-color: #d92d20; }
.nch-inventory-action-list > a.is-warning { border-left-color: #f79009; }

.nch-inventory-action-list span,
.nch-inventory-action-list small,
.nch-inventory-action-list strong,
.nch-inventory-action-list em {
	display: block;
}

.nch-inventory-action-list span {
	min-width: 0;
}

.nch-inventory-action-list small {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-inventory-action-list strong {
	margin-top: 3px;
	font-size: 13px;
}

.nch-inventory-action-list em {
	margin-top: 3px;
	color: var(--nch-muted);
	font-size: 11px;
	font-style: normal;
	line-height: 1.4;
}

.nch-inventory-action-list b {
	flex: 0 0 auto;
	color: var(--nch-blue);
	font-size: 11px;
}

.nch-table-knowledge {
	min-width: 980px;
}

.nch-knowledge-cell {
	max-width: 280px;
	color: #344054;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.45;
}

.nch-decision-detail {
	display: block;
	margin-top: 4px;
	color: var(--nch-muted);
	font-size: 10px;
	white-space: nowrap;
}

@media (max-width: 1380px) {
	.nch-report-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nch-report-scope { grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }
	.nch-report-scope > div { grid-column: 1 / -1; }
}

@media (max-width: 1050px) {
	.nch-report-scope { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-report-scope > div { grid-column: 1 / -1; }
	.nch-report-scope .nch-button { justify-self: end; }
	.nch-inventory-knowledge-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
	.nch-report-scope { grid-template-columns: 1fr; }
	.nch-report-scope > div { grid-column: auto; }
	.nch-report-scope .nch-button { width: 100%; justify-self: stretch; }
	.nch-report-kpis { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 3px; }
	.nch-report-kpis .nch-kpi { min-width: 165px; }
	.nch-report-chart-grid { grid-template-columns: 1fr; }
	.nch-chart-row { grid-template-columns: minmax(120px, .5fr) minmax(0, .5fr); }
	.nch-inventory-action-list > a { align-items: flex-start; }
}

/* Location directory */
.nch-locations-page .nch-page-intro {
	max-width: 640px;
	margin: 6px 0 0;
	color: var(--nch-muted);
	font-size: 13px;
}

.nch-location-filters {
	grid-template-columns: minmax(240px, 1.4fr) minmax(190px, 0.8fr) minmax(150px, 0.6fr);
}

.nch-location-table {
	min-width: 1040px;
}

.nch-location-table td {
	vertical-align: middle;
}

.nch-location-table td:first-child,
.nch-location-table td:nth-child(4),
.nch-location-table td:nth-child(5) {
	max-width: 240px;
	overflow-wrap: anywhere;
}

@media (max-width: 760px) {
	.nch-location-filters {
		grid-template-columns: 1fr;
	}

	.nch-locations-page .nch-topbar .nch-button {
		width: 100%;
	}
}

/* Sales reports */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.nch-sales-report-main {
	gap: 18px;
}

.nch-sales-report-sidebar-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.nch-sales-report-menu {
	display: none;
	min-height: 40px;
	padding: 0 12px;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 7px;
	background: transparent;
	color: #fff;
	font: inherit;
	font-weight: 750;
}

.nch-sales-report-filters {
	display: grid;
	grid-template-columns: repeat(5, minmax(150px, 1fr));
	gap: 12px;
	padding: 16px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--nch-shadow);
}

.nch-sales-report-filters label {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.nch-sales-report-filters label > span {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-sales-report-filters input,
.nch-sales-report-filters select {
	width: 100%;
	height: 42px;
	min-width: 0;
	padding: 0 11px;
	border: 1px solid var(--nch-line);
	border-radius: 7px;
	background: #fff;
	color: var(--nch-ink);
	font: inherit;
	font-size: 13px;
}

.nch-sales-report-filter-actions {
	display: flex;
	align-items: end;
	justify-content: flex-end;
	gap: 8px;
}

.nch-sales-report-filter-actions .nch-button {
	height: 42px;
	white-space: nowrap;
}

.nch-sales-report-kpis {
	display: grid;
	/* Reflow instead of squeezing six long figures into six fixed columns. */
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 12px;
}

.nch-sales-report-kpis > div {
	min-width: 0;
	padding: 15px;
	border: 1px solid var(--nch-line);
	border-top: 3px solid #2670d8;
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--nch-shadow);
}

.nch-sales-report-kpis > div:nth-child(2) { border-top-color: #c56a16; }
.nch-sales-report-kpis > div:nth-child(3) { border-top-color: #16803c; }
.nch-sales-report-kpis > div:nth-child(4) { border-top-color: #7f56d9; }
.nch-sales-report-kpis > div:nth-child(5) { border-top-color: #b42318; }
.nch-sales-report-kpis > div:nth-child(6) { border-top-color: #0e9384; }

.nch-sales-report-kpis span,
.nch-sales-report-kpis strong,
.nch-sales-report-kpis small {
	display: block;
}

.nch-sales-report-kpis span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-sales-report-kpis strong {
	margin-top: 7px;
	/* Never break a figure mid-digit: -363,610.00 was wrapping to "-363,610.0" + "0". */
	overflow-wrap: normal;
	word-break: keep-all;
	font-size: clamp(18px, 1.7vw, 24px);
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.01em;
	line-height: 1.1;
	white-space: nowrap;
}

.nch-sales-report-kpis small {
	display: -webkit-box;
	margin-top: 7px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	min-height: 28px;
	color: var(--nch-muted);
	font-size: 11px;
	line-height: 1.3;
	overflow: hidden;
}

.nch-sales-report-visuals {
	display: grid;
	grid-template-columns: minmax(320px, 1.15fr) repeat(2, minmax(260px, .85fr));
	gap: 14px;
}

.nch-sales-report-visuals .nch-panel {
	min-width: 0;
	padding: 17px;
}

.nch-sales-trend {
	display: flex;
	align-items: end;
	gap: 10px;
	min-height: 190px;
	padding-top: 12px;
	overflow-x: auto;
}

.nch-sales-trend-column {
	display: grid;
	flex: 1 0 64px;
	gap: 5px;
	min-width: 64px;
	text-align: center;
}

.nch-sales-trend-column > div {
	display: flex;
	align-items: end;
	justify-content: center;
	height: 120px;
	border-bottom: 1px solid var(--nch-line);
}

.nch-sales-trend-column i {
	display: block;
	width: min(28px, 60%);
	min-height: 3px;
	border-radius: 4px 4px 0 0;
	background: #2670d8;
}

.nch-sales-trend-column strong {
	font-size: 10px;
}

.nch-sales-trend-column span {
	color: var(--nch-muted);
	font-size: 9px;
}

.nch-sales-report-ranking {
	display: grid;
}

.nch-sales-report-ranking button {
	display: grid;
	grid-template-columns: minmax(100px, 1fr) minmax(60px, .7fr) auto;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 8px 0;
	border: 0;
	border-bottom: 1px solid var(--nch-line);
	background: transparent;
	color: var(--nch-ink);
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.nch-sales-report-ranking button:last-child { border-bottom: 0; }
.nch-sales-report-ranking button:hover strong { color: #175cd3; }
.nch-sales-report-ranking span,
.nch-sales-report-ranking strong,
.nch-sales-report-ranking small { min-width: 0; }
.nch-sales-report-ranking strong,
.nch-sales-report-ranking small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nch-sales-report-ranking strong { font-size: 12px; }
.nch-sales-report-ranking small { margin-top: 3px; color: var(--nch-muted); font-size: 9px; }
.nch-sales-report-ranking i { height: 7px; overflow: hidden; border-radius: 4px; background: #edf1f6; }
.nch-sales-report-ranking i b { display: block; height: 100%; border-radius: inherit; background: #16803c; }
.nch-sales-report-ranking.is-rep i b { background: #7f56d9; }
.nch-sales-report-ranking em { font-size: 11px; font-style: normal; font-weight: 800; text-align: right; }

.nch-sales-report-workspace {
	overflow: hidden;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--nch-shadow);
}

.nch-sales-report-tabs {
	display: flex;
	gap: 2px;
	padding: 8px 12px 0;
	overflow-x: auto;
	border-bottom: 1px solid var(--nch-line);
}

.nch-sales-report-tabs button {
	flex: 0 0 auto;
	min-height: 42px;
	padding: 0 13px;
	border: 0;
	border-bottom: 3px solid transparent;
	background: transparent;
	color: var(--nch-muted);
	font: inherit;
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
}

.nch-sales-report-tabs button.is-active {
	border-bottom-color: #2670d8;
	color: #175cd3;
}

.nch-sales-report-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 16px;
	background: #f8fafc;
}

.nch-sales-report-toolbar > div {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.nch-sales-report-toolbar strong { font-size: 14px; }
.nch-sales-report-toolbar span { color: var(--nch-muted); font-size: 11px; }
.nch-sales-report-toolbar input {
	width: min(300px, 40vw);
	height: 38px;
	padding: 0 11px;
	border: 1px solid var(--nch-line);
	border-radius: 7px;
	background: #fff;
	font: inherit;
	font-size: 12px;
}

.nch-sales-report-table {
	min-width: 1080px;
}

.nch-sales-report-table.is-invoices {
	min-width: 1320px;
}

.nch-sales-report-table td {
	vertical-align: middle;
}

.nch-sales-report-table td strong,
.nch-sales-report-table td small {
	display: block;
}

.nch-sales-report-table td small {
	margin-top: 3px;
	color: var(--nch-muted);
	font-size: 10px;
}

.nch-sales-report-dialog {
	width: min(1040px, calc(100vw - 32px));
	max-height: min(760px, calc(100vh - 32px));
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 24px 80px rgba(16, 24, 40, .28);
}

.nch-sales-report-dialog::backdrop {
	background: rgba(16, 24, 40, .58);
}

.nch-sales-report-dialog-head,
.nch-sales-report-dialog-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 18px;
}

.nch-sales-report-dialog-head {
	border-bottom: 1px solid var(--nch-line);
}

.nch-sales-report-dialog-head h2 { margin: 2px 0 0; font-size: 22px; }
.nch-sales-report-dialog .nch-table-wrap { max-height: 390px; }
.nch-sales-report-dialog .nch-table { min-width: 900px; }
.nch-sales-report-dialog .nch-table td strong,
.nch-sales-report-dialog .nch-table td small { display: block; }
.nch-sales-report-dialog .nch-table td small { margin-top: 3px; color: var(--nch-muted); font-size: 10px; }
.nch-sales-report-dialog-summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	border-bottom: 1px solid var(--nch-line);
	background: #f8fafc;
}

.nch-sales-report-dialog-summary > div {
	min-width: 0;
	padding: 13px 18px;
	border-right: 1px solid var(--nch-line);
}

.nch-sales-report-dialog-summary > div:last-child { border-right: 0; }
.nch-sales-report-dialog-summary span,
.nch-sales-report-dialog-summary strong,
.nch-sales-report-dialog-summary small { display: block; }
.nch-sales-report-dialog-summary span { color: var(--nch-muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.nch-sales-report-dialog-summary strong { margin-top: 4px; overflow-wrap: anywhere; font-size: 12px; }
.nch-sales-report-dialog-summary small { margin-top: 3px; color: var(--nch-muted); font-size: 10px; overflow-wrap: anywhere; }
.nch-sales-report-dialog-footer { justify-content: flex-end; border-top: 1px solid var(--nch-line); }

.nch-route-manager-dialog {
	width: min(980px, calc(100vw - 32px));
}

.nch-route-manager-dialog > form {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	gap: 0;
	max-height: min(820px, calc(100vh - 32px));
}

.nch-route-manager-body {
	min-height: 0;
	padding: 18px;
	overflow: auto;
}

.nch-route-manager-body .nch-form-grid {
	align-items: start;
	margin: 0;
}

.nch-route-manager-body .nch-form-grid > label {
	min-width: 0;
}

.nch-route-manager-body .nch-form-grid input,
.nch-route-manager-body .nch-form-grid select,
.nch-route-manager-body .nch-form-grid textarea {
	width: 100%;
	min-width: 0;
}

.nch-route-manager-body .nch-form-grid textarea {
	min-height: 74px;
	resize: vertical;
}

.nch-route-manager-body .nch-form-grid label > small {
	min-height: 30px;
}

.nch-route-manager-body .nch-form-message {
	min-height: 20px;
	margin: 10px 0;
}

.nch-route-list {
	max-height: 290px;
	margin-top: 4px;
	border: 1px solid var(--nch-line);
	border-radius: 7px;
}

.nch-route-list .nch-table {
	min-width: 760px;
}

.nch-route-list td strong,
.nch-route-list td small {
	display: block;
}

.nch-route-list td small {
	margin-top: 3px;
	color: var(--nch-muted);
}

@media (max-width: 1280px) {
	.nch-sales-report-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nch-sales-report-filter-actions { grid-column: -2 / -1; }
	.nch-sales-report-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nch-sales-report-visuals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-sales-report-visuals > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
	.nch-sales-reports-page .nch-app-shell { display: block; }
	.nch-sales-reports-page .nch-sidebar { position: static; width: 100%; min-height: auto; }
	.nch-sales-report-menu { display: inline-flex; align-items: center; }
	.nch-sales-reports-page .nch-sidebar .nch-nav { display: none; margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, .15); }
	.nch-sales-reports-page .nch-sidebar .nch-nav.is-open { display: flex; }
	.nch-sales-report-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-sales-report-filter-actions { grid-column: 1 / -1; }
	.nch-sales-report-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-sales-report-dialog-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nch-sales-report-dialog-summary > div:nth-child(2) { border-right: 0; }
	.nch-sales-report-dialog-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--nch-line); }
	.nch-route-manager-body .nch-form-grid.is-two-column { grid-template-columns: 1fr; }
	.nch-route-manager-body .nch-form-grid label > small { min-height: 0; }
}

@media (max-width: 620px) {
	.nch-sales-report-main { padding: 14px; }
	.nch-sales-report-main .nch-topbar { align-items: stretch; }
	.nch-sales-report-main .nch-topbar .nch-action-row { display: grid; grid-template-columns: 1fr; }
	.nch-sales-report-main .nch-topbar .nch-button { width: 100%; }
	.nch-sales-report-filters,
	.nch-sales-report-kpis,
	.nch-sales-report-visuals { grid-template-columns: 1fr; }
	.nch-sales-report-visuals > :first-child { grid-column: auto; }
	.nch-sales-report-filter-actions { display: grid; grid-template-columns: 1fr 1fr; }
	.nch-sales-report-filter-actions .nch-button { width: 100%; }
	.nch-sales-report-toolbar { align-items: stretch; flex-direction: column; }
	.nch-sales-report-toolbar input { width: 100%; }
	.nch-sales-report-dialog { width: 100%; max-width: none; max-height: 100%; margin: 0; border-radius: 0; }
	.nch-sales-report-dialog-summary { grid-template-columns: 1fr; }
	.nch-sales-report-dialog-summary > div { border-right: 0; border-bottom: 1px solid var(--nch-line); }
	.nch-sales-report-dialog-footer { display: grid; grid-template-columns: 1fr 1fr; }
	.nch-sales-report-dialog-footer .nch-button { width: 100%; }
	.nch-route-manager-dialog > form { max-height: 100vh; }
	.nch-route-manager-body { padding: 14px; }
	.nch-route-manager-dialog .nch-sales-report-dialog-footer { grid-template-columns: 1fr 1fr; }
}

/* Customer cheque allocation and custody */
.nch-finance-modal.nch-customer-cheque-modal {
	width: min(980px, calc(100vw - 32px));
}

.nch-customer-cheque-modal .nch-finance-modal-form {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
}

.nch-customer-cheque-modal .nch-finance-modal-header small {
	display: block;
	margin-top: 5px;
	color: var(--nch-muted);
	font-size: 12px;
}

.nch-customer-cheque-modal .nch-finance-modal-body {
	overflow-y: auto;
}

.nch-cheque-allocation-list {
	overflow: hidden;
	border: 1px solid var(--nch-line);
	border-radius: 6px;
}

.nch-cheque-allocation-row {
	display: grid;
	grid-template-columns: minmax(250px, 1.3fr) minmax(130px, .65fr) minmax(170px, .8fr);
	align-items: center;
	gap: 16px;
	min-height: 76px;
	padding: 10px 14px;
	border-bottom: 1px solid var(--nch-line);
}

.nch-cheque-allocation-row:last-child {
	border-bottom: 0;
}

.nch-cheque-allocation-row > div span,
.nch-cheque-allocation-row > div strong {
	display: block;
}

.nch-cheque-allocation-row > div span {
	margin-bottom: 4px;
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-cheque-allocation-row .nch-check-row {
	justify-content: flex-start;
	padding: 0;
}

.nch-cheque-allocation-row label:last-child {
	margin: 0;
}

.nch-cheque-allocation-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 16px;
	overflow: hidden;
	border: 1px solid var(--nch-line);
	border-radius: 6px;
	background: #f8fafc;
}

.nch-cheque-allocation-summary > div {
	padding: 12px 16px;
	border-right: 1px solid var(--nch-line);
}

.nch-cheque-allocation-summary > div:last-child {
	border-right: 0;
}

.nch-cheque-allocation-summary span,
.nch-cheque-allocation-summary strong {
	display: block;
}

.nch-cheque-allocation-summary span {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-cheque-allocation-summary strong {
	margin-top: 4px;
	font-size: 18px;
}

.nch-cheque-allocation-summary strong.is-negative {
	color: #b42318;
}

.nch-customer-cheque-table {
	min-width: 1040px;
}

.nch-customer-cheque-table td {
	vertical-align: top;
}

.nch-money-summary.nch-cheque-summary {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.nch-customer-cheque-control-table {
	min-width: 1260px;
}

.nch-customer-cheque-control-table td {
	vertical-align: top;
}

.nch-customer-cheque-control-table .nch-action-row {
	flex-wrap: wrap;
	min-width: 210px;
}

.nch-legacy-cheques {
	margin-top: 16px;
}

.nch-legacy-cheques > summary {
	cursor: pointer;
	font-weight: 800;
}

.nch-money-summary.nch-issued-cheque-summary {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 20px;
}

.nch-issued-cheque-control-table {
	min-width: 1320px;
}

.nch-issued-cheque-control-table td {
	vertical-align: top;
}

.nch-issued-cheque-control-table .nch-action-row {
	flex-wrap: wrap;
	min-width: 190px;
}

.nch-cheque-allocation-builder {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--nch-line);
}

.nch-cheque-allocation-builder .nch-section-heading {
	margin-bottom: 10px;
}

.nch-cheque-allocation-builder h3 {
	margin: 0;
	font-size: 16px;
}

.nch-allocation-input {
	width: 130px;
	min-height: 38px;
	text-align: right;
}

@media (max-width: 760px) {
	.nch-finance-modal.nch-customer-cheque-modal {
		width: 100%;
		max-height: 100%;
		margin: 0;
		border-radius: 0;
	}

	.nch-customer-cheque-modal .nch-form-grid.is-three-column,
	.nch-cheque-allocation-row {
		grid-template-columns: 1fr;
	}

	.nch-cheque-allocation-row {
		gap: 10px;
	}

	.nch-cheque-allocation-summary {
		grid-template-columns: 1fr;
	}

	.nch-cheque-allocation-summary > div {
		border-right: 0;
		border-bottom: 1px solid var(--nch-line);
	}

	.nch-cheque-allocation-summary > div:last-child {
		border-bottom: 0;
	}
}

@media (max-width: 1100px) {
	.nch-money-summary.nch-cheque-summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nch-money-summary.nch-issued-cheque-summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.nch-money-summary.nch-cheque-summary {
		grid-template-columns: 1fr;
	}

	.nch-money-summary.nch-issued-cheque-summary {
		grid-template-columns: 1fr;
	}
}

/* Purchase order and import costing workflow */
.nch-po-workspace-toolbar {
	display: grid;
	grid-template-columns: minmax(280px, 1.6fr) minmax(190px, .7fr) auto;
	align-items: end;
	gap: 14px;
	margin-bottom: 18px;
	padding: 16px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
}

.nch-po-filter-actions {
	display: flex;
	align-items: end;
	gap: 10px;
}

.nch-po-search-control {
	min-width: 0;
}

.nch-po-status-control {
	min-width: 0;
}

.nch-po-filter-actions {
	flex: 0 0 auto;
}

.nch-po-result-count {
	margin: 0;
	padding: 0 4px;
	color: var(--nch-muted);
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

.nch-po-workspace-toolbar label,
.nch-modal-line {
	display: grid;
	gap: 7px;
}

.nch-po-workspace-toolbar input,
.nch-po-workspace-toolbar select,
.nch-po-workspace-toolbar .nch-button {
	min-height: 42px;
}

.nch-po-workspace-toolbar input,
.nch-po-workspace-toolbar select {
	width: 100%;
	border: 1px solid #d0d5dd;
	border-radius: 7px;
	background: #fff;
	color: var(--nch-ink);
	font: inherit;
}

.nch-po-workspace-toolbar input {
	padding: 0 13px;
}

.nch-po-workspace-toolbar select {
	padding: 0 36px 0 13px;
}

.nch-po-workspace-toolbar input:focus,
.nch-po-workspace-toolbar select:focus {
	border-color: #84adff;
	outline: 3px solid #dbe8ff;
	outline-offset: 0;
}

.nch-po-workspace-toolbar label > span {
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-po-workflow-list {
	display: grid;
	gap: 14px;
}

#nch-purchase-request-form .nch-sales-line {
	grid-template-columns: minmax(240px, 1fr) minmax(120px, 180px) auto;
}

.nch-request-item-summary {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 5px 0;
	border-bottom: 1px solid var(--nch-line);
}

.nch-request-item-summary:last-child {
	border-bottom: 0;
}

.nch-request-item-summary small {
	white-space: nowrap;
}

.nch-finance-modal.nch-quotation-review-modal {
	width: min(1020px, calc(100vw - 32px));
}

.nch-quotation-review-body {
	display: grid;
	gap: 16px;
	background: #f8fafc;
}

.nch-quotation-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin-bottom: 0;
	overflow: hidden;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-line);
}

.nch-quotation-steps span {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	background: #f8fafc;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
}

.nch-quotation-steps b {
	display: grid;
	width: 22px;
	height: 22px;
	place-items: center;
	border-radius: 50%;
	background: #dbeafe;
	color: #1d4ed8;
}

.nch-quotation-commercial-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nch-quotation-commercial-grid .is-wide {
	grid-column: 1 / -1;
}

.nch-quotation-commercial-section,
.nch-quotation-pricing-section {
	padding: 16px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
}

.nch-quotation-commercial-section .nch-section-heading,
.nch-quotation-pricing-section .nch-section-heading {
	margin-bottom: 14px;
}

.nch-quotation-commercial-section .nch-section-heading > *,
.nch-quotation-pricing-section .nch-section-heading > * {
	min-width: 0;
}

.nch-quotation-commercial-section .nch-section-heading > small {
	max-width: 360px;
	line-height: 1.4;
	text-align: right;
}

.nch-quotation-pricing-heading {
	align-items: center;
}

.nch-quotation-total-summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(145px, 1fr));
	gap: 8px;
}

.nch-quotation-total-summary > div {
	display: grid;
	gap: 5px;
	min-width: 0;
	padding: 10px 12px;
	border: 1px solid var(--nch-line);
	border-radius: 7px;
	background: #f8fafc;
}

.nch-quotation-total-summary > div:last-child {
	border-color: #b2ddff;
	background: #eff8ff;
}

.nch-quotation-total-summary span {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-quotation-total-summary strong {
	font-size: 16px;
	font-variant-numeric: tabular-nums;
}

.nch-quotation-total-summary .nch-money,
.nch-quotation-total-summary .nch-money span,
.nch-quotation-line-total .nch-money,
.nch-quotation-line-total .nch-money span {
	display: inline-flex;
}

.nch-quotation-line-list {
	display: grid;
	gap: 8px;
}

.nch-quotation-line {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) 150px 150px 150px;
	align-items: end;
	gap: 12px;
	padding: 14px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fbfcfe;
}

.nch-quotation-line.is-service {
	grid-template-columns: minmax(180px, 1fr) minmax(200px, 1fr) 135px 135px 145px;
}

.nch-service-supplier-fields {
	display: grid;
	gap: 12px;
	padding: 16px;
	border: 1px solid #bfdbfe;
	border-radius: 8px;
	background: #f8fbff;
}

.nch-service-supplier-fields[hidden] {
	display: none;
}

.nch-service-supplier-fields .nch-button {
	justify-self: start;
}

.nch-quotation-line > span small {
	display: block;
	margin-top: 4px;
	color: var(--nch-muted);
}

.nch-quotation-line > span > strong {
	display: block;
}

.nch-quotation-line-total {
	display: grid;
	gap: 3px;
	min-height: 42px;
	align-content: center;
	padding: 8px 10px;
	border: 1px solid var(--nch-line);
	border-radius: 7px;
	background: #fff;
	text-align: right;
}

.nch-quotation-line-total small {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-quotation-line-total strong {
	font-size: 16px;
}

.nch-quotation-notes {
	display: grid;
	gap: 7px;
	margin-top: 0;
	padding: 16px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
}

.nch-quotation-notes > span {
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-po-workflow-card {
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-surface);
	overflow: hidden;
}

.nch-po-workflow-card > header,
.nch-po-workflow-card > footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 18px;
}

.nch-po-workflow-card > header {
	border-bottom: 1px solid var(--nch-line);
}

.nch-po-workflow-card h3,
.nch-modal-section h3 {
	margin: 3px 0 4px;
	font-size: 17px;
}

.nch-po-workflow-card small,
.nch-document-row small,
.nch-modal-line small {
	display: block;
	color: var(--nch-muted);
}

.nch-po-value {
	display: grid;
	flex: 0 0 auto;
	gap: 2px;
	text-align: right;
}

.nch-po-value span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-po-value strong {
	font-size: 18px;
}

.nch-workflow-rail {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	padding: 18px;
	background: #fbfcfe;
}

.nch-workflow-rail > div {
	position: relative;
	display: grid;
	justify-items: center;
	gap: 5px;
	min-width: 0;
	text-align: center;
}

.nch-workflow-rail > div:not(:last-child)::after {
	position: absolute;
	top: 15px;
	left: calc(50% + 20px);
	width: calc(100% - 40px);
	height: 2px;
	background: #d9e0e8;
	content: "";
}

.nch-workflow-rail > div > span {
	z-index: 1;
	display: grid;
	width: 31px;
	height: 31px;
	place-items: center;
	border: 2px solid #cbd5e1;
	border-radius: 50%;
	background: #fff;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 900;
}

.nch-workflow-rail > div > strong {
	font-size: 12px;
}

.nch-workflow-rail > div > small {
	max-width: 100%;
	overflow: hidden;
	font-size: 11px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nch-workflow-rail > .is-complete > span {
	border-color: #16803d;
	background: #16803d;
	color: #fff;
}

.nch-workflow-rail > .is-complete:not(:last-child)::after {
	background: #8fd2a5;
}

.nch-workflow-rail > .is-partial > span {
	border-color: #d97706;
	background: #fff7ed;
	color: #b45309;
}

.nch-workflow-rail > .is-pending > span {
	border-color: #94a3b8;
}

.nch-procurement-detail-modal {
	width: min(1040px, calc(100vw - 32px));
}

.nch-procurement-action-modal {
	width: min(760px, calc(100vw - 32px));
}

.nch-detail-summary-grid,
.nch-detail-document-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.nch-detail-summary-grid > div {
	display: grid;
	gap: 5px;
	padding: 13px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
}

.nch-detail-summary-grid span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-modal-section {
	margin-top: 18px;
}

.nch-detail-document-grid .nch-modal-section {
	padding-top: 14px;
	border-top: 1px solid var(--nch-line);
}

.nch-document-row,
.nch-modal-line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 10px 0;
	border-bottom: 1px solid var(--nch-line);
}

.nch-document-row > span:last-child {
	display: flex;
	gap: 10px;
}

.nch-document-row a {
	color: var(--nch-primary);
	font-size: 12px;
	font-weight: 800;
}

.nch-modal-line-list {
	margin-top: 18px;
	border-top: 1px solid var(--nch-line);
}

.nch-modal-line input {
	width: 145px;
	flex: 0 0 145px;
	text-align: right;
}

.nch-procurement-qty-line {
	min-height: 66px;
	padding: 11px 2px;
}

.nch-procurement-qty-line > span:first-child {
	min-width: 0;
}

.nch-qty-field {
	display: grid;
	flex: 0 0 150px;
	gap: 5px;
}

.nch-qty-field > small {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-qty-field > span {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	overflow: hidden;
	border: 1px solid var(--nch-line);
	border-radius: 7px;
	background: #fff;
}

.nch-qty-field input {
	width: 100%;
	height: 42px;
	min-height: 42px;
	flex: none;
	border: 0;
	border-radius: 0;
	text-align: right;
}

.nch-qty-field em {
	padding: 0 10px;
	color: var(--nch-muted);
	font-size: 12px;
	font-style: normal;
	font-weight: 800;
}

.nch-request-review-modal {
	width: min(900px, calc(100vw - 32px));
}

.nch-request-review-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--nch-line);
	border-left: 1px solid var(--nch-line);
}

.nch-request-review-summary > div {
	display: grid;
	gap: 5px;
	min-width: 0;
	padding: 12px;
	border-right: 1px solid var(--nch-line);
	border-bottom: 1px solid var(--nch-line);
}

.nch-request-review-summary span,
.nch-request-review-notes > span,
.nch-request-rejection-field > span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-request-review-summary strong {
	overflow-wrap: anywhere;
}

.nch-request-review-notes {
	margin-top: 16px;
	padding: 12px 0;
	border-top: 1px solid var(--nch-line);
	border-bottom: 1px solid var(--nch-line);
}

.nch-request-review-notes p {
	margin: 5px 0 0;
}

.nch-request-rejection-field {
	display: grid;
	gap: 7px;
	margin-top: 16px;
}

.nch-review-audit-note {
	margin: 12px 0 0;
	color: var(--nch-muted);
	font-size: 12px;
}

.nch-request-review-modal .nch-finance-modal-footer {
	align-items: center;
}

.nch-request-review-modal .nch-finance-modal-footer .nch-form-message {
	flex: 1 1 auto;
	margin: 0;
}

.nch-empty-copy {
	margin: 0;
	color: var(--nch-muted);
}

.nch-import-cost-form .nch-form-section {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--nch-line);
}

.nch-import-cost-form .nch-form-section:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.nch-import-charge-list {
	display: grid;
	gap: 12px;
}

.nch-import-charge {
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fbfcfe;
}

.nch-import-charge > header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 12px;
	border-bottom: 1px solid var(--nch-line);
	background: #f3f6fa;
}

.nch-import-charge > header > div {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
}

.nch-import-charge-outcome {
	padding: 4px 7px;
	border: 1px solid #cbd5e1;
	border-radius: 999px;
	background: #fff;
	color: #475467;
	font-size: 10px;
	font-weight: 800;
	line-height: 1.2;
}

.nch-import-charge > header [data-charge-sequence] {
	display: grid;
	width: 26px;
	height: 26px;
	place-items: center;
	border-radius: 50%;
	background: #17202c;
	color: #fff;
	font-size: 11px;
	font-weight: 900;
}

.nch-import-charge .nch-form-grid {
	padding: 14px;
}

.nch-import-charge .nch-button,
.nch-import-cost-form [data-add-import-component] {
	white-space: nowrap;
}

.nch-import-charge-advanced {
	border-top: 1px solid var(--nch-line);
}

.nch-import-charge-advanced > summary {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	cursor: pointer;
	list-style: none;
	color: var(--nch-muted);
	font-size: 12px;
	font-weight: 800;
}

.nch-import-charge-advanced > summary::-webkit-details-marker {
	display: none;
}

.nch-import-charge-advanced > summary::before {
	content: "+";
	font-size: 17px;
	font-weight: 500;
}

.nch-import-charge-advanced[open] > summary::before {
	content: "−";
}

.nch-import-charge-advanced > summary small {
	font-weight: 500;
}

.nch-import-charge-advanced[open] > .nch-form-grid {
	padding-top: 4px;
}

.nch-form-grid.is-four-column {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nch-import-advanced {
	border-top: 1px solid var(--nch-line);
	border-bottom: 1px solid var(--nch-line);
}

.nch-import-advanced > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 13px 2px;
	cursor: pointer;
	list-style: none;
}

.nch-import-advanced > summary::-webkit-details-marker {
	display: none;
}

.nch-import-advanced > summary::after {
	color: var(--nch-muted);
	content: "+";
	font-size: 22px;
	font-weight: 500;
}

.nch-import-advanced[open] > summary::after {
	content: "−";
}

.nch-import-advanced > summary span,
.nch-import-advanced > summary small {
	display: block;
}

.nch-import-advanced > summary small {
	margin-top: 3px;
	color: var(--nch-muted);
	font-weight: 500;
}

.nch-import-advanced[open] .nch-form-grid {
	padding: 4px 0 16px;
}

.nch-import-equation {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	padding: 11px 12px;
	border-top: 1px solid var(--nch-line);
	border-bottom: 1px solid var(--nch-line);
	background: #f8fafc;
}

.nch-import-equation > span {
	display: grid;
	gap: 2px;
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-import-equation strong {
	color: var(--nch-text);
	font-size: 16px;
}

.nch-import-equation > b {
	color: var(--nch-muted);
}

.nch-import-equation > small {
	margin-left: auto;
	max-width: 280px;
	color: var(--nch-muted);
	line-height: 1.35;
}

.nch-import-allocation-table .nch-import-receipt-qty {
	display: inline-block;
	width: 92px;
	min-height: 38px;
	padding: 7px 9px;
	text-align: right;
}

.nch-import-allocation-table td > small {
	display: inline-block;
	margin-left: 5px;
	color: var(--nch-muted);
}

.nch-import-cost-summary,
.nch-import-review-summary,
.nch-import-review-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}

.nch-import-cost-summary > div,
.nch-import-review-summary > div,
.nch-import-review-grid > div {
	display: grid;
	gap: 5px;
	padding: 12px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #f8fafc;
}

.nch-import-cost-summary .is-highlight,
.nch-import-review-grid .is-highlight {
	border-color: #93c5fd;
	background: #eff6ff;
}

.nch-import-cost-summary span,
.nch-import-review-summary span,
.nch-import-review-grid span {
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-import-review-list {
	margin-top: 14px;
	border-top: 1px solid var(--nch-line);
}

.nch-import-review-list > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 11px 0;
	border-bottom: 1px solid var(--nch-line);
}

.nch-import-review-list small {
	display: block;
	color: var(--nch-muted);
}

@media (max-width: 1050px) {
	.nch-form-grid.is-four-column {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nch-import-cost-summary,
	.nch-import-review-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.nch-finance-modal.nch-quotation-review-modal {
		width: calc(100vw - 16px);
		max-height: calc(100dvh - 16px);
	}

	.nch-quotation-review-body {
		padding: 12px;
	}

	.nch-quotation-commercial-section,
	.nch-quotation-pricing-section,
	.nch-quotation-notes {
		padding: 12px;
	}

	.nch-quotation-pricing-heading {
		align-items: stretch;
		flex-direction: column;
	}

	.nch-quotation-total-summary {
		grid-template-columns: 1fr;
		width: 100%;
	}

	.nch-detail-summary-grid,
	.nch-detail-document-grid,
	.nch-request-review-summary,
	.nch-import-cost-summary,
	.nch-import-review-summary,
	.nch-import-review-grid,
	.nch-form-grid.is-four-column {
		grid-template-columns: 1fr;
	}

	.nch-po-workspace-toolbar {
		grid-template-columns: 1fr;
		align-items: stretch;
	}

	.nch-po-filter-actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto auto;
		align-items: center;
		width: 100%;
	}

	.nch-po-search-control,
	.nch-po-status-control {
		flex-basis: auto;
		min-width: 0;
		width: 100%;
	}

	.nch-po-result-count {
		margin: 0;
		white-space: normal;
	}

	.nch-po-workspace-toolbar .nch-button {
		width: 100%;
	}

	#nch-purchase-request-form .nch-sales-line {
		grid-template-columns: minmax(0, 1fr) 40px;
	}

	#nch-purchase-request-form .nch-sales-line > label:first-child,
	#nch-purchase-request-form .nch-sales-line > label:nth-child(2) {
		grid-column: 1;
	}

	#nch-purchase-request-form .nch-sales-line .nch-icon-button {
		grid-column: 2;
		grid-row: 1;
	}

	.nch-quotation-line {
		grid-template-columns: 1fr;
	}

	.nch-quotation-line.is-service {
		grid-template-columns: 1fr;
	}

	.nch-quotation-commercial-grid,
	.nch-quotation-steps {
		grid-template-columns: 1fr;
	}

	.nch-quotation-commercial-grid .is-wide {
		grid-column: auto;
	}

	.nch-quotation-line-total {
		text-align: left;
	}

	.nch-po-workflow-card > header,
	.nch-po-workflow-card > footer {
		align-items: stretch;
		flex-direction: column;
	}

	.nch-po-value {
		text-align: left;
	}

	.nch-workflow-rail {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.nch-workflow-rail > div {
		grid-template-columns: 34px minmax(0, 1fr);
		justify-items: start;
		text-align: left;
	}

	.nch-workflow-rail > div > span {
		grid-row: 1 / 3;
	}

	.nch-workflow-rail > div:not(:last-child)::after {
		top: 32px;
		left: 15px;
		width: 2px;
		height: calc(100% - 7px);
	}

	.nch-po-workflow-card footer .nch-action-row,
	.nch-po-workflow-card footer .nch-button {
		width: 100%;
	}

	.nch-modal-line {
		align-items: stretch;
		flex-direction: column;
	}

	.nch-modal-line input {
		width: 100%;
		flex-basis: auto;
	}

	.nch-procurement-qty-line {
		align-items: center;
		flex-direction: row;
	}

	.nch-qty-field {
		flex-basis: 126px;
	}

	.nch-qty-field input {
		height: 40px;
		min-height: 40px;
	}

	.nch-request-review-modal .nch-finance-modal-footer {
		align-items: stretch;
	}

	.nch-import-equation {
		align-items: stretch;
		flex-direction: column;
	}

	.nch-import-equation > b {
		display: none;
	}

	.nch-import-equation > small {
		margin-left: 0;
		max-width: none;
	}
}

@media (max-width: 480px) {
	.nch-po-filter-actions {
		grid-template-columns: 1fr 1fr;
	}

	.nch-po-result-count {
		grid-column: 1 / -1;
	}

	.nch-procurement-qty-line {
		align-items: stretch;
		flex-direction: column;
	}

	.nch-qty-field {
		flex-basis: auto;
	}
}

.nch-report-export {
	align-items: center;
	display: inline-flex;
	gap: 8px;
	position: relative;
}

.nch-report-export-menu {
	position: relative;
}

.nch-report-export-menu > summary {
	align-items: center;
	display: inline-flex;
	list-style: none;
	min-height: 38px;
}

.nch-report-export-menu > summary::-webkit-details-marker {
	display: none;
}

.nch-report-export-menu > summary::after {
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
	content: "";
	margin-left: 8px;
}

.nch-report-export-options {
	background: #ffffff;
	border: 1px solid var(--nch-line);
	border-radius: 6px;
	box-shadow: 0 12px 30px rgba(23, 32, 51, 0.16);
	display: grid;
	min-width: 180px;
	overflow: hidden;
	padding: 5px;
	position: absolute;
	right: 0;
	top: calc(100% + 6px);
	z-index: 60;
}

.nch-report-export-options button {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 4px;
	color: var(--nch-ink);
	cursor: pointer;
	display: flex;
	font: inherit;
	gap: 9px;
	padding: 9px 10px;
	text-align: left;
	white-space: nowrap;
}

.nch-report-export-options button:hover {
	background: #f3f6fa;
}

.nch-report-export-options button:disabled {
	cursor: wait;
	opacity: 0.55;
}

.nch-report-export-options button span {
	align-items: center;
	background: #e9f2ff;
	border-radius: 4px;
	color: #175cd3;
	display: inline-flex;
	font-size: 11px;
	font-weight: 800;
	height: 24px;
	justify-content: center;
	width: 24px;
}

.nch-report-export-options button:last-child span {
	background: #fff0ed;
	color: #b42318;
}

.nch-report-export-status {
	color: var(--nch-muted);
	font-size: 12px;
	max-width: 180px;
}

.nch-report-export-status.is-success {
	color: #067647;
}

.nch-report-export-status.is-error {
	color: #b42318;
}

.nch-report-export-toolbar {
	display: flex;
	justify-content: flex-end;
	margin: 0 0 10px;
}

@media (max-width: 720px) {
	.nch-report-export {
		align-items: flex-end;
		flex-direction: column;
	}

	.nch-report-export-status {
		max-width: 130px;
		text-align: right;
	}
}

/* Shared responsive review and detail surfaces */
.nch-finance-modal-form {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
}

.nch-finance-modal.nch-view-modal {
	width: min(940px, calc(100vw - 32px));
}

.nch-finance-modal.nch-view-modal.is-narrow {
	width: min(720px, calc(100vw - 32px));
}

.nch-view-modal .nch-finance-modal-header {
	align-items: flex-start;
	background: #fff;
}

.nch-view-modal .nch-finance-modal-header > div {
	min-width: 0;
}

.nch-view-modal .nch-finance-modal-header h2 {
	margin: 3px 0 0;
	font-size: 22px;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.nch-view-modal .nch-finance-modal-header small {
	display: block;
	margin-top: 5px;
	color: var(--nch-muted);
	font-size: 12px;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.nch-view-modal .nch-finance-modal-body {
	min-height: 0;
	overscroll-behavior: contain;
}

.nch-view-modal .nch-finance-modal-footer {
	flex-wrap: wrap;
}

.nch-view-modal .nch-finance-modal-footer .nch-form-message {
	min-width: min(100%, 280px);
	flex: 1 1 280px;
	margin: 0 auto 0 0;
}

.nch-view-modal .nch-modal-section,
.nch-view-modal .nch-order-review-section,
.nch-view-modal .nch-work-order-materials {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--nch-line);
}

.nch-view-modal .nch-modal-section:first-child,
.nch-view-modal .nch-order-review-section:first-child {
	margin-top: 0;
}

.nch-view-modal .nch-section-heading {
	align-items: flex-start;
}

.nch-view-modal .nch-section-heading h3,
.nch-view-modal .nch-order-review-section-heading h3 {
	margin: 2px 0 0;
	font-size: 16px;
	line-height: 1.3;
}

.nch-view-modal .nch-section-heading small,
.nch-view-modal .nch-order-review-section-heading small {
	line-height: 1.45;
}

.nch-view-modal .nch-table-wrap {
	max-width: 100%;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: #fff;
	overflow: auto;
}

.nch-view-modal .nch-table-wrap .nch-table {
	margin: 0;
}

.nch-view-modal.nch-sales-report-dialog .nch-table {
	min-width: 820px;
}

.nch-view-modal .nch-transfer-detail-grid,
.nch-view-modal .nch-order-review-grid,
.nch-view-modal .nch-request-review-summary {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1px;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-line);
	overflow: hidden;
}

.nch-view-modal .nch-transfer-detail-grid > div,
.nch-view-modal .nch-order-review-grid > div,
.nch-view-modal .nch-order-review-grid > div:first-child,
.nch-view-modal .nch-order-review-grid > div:last-child,
.nch-view-modal .nch-request-review-summary > div {
	min-width: 0;
	padding: 13px 14px;
	border: 0;
	background: #fff;
}

.nch-view-modal .nch-transfer-detail-grid strong,
.nch-view-modal .nch-order-review-grid strong,
.nch-view-modal .nch-request-review-summary strong,
.nch-view-modal .nch-detail-summary-grid strong {
	overflow-wrap: anywhere;
}

.nch-view-modal .nch-detail-summary-grid {
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.nch-view-modal .nch-detail-summary-grid > div {
	min-width: 0;
}

.nch-view-modal [data-price-decision-note-wrap],
.nch-view-modal [data-credit-decision-reason],
.nch-view-modal [data-review-rejection-reason] {
	margin-top: 18px;
}

/* Purchase request register */
.nch-procurement-request-table {
	width: 100%;
	min-width: 0;
	table-layout: fixed;
}

.nch-procurement-request-table th:nth-child(1) { width: 25%; }
.nch-procurement-request-table th:nth-child(2) { width: 13%; }
.nch-procurement-request-table th:nth-child(3) { width: 14%; }
.nch-procurement-request-table th:nth-child(4) { width: 20%; }
.nch-procurement-request-table th:nth-child(5) { width: 17%; }
.nch-procurement-request-table th:nth-child(6) { width: 11%; }

.nch-procurement-request-table td {
	vertical-align: top;
	overflow-wrap: anywhere;
}

.nch-procurement-request-table td > strong,
.nch-procurement-request-table td > small,
.nch-procurement-commercial > strong,
.nch-procurement-commercial > span,
.nch-procurement-commercial > small {
	display: block;
}

.nch-procurement-request-table td > small,
.nch-procurement-commercial > small {
	margin-top: 5px;
	color: var(--nch-muted);
	font-size: 12px;
	line-height: 1.45;
}

.nch-procurement-commercial {
	display: grid;
	gap: 4px;
}

.nch-procurement-commercial > span {
	font-size: 14px;
	font-weight: 700;
}

.nch-procurement-request-action .nch-action-row {
	align-items: stretch;
	flex-direction: column;
}

.nch-procurement-request-action .nch-button,
.nch-procurement-request-action .nch-status {
	max-width: 100%;
	white-space: normal;
}

@media (max-width: 900px) {
	.nch-procurement-request-wrap {
		overflow: visible;
	}

	.nch-procurement-request-table,
	.nch-procurement-request-table tbody {
		display: block;
		width: 100%;
	}

	.nch-procurement-request-table thead {
		display: none;
	}

	.nch-procurement-request-table tbody {
		display: grid;
		gap: 12px;
	}

	.nch-procurement-request-table tbody tr {
		display: block;
		border: 1px solid var(--nch-line);
		border-radius: 8px;
		background: #fff;
		overflow: hidden;
	}

	.nch-procurement-request-table tbody td {
		display: grid;
		grid-template-columns: minmax(105px, 0.32fr) minmax(0, 1fr);
		gap: 12px;
		width: 100%;
		padding: 12px;
		border-bottom: 1px solid var(--nch-line);
		text-align: left;
	}

	.nch-procurement-request-table tbody td:last-child {
		border-bottom: 0;
	}

	.nch-procurement-request-table tbody td[data-label]::before {
		color: var(--nch-muted);
		content: attr(data-label);
		font-size: 10px;
		font-weight: 800;
		text-transform: uppercase;
	}

	.nch-procurement-request-table tbody td:not([data-label]) {
		display: block;
	}

	.nch-procurement-request-action .nch-button {
		width: 100%;
		min-height: 42px;
	}
}

@media (max-width: 640px) {
	.nch-finance-modal,
	.nch-finance-modal.nch-view-modal,
	.nch-finance-modal.nch-view-modal.is-narrow {
		width: calc(100vw - 16px);
		max-width: none;
		max-height: calc(100dvh - 16px);
	}

	.nch-finance-modal-form {
		max-height: calc(100dvh - 16px);
	}

	.nch-finance-modal-header,
	.nch-finance-modal-footer {
		padding: 14px 16px;
	}

	.nch-finance-modal-body {
		padding: 16px;
	}

	.nch-view-modal .nch-finance-modal-header h2 {
		font-size: 19px;
	}

	.nch-view-modal .nch-transfer-detail-grid,
	.nch-view-modal .nch-order-review-grid,
	.nch-view-modal .nch-request-review-summary,
	.nch-view-modal .nch-detail-summary-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.nch-view-modal .nch-finance-modal-footer {
		align-items: stretch;
	}

	.nch-view-modal .nch-finance-modal-footer .nch-button {
		min-height: 42px;
		flex: 1 1 140px;
	}

	.nch-procurement-request-table tbody td {
		grid-template-columns: minmax(86px, 0.3fr) minmax(0, 1fr);
		gap: 9px;
	}
}

@media (max-width: 420px) {
	.nch-finance-modal,
	.nch-finance-modal.nch-view-modal,
	.nch-finance-modal.nch-view-modal.is-narrow {
		width: 100vw;
		max-width: none;
		max-height: 100dvh;
		border-radius: 0;
	}

	.nch-finance-modal-form {
		max-height: 100dvh;
		border-radius: 0;
	}

	.nch-view-modal .nch-finance-modal-footer .nch-form-message,
	.nch-view-modal .nch-finance-modal-footer .nch-action-row {
		width: 100%;
		flex-basis: 100%;
	}

	.nch-view-modal .nch-finance-modal-footer .nch-action-row {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.nch-view-modal .nch-finance-modal-footer .nch-button {
		width: 100%;
		flex-basis: 100%;
	}

	.nch-procurement-request-table tbody td {
		display: block;
	}

	.nch-procurement-request-table tbody td[data-label]::before {
		display: block;
		margin-bottom: 6px;
	}
}

.nch-mobile-nav-toggle {
	display: none;
}

@media (max-width: 900px) {
	.nch-sidebar.has-mobile-toggle {
		position: sticky;
		top: 0;
		z-index: 90;
		display: flex;
		height: auto;
		min-height: 0;
		padding: 14px 16px;
		overflow: visible;
	}

	.nch-sidebar.has-mobile-toggle .nch-brand {
		min-height: 44px;
		padding-right: 56px;
	}

	.nch-sidebar.has-mobile-toggle .nch-nav,
	.nch-sidebar.has-mobile-toggle .nch-sidebar-footer {
		display: none;
	}

	.nch-sidebar.has-mobile-toggle.is-mobile-open {
		max-height: 100dvh;
		overflow-y: auto;
	}

	.nch-sidebar.has-mobile-toggle.is-mobile-open .nch-nav {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
	}

	.nch-sidebar.has-mobile-toggle.is-mobile-open .nch-sidebar-footer {
		display: flex;
	}

	.nch-mobile-nav-toggle {
		position: absolute;
		top: 18px;
		right: 16px;
		display: grid;
		width: 42px;
		height: 42px;
		min-height: 42px;
		place-content: center;
		gap: 5px;
		padding: 0;
		border: 1px solid rgba(255, 255, 255, .2);
		border-radius: 7px;
		background: rgba(255, 255, 255, .06);
		cursor: pointer;
	}

	.nch-mobile-nav-toggle span {
		display: block;
		width: 18px;
		height: 2px;
		border-radius: 2px;
		background: #fff;
		transition: transform .18s ease, opacity .18s ease;
	}

	.nch-sidebar.is-mobile-open .nch-mobile-nav-toggle span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.nch-sidebar.is-mobile-open .nch-mobile-nav-toggle span:nth-child(2) {
		opacity: 0;
	}

	.nch-sidebar.is-mobile-open .nch-mobile-nav-toggle span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}
}

/* Procurement workspace */
.nch-procurement-page .nch-main {
	gap: 20px;
}

.nch-procurement-topbar {
	align-items: center;
}

.nch-procurement-overview {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-surface);
	box-shadow: var(--nch-shadow);
	overflow: hidden;
}

.nch-procurement-kpi {
	min-width: 0;
	padding: 17px 18px;
	border-right: 1px solid var(--nch-line);
}

.nch-procurement-kpi:last-child {
	border-right: 0;
}

.nch-procurement-kpi > span,
.nch-procurement-kpi > small,
.nch-procurement-kpi-split small {
	display: block;
	color: var(--nch-muted);
	font-size: 12px;
	line-height: 1.4;
}

.nch-procurement-kpi > span {
	font-weight: 750;
}

.nch-procurement-kpi > strong {
	display: block;
	margin: 7px 0 5px;
	font-size: 24px;
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
	overflow-wrap: anywhere;
}

.nch-procurement-kpi-split {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 12px;
	margin: 0 0 3px;
}

.nch-procurement-kpi-split small:first-child {
	color: var(--nch-ink);
	font-weight: 700;
}

.nch-procurement-page .nch-tab-list {
	flex-wrap: nowrap;
	overflow-x: auto;
	scrollbar-width: thin;
}

.nch-procurement-page .nch-tab-list a {
	flex: 0 0 auto;
	white-space: nowrap;
}

.nch-procurement-page .nch-tab-panel {
	gap: 18px;
}

.nch-procurement-queue {
	padding: 0;
	overflow: hidden;
}

.nch-procurement-queue > .nch-section-heading {
	align-items: center;
	padding: 18px 20px;
	border-bottom: 1px solid var(--nch-line);
}

.nch-procurement-queue > .nch-section-heading small {
	display: block;
	margin-top: 5px;
	color: var(--nch-muted);
	font-size: 12px;
}

.nch-procurement-queue-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.nch-procurement-queue-actions .nch-filter-result:empty {
	display: none;
}

.nch-procurement-request-list {
	display: grid;
}

.nch-procurement-request-card {
	min-width: 0;
	border-bottom: 1px solid var(--nch-line);
	background: #fff;
}

.nch-procurement-request-card:last-child {
	border-bottom: 0;
}

.nch-procurement-request-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 20px 13px;
	background: #fbfcfe;
}

.nch-procurement-request-header > div {
	min-width: 0;
}

.nch-procurement-request-header h3 {
	font-size: 17px;
	overflow-wrap: anywhere;
}

.nch-procurement-request-header small {
	display: block;
	margin-top: 4px;
	color: var(--nch-muted);
	font-size: 12px;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.nch-procurement-request-body {
	display: grid;
	grid-template-columns: minmax(260px, 1.3fr) minmax(220px, .85fr) minmax(220px, .75fr);
}

.nch-procurement-request-section {
	min-width: 0;
	padding: 16px 20px 18px;
	border-right: 1px solid var(--nch-line);
}

.nch-procurement-request-section:last-child {
	border-right: 0;
}

.nch-procurement-section-label {
	display: block;
	margin-bottom: 10px;
	color: var(--nch-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-procurement-item-list {
	display: grid;
	gap: 8px;
}

.nch-procurement-item-list > div {
	display: flex;
	min-width: 0;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
}

.nch-procurement-item-list strong,
.nch-procurement-item-list small {
	min-width: 0;
	overflow-wrap: anywhere;
}

.nch-procurement-item-list strong {
	font-size: 13px;
}

.nch-procurement-item-list small,
.nch-procurement-requester {
	color: var(--nch-muted);
	font-size: 11px;
}

.nch-procurement-requester {
	display: block;
	margin-top: 13px;
	overflow-wrap: anywhere;
}

.nch-procurement-commercial {
	display: grid;
	align-content: start;
	gap: 8px;
}

.nch-procurement-commercial strong,
.nch-procurement-commercial span,
.nch-procurement-commercial small {
	display: block;
	min-width: 0;
	overflow-wrap: anywhere;
}

.nch-procurement-commercial > strong {
	font-size: 15px;
	line-height: 1.3;
}

.nch-procurement-commercial-value {
	display: flex;
	align-items: center;
	min-width: 0;
}

.nch-procurement-commercial-value .nch-money {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.nch-procurement-commercial-value .nch-currency-badge {
	display: inline-flex;
}

.nch-procurement-commercial-value .nch-money-value {
	display: inline;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
}

.nch-procurement-commercial-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px 8px;
	min-width: 0;
	color: var(--nch-muted);
	font-size: 11px;
	line-height: 1.45;
}

.nch-procurement-commercial-meta > span:not(:last-child)::after {
	margin-left: 8px;
	color: #98a2b3;
	content: "\00b7";
}

.nch-procurement-commercial-meta .nch-money {
	display: inline-flex;
}

.nch-procurement-commercial-meta .nch-currency-badge {
	height: 18px;
	min-width: 32px;
	padding: 0 5px;
	font-size: 9px;
}

.nch-procurement-commercial-meta > small {
	color: var(--nch-muted);
	font-size: 11px;
}

.nch-procurement-next-action {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 7px;
}

.nch-procurement-next-action .nch-procurement-section-label {
	margin-bottom: 3px;
}

.nch-procurement-next-action > strong,
.nch-procurement-next-action > small {
	overflow-wrap: anywhere;
}

.nch-procurement-next-action > small {
	color: var(--nch-muted);
	font-size: 11px;
	line-height: 1.45;
}

.nch-procurement-next-action .nch-button,
.nch-procurement-next-action .nch-status {
	max-width: 100%;
	margin-top: auto;
	white-space: normal;
}

.nch-procurement-next-action .nch-button {
	width: 100%;
}

.nch-procurement-empty-state {
	display: flex;
	min-height: 190px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 7px;
	padding: 28px;
	text-align: center;
}

.nch-procurement-empty-state small {
	max-width: 420px;
	color: var(--nch-muted);
	line-height: 1.45;
}

.nch-procurement-empty-state .nch-button {
	margin-top: 8px;
}

.nch-procurement-history {
	padding: 0;
	overflow: hidden;
}

.nch-procurement-history > summary {
	display: flex;
	min-height: 68px;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 14px 20px;
	cursor: pointer;
	list-style: none;
}

.nch-procurement-history > summary::-webkit-details-marker {
	display: none;
}

.nch-procurement-history > summary::after {
	content: "+";
	color: var(--nch-muted);
	font-size: 22px;
	font-weight: 500;
}

.nch-procurement-history[open] > summary::after {
	content: "\2212";
}

.nch-procurement-history > summary > span:first-child {
	display: grid;
	gap: 3px;
}

.nch-procurement-history > summary small,
.nch-procurement-history > summary > span:nth-child(2) {
	color: var(--nch-muted);
	font-size: 11px;
}

.nch-procurement-history > summary small {
	font-weight: 800;
	text-transform: uppercase;
}

.nch-procurement-history > summary > span:nth-child(2) {
	margin-left: auto;
}

.nch-procurement-history-body {
	padding: 0 20px 20px;
	border-top: 1px solid var(--nch-line);
}

.nch-procurement-history-body .nch-table-wrap {
	margin-top: 16px;
}

.nch-purchase-request-modal {
	width: min(820px, calc(100vw - 32px));
}

.nch-purchase-request-modal .nch-finance-modal-body {
	display: grid;
	gap: 20px;
}

.nch-purchase-request-lines {
	display: grid;
	gap: 12px;
	padding-top: 18px;
	border-top: 1px solid var(--nch-line);
}

.nch-purchase-request-lines .nch-section-heading {
	align-items: center;
}

.nch-purchase-request-lines .nch-section-heading h3 {
	font-size: 16px;
}

.nch-purchase-request-lines .nch-sales-line {
	grid-template-columns: minmax(240px, 1fr) 130px 40px;
	gap: 10px;
	align-items: end;
}

.nch-purchase-request-lines .nch-icon-button.is-remove {
	width: 40px;
	height: 42px;
	min-height: 42px;
	justify-self: auto;
}

.nch-purchase-request-footer {
	justify-content: space-between;
}

.nch-purchase-request-footer .nch-form-message {
	min-width: 160px;
	flex: 1 1 220px;
	margin: 0;
}

.nch-purchase-request-total {
	min-width: 110px;
	padding-right: 6px;
	text-align: right;
}

.nch-purchase-request-total span,
.nch-purchase-request-total strong {
	display: block;
}

.nch-purchase-request-total span {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-purchase-request-total strong {
	margin-top: 3px;
	font-size: 17px;
	font-variant-numeric: tabular-nums;
}

@media (max-width: 1120px) {
	.nch-procurement-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nch-procurement-kpi:nth-child(2) {
		border-right: 0;
	}

	.nch-procurement-kpi:nth-child(-n + 2) {
		border-bottom: 1px solid var(--nch-line);
	}

	.nch-procurement-request-body {
		grid-template-columns: minmax(0, 1fr) minmax(220px, .72fr);
	}

	.nch-procurement-request-section:first-child {
		grid-column: 1 / -1;
		border-right: 0;
		border-bottom: 1px solid var(--nch-line);
	}
}

@media (max-width: 720px) {
	.nch-procurement-page .nch-main {
		gap: 16px;
		padding: 18px 14px;
	}

	.nch-procurement-topbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.nch-procurement-topbar .nch-action-row,
	.nch-procurement-topbar .nch-action-row .nch-button {
		width: 100%;
	}

	.nch-procurement-topbar .nch-action-row {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nch-procurement-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nch-procurement-kpi {
		padding: 14px;
	}

	.nch-procurement-kpi > strong {
		font-size: 20px;
	}

	.nch-procurement-queue > .nch-section-heading {
		align-items: flex-start;
		flex-direction: column;
		padding: 16px;
	}

	.nch-procurement-queue-actions,
	.nch-procurement-queue-actions .nch-button {
		width: 100%;
	}

	.nch-procurement-request-header {
		padding: 14px 16px 12px;
	}

	.nch-procurement-request-body {
		grid-template-columns: minmax(0, 1fr);
	}

	.nch-procurement-request-section,
	.nch-procurement-request-section:first-child {
		grid-column: auto;
		padding: 14px 16px 16px;
		border-right: 0;
		border-bottom: 1px solid var(--nch-line);
	}

	.nch-procurement-request-section:last-child {
		border-bottom: 0;
	}

	.nch-procurement-history > summary {
		padding: 14px 16px;
	}

	.nch-procurement-history-body {
		padding: 0 16px 16px;
	}

	.nch-purchase-request-lines .nch-sales-line {
		grid-template-columns: minmax(0, 1fr) 96px 40px;
	}

	.nch-purchase-request-footer {
		align-items: stretch;
		flex-direction: column;
	}

	.nch-purchase-request-footer .nch-form-message {
		width: 100%;
		flex-basis: auto;
	}

	.nch-purchase-request-total {
		width: 100%;
		padding: 0;
		text-align: left;
	}

	.nch-purchase-request-footer .nch-action-row,
	.nch-purchase-request-footer .nch-button {
		width: 100%;
	}

	.nch-purchase-request-footer .nch-action-row {
		display: grid;
		grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
	}
}

@media (max-width: 440px) {
	.nch-procurement-overview {
		grid-template-columns: minmax(0, 1fr);
	}

	.nch-procurement-kpi,
	.nch-procurement-kpi:nth-child(2) {
		border-right: 0;
		border-bottom: 1px solid var(--nch-line);
	}

	.nch-procurement-kpi:last-child {
		border-bottom: 0;
	}

	.nch-procurement-request-header {
		flex-direction: column;
	}

	.nch-procurement-item-list > div {
		align-items: flex-start;
		flex-direction: column;
		gap: 2px;
	}

	.nch-purchase-request-lines .nch-sales-line {
		grid-template-columns: minmax(0, 1fr) 72px 40px;
		padding: 10px;
	}

	.nch-purchase-request-footer .nch-action-row {
		grid-template-columns: minmax(0, 1fr);
	}
}

.nch-procurement-page .nch-toggle-row input[type="checkbox"] {
	width: 1px;
	height: 1px;
	min-height: 0;
	padding: 0;
	border: 0;
}

.nch-procurement-page .nch-form label.nch-toggle-row {
	align-items: center;
	flex-direction: row;
}

/* Operational workflow refinement: import costing, manufacturing, AP and item setup */
.nch-import-review-modal {
	width: min(980px, calc(100vw - 32px));
}

.nch-import-review-modal .nch-inline-notice {
	margin-top: 16px;
}

.nch-capacity-table td > small,
.nch-capacity-table td > strong {
	display: block;
}

.nch-capacity-table td > small {
	margin-top: 4px;
	color: var(--nch-muted);
	font-size: 11px;
}

.nch-work-order-planner,
#nch-bom-form {
	max-width: 1240px;
}

#nch-bom-form .nch-sales-items {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--nch-line);
}

#nch-bom-form .nch-sales-line {
	grid-template-columns: minmax(260px, 1fr) minmax(120px, 220px) 42px;
	align-items: end;
}

.nch-recipe-mode {
	display: inline-grid;
	grid-template-columns: repeat(2, minmax(150px, 1fr));
	gap: 3px;
	margin: 4px 0 18px;
	padding: 3px;
	border: 1px solid var(--nch-line);
	border-radius: 7px;
	background: #f2f4f7;
}

.nch-recipe-mode button {
	min-height: 38px;
	padding: 8px 14px;
	border: 0;
	border-radius: 5px;
	color: var(--nch-muted);
	background: transparent;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}

.nch-recipe-mode button.is-active {
	color: #101828;
	background: #fff;
	box-shadow: 0 1px 3px rgba(16, 24, 40, 0.14);
}

.nch-recipe-picker {
	display: grid;
	grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
	gap: 20px;
	align-items: end;
	margin-bottom: 16px;
	padding: 16px;
	border: 1px solid #b2ccff;
	border-radius: 8px;
	background: #f5f8ff;
}

.nch-recipe-picker[hidden],
.nch-recipe-loaded-summary[hidden] {
	display: none;
}

.nch-recipe-picker p {
	margin: 0 0 9px;
	color: #475467;
	font-size: 12px;
	line-height: 1.5;
}

.nch-recipe-loaded-summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin-bottom: 18px;
	overflow: hidden;
	border: 1px solid var(--nch-line);
	border-radius: 8px;
	background: var(--nch-line);
}

.nch-recipe-loaded-summary > div {
	display: grid;
	gap: 4px;
	padding: 12px 14px;
	background: #fff;
}

.nch-recipe-loaded-summary span {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-recipe-loaded-summary strong {
	overflow-wrap: anywhere;
	font-size: 14px;
}

.nch-recipe-form select:disabled,
.nch-recipe-form input:disabled {
	color: #344054;
	background: #f2f4f7;
	opacity: 1;
}

.nch-recipe-history-table {
	min-width: 820px;
}

.nch-production-feasibility {
	display: grid;
	gap: 12px;
	margin-top: 18px;
	padding: 14px;
	border: 1px solid #f7c7c2;
	border-radius: 8px;
	background: #fff7f6;
}

.nch-production-feasibility.is-ready {
	border-color: #a6e0b7;
	background: #f2fbf5;
}

.nch-feasibility-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	border: 1px solid var(--nch-line);
	border-radius: 7px;
	background: var(--nch-line);
}

.nch-feasibility-summary > div {
	display: grid;
	gap: 4px;
	padding: 11px 12px;
	background: #fff;
}

.nch-feasibility-summary span {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-feasibility-summary strong {
	font-size: 15px;
}

.nch-feasibility-blockers {
	display: grid;
	gap: 5px;
	color: #9b2c23;
	font-size: 12px;
	line-height: 1.45;
}

.nch-factory-queue-panel > .nch-section-heading {
	align-items: flex-start;
}

.nch-factory-queue-panel > .nch-section-heading .nch-form-message {
	max-width: 760px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid #f7c7c2;
	border-radius: 7px;
	background: #fff7f6;
	font-size: 12px;
	line-height: 1.45;
}

.nch-procurement-payables {
	gap: 18px;
}

.nch-inline-notice.is-blue {
	border-color: #bfd7f5;
	background: #f2f7fd;
	color: #274b73;
}

.nch-import-charge-primary label > small {
	display: block;
	margin-top: 5px;
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 500;
	line-height: 1.4;
}

.nch-payable-total {
	display: grid;
	justify-items: end;
	gap: 3px;
}

.nch-payable-total > span {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
}

.nch-payable-total > strong {
	font-size: 18px;
}

.nch-payable-total > small {
	color: var(--nch-muted);
	font-size: 10px;
	font-weight: 700;
}

.nch-import-payables-panel .nch-inline-notice {
	margin: 0 0 14px;
}

.nch-import-payables-table {
	display: block;
	width: 100%;
	min-width: 1180px;
}

.nch-import-payables-table thead,
.nch-import-payables-table tbody {
	display: block;
}

.nch-import-payables-table tr {
	display: grid;
	grid-template-columns:
		minmax(145px, 0.8fr)
		minmax(165px, 0.95fr)
		minmax(245px, 1.45fr)
		minmax(165px, 0.9fr)
		minmax(190px, 1fr)
		minmax(260px, 1.25fr);
	align-items: stretch;
}

.nch-import-payables-table th,
.nch-import-payables-table td {
	width: auto !important;
	min-width: 0;
}

.nch-import-payables-table td {
	display: flex;
	align-items: center;
	overflow-wrap: anywhere;
}

.nch-obligation-cell {
	display: grid;
	gap: 4px;
	min-width: 0;
	width: 100%;
	white-space: normal;
}

.nch-obligation-cell > strong,
.nch-obligation-cell > small {
	min-width: 0;
	overflow-wrap: anywhere;
	white-space: normal;
}

.nch-obligation-cell > small {
	color: var(--nch-muted);
	font-size: 10px;
	line-height: 1.4;
}

.nch-obligation-cell > .nch-status {
	width: fit-content;
	margin-top: 4px;
}

.nch-obligation-ledger {
	padding-top: 5px;
	border-top: 1px solid var(--nch-line);
}

.nch-import-settlement {
	display: grid;
	gap: 5px;
}

.nch-import-settlement > span {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	color: var(--nch-muted);
	font-size: 10px;
}

.nch-import-settlement > span strong {
	color: var(--nch-ink);
	font-size: 11px;
}

.nch-import-settlement > .is-outstanding {
	padding-top: 5px;
	border-top: 1px solid var(--nch-line);
	color: #9b2c23;
	font-weight: 800;
}

.nch-import-settlement > .is-outstanding strong {
	color: #9b2c23;
}

.nch-payable-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	width: 100%;
}

.nch-payable-actions .nch-button {
	min-width: 0;
	width: 100%;
	padding-inline: 10px;
	white-space: nowrap;
}

.nch-supplier-advance-panel .nch-section-heading {
	align-items: center;
}

.nch-supplier-advance-panel .nch-action-row {
	align-items: center;
}

.nch-supplier-advance-table td {
	vertical-align: middle;
}

.nch-supplier-advance-modal {
	width: min(920px, calc(100vw - 32px));
}

.nch-supplier-advance-body {
	display: grid;
	gap: 14px;
}

.nch-supplier-advance-body .nch-adjustment-summary {
	margin-top: 14px;
}

@media (max-width: 720px) {
	.nch-supplier-advance-panel .nch-section-heading,
	.nch-supplier-advance-panel .nch-action-row {
		align-items: stretch;
		flex-direction: column;
	}

	.nch-supplier-advance-table,
	.nch-supplier-advance-table tbody,
	.nch-supplier-advance-table tr,
	.nch-supplier-advance-table td {
		display: block;
		width: 100% !important;
	}

	.nch-supplier-advance-table thead {
		display: none;
	}

	.nch-supplier-advance-table tr {
		margin-bottom: 12px;
		padding: 13px;
		border: 1px solid var(--nch-line);
		border-radius: 8px;
	}

	.nch-supplier-advance-table td {
		display: grid;
		grid-template-columns: 96px minmax(0, 1fr);
		gap: 10px;
		padding: 6px 0;
		border: 0;
		text-align: left;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.nch-supplier-advance-table td::before {
		color: var(--nch-muted);
		font-size: 10px;
		font-weight: 800;
		text-transform: uppercase;
	}

	.nch-supplier-advance-table td:nth-child(1)::before { content: "Advance"; }
	.nch-supplier-advance-table td:nth-child(2)::before { content: "Supplier"; }
	.nch-supplier-advance-table td:nth-child(3)::before { content: "Purchase Order"; }
	.nch-supplier-advance-table td:nth-child(4)::before { content: "Payment"; }
	.nch-supplier-advance-table td:nth-child(5)::before { content: "Amount"; }
	.nch-supplier-advance-table td:nth-child(6)::before { content: "Status"; }
}

@media (max-width: 1450px) and (min-width: 721px) {
	.nch-import-payables-panel .nch-table-wrap {
		overflow: visible;
	}

	.nch-import-payables-table,
	.nch-import-payables-table tbody {
		display: block;
		min-width: 0;
		width: 100%;
	}

	.nch-import-payables-table thead {
		display: none;
	}

	.nch-import-payables-table tr {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 24px;
		margin-bottom: 12px;
		padding: 14px 16px;
		border: 1px solid var(--nch-line);
		border-radius: 8px;
		background: #fff;
	}

	.nch-import-payables-table td {
		display: grid;
		grid-template-columns: 110px minmax(0, 1fr);
		gap: 10px;
		padding: 8px 0;
		border: 0;
	}

	.nch-import-payables-table td::before {
		color: var(--nch-muted);
		font-size: 10px;
		font-weight: 800;
		text-transform: uppercase;
	}

	.nch-import-payables-table td:nth-child(1)::before { content: "Cost sheet"; }
	.nch-import-payables-table td:nth-child(2)::before { content: "Component"; }
	.nch-import-payables-table td:nth-child(3)::before { content: "Owed to"; }
	.nch-import-payables-table td:nth-child(4)::before { content: "Reference"; }
	.nch-import-payables-table td:nth-child(5)::before { content: "Settlement"; }
	.nch-import-payables-table td:nth-child(6)::before { content: "Actions"; }

	.nch-import-payables-table td:nth-child(5),
	.nch-import-payables-table td:nth-child(6),
	.nch-import-payables-table td[colspan] {
		grid-column: 1 / -1;
	}

	.nch-import-payables-table td[colspan]::before {
		display: none;
	}

	.nch-import-settlement {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px;
	}

	.nch-import-settlement > span,
	.nch-import-settlement > .is-outstanding {
		padding: 9px 10px;
		border: 1px solid var(--nch-line);
		border-radius: 7px;
		background: #f8fafc;
	}

	.nch-payable-actions {
		max-width: 430px;
	}
}

.nch-payables-table th:last-child,
.nch-payables-table td:last-child {
	width: 210px;
}

.nch-supplier-payments-panel .nch-table-wrap {
	overflow-x: clip;
}

.nch-supplier-payments-table {
	width: 100%;
	min-width: 0;
	table-layout: fixed;
}

.nch-supplier-payments-table th,
.nch-supplier-payments-table td {
	min-width: 0;
	overflow-wrap: anywhere;
	white-space: normal;
}

.nch-supplier-payments-table th:nth-child(1) { width: 18%; }
.nch-supplier-payments-table th:nth-child(2) { width: 20%; }
.nch-supplier-payments-table th:nth-child(3) { width: 16%; }
.nch-supplier-payments-table th:nth-child(4) { width: 28%; }
.nch-supplier-payments-table th:nth-child(5) { width: 18%; }

.nch-supplier-payments-table .nch-payment-reference {
	display: block;
	font-size: 12px;
	line-height: 1.35;
}

.nch-supplier-payments-table td > small {
	display: block;
	margin-top: 4px;
	color: var(--nch-muted);
	font-size: 10px;
	line-height: 1.35;
}

.nch-supplier-payments-table td > strong {
	display: block;
}

.nch-payment-amount {
	display: grid;
	justify-items: end;
	gap: 8px;
}

.nch-payment-document {
	width: auto;
	min-width: 0;
	padding-inline: 9px;
}

.nch-supplier-history-table td,
.nch-supplier-payments-table td,
.nch-payables-table td {
	vertical-align: middle;
}

.nch-inventory-create-form {
	display: grid;
	gap: 18px;
	max-width: 1240px;
}

.nch-inventory-create-form .nch-form-section {
	padding: 22px;
}

.nch-inventory-create-form .nch-check-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 18px;
}

.nch-inventory-create-form .nch-check-row label {
	justify-content: flex-start;
	min-width: 0;
}

.nch-inventory-create-form .nch-input-action {
	grid-template-columns: minmax(0, 1fr) auto;
}

@media (max-width: 980px) {
	.nch-inventory-create-form .nch-check-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nch-capacity-table {
		min-width: 900px;
	}

	.nch-factory-queue-table tr {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.nch-procurement-page .nch-main {
		overflow-x: hidden;
	}

	.nch-capacity-panel .nch-table-wrap,
	.nch-factory-queue-panel .nch-table-wrap,
	.nch-procurement-payables .nch-table-wrap {
		overflow: visible;
	}

	.nch-capacity-table,
	.nch-capacity-table tbody,
	.nch-capacity-table tr,
	.nch-capacity-table td,
	.nch-factory-queue-table,
	.nch-factory-queue-table tbody,
	.nch-factory-queue-table tr,
	.nch-factory-queue-table td {
		display: block;
		min-width: 0;
		width: 100% !important;
	}

	.nch-capacity-table thead,
	.nch-factory-queue-table thead {
		display: none;
	}

	.nch-capacity-table tr,
	.nch-factory-queue-table tr {
		margin-bottom: 12px;
		padding: 13px;
		border: 1px solid var(--nch-line);
		border-radius: 8px;
		background: #fff;
	}

	.nch-capacity-table td,
	.nch-factory-queue-table td {
		display: grid;
		grid-template-columns: 112px minmax(0, 1fr);
		gap: 10px;
		padding: 5px 0;
		border: 0;
		text-align: left;
	}

	.nch-capacity-table td::before,
	.nch-factory-queue-table td::before,
		.nch-payables-table td::before,
		.nch-import-payables-table td::before,
	.nch-supplier-history-table td::before,
	.nch-supplier-payments-table td::before,
	.nch-supplier-bills-table td::before {
		color: var(--nch-muted);
		font-size: 10px;
		font-weight: 800;
		text-transform: uppercase;
	}

	.nch-capacity-table td:nth-child(1)::before { content: "Finished good"; }
	.nch-capacity-table td:nth-child(2)::before { content: "Factory"; }
	.nch-capacity-table td:nth-child(3)::before { content: "Demand gap"; }
	.nch-capacity-table td:nth-child(4)::before { content: "Can produce"; }
	.nch-capacity-table td:nth-child(5)::before { content: "Limiting material"; }
	.nch-capacity-table td:nth-child(6)::before { content: "Status"; }
	.nch-capacity-table td:nth-child(7)::before { content: "Action"; }

	.nch-factory-queue-table td:nth-child(1)::before { content: "Work order"; }
	.nch-factory-queue-table td:nth-child(2)::before { content: "Location"; }
	.nch-factory-queue-table td:nth-child(3)::before { content: "Finished goods"; }
	.nch-factory-queue-table td:nth-child(4)::before { content: "Output progress"; }
	.nch-factory-queue-table td:nth-child(5)::before { content: "Material stage"; }
	.nch-factory-queue-table td:nth-child(6)::before { content: "Status"; }
	.nch-factory-queue-table td:nth-child(7)::before { content: "Actions"; }

	.nch-import-charge > header > div {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.nch-import-charge-outcome {
		order: 3;
		margin-left: 35px;
	}

	.nch-import-equation {
		align-items: stretch;
		flex-direction: column;
	}

	.nch-import-equation > b {
		display: none;
	}

	.nch-import-equation > small {
		margin: 4px 0 0;
		max-width: none;
	}

	.nch-feasibility-summary {
		grid-template-columns: 1fr;
	}

	#nch-bom-form .nch-sales-line,
	#nch-bom-form .nch-production-cost-line {
		grid-template-columns: minmax(0, 1fr) 92px 40px;
	}

		.nch-payables-table,
		.nch-payables-table tbody,
		.nch-payables-table tr,
		.nch-payables-table td,
		.nch-import-payables-table,
		.nch-import-payables-table tbody,
		.nch-import-payables-table tr,
		.nch-import-payables-table td,
	.nch-supplier-history-table,
	.nch-supplier-history-table tbody,
	.nch-supplier-history-table tr,
	.nch-supplier-history-table td,
	.nch-supplier-payments-table,
	.nch-supplier-payments-table tbody,
	.nch-supplier-payments-table tr,
	.nch-supplier-payments-table td,
	.nch-supplier-bills-table,
	.nch-supplier-bills-table tbody,
	.nch-supplier-bills-table tr,
	.nch-supplier-bills-table td {
		display: block;
		width: 100% !important;
	}

		.nch-payables-table thead,
		.nch-import-payables-table thead,
	.nch-supplier-history-table thead,
	.nch-supplier-payments-table thead,
	.nch-supplier-bills-table thead {
		display: none;
	}

		.nch-payables-table tr,
		.nch-import-payables-table tr,
	.nch-supplier-history-table tr,
	.nch-supplier-payments-table tr,
	.nch-supplier-bills-table tr {
		margin-bottom: 12px;
		padding: 13px;
		border: 1px solid var(--nch-line);
		border-radius: 8px;
		background: #fff;
	}

		.nch-payables-table td,
		.nch-import-payables-table td,
	.nch-supplier-history-table td,
	.nch-supplier-payments-table td,
	.nch-supplier-bills-table td {
		max-width: none !important;
		display: grid;
		grid-template-columns: 100px minmax(0, 1fr);
		gap: 10px;
		padding: 5px 0;
		border: 0;
		text-align: left;
	}

	.nch-payables-table td:nth-child(1)::before { content: "Bill"; }
	.nch-payables-table td:nth-child(2)::before { content: "Supplier"; }
	.nch-payables-table td:nth-child(3)::before { content: "Due date"; }
	.nch-payables-table td:nth-child(4)::before { content: "Outstanding"; }
		.nch-payables-table td:nth-child(5)::before { content: "Actions"; }

		.nch-import-payables-table td:nth-child(1)::before { content: "Cost sheet"; }
		.nch-import-payables-table td:nth-child(2)::before { content: "Component"; }
		.nch-import-payables-table td:nth-child(3)::before { content: "Owed to"; }
		.nch-import-payables-table td:nth-child(4)::before { content: "Reference"; }
		.nch-import-payables-table td:nth-child(5)::before { content: "Settlement"; }
		.nch-import-payables-table td:nth-child(6)::before { content: "Actions"; }

		.nch-import-payables-table {
			min-width: 0;
		}

		.nch-import-payables-table td:nth-child(5),
		.nch-import-payables-table td:nth-child(6) {
			display: block;
		}

		.nch-import-payables-table td:nth-child(5)::before,
		.nch-import-payables-table td:nth-child(6)::before {
			display: block;
			margin-bottom: 7px;
		}

		.nch-import-payables-table .nch-payable-actions {
			grid-template-columns: 1fr;
		}

	.nch-supplier-payments-table td:nth-child(1)::before { content: "Payment"; }
	.nch-supplier-payments-table td:nth-child(2)::before { content: "Supplier"; }
	.nch-supplier-payments-table td:nth-child(3)::before { content: "Payment details"; }
	.nch-supplier-payments-table td:nth-child(4)::before { content: "Paid from"; }
	.nch-supplier-payments-table td:nth-child(5)::before { content: "Amount / Document"; }

	.nch-supplier-history-table td:nth-child(1)::before { content: "Template"; }
	.nch-supplier-history-table td:nth-child(2)::before { content: "Term"; }
	.nch-supplier-history-table td:nth-child(3)::before { content: "Portion"; }
	.nch-supplier-history-table td:nth-child(4)::before { content: "Due rule"; }
	.nch-supplier-history-table td:nth-child(5)::before { content: "Credit days"; }

	.nch-supplier-bills-table td:nth-child(1)::before { content: "Bill"; }
	.nch-supplier-bills-table td:nth-child(2)::before { content: "Supplier"; }
	.nch-supplier-bills-table td:nth-child(3)::before { content: "Date"; }
	.nch-supplier-bills-table td:nth-child(4)::before { content: "Due"; }
	.nch-supplier-bills-table td:nth-child(5)::before { content: "Total"; }
	.nch-supplier-bills-table td:nth-child(6)::before { content: "Outstanding"; }
	.nch-supplier-bills-table td:nth-child(7)::before { content: "Status"; }

	.nch-capacity-table td[colspan]::before,
	.nch-factory-queue-table td[colspan]::before,
		.nch-payables-table td[colspan]::before,
		.nch-import-payables-table td[colspan]::before,
	.nch-supplier-history-table td[colspan]::before,
	.nch-supplier-payments-table td[colspan]::before,
	.nch-supplier-bills-table td[colspan]::before {
		display: none;
	}

	.nch-payable-actions {
		justify-content: stretch;
		margin-top: 8px;
	}

	.nch-payable-actions .nch-button {
		flex: 1 1 0;
	}

		.nch-payment-amount {
			justify-items: start;
		}

		.nch-payable-total {
			justify-items: start;
		}

	.nch-inventory-create-form .nch-form-section {
		padding: 16px;
	}

	.nch-inventory-create-form .nch-check-row {
		grid-template-columns: 1fr;
	}

	.nch-inventory-create-form .nch-input-action {
		grid-template-columns: 1fr;
	}

	.nch-inventory-create-form .nch-input-action .nch-button {
		width: 100%;
	}
}

@media (max-width: 520px) {
	.nch-category-mode {
		width: 100%;
		grid-template-columns: 1fr;
	}

	.nch-recipe-mode {
		width: 100%;
		grid-template-columns: 1fr;
	}

	.nch-recipe-picker,
	.nch-recipe-loaded-summary {
		grid-template-columns: 1fr;
	}

	#nch-bom-form .nch-sales-line,
	#nch-bom-form .nch-production-cost-line {
		grid-template-columns: minmax(0, 1fr) 40px;
	}

	#nch-bom-form .nch-sales-line > label:first-child,
	#nch-bom-form .nch-production-cost-line > label:first-child {
		grid-column: 1 / -1;
	}
}

body.nch-reports-page .nch-report-results .nch-table-wrap {
	max-width: 100%;
	overflow-x: auto;
}

body.nch-reports-page .nch-central-report-table {
	width: max-content;
	min-width: 100%;
	table-layout: auto;
}

body.nch-reports-page .nch-central-report-table th,
body.nch-reports-page .nch-central-report-table td {
	min-width: 132px;
	max-width: 320px;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: normal;
}

body.nch-reports-page .nch-central-report-table th.nch-number,
body.nch-reports-page .nch-central-report-table td.nch-number {
	min-width: 116px;
	white-space: nowrap;
}

body.nch-reports-page .nch-central-report-table td.nch-report-entry-lines {
	min-width: 270px;
	white-space: pre-line;
	line-height: 1.5;
}

body.nch-reports-page .nch-report-catalog-tools input,
body.nch-reports-page .nch-report-filter-bar input,
body.nch-reports-page .nch-report-filter-bar select {
	width: 100%;
	height: 46px;
	min-width: 0;
	margin: 0;
	padding: 0 13px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	outline: 0;
	background-color: #fff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
	color: #1d2939;
	font: inherit;
	font-size: 14px;
	line-height: 1;
	transition: border-color 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
}

body.nch-reports-page .nch-report-filter-bar select {
	padding-right: 34px;
	cursor: pointer;
}

body.nch-reports-page .nch-report-catalog-tools input::placeholder,
body.nch-reports-page .nch-report-filter-bar input::placeholder {
	color: #98a2b3;
	opacity: 1;
}

body.nch-reports-page .nch-report-catalog-tools input:hover,
body.nch-reports-page .nch-report-filter-bar input:hover,
body.nch-reports-page .nch-report-filter-bar select:hover {
	border-color: #98a9bd;
}

body.nch-reports-page .nch-report-catalog-tools input:focus,
body.nch-reports-page .nch-report-filter-bar input:focus,
body.nch-reports-page .nch-report-filter-bar select:focus {
	border-color: #175cd3;
	box-shadow: 0 0 0 3px rgba(23, 92, 211, 0.13);
}

body.nch-reports-page .nch-report-filter-bar input[type="date"] {
	min-width: 150px;
	padding-right: 10px;
	font-variant-numeric: tabular-nums;
}

body.nch-reports-page .nch-report-catalog-tools {
	min-height: 92px;
}

body.nch-reports-page .nch-report-catalog-tools > span {
	align-self: center;
	padding-top: 18px;
}

body.nch-reports-page .nch-report-filter-actions .nch-button {
	display: inline-flex;
	height: 46px;
	min-width: 82px;
	align-items: center;
	justify-content: center;
	padding: 0 18px;
}

@media (max-width: 720px) {
	body.nch-reports-page .nch-report-catalog-tools {
		min-height: 0;
	}

	body.nch-reports-page .nch-report-catalog-tools > span {
		align-self: auto;
		padding-top: 0;
	}

	body.nch-reports-page .nch-report-filter-bar input[type="date"] {
		min-width: 0;
	}
}

.nch-import-qty-note {
	display: block;
	margin-top: 3px;
	color: var(--nch-yellow);
	font-weight: 700;
}

/* POS customer quick-create */
.nch-pos-customer-control {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 44px;
	gap: 8px;
	align-items: stretch;
}

.nch-pos-customer-control .nch-icon-button {
	display: inline-grid;
	width: 44px;
	height: 44px;
	min-height: 44px;
	padding: 0;
	place-items: center;
	border-color: #175cd3;
	background: #175cd3;
	color: #fff;
	font-size: 23px;
	line-height: 1;
}

.nch-pos-customer-control .nch-icon-button:hover {
	background: #1849a9;
}

.nch-pos-customer-modal {
	width: min(720px, calc(100vw - 32px));
}

.nch-pos-customer-modal .nch-finance-modal-header small {
	display: block;
	max-width: 560px;
	margin-top: 5px;
	color: var(--nch-muted);
	font-size: 12px;
	line-height: 1.45;
}

.nch-pos-customer-modal .nch-check-row > span {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.nch-pos-customer-modal .nch-check-row small {
	color: var(--nch-muted);
	font-weight: 500;
}

@media (max-width: 720px) {
	.nch-pos-customer-modal {
		width: calc(100vw - 16px);
		max-height: calc(100dvh - 16px);
	}

	.nch-pos-customer-modal .nch-form-grid.is-two-column {
		grid-template-columns: 1fr;
	}

	.nch-pos-customer-modal .nch-finance-modal-footer {
		align-items: stretch;
		flex-direction: column-reverse;
	}

	.nch-pos-customer-modal .nch-finance-modal-footer .nch-button {
		width: 100%;
	}
}
.nch-area-coverage-summary {
	align-self: stretch;
	background: #f6f8fb;
	border: 1px solid #d8dee8;
	border-radius: 6px;
	display: grid;
	gap: 6px;
	padding: 14px 16px;
}

.nch-area-coverage-summary > span,
.nch-area-coverage-summary > small {
	color: #657084;
}

.nch-area-coverage-summary > span {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.nch-area-coverage-summary > strong {
	font-size: 15px;
}
