﻿/* ============================================================
   EuroABS Modern Shared Theme
   ============================================================ */

@font-face {
	font-family: 'Merriweather Light';
	src: url('../fonts/merriweather/Merriweather-Light.ttf') format('truetype');
	/* intentionally broken so it keeps the logged-in site consistent with Arial for now 
		url('../../fonts/merriweather/Merriweather-Light.ttf')
	*/
}

@font-face {
	font-family: 'Merriweather Light Italic';
	src: url('../fonts/merriweather/Merriweather-LightIt.ttf') format('truetype');
}

@font-face {
	font-family: 'Merriweather Regular';
	src: url('../fonts/merriweather/Merriweather-Regular.ttf') format('truetype');
}

@font-face {
	font-family: 'Open Sans Regular';
	src: url('../fonts/open-sans/OpenSans-Regular.ttf') format('truetype');
}

@font-face {
	font-family: 'Merriweather Italic';
	src: url('../fonts/merriweather/Merriweather-Italic.ttf') format('truetype');
}

@font-face {
	font-family: 'Merriweather Bold';
	src: url('../fonts/merriweather/Merriweather-Bold.ttf') format('truetype');
}

:root {
	--eabs-font: Merriweather Light, Arial, Helvetica, sans-serif;
	--eabs-font-bold: Merriweather Bold;
	--eabs-primary: #567483;
	--eabs-primary-hover: #6b8795;
	--eabs-primary-active: #45616f;
	--eabs-secondary: #84B548;
	--eabs-text: #333333;
	--eabs-heading: #84B548;
	--eabs-subheading: #476477;
	--eabs-muted: #6b7f8f;
	--eabs-white: #ffffff;
	--eabs-bg-soft: #f8fbfc;
	--eabs-bg-row: #f3f5f6;
	--eabs-bg-row-hover: #eef3f5;
	--eabs-border: #d9e2e8;
	--eabs-border-medium: #d8e0e4;
	--eabs-border-light: #e7edf1;
	--eabs-border-lighter: #eef3f6;
	--eabs-control-border: #9eb2bc;
	--eabs-error-bg: #fdecec;
	--eabs-error-border: #c62828;
	--eabs-error-text: #8a1c1c;
	--eabs-success-bg: #eaf7ec;
	--eabs-success-border: #2e7d32;
	--eabs-success-text: #1b5e20;
	--eabs-info-bg: #eaf3ff;
	--eabs-info-border: #2f80ed;
	--eabs-info-text: #174a8b;
	--eabs-warning-bg: #fff7e6;
	--eabs-warning-border: #b7791f;
	--eabs-warning-text: #7a4b00;
	--eabs-radius-sm: 4px;
	--eabs-radius-md: 6px;
	--eabs-radius-lg: 10px;
	--eabs-radius-xl: 12px;
	--eabs-shadow-card: 0 1px 2px rgba(16, 24, 40, 0.04);
	--eabs-focus-shadow: 0 0 0 2px #e3edf2;
	--eabs-button-focus-shadow: 0 0 0 3px #d9e8ef;
	--eabs-font-size-xs: 10px;
	--eabs-font-size-sm: 13px;
	--eabs-font-size-md: 15px;
	--eabs-font-size-lg: 18px;
	--eabs-font-size-xl: 22px;
	--eabs-line-height-xs: 14px;
	--eabs-line-height-sm: 18px;
	--eabs-line-height-md: 20px;
	--eabs-line-height-lg: 28px;
	--eabs-space-3xs: 2px;
	--eabs-space-2xs: 4px;
	--eabs-space-xs: 6px;
	--eabs-space-sm: 8px;
	--eabs-space-md: 10px;
	--eabs-space-lg: 12px;
	--eabs-space-xl: 16px;
	--eabs-space-2xl: 18px;
	--eabs-space-3xl: 20px;
	--eabs-space-4xl: 24px;
	--eabs-space-5xl: 30px;
	--eabs-space-6xl: 40px;
}

/* ============================================================
   EuroABS Modern Shared Layout
   ============================================================ */

body {
	font-family: var(--eabs-font);
}

.eabs-page,
.eabs-page *,
.eabs-page *::before,
.eabs-page *::after {
	box-sizing: border-box;
}

