﻿/* ============================================================
   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-primary-soft: #f8fbfc;
	--eabs-bg-primary-medium: #e8eff3;
	--eabs-bg-secondary-soft: #f4f8ee;
	--eabs-bg-soft: var(--eabs-bg-primary-soft);
	--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;
	--eabs-control-height: 32px;
}

/* ============================================================
   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);
	padding: var(--eabs-space-md) var(--eabs-space-xl) 0;
}

	.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-bottom: var(--eabs-space-xl);
}

.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-fill {
	height: 100%;
}

.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;
}

.eabs-section-toolbar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--eabs-space-xl);
	width: 100%;
}

	.eabs-section-toolbar > :first-child {
		flex: 1 1 auto;
		min-width: 0;
	}

	.eabs-section-toolbar .eabs-section-title {
		margin-bottom: var(--eabs-space-xs);
	}

/* ============================================================
   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="search"],
.eabs-page input[type="number"],
.eabs-page input[type="date"],
.eabs-page input[type="tel"],
.eabs-page input[type="url"],
.eabs-page select {
	height: var(--eabs-control-height);
	min-height: var(--eabs-control-height);
	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"] {
	width: 16px;
	height: 16px;
	min-width: 16px;
	min-height: 16px;
	margin: 0;
	padding: 0;
	vertical-align: middle;
	accent-color: var(--eabs-primary);
	cursor: pointer;
}

	.eabs-page input[type="checkbox"]:focus-visible,
	.eabs-page input[type="radio"]:focus-visible {
		outline: none;
		box-shadow: var(--eabs-focus-shadow);
	}

	.eabs-page input[type="checkbox"]:disabled,
	.eabs-page input[type="radio"]:disabled {
		opacity: 0.5;
		cursor: not-allowed;
	}

.eabs-checkbox-control {
	display: flex;
	align-items: center;
	min-height: var(--eabs-control-height);
}

.eabs-checkbox-control-centered {
	justify-content: center;
}

.eabs-checkbox-field {
	display: inline-flex !important;
	align-items: center;
	gap: var(--eabs-space-2xs);
	min-width: 0;
	min-height: var(--eabs-control-height);
	color: var(--eabs-text) !important;
	font-weight: normal !important;
	cursor: pointer;
}

	.eabs-checkbox-field > span:first-child {
		display: inline-flex;
		align-items: center;
	}

	.eabs-checkbox-field input[type="checkbox"],
	.eabs-checkbox-field input[type="radio"] {
		flex: 0 0 auto;
	}

.eabs-checkbox-field-stacked {
	align-items: center;
	text-align: center;
}

	.eabs-checkbox-field-stacked > .eabs-label {
		width: 100%;
		text-align: center;
		white-space: nowrap;
	}

.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 {
	display: flex;
	flex-direction: column;
	gap: var(--eabs-space-xs);
	min-width: 0;
}

	.eabs-field > input[type="text"],
	.eabs-field > input[type="password"],
	.eabs-field > input[type="email"],
	.eabs-field > input[type="search"],
	.eabs-field > input[type="number"],
	.eabs-field > input[type="date"],
	.eabs-field > input[type="tel"],
	.eabs-field > input[type="url"],
	.eabs-field > select,
	.eabs-field > textarea,
	.eabs-field > .eabs-textbox,
	.eabs-field > .eabs-select {
		width: 100% !important;
	}

.eabs-field-width-xs {
	width: 100%;
	max-width: 120px;
}

.eabs-field-width-sm {
	width: 100%;
	max-width: 180px;
}

.eabs-field-width-md {
	width: 100%;
	max-width: 280px;
}

.eabs-field-width-lg {
	width: 100%;
	max-width: 420px;
}

.eabs-field-width-xl {
	width: 100%;
	max-width: 560px;
}

.eabs-field-width-full {
	width: 100%;
	max-width: none;
}

.eabs-field-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
	align-items: end;
	gap: var(--eabs-space-lg);
	width: 100%;
	min-width: 0;
}

.eabs-field-row-compact-secondary {
	grid-template-columns: minmax(0, 1fr) 110px auto;
}

.eabs-field-row-action {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	min-width: 0;
}

.eabs-entry-surface {
	margin-bottom: var(--eabs-space-xl);
	padding: var(--eabs-space-lg);
	border: 1px dashed var(--eabs-border-medium);
	border-radius: var(--eabs-radius-lg);
	background: var(--eabs-bg-primary-medium);
}

.eabs-field-error {
	display: block;
	margin-top: 5px;
	color: var(--eabs-error-text);
	font-size: var(--eabs-font-size-sm);
	font-weight: 500;
	line-height: var(--eabs-line-height-md);
}

	.eabs-field-error[hidden] {
		display: none !important;
	}

.eabs-field-help {
	margin-top: var(--eabs-space-2xs);
	color: var(--eabs-muted);
	font-size: var(--eabs-font-size-xs);
	line-height: 1.45;
}

.eabs-field-group {
	display: flex;
	align-items: center;
	gap: var(--eabs-space-md);
}

.eabs-field-label-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--eabs-space-sm);
}

	.eabs-field-label-row > label,
	.eabs-field-label-row > .eabs-label {
		margin: 0;
	}

.eabs-field-align-end {
	justify-self: end;
	max-width: 160px;
}

.eabs-label-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	border-radius: var(--eabs-radius-sm);
	background: transparent;
	color: var(--eabs-muted);
	cursor: pointer;
	transition: background-color 120ms ease, color 120ms ease;
}

	.eabs-label-action:hover,
	.eabs-label-action:focus-visible {
		background: var(--eabs-bg-row-hover);
		color: var(--eabs-primary-active);
		outline: none;
	}

	.eabs-label-action:active {
		transform: translateY(1px);
	}

.eabs-field-with-action {
	display: flex;
	align-items: center;
	gap: var(--eabs-space-xs);
	width: 100%;
}

	.eabs-field-with-action > input[type="text"],
	.eabs-field-with-action > .eabs-textbox {
		flex: 1 1 auto;
		width: auto !important;
		min-width: 0;
	}

	.eabs-field-with-action .eabs-copy-button {
		flex: 0 0 30px;
	}

.eabs-field-action-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 1px solid var(--eabs-control-border);
	border-radius: var(--eabs-radius-sm);
	background: var(--eabs-white);
	color: var(--eabs-muted);
	cursor: pointer;
	transition: border-color 120ms ease, background-color 120ms ease, color 120ms ease;
}

	.eabs-field-action-button:hover,
	.eabs-field-action-button:focus-visible {
		border-color: var(--eabs-primary-hover);
		background: var(--eabs-bg-row-hover);
		color: var(--eabs-primary-active);
		outline: none;
	}

.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-label-optional {
	margin-left: var(--eabs-space-xs);
	color: var(--eabs-muted);
	font-size: var(--eabs-font-size-xs);
	font-weight: normal;
}

.eabs-label-error {
	color: var(--eabs-error-text);
}

.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;
	height: var(--eabs-control-height);
	min-height: var(--eabs-control-height);
	border: 1px solid var(--eabs-control-border);
	border-radius: var(--eabs-radius-sm);
	padding: var(--eabs-space-2xs) 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-readonly-field {
	background: var(--eabs-bg-row) !important;
	color: var(--eabs-muted) !important;
}

.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;
}

/* ============================================================
   Buttons, Links & Actions
   ============================================================ */

