:root{--nav:var(--bacher-navy);--bg:var(--bacher-bg);--line:var(--bacher-border)}
.panel-head{min-height:52px;padding:12px 16px;justify-content:space-between}
.panel-head,.panel-head *{display:flex;align-items:center}
.panel-head{display:flex}
.search{max-width:180px}
.grid{height:540px}
.notes-grid{height:300px}
.kpi{height:100%}
label{font-size:.8rem}

/* 1080p density pass: tighter rows/padding for all AG Grids, still on-brand */
.ag-theme-quartz{
	--ag-font-size:12.5px;
	--ag-row-height:34px;
	--ag-header-height:38px;
	--ag-cell-horizontal-padding:10px;
}
#attachmentsSection{font-size:12px}

/* Overdue row colours for unselected rows */
.ag-row.overdue-critical{background:#FEE2E2}
.ag-row.overdue-warning{background:#FEF3C7}

/* Selected row styling (overrides overdue colours) */
.ag-row.ag-row-selected,
.ag-row.overdue-warning.ag-row-selected,
.ag-row.overdue-critical.ag-row-selected {
	background-color: var(--bacher-coral-soft) !important;
	box-shadow: inset 4px 0 0 var(--bacher-coral) !important;
	color: var(--bacher-text) !important;
	font-weight: 600 !important;
}

/* Hover state for unselected rows */
.ag-row:not(.ag-row-selected):hover {
	background-color: var(--bacher-coral-soft);
}

/* Cursor for selectable rows (Accounts/Stores/Documents) */
#leftGrid .ag-row, #docGrid .ag-row { cursor: pointer }

/* Documents grid column chooser: wide, wrapping flex layout so checkbox+label units never overlap.
   Only applied while the Bootstrap dropdown is open (.show); otherwise it stays hidden as normal. */
#colChooserMenu{
	min-width:700px;
	max-width:calc(100vw - 2rem);
	box-sizing:border-box;
	right:0;
	left:auto;
	gap:12px 16px;
	background:var(--bacher-surface);
	border:1px solid var(--bacher-border);
	border-radius:var(--bacher-radius-md);
	box-shadow:var(--bacher-shadow-md);
	display:none;
}
#colChooserMenu.show{
	display:flex;
	flex-wrap:wrap;
}
#colChooserMenu .form-check{
	display:flex;
	align-items:center;
	flex:0 0 auto;
	margin:0;
	padding-left:0;
	white-space:nowrap;
	gap:.4rem;
}
#colChooserMenu .form-check-input{
	margin:0;
	flex-shrink:0;
}
#colChooserMenu .form-check-label{
	margin:0;
	white-space:nowrap;
}
@media(max-width:767.98px){
	#colChooserMenu{ min-width:0; width:calc(100vw - 2rem) }
}

.toast-alert{position:fixed;right:20px;top:70px;z-index:2000;min-width:300px}
@media(max-width:1199px){.grid{height:420px}}

/* Invalid cell highlighting for Delivery Variances */
.cell-invalid { background-color: #fde2e2 !important; color: #7a0d0d !important; font-weight: 700 !important }

/* Variance positive cell emphasise */
.variance-positive { color: var(--bacher-info) !important; font-weight: 600 !important }

#cpTotalsRow .kpi-value { font-size: 16px }
#cpVerificationKpi.cp-verified { border-top-color: var(--bacher-success); color: var(--bacher-success) }
#cpVerificationKpi.cp-variance { border-top-color: var(--bacher-danger); color: var(--bacher-danger) }
#cpVerificationKpi.cp-no-data { border-top-color: var(--bacher-warning); color: #92600A }
#cpGrid .cp-variance-row { background-color: #FFF1F0 }
#cpGrid .cp-match-status { color: var(--bacher-success); font-weight: 700 }
#cpGrid .cp-variance-status { color: var(--bacher-danger); font-weight: 700 }

#outlook-pane{font-size:12px}
.outlook-state{min-height:32px;display:flex;align-items:center}
.outlook-message-list{max-height:430px;overflow-y:auto}
.outlook-message-card,.outlook-linked-card{border:1px solid var(--line);border-radius:var(--bacher-radius-md);padding:12px;margin-bottom:8px;background:#fff}
.outlook-message-card:hover{border-color:var(--bacher-coral);background:var(--bacher-coral-soft)}
.outlook-preview{color:var(--bacher-text-muted);line-height:1.45;margin-top:8px;white-space:pre-line}
.outlook-conversation{border-left:3px solid var(--bacher-border);padding-left:10px;margin-bottom:14px}
.outlook-conversation-heading{color:var(--bacher-text-muted);font-weight:700;margin-bottom:7px}
.min-w-0{min-width:0}
@media(max-width:1199px){.outlook-message-list{max-height:360px}}

.app-version-footer{font-size:.75rem;opacity:.65}