.eabs-page {
	width: 100%;
	font-family: var(--eabs-font);
	font-size: var(--eabs-font-size-sm);
	color: var(--eabs-text);
}

	.eabs-page h1,
	.eabs-page h2,
	.eabs-page h3,
	.eabs-page h4,
	.eabs-page h5,
	.eabs-page h6 {
		margin-top: 0;
		font-family: var(--eabs-font);
		color: var(--eabs-subheading);
	}

	.eabs-page h1 {
		margin-bottom: var(--eabs-space-lg);
		font-size: var(--eabs-font-size-xl);
		line-height: var(--eabs-line-height-lg);
	}

	.eabs-page h2 {
		margin-bottom: var(--eabs-space-md);
		font-size: var(--eabs-font-size-lg);
		line-height: 1.3;
	}

	.eabs-page h3 {
		margin-bottom: var(--eabs-space-sm);
		font-size: var(--eabs-font-size-md);
		line-height: 1.3;
	}

	.eabs-page p {
		margin-top: 0;
		margin-bottom: var(--eabs-space-lg);
		font-size: var(--eabs-font-size-sm);
		line-height: var(--eabs-line-height-md);
	}

.eabs-page-centered-content {
	min-height: 360px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.eabs-section {
	margin-bottom: var(--eabs-space-4xl);
}

.eabs-page-section {
	margin-top: var(--eabs-space-3xl);
	margin-bottom: var(--eabs-space-3xl);
}

.eabs-page-section-centered {
	display: flex;
	justify-content: center;
}

.eabs-page-title {
	color: var(--eabs-heading);
	font-size: var(--eabs-font-size-xl);
	font-weight: bold;
	line-height: var(--eabs-line-height-lg);
}

.eabs-page-title-centered {
	text-align: center;
}

.eabs-section-title {
	display: block;
	width: 100%;
	margin: 0 0 var(--eabs-space-lg) 0;
	padding: 0 0 var(--eabs-space-md) 0;
	border-bottom: 1px solid var(--eabs-border-light);
	font-size: var(--eabs-font-size-lg);
	font-weight: 600;
	line-height: 1.3;
	color: var(--eabs-subheading);
}

.eabs-subsection-title {
	display: block;
	width: 100%;
	margin: var(--eabs-space-2xl) 0 var(--eabs-space-lg) 0;
	padding: 0 0 var(--eabs-space-sm) 0;
	border-bottom: 1px solid var(--eabs-border-lighter);
	font-size: var(--eabs-font-size-md);
	font-weight: 600;
	line-height: 1.3;
	color: var(--eabs-subheading);
}

	.eabs-section-title:first-child,
	.eabs-subsection-title:first-child {
		margin-top: 0;
	}

.eabs-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: var(--eabs-space-3xl) 22px;
	border: 1px solid var(--eabs-border);
	border-radius: var(--eabs-radius-xl);
	background: var(--eabs-white);
	box-shadow: var(--eabs-shadow-card);
}

.eabs-card-header {
	margin-bottom: var(--eabs-space-xl);
	padding-bottom: var(--eabs-space-md);
	border-bottom: 1px solid var(--eabs-border-light);
}

.eabs-card-body {
	padding: var(--eabs-space-xl) var(--eabs-space-2xl);
}

.eabs-card-narrow {
	width: 700px;
	max-width: 100%;
}

.eabs-top-card {
	margin-top: var(--eabs-space-md);
}

.eabs-card > .StandardPageHeading,
.eabs-card .StandardPageHeading {
	margin-bottom: 0;
}

.eabs-card .eabs-card-body + .StandardPageHeading,
.eabs-card .eabs-card-body + div > .StandardPageHeading {
	margin-top: var(--eabs-space-sm);
}

.eabs-card,
.eabs-card-body,
.eabs-table-scroll {
	min-width: 0;
}

/* ============================================================
   EuroABS Modern Forms
   ============================================================ */

.eabs-page label {
	display: inline-block;
	color: var(--eabs-primary);
	font-size: var(--eabs-font-size-sm);
	font-weight: bold;
	line-height: var(--eabs-line-height-md);
}

.eabs-page input[type="text"],
.eabs-page input[type="password"],
.eabs-page input[type="email"],
.eabs-page input[type="search"],
.eabs-page input[type="number"],
.eabs-page input[type="date"],
.eabs-page input[type="tel"],
.eabs-page input[type="url"],
.eabs-page select,
.eabs-page textarea {
	max-width: 100%;
	border: 1px solid var(--eabs-control-border);
	border-radius: var(--eabs-radius-sm);
	background-color: var(--eabs-white);
	color: var(--eabs-text);
	font-family: var(--eabs-font);
	font-size: var(--eabs-font-size-sm);
	line-height: var(--eabs-line-height-sm);
	transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
}