.eabs-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 72px;
	min-height: var(--eabs-control-height);
	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-icon-delete {
	background: transparent;
	border: 1px solid transparent;
	border-radius: 4px;
	color: #c62828;
	cursor: pointer;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	padding: 2px 6px;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

	.eabs-icon-delete:hover {
		background: rgba(198, 40, 40, 0.06);
		border-color: rgba(198, 40, 40, 0.25);
	}

	.eabs-icon-delete:focus-visible {
		outline: 2px solid currentColor;
		outline-offset: 2px;
	}

	.eabs-icon-delete:active {
		background: rgba(198, 40, 40, 0.12);
	}

.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;
	}

/* ============================================================
   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: 8%;
		text-align: center;
		white-space: nowrap;
	}

	.eabs-grid .eabs-compact-column,
	.eabs-compact-column {
		width: 1%;
		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-grid-compact {
	min-width: 400px;
}

	.eabs-grid-compact th {
		padding: var(--eabs-space-xs) var(--eabs-space-sm);
	}

	.eabs-grid-compact td {
		padding: var(--eabs-space-xs) var(--eabs-space-sm);
	}

.eabs-grid-span-full {
	grid-column: 1 / -1;
}

.eabs-grid-col-xs {
	width: 80px;
}

.eabs-grid-col-sm {
	width: 130px;
}

.eabs-grid-col-md {
	width: 180px;
}

.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;
	}

.eabs-table-scroll-horizontal {
	position: relative;
	width: 100%;
	max-width: 100%;
	overflow: visible;
}

/* ============================================================
   Disclosure / Expandable Detail
   ============================================================ */