.eabs-page input[type="text"],
.eabs-page input[type="password"],
.eabs-page input[type="email"],
.eabs-page input[type="number"],
.eabs-page input[type="date"],
.eabs-page input[type="tel"],
.eabs-page input[type="url"],
.eabs-page select {
	min-height: 24px;
	padding: var(--eabs-space-3xs) var(--eabs-space-md);
}

.eabs-page input[type="search"] {
	min-height: 34px;
	padding: var(--eabs-space-2xs) var(--eabs-space-md);
}

.eabs-page textarea {
	min-height: 100px;
	padding: var(--eabs-space-sm) var(--eabs-space-md);
	line-height: var(--eabs-line-height-md);
	resize: vertical;
}

	.eabs-page input[type="text"]:hover,
	.eabs-page input[type="password"]:hover,
	.eabs-page input[type="email"]:hover,
	.eabs-page input[type="search"]:hover,
	.eabs-page input[type="number"]:hover,
	.eabs-page input[type="date"]:hover,
	.eabs-page input[type="tel"]:hover,
	.eabs-page input[type="url"]:hover,
	.eabs-page select:hover,
	.eabs-page textarea:hover {
		border-color: var(--eabs-primary-hover);
	}

	.eabs-page input[type="text"]:focus,
	.eabs-page input[type="password"]:focus,
	.eabs-page input[type="email"]:focus,
	.eabs-page input[type="search"]:focus,
	.eabs-page input[type="number"]:focus,
	.eabs-page input[type="date"]:focus,
	.eabs-page input[type="tel"]:focus,
	.eabs-page input[type="url"]:focus,
	.eabs-page select:focus,
	.eabs-page textarea:focus {
		border-color: var(--eabs-primary);
		outline: none;
		box-shadow: var(--eabs-focus-shadow);
	}

	.eabs-page input:disabled,
	.eabs-page select:disabled,
	.eabs-page textarea:disabled {
		border-color: var(--eabs-border-medium);
		background-color: var(--eabs-bg-row);
		color: var(--eabs-muted);
		cursor: not-allowed;
	}

.eabs-page input[type="checkbox"],
.eabs-page input[type="radio"] {
	margin: 0 var(--eabs-space-xs) 0 0;
	vertical-align: middle;
	accent-color: var(--eabs-primary);
}

	.eabs-page input[type="checkbox"] + label,
	.eabs-page input[type="radio"] + label {
		color: var(--eabs-text);
		font-weight: normal;
		vertical-align: middle;
	}

.eabs-row {
	display: flex;
	align-items: center;
	gap: var(--eabs-space-md);
	flex-wrap: wrap;
	margin: var(--eabs-space-md) auto;
}

.eabs-row-label {
	flex: 0 0 125px;
	white-space: nowrap;
}

.eabs-row-control {
	display: flex;
	align-items: center;
	gap: var(--eabs-space-md);
	flex-wrap: wrap;
	min-width: 0;
}

.eabs-form {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--eabs-space-md) var(--eabs-space-xl);
	width: 100%;
}

.eabs-sequential-form {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--eabs-space-xl) var(--eabs-space-3xl);
	width: 100%;
}

.eabs-form-pair {
	display: flex;
	align-items: center;
	gap: var(--eabs-space-sm);
	flex: 1 1 460px;
	min-width: 320px;
	max-width: 100%;
}

.eabs-form-pair-wide {
	flex: 1 1 100%;
	min-width: 320px;
	max-width: 100%;
}

.eabs-pair-label {
	flex: 0 0 auto;
	white-space: nowrap;
	margin: 0;
}

.eabs-pair-field {
	flex: 1 1 auto;
	min-width: 160px;
	max-width: 100%;
	margin: 0;
}

	.eabs-pair-field input[type="text"],
	.eabs-pair-field input[type="password"],
	.eabs-pair-field input[type="email"],
	.eabs-pair-field input[type="search"],
	.eabs-pair-field input[type="number"],
	.eabs-pair-field input[type="date"],
	.eabs-pair-field input[type="tel"],
	.eabs-pair-field input[type="url"],
	.eabs-pair-field textarea,
	.eabs-pair-field select {
		width: 100% !important;
		max-width: 100%;
	}

.eabs-form-block {
	flex: 0 0 100%;
	min-width: 0;
}

.eabs-form-centered {
	justify-content: center;
}

.eabs-form-compact {
	max-width: 560px;
	margin: 0 auto;
}

	.eabs-form-compact .eabs-form-pair {
		flex: 0 1 100%;
	}

	.eabs-form-compact .eabs-pair-label {
		flex: 0 0 180px;
		text-align: left;
	}

	.eabs-form-compact .eabs-pair-field {
		flex: 1 1 240px;
	}

.eabs-form-message {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	margin: 0 0 var(--eabs-space-lg);
}

	.eabs-form-message ul {
		margin: var(--eabs-space-sm) 0 0;
		padding-left: 24px;
	}

.eabs-form-compact .eabs-form-pair {
	align-items: center;
}

.eabs-form-compact .eabs-form-pair-wide {
	align-items: flex-start;
}

.eabs-form-compact .eabs-pair-label {
	padding-top: 0;
}

.eabs-field-error {
	display: block;
	margin-top: 5px;
	color: var(--eabs-danger);
	font-size: var(--eabs-font-size-sm);
	font-weight: 500;
	line-height: var(--eabs-line-height-md);
}

.eabs-field-group {
	display: flex;
	align-items: center;
	gap: var(--eabs-space-md);
}

.eabs-field-with-action {
	display: flex;
	align-items: center;
	gap: 6px;
}

	.eabs-field-with-action .eabs-textbox {
		flex: 1;
	}

.eabs-search-fields {
	display: flex;
	align-items: center;
	gap: var(--eabs-space-5xl);
	flex-wrap: wrap;
}

.eabs-label,
.eabs-inline-label {
	color: var(--eabs-primary);
	font-size: var(--eabs-font-size-sm);
	font-weight: bold;
	line-height: var(--eabs-line-height-md);
}

.eabs-inline-label {
	margin-right: var(--eabs-space-xs);
}

.eabs-value {
	color: var(--eabs-text);
	font-size: var(--eabs-font-size-sm);
	font-weight: normal;
	line-height: var(--eabs-line-height-md);
}

.eabs-textbox {
	width: 220px;
	min-height: 36px;
	border: 1px solid var(--eabs-control-border);
	border-radius: var(--eabs-radius-sm);
	padding: var(--eabs-space-xs) var(--eabs-space-md);
	color: var(--eabs-text);
	background-color: var(--eabs-white);
	font: var(--eabs-font-size-sm) var(--eabs-font);
	line-height: var(--eabs-line-height-sm);
}

	.eabs-textbox:focus {
		border-color: var(--eabs-primary);
		outline: none;
		box-shadow: var(--eabs-focus-shadow);
	}

.eabs-field-spacing {
	height: var(--eabs-space-2xs);
}

.eabs-field-full,
.eabs-full {
	flex: 0 0 100%;
}

.eabs-filter-toolbar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--eabs-space-xl);
	margin-bottom: var(--eabs-space-xl);
	padding: var(--eabs-space-xl);
	border: 1px solid var(--eabs-border-light);
	border-radius: var(--eabs-radius-lg);
	background-color: var(--eabs-bg-soft);
}

.eabs-filter-field {
	flex: 1 1 420px;
	max-width: 620px;
}

	.eabs-filter-field label {
		display: block;
		margin-bottom: var(--eabs-space-xs);
	}

.eabs-search-control {
	position: relative;
	display: flex;
	align-items: center;
}

	.eabs-search-control input[type="search"] {
		width: 100%;
	}

.eabs-search-clear {
	position: absolute;
	right: var(--eabs-space-xs);
	width: 28px;
	min-width: 28px;
	height: 28px;
	min-height: 28px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--eabs-muted);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 20px;
	line-height: 26px;
}

	.eabs-search-clear:hover {
		border-color: transparent;
		background-color: var(--eabs-bg-row-hover);
		color: var(--eabs-primary-active);
	}

.eabs-filter-result-count {
	flex: 0 0 auto;
	padding-bottom: var(--eabs-space-sm);
	color: var(--eabs-muted);
	font-size: var(--eabs-font-size-sm);
	white-space: nowrap;
}

/* ============================================================
   EuroABS Modern Buttons, Links & Actions
   ============================================================ */