.eabs-disclosure {
	width: 100%;
	background: var(--eabs-white);
}

.eabs-disclosure-summary {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: var(--eabs-space-lg);
	min-height: 38px;
	padding: var(--eabs-space-sm) var(--eabs-space-lg);
	border-left: 3px solid var(--eabs-primary);
	background: var(--eabs-bg-primary-soft);
	color: var(--eabs-primary-active);
	font-size: var(--eabs-font-size-sm);
	font-weight: 600;
	cursor: pointer;
	user-select: none;
}

	.eabs-disclosure-summary:hover {
		background: var(--eabs-bg-row-hover);
		color: var(--eabs-primary);
	}

	.eabs-disclosure-summary:focus-visible {
		outline: none;
		box-shadow: inset 0 0 0 2px #d9e8ef;
	}

.eabs-disclosure-title {
	flex: 0 0 auto;
	color: var(--eabs-primary-active);
	font-weight: 600;
}

.eabs-disclosure-context {
	display: inline-flex;
	align-items: center;
	gap: var(--eabs-space-sm);
	min-width: 0;
	padding-left: var(--eabs-space-lg);
	border-left: 1px solid var(--eabs-border-medium);
	color: var(--eabs-text);
	font-weight: 600;
}

.eabs-disclosure-meta {
	color: var(--eabs-muted);
	font-size: var(--eabs-font-size-xs);
	font-weight: normal;
}

.eabs-disclosure-body {
	padding: var(--eabs-space-xl);
	border: 1px solid var(--eabs-border-light);
	border-top: 0;
	background: var(--eabs-white);
}

.eabs-disclosure[open] {
	padding-bottom: var(--eabs-space-lg);
	background: var(--eabs-white);
}

	.eabs-disclosure[open] .eabs-disclosure-body {
		margin: 0 var(--eabs-space-sm);
		border-radius: 0 0 var(--eabs-radius-md) var(--eabs-radius-md);
		box-shadow: var(--eabs-shadow-card);
	}

	.eabs-disclosure[open] .eabs-disclosure-summary {
		border-bottom: 1px solid var(--eabs-border-light);
	}

/* ============================================================
   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);
}

/* ============================================================
   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);
	}

/* ============================================================
   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
   ============================================================ */

.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-4xl);
	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;
}

/* ============================================================
   Shared Page & Section Layout
   ============================================================ */

.eabs-page-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--eabs-space-xl);
	margin-bottom: var(--eabs-space-xl);
}

	.eabs-page-header .eabs-page-title {
		margin-bottom: var(--eabs-space-2xs);
	}

.eabs-page-context,
.eabs-section-help {
	margin: 0;
	color: var(--eabs-muted);
	font-size: var(--eabs-font-size-sm);
	line-height: var(--eabs-line-height-md);
}

.eabs-card-section {
	width: 100%;
	margin-bottom: var(--eabs-space-4xl);
}

	.eabs-card-section .eabs-card-header {
		margin-bottom: var(--eabs-space-xl);
	}

	.eabs-card-section .eabs-section-title {
		margin-bottom: var(--eabs-space-xs);
	}

/* ============================================================
   Messages & Related Navigation
   ============================================================ */