.eabs-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 72px;
	border: 1px solid var(--eabs-primary);
	border-radius: var(--eabs-radius-sm);
	background-color: var(--eabs-primary);
	color: var(--eabs-white) !important;
	padding: var(--eabs-space-2xs) var(--eabs-space-sm);
	font: var(--eabs-font-size-sm) var(--eabs-font);
	font-weight: normal;
	line-height: var(--eabs-line-height-xs);
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}

	.eabs-button:hover {
		border-color: var(--eabs-primary-hover);
		background-color: var(--eabs-primary-hover);
		color: var(--eabs-white) !important;
		text-decoration: none;
	}

	.eabs-button:active {
		border-color: var(--eabs-primary-active);
		background-color: var(--eabs-primary-active);
		color: var(--eabs-white) !important;
	}

	.eabs-button:focus-visible {
		outline: none;
		box-shadow: var(--eabs-button-focus-shadow);
	}

	.eabs-button:disabled,
	.eabs-button.aspNetDisabled,
	a.eabs-button[disabled] {
		border-color: var(--eabs-primary);
		background-color: var(--eabs-primary);
		color: var(--eabs-muted) !important;
		opacity: 0.45;
		cursor: not-allowed;
		pointer-events: none;
		box-shadow: none;
	}

.eabs-button-secondary {
	border-color: var(--eabs-primary);
	background-color: var(--eabs-white);
	color: var(--eabs-primary) !important;
}

	.eabs-button-secondary:hover {
		border-color: var(--eabs-primary-hover);
		background-color: var(--eabs-bg-row-hover);
		color: var(--eabs-primary-active) !important;
	}

	.eabs-button-secondary:active {
		border-color: var(--eabs-primary-active);
		background-color: var(--eabs-bg-row);
		color: var(--eabs-primary-active) !important;
	}

.eabs-button-delete {
	border-color: #835656;
	background-color: #835656;
	color: var(--eabs-white) !important;
}

	.eabs-button-delete:hover {
		border-color: #956b6b;
		background-color: #956b6b;
		color: var(--eabs-white) !important;
	}

	.eabs-button-delete:active {
		border-color: #6f4545;
		background-color: #6f4545;
		color: var(--eabs-white) !important;
	}

.eabs-copy-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: #555;
	cursor: pointer;
}

	.eabs-copy-button:hover {
		background: rgba(0, 0, 0, 0.06);
		color: #222;
	}

	.eabs-copy-button:focus {
		outline: 2px solid currentColor;
		outline-offset: 2px;
	}

.eabs-actions {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: var(--eabs-space-lg);
	flex-wrap: wrap;
	padding-top: 0;
}

.eabs-page-actions {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: var(--eabs-space-xl);
	flex: 0 0 100%;
	flex-wrap: wrap;
	padding-top: var(--eabs-space-2xs);
}

.eabs-link-row {
	margin-top: var(--eabs-space-2xs);
	margin-bottom: var(--eabs-space-sm);
}

.eabs-left-link {
	display: flex;
	justify-content: flex-start;
	margin-top: var(--eabs-space-md);
}

.eabs-row-link-cell {
	padding: 0 !important;
}

.eabs-row-link {
	position: relative;
	display: block;
	width: 100%;
	padding: 10px 42px 10px 12px;
	color: var(--eabs-primary-active) !important;
	font-family: var(--eabs-font);
	font-size: var(--eabs-font-size-sm);
	font-weight: 600;
	line-height: var(--eabs-line-height-md);
	text-decoration: none !important;
	transition: background-color 120ms ease, color 120ms ease, padding-left 120ms ease;
}

	.eabs-row-link::after {
		content: "\203A";
		position: absolute;
		top: 50%;
		right: 14px;
		transform: translateY(-50%);
		color: var(--eabs-muted);
		font-family: Arial, Helvetica, sans-serif;
		font-size: 22px;
		font-weight: normal;
		line-height: 1;
		transition: color 120ms ease, right 120ms ease;
	}

	.eabs-row-link:hover {
		padding-left: 16px;
		background-color: var(--eabs-bg-row-hover);
		color: var(--eabs-primary) !important;
		text-decoration: none !important;
	}

		.eabs-row-link:hover::after {
			right: 10px;
			color: var(--eabs-primary);
		}

	.eabs-row-link:focus-visible {
		outline: none;
		background-color: var(--eabs-bg-row-hover);
		box-shadow: inset 0 0 0 2px #d9e8ef;
	}

	.eabs-row-link:visited {
		color: var(--eabs-primary-active) !important;
	}

/* ============================================================
   EuroABS Modern Tables & Grids
   ============================================================ */

.eabs-grid-layout {
	display: flex;
	align-items: flex-start;
	gap: var(--eabs-space-5xl);
	flex-wrap: wrap;
	margin-top: var(--eabs-space-5xl);
}

.eabs-grid-panel {
	flex: 1 1 520px;
	min-width: 0;
}

.eabs-grid {
	width: 100%;
	border-collapse: collapse;
	table-layout: auto;
	background: var(--eabs-white);
	color: var(--eabs-text);
	font-family: var(--eabs-font);
}

	.eabs-grid th {
		padding: 7px var(--eabs-space-sm);
		border: 1px solid #c8d3d8;
		background-color: var(--eabs-primary);
		color: var(--eabs-white);
		font-size: var(--eabs-font-size-sm);
		font-weight: bold;
		text-align: left;
		white-space: nowrap;
	}

	.eabs-grid td {
		padding: 7px var(--eabs-space-sm);
		color: var(--eabs-text);
		font-size: var(--eabs-font-size-sm);
		vertical-align: middle;
	}

	.eabs-grid tr:nth-child(even) td {
		background-color: var(--eabs-bg-row);
	}

	.eabs-grid tr:hover td {
		background-color: var(--eabs-bg-row-hover);
	}

	.eabs-grid .eabs-action-column,
	.eabs-action-column {
		width: 1%;
		text-align: left;
		white-space: nowrap;
	}

	.eabs-grid .eabs-actions {
		display: inline-flex;
		align-items: center;
		justify-content: flex-end;
		gap: var(--eabs-space-sm);
		flex-wrap: nowrap;
		padding-top: 0;
		white-space: nowrap;
	}

	.eabs-grid .eabs-button,
	.eabs-grid-action {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		min-width: 0;
		padding: var(--eabs-space-2xs) var(--eabs-space-sm);
		font-family: var(--eabs-font);
		font-size: var(--eabs-font-size-sm);
		font-weight: normal;
		line-height: 16px;
		text-align: center;
		text-decoration: none;
	}

		.eabs-grid .eabs-button:hover,
		.eabs-grid-action:hover {
			text-decoration: none;
		}

.eabs-table-scroll {
	display: block;
	position: relative;
	width: 100%;
	max-width: 100%;
	max-height: 472px;
	min-height: 0;
	overflow-x: auto;
	overflow-y: scroll;
	border: 1px solid var(--eabs-border-light);
	border-radius: var(--eabs-radius-md);
}

	.eabs-table-scroll .eabs-grid {
		width: 100%;
		max-width: 100%;
		margin: 0;
		border-collapse: collapse;
	}

/* ============================================================
   Folder Grid
   ============================================================ */

.eabs-folder-grid {
	width: 100%;
	border-collapse: collapse;
	background: var(--eabs-white);
	color: var(--eabs-text);
}

	.eabs-folder-grid th {
		padding: var(--eabs-space-md) var(--eabs-space-lg);
		border-bottom: 1px solid var(--eabs-border);
		background: var(--eabs-bg-soft);
		color: #1f3b4d;
		font-weight: bold;
		text-align: left;
	}

	.eabs-folder-grid td {
		padding: var(--eabs-space-md) var(--eabs-space-lg);
		border-bottom: 1px solid var(--eabs-border-lighter);
		vertical-align: middle;
	}

	.eabs-folder-grid tr:hover td {
		background: var(--eabs-bg-row-hover);
	}

.eabs-folder-name {
	white-space: nowrap;
}

.eabs-root-folder-row td {
	background: #e6f1f7 !important;
	font-weight: bold;
}

.eabs-unassigned-folder-row td {
	background: #fff9e8 !important;
}

.eabs-folder-badge {
	display: inline-block;
	padding: 3px var(--eabs-space-sm);
	border-radius: 999px;
	font-size: 11px;
	font-weight: bold;
	line-height: 1.3;
}

.eabs-folder-badge-root {
	border: 1px solid #c6d8e2;
	background: #e3edf3;
	color: #1f3b4d;
}

.eabs-folder-badge-child {
	border: 1px solid #dddddd;
	background: #f4f4f4;
	color: var(--eabs-muted);
}

.eabs-folder-badge-warning {
	border: 1px solid #e2c76c;
	background: #fff4cf;
	color: #6f5600;
}

.eabs-update-panel-shell {
	position: relative;
}

.eabs-update-overlay {
	position: absolute;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(248, 251, 252, 0.78);
	cursor: wait;
}