.eabs-message-detail {
	display: block;
	margin-top: var(--eabs-space-xs);
	white-space: pre-line;
}

.eabs-validation-list {
	margin: var(--eabs-space-sm) 0 0;
	padding-left: 24px;
}

.eabs-related-navigation {
	margin-bottom: var(--eabs-space-4xl);
	padding: var(--eabs-space-lg) var(--eabs-space-xl);
	border: 1px solid var(--eabs-border-light);
	border-radius: var(--eabs-radius-lg);
	background: var(--eabs-bg-primary-soft);
}

.eabs-related-navigation-label {
	margin-bottom: var(--eabs-space-sm);
	color: var(--eabs-muted);
	font-size: var(--eabs-font-size-xs);
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.eabs-pill-navigation {
	display: flex;
	flex-wrap: wrap;
	gap: var(--eabs-space-xs);
}

.eabs-pill-link {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: var(--eabs-space-2xs) var(--eabs-space-lg);
	border: 1px solid var(--eabs-border-medium);
	border-radius: 999px;
	background: var(--eabs-white);
	color: var(--eabs-primary-active) !important;
	font-size: var(--eabs-font-size-sm);
	text-decoration: none !important;
	transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
}

	.eabs-pill-link:hover,
	.eabs-pill-link:focus-visible {
		border-color: var(--eabs-primary-hover);
		background: var(--eabs-bg-row-hover);
		color: var(--eabs-primary) !important;
		outline: none;
	}

/* ============================================================
   Shared Form Layout
   ============================================================ */

.eabs-form-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--eabs-space-4xl) var(--eabs-space-6xl);
	width: 100%;
	align-items: start;
}

	.eabs-form-columns > * {
		min-width: 0;
	}

.eabs-form-column {
	display: flex;
	flex-direction: column;
	gap: var(--eabs-space-xl);
	min-width: 0;
}

.eabs-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--eabs-space-xl) var(--eabs-space-4xl);
	width: 100%;
}

.eabs-form-grid-responsive {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: start;
	gap: var(--eabs-space-xl) var(--eabs-space-4xl);
	width: 100%;
	min-width: 0;
}

	.eabs-form-grid-responsive > * {
		min-width: 0;
	}

.eabs-form-flow-responsive {
	column-count: 3;
	column-gap: var(--eabs-space-6xl);
	width: 100%;
}

	.eabs-form-flow-responsive > * {
		width: 100%;
		margin-bottom: var(--eabs-space-xl);
		break-inside: avoid;
		-webkit-column-break-inside: avoid;
		page-break-inside: avoid;
	}

.eabs-responsive-section {
	display: inline-block;
	width: 100%;
	min-width: 0;
	padding-top: var(--eabs-space-sm);
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
}

	.eabs-responsive-section .eabs-subsection-title {
		margin-top: 0;
	}

.eabs-settings-list-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 var(--eabs-space-6xl);
}

	.eabs-settings-list-grid .eabs-setting-item {
		min-width: 0;
	}

.eabs-column-settings {
	margin-top: var(--eabs-space-xl);
	padding-top: var(--eabs-space-lg);
	border-top: 1px solid var(--eabs-border-light);
}

	.eabs-column-settings .eabs-subsection-title {
		margin-top: 0;
	}

.eabs-required-marker {
	color: var(--eabs-error-border);
	font-weight: bold;
}

/* ============================================================
   Shared Search / Select Control
   ============================================================ */

.eabs-lookup {
	position: relative;
	min-width: 0;
}

.eabs-lookup-search {
	width: 100% !important;
	height: var(--eabs-control-height) !important;
	min-height: var(--eabs-control-height) !important;
}

.eabs-lookup.is-invalid .eabs-lookup-search,
.eabs-page [aria-invalid="true"] {
	border-color: var(--eabs-error-border) !important;
	box-shadow: 0 0 0 2px rgba(198, 40, 40, 0.10);
}

.eabs-lookup-results {
	position: absolute;
	z-index: 100;
	top: calc(var(--eabs-control-height) + var(--eabs-space-xs));
	left: 0;
	right: 0;
	max-height: 155px;
	overflow-x: hidden;
	overflow-y: auto;
	border: 1px solid var(--eabs-border);
	border-radius: var(--eabs-radius-md);
	background: var(--eabs-white);
	box-shadow: 0 6px 18px rgba(31, 59, 77, 0.16);
}

	.eabs-lookup-results[hidden] {
		display: none !important;
	}

button.eabs-lookup-result {
	-webkit-appearance: none;
	appearance: none;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 36px;
	margin: 0;
	padding: 8px var(--eabs-space-lg);
	border: 0;
	border-bottom: 1px solid var(--eabs-border-lighter);
	border-radius: 0;
	background: var(--eabs-white);
	color: var(--eabs-primary-active);
	font-family: var(--eabs-font);
	font-size: var(--eabs-font-size-sm);
	font-weight: 600;
	line-height: var(--eabs-line-height-md);
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	box-shadow: none;
}

	.eabs-page button.eabs-lookup-result:last-child,
	button.eabs-lookup-result:last-child {
		border-bottom: 0;
	}

	.eabs-page button.eabs-lookup-result:hover,
	.eabs-page button.eabs-lookup-result:focus,
	.eabs-page button.eabs-lookup-result.is-active,
	button.eabs-lookup-result:hover,
	button.eabs-lookup-result:focus,
	button.eabs-lookup-result.is-active {
		border-color: var(--eabs-border-lighter);
		background: var(--eabs-bg-row-hover);
		color: var(--eabs-primary);
		outline: none;
		box-shadow: inset 3px 0 0 var(--eabs-primary);
	}

.eabs-lookup-empty {
	padding: var(--eabs-space-lg);
	color: var(--eabs-muted);
	font-size: var(--eabs-font-size-sm);
	line-height: var(--eabs-line-height-md);
}

.eabs-lookup-selected {
	display: flex;
	flex-wrap: wrap;
	gap: var(--eabs-space-xs);
	padding-top: var(--eabs-space-sm);
}

	.eabs-lookup-selected:empty {
		display: none;
	}

.eabs-page button.eabs-lookup-chip,
button.eabs-lookup-chip {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	gap: var(--eabs-space-xs);
	max-width: 100%;
	min-width: 0;
	min-height: 30px;
	margin: 0;
	padding: 4px 6px 4px var(--eabs-space-md);
	border: 1px solid var(--eabs-border-medium);
	border-radius: var(--eabs-radius-md);
	background: var(--eabs-bg-soft);
	color: var(--eabs-text);
	font-family: var(--eabs-font);
	font-size: var(--eabs-font-size-sm);
	font-weight: normal;
	line-height: var(--eabs-line-height-sm);
	cursor: pointer;
	box-shadow: none;
}

	.eabs-page button.eabs-lookup-chip:hover,
	.eabs-page button.eabs-lookup-chip:focus-visible,
	button.eabs-lookup-chip:hover,
	button.eabs-lookup-chip:focus-visible {
		border-color: var(--eabs-primary-hover);
		background: var(--eabs-bg-row-hover);
		color: var(--eabs-text);
		outline: none;
		box-shadow: var(--eabs-focus-shadow);
	}

.eabs-lookup-chip > span:first-child {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.eabs-lookup-chip-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: var(--eabs-radius-sm);
	color: var(--eabs-muted);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 17px;
	line-height: 18px;
}

.eabs-lookup-chip:hover .eabs-lookup-chip-remove {
	background: var(--eabs-border-light);
	color: var(--eabs-primary-active);
}

/* ============================================================
   Shared Select / Dropdown Control
   ============================================================ */