.eabs-update-overlay-message {
	padding: 14px 22px;
	border: 1px solid var(--eabs-border);
	border-radius: var(--eabs-radius-md);
	background: var(--eabs-white);
	color: #1f3b4d;
	font-weight: bold;
	box-shadow: 0 2px 8px rgba(31, 59, 77, 0.18);
}

/* ============================================================
   EuroABS Modern Messages
   ============================================================ */

.eabs-message {
	display: inline-block;
	margin-top: 0;
	padding: var(--eabs-space-xs) var(--eabs-space-md);
	border-left: 4px solid;
	border-radius: var(--eabs-radius-md);
	background-color: var(--eabs-white);
	color: var(--eabs-text);
	font: var(--eabs-font-size-sm) var(--eabs-font);
	line-height: var(--eabs-line-height-xs);
	vertical-align: middle;
}

.eabs-message-error {
	background: var(--eabs-error-bg);
	border-color: var(--eabs-error-border);
	color: var(--eabs-error-text);
}

.eabs-message-success {
	background: var(--eabs-success-bg);
	border-color: var(--eabs-success-border);
	color: var(--eabs-success-text);
}

.eabs-message-info {
	background: var(--eabs-info-bg);
	border-color: var(--eabs-info-border);
	color: var(--eabs-info-text);
}

.eabs-message-warning {
	background: var(--eabs-warning-bg);
	border-color: var(--eabs-warning-border);
	color: var(--eabs-warning-text);
}

.eabs-grid-message {
	display: block;
	width: fit-content;
	margin-top: var(--eabs-space-sm);
	margin-left: 0;
}

.eabs-empty-filter-result {
	padding: var(--eabs-space-5xl);
	border: 1px dashed var(--eabs-border-medium);
	border-radius: var(--eabs-radius-lg);
	background-color: var(--eabs-bg-soft);
	color: var(--eabs-muted);
	text-align: center;
	margin-top: var(--eabs-space-md);
}

	.eabs-empty-filter-result strong {
		display: block;
		margin-bottom: var(--eabs-space-xs);
		color: var(--eabs-subheading);
		font-size: var(--eabs-font-size-md);
	}

/* ============================================================
   EuroABS Modern Utility Layout
   ============================================================ */

.eabs-scroll-box {
	width: 100%;
	height: 500px;
	overflow: auto;
}

.eabs-check-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--eabs-space-sm) var(--eabs-space-4xl);
}

	.eabs-check-list > * {
		flex: 1 1 280px;
		min-width: 0;
	}

.eabs-inline-pairs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--eabs-space-lg) var(--eabs-space-2xl);
}

.eabs-inline-field {
	display: flex;
	align-items: center;
	gap: var(--eabs-space-sm);
	flex-wrap: wrap;
	flex: 1 1 240px;
	min-width: 0;
}

/* ============================================================
   Register Layout
   ============================================================ */

.eabs-register-grid {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--eabs-space-lg) var(--eabs-space-2xl);
	width: 100%;
}

.eabs-register-field {
	flex: 1 1 220px;
	min-width: 0;
}

	.eabs-register-field input[type="text"],
	.eabs-register-field input[type="email"],
	.eabs-register-field input[type="search"],
	.eabs-register-field input[type="number"],
	.eabs-register-field input[type="date"],
	.eabs-register-field input[type="tel"],
	.eabs-register-field input[type="url"],
	.eabs-register-field textarea,
	.eabs-register-field select {
		width: 100% !important;
		max-width: 100%;
	}

.eabs-register-action {
	display: flex;
	align-items: flex-end;
}

/* ============================================================
   Settings Cards
   ============================================================ */

.eabs-settings-shell {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--eabs-space-3xl);
	width: 100%;
	margin-top: var(--eabs-space-md);
}

	.eabs-settings-shell > .eabs-card {
		flex: 1 1 480px;
		min-width: 320px;
		max-width: 100%;
	}

.eabs-settings-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.eabs-setting-item {
	padding: var(--eabs-space-lg) 0;
	border-bottom: 1px solid var(--eabs-border-lighter);
}

	.eabs-setting-item:last-child {
		padding-bottom: 0;
		border-bottom: none;
	}

.eabs-setting-main {
	display: flex;
	align-items: center;
	min-height: 24px;
}

.eabs-setting-help {
	padding-left: var(--eabs-space-3xl);
	margin-top: var(--eabs-space-2xs);
	color: var(--eabs-muted);
	font-size: var(--eabs-font-size-xs);
	line-height: 1.45;
}

/* ============================================================
   Page Specific: Issuer Hosting System Control Panel
   ============================================================ */

.eabs-issuer-security-layout {
	display: flex;
	flex-wrap: wrap;
	gap: var(--eabs-space-4xl) var(--eabs-space-6xl);
}

.eabs-issuer-security-checks {
	display: flex;
	flex-direction: column;
	gap: var(--eabs-space-lg);
	flex: 1 1 300px;
	min-width: 0;
}

.eabs-issuer-security-check-item {
	display: flex;
	align-items: center;
	min-height: 28px;
}

.eabs-issuer-security-fields {
	display: flex;
	flex-direction: column;
	gap: var(--eabs-space-lg);
	flex: 1 1 300px;
	min-width: 0;
}

.eabs-issuer-security-field-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--eabs-space-lg);
}

.eabs-issuer-security-modern {
	display: flex;
	flex-direction: column;
	gap: var(--eabs-space-4xl);
	min-width: 0;
}

.eabs-issuer-security-toggles {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}

.eabs-issuer-policy-card {
	min-width: 0;
	padding: var(--eabs-space-xl);
	border: 1px solid #dfe8ed;
	border-radius: var(--eabs-radius-lg);
	background: var(--eabs-bg-soft);
}

.eabs-issuer-policy-title {
	margin-bottom: 14px;
	color: var(--eabs-subheading);
	font-size: var(--eabs-font-size-sm);
	font-weight: 600;
}

.eabs-issuer-policy-grid {
	display: flex;
	flex-direction: column;
	gap: var(--eabs-space-lg);
}

.eabs-issuer-policy-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--eabs-space-lg);
	min-width: 0;
}

.eabs-issuer-policy-label {
	flex: 1 1 auto;
	min-width: 0;
	color: #4e6878;
	font-size: var(--eabs-font-size-sm);
	line-height: 1.35;
}

.eabs-issuer-policy-row input,
.eabs-issuer-policy-row select,
.eabs-issuer-policy-row textarea {
	width: 80px !important;
	max-width: 100%;
	flex: 0 0 auto;
	text-align: right;
}

/* ============================================================
   Responsive
   ============================================================ */

@media screen and (max-width: 1040px) {
	.eabs-settings-shell > .eabs-card {
		flex-basis: 100%;
		min-width: 0;
	}

	.eabs-page-actions {
		justify-content: flex-start;
	}
}

@media screen and (max-width: 900px) {
	.eabs-actions {
		justify-content: flex-start;
	}
}

@media screen and (max-width: 640px) {
	.eabs-card {
		padding: var(--eabs-space-xl);
		border-radius: var(--eabs-radius-lg);
	}

	@media screen and (max-width: 900px) {
		.eabs-actions {
			justify-content: flex-start;
		}

		.eabs-action-column {
			text-align: left;
		}
	}

	@media screen and (max-width: 760px) {
		.eabs-grid .eabs-action-column,
		.eabs-action-column {
			width: auto;
			text-align: left;
			white-space: normal;
		}

		.eabs-grid .eabs-actions {
			justify-content: flex-start;
			flex-wrap: wrap;
			white-space: normal;
		}
	}

	.eabs-form-pair,
	.eabs-form-pair-wide {
		min-width: 0;
		flex-basis: 100%;
	}

	.eabs-form-compact .eabs-form-pair {
		align-items: stretch;
		flex-direction: column;
	}

	.eabs-form-compact .eabs-pair-label,
	.eabs-form-compact .eabs-pair-field {
		flex-basis: auto;
		width: 100%;
	}

	.eabs-filter-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.eabs-filter-field {
		flex-basis: auto;
		max-width: none;
	}

	.eabs-filter-result-count {
		padding-bottom: 0;
	}

	.eabs-page button,
	.eabs-page input[type="button"],
	.eabs-page input[type="submit"],
	.eabs-page input[type="reset"] {
		max-width: 100%;
	}

	.eabs-setting-help {
		padding-left: 0;
		margin-left: 0;
	}

	.eabs-issuer-policy-row {
		flex-direction: column;
		align-items: flex-start;
	}

		.eabs-issuer-policy-row input,
		.eabs-issuer-policy-row select,
		.eabs-issuer-policy-row textarea {
			width: 100% !important;
			text-align: left;
		}
}