.eabs-page select.eabs-select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100% !important;
	max-width: 100%;
	height: var(--eabs-control-height);
	min-height: var(--eabs-control-height);
	padding: var(--eabs-space-2xs) 36px var(--eabs-space-2xs) var(--eabs-space-md);
	border: 1px solid var(--eabs-control-border);
	border-radius: var(--eabs-radius-sm);
	background-color: var(--eabs-white);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23567483' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right var(--eabs-space-md) center;
	background-size: 12px 8px;
	color: var(--eabs-text);
	font-family: var(--eabs-font);
	font-size: var(--eabs-font-size-sm);
	line-height: var(--eabs-line-height-sm);
	cursor: pointer;
	transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
}

	.eabs-page select.eabs-select:hover {
		border-color: var(--eabs-primary-hover);
	}

	.eabs-page select.eabs-select:focus {
		border-color: var(--eabs-primary);
		outline: none;
		box-shadow: var(--eabs-focus-shadow);
	}

	.eabs-page select.eabs-select:disabled {
		border-color: var(--eabs-border-medium);
		background-color: var(--eabs-bg-row);
		color: var(--eabs-muted);
		cursor: not-allowed;
		opacity: 1;
	}

	.eabs-page select.eabs-select::-ms-expand {
		display: none;
	}

/* ============================================================
   Shared Form Actions
   ============================================================ */

.eabs-form-actions-bar {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--eabs-space-lg);
	position: sticky;
	bottom: 0;
	z-index: 100;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-top: 0;
	padding: var(--eabs-space-xl) var(--eabs-space-4xl) var(--eabs-space-md);
	border-top: 1px solid var(--eabs-border-light);
	background: var(--eabs-white);
	box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.06);
	box-sizing: border-box;
}

.eabs-button-wide {
	min-width: 120px;
	min-height: var(--eabs-control-height);
}

/* ============================================================
   Responsive
   ============================================================ */

@media screen and (max-width: 1280px) {
	.eabs-form-grid-responsive {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.eabs-form-flow-responsive {
		column-count: 2;
	}
}

@media screen and (max-width: 1180px) {
	.eabs-table-scroll-horizontal {
		overflow-x: auto;
		overflow-y: visible;
		padding-bottom: var(--eabs-space-xs);
	}
}

@media screen and (max-width: 1040px) {
	.eabs-settings-shell > .eabs-card {
		flex-basis: 100%;
		min-width: 0;
	}

	.eabs-page-actions {
		justify-content: flex-start;
	}

	.eabs-form-columns,
	.eabs-form-grid,
	.eabs-settings-list-grid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 900px) {
	.eabs-actions {
		justify-content: flex-start;
	}

	.eabs-form-actions-bar {
		justify-content: flex-start;
	}

	.eabs-section-toolbar {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media screen and (max-width: 760px) {
	.eabs-page-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.eabs-form-grid-responsive {
		grid-template-columns: 1fr;
	}

	.eabs-form-flow-responsive {
		column-count: 1;
	}

	.eabs-grid .eabs-action-column,
	.eabs-action-column {
		width: auto;
		text-align: center;
		white-space: normal;
	}

	.eabs-grid .eabs-actions {
		justify-content: flex-start;
		flex-wrap: wrap;
		white-space: normal;
	}

	.eabs-field-row,
	.eabs-field-row-compact-secondary {
		grid-template-columns: 1fr;
	}

	.eabs-field-row-action {
		justify-content: flex-start;
	}
}

@media screen and (max-width: 640px) {
	.eabs-card {
		padding: var(--eabs-space-xl);
		border-radius: var(--eabs-radius-lg);
	}

	.eabs-page {
		padding-left: 0;
		padding-right: 0;
	}

	.eabs-related-navigation {
		padding: var(--eabs-space-lg);
	}

	.eabs-pill-link {
		flex: 1 1 auto;
		justify-content: center;
	}

	.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;
		}

	.eabs-field-width-xs,
	.eabs-field-width-sm,
	.eabs-field-width-md,
	.eabs-field-width-lg,
	.eabs-field-width-xl {
		max-width: none;
	}

	.eabs-disclosure-body {
		padding: var(--eabs-space-lg);
	}
}

/* ============================================================
   Ordered / Reorderable Content
   ============================================================ */

.eabs-order-control {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--eabs-space-sm);
}

.eabs-order-index {
	min-width: 18px;
	color: var(--eabs-muted);
	font-size: var(--eabs-font-size-sm);
	font-weight: 600;
	text-align: center;
}

.eabs-order-actions {
	display: inline-flex;
	align-items: center;
	gap: var(--eabs-space-2xs);
}

.eabs-icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	min-width: 28px;
	padding: 0;
	border: 1px solid var(--eabs-border-medium);
	border-radius: var(--eabs-radius-sm);
	background: var(--eabs-white);
	color: var(--eabs-primary-active) !important;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 1;
	text-decoration: none !important;
	cursor: pointer;
	transition: border-color 120ms ease, background-color 120ms ease, color 120ms ease;
}

	.eabs-icon-button:hover,
	.eabs-icon-button:focus-visible {
		border-color: var(--eabs-primary-hover);
		background: var(--eabs-bg-row-hover);
		color: var(--eabs-primary) !important;
		outline: none;
	}

	.eabs-icon-button.aspNetDisabled {
		border-color: var(--eabs-border-light);
		background: var(--eabs-bg-row);
		color: var(--eabs-muted) !important;
		opacity: 0.45;
		cursor: default;
		pointer-events: none;
	}

/* ============================================================
   Compact Entry Rows
   ============================================================ */

.eabs-field-row-identifier {
	grid-template-columns: 180px minmax(220px, 1fr) minmax(180px, 0.7fr) auto;
}

.eabs-entry-surface-compact {
	width: 100%;
	max-width: 900px;
	margin-bottom: var(--eabs-space-2xl);
}

.eabs-grid-contained {
	width: 100%;
	max-width: 900px;
	margin-top: var(--eabs-space-lg);
	margin-bottom: var(--eabs-space-2xl);
}

.eabs-empty-inline {
	margin-top: var(--eabs-space-md);
	color: var(--eabs-muted);
	font-size: var(--eabs-font-size-sm);
	line-height: var(--eabs-line-height-md);
}

/* ============================================================
   Identifier Actions
   ============================================================ */

.eabs-identifier-action-column {
	width: 44px !important;
	min-width: 44px;
	padding-left: var(--eabs-space-xs) !important;
	padding-right: var(--eabs-space-xs) !important;
	text-align: center !important;
}

.eabs-trash-action {
	width: 30px;
	height: 30px;
	color: var(--eabs-error-text) !important;
}

	.eabs-trash-action::before {
		content: "";
		display: block;
		width: 18px;
		height: 18px;
		margin: 0 auto;
		background-color: currentColor;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12ZM8 9h8v10H8V9Zm7.5-5-1-1h-5l-1 1H5v2h14V4h-3.5Z'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12ZM8 9h8v10H8V9Zm7.5-5-1-1h-5l-1 1H5v2h14V4h-3.5Z'/%3E%3C/svg%3E") center / contain no-repeat;
	}

	.eabs-trash-action:hover,
	.eabs-trash-action:focus-visible {
		background: var(--eabs-error-bg);
		color: var(--eabs-error-text) !important;
	}

/* ============================================================
   Split Form Actions
   ============================================================ */

.eabs-form-actions-split {
	justify-content: space-between;
}

.eabs-form-actions-start,
.eabs-form-actions-end {
	display: flex;
	align-items: center;
	gap: var(--eabs-space-lg);
	flex-wrap: wrap;
}

.eabs-form-actions-start {
	justify-content: flex-start;
}

.eabs-form-actions-end {
	justify-content: flex-end;
}

/* ============================================================
   Responsive Compact Field Grid
   ============================================================ */

@media screen and (max-width: 900px) {
	.eabs-form-actions-split {
		align-items: stretch;
	}
}

@media screen and (max-width: 640px) {
	.eabs-form-actions-split {
		flex-direction: column;
		align-items: stretch;
	}

	.eabs-form-actions-start,
	.eabs-form-actions-end {
		width: 100%;
	}

	.eabs-form-actions-end {
		justify-content: flex-start;
	}

	.eabs-disclosure-context {
		flex-wrap: wrap;
	}

	.eabs-disclosure-body {
		padding: var(--eabs-space-lg);
	}

	.eabs-disclosure[open] .eabs-disclosure-body {
		margin-left: var(--eabs-space-2xs);
		margin-right: var(--eabs-space-2xs);
	}
}
