@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../../dist/fonts/inter/Inter-400.woff2') format('woff2');
}

:root, html {
	/* Color scheme: crimson (#d3131d) */
	--tblr-primary: #d3131d;
	--tblr-bg-surface-secondary: #f8f9fa;
	--tblr-bg-surface-tertiary: #f8f9fa;
	--tblr-primary-rgb: 211, 19, 29;
	--tblr-primary-darken: #a00d16;
	--tblr-primary-hover: #8b0a11;

	/* Font family: Inter */
	--tblr-font-family-sans-serif: 'Inter', system-ui, -apple-system, sans-serif;
	--tblr-body-font-family: var(--tblr-font-family-sans-serif);
	--tblr-body-font-weight: 400;

	/* Theme base: Gray */
	--tblr-gray-50: #f9fafb;
	--tblr-gray-100: #f3f4f6;
	--tblr-gray-200: #e5e7eb;
	--tblr-gray-300: #d1d5db;
	--tblr-gray-400: #9ca3af;
	--tblr-gray-500: #6b7280;
	--tblr-gray-600: #4b5563;
	--tblr-gray-700: #374151;
	--tblr-gray-800: #1f2937;
	--tblr-gray-900: #111827;
	--tblr-gray-950: #030712;

	/* Corner radius: 1 */
	--tblr-border-radius-scale: 1;

	--font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, "Helvetica Neue", Arial, sans-serif;
	--color-background-primary: var(--tblr-bg-surface, #ffffff);
	--color-background-secondary: var(--tblr-bg-normal, #f8f9fa);
	--color-background-tertiary: var(--tblr-bg-hover, #f1f3f5);
	--color-border-primary: var(--tblr-border-color, #dee2e6);
	--color-border-secondary: var(--tblr-border-color-light, #e9ecef);
	--color-border-tertiary: var(--tblr-border-color, #dae0e5);
	--color-text-primary: var(--tblr-body-color, #212529);
	--color-text-secondary: var(--tblr-secondary, #495057);
	--color-text-tertiary: var(--tblr-muted, #6c757d);
	--color-text-info: #0c5460;
	--color-background-info: #d1ecf1;
	--color-accent: #C41E2A;
	--border-radius-md: var(--tblr-border-radius, 6px);
	--border-radius-lg: 10px;
}

/* Maintain backwards compatibility and specificity for components */
[data-bs-theme-primary="crimson"], :root {
	--tblr-primary: #d3131d;
	--tblr-primary-rgb: 211, 19, 29;
	--tblr-primary-darken: #a00d16;
	--tblr-primary-hover: #8b0a11;
}

.btn-primary, [data-bs-theme-primary="crimson"] .btn-primary {
	--tblr-btn-hover-bg: var(--tblr-primary-darken);
	--tblr-btn-active-bg: var(--tblr-primary-hover);
}

.btn-secondary, [data-bs-theme-primary="crimson"] .btn-secondary {
	--tblr-btn-hover-bg: var(--tblr-secondary-darken);
	--tblr-btn-active-bg: var(--tblr-secondary-darken);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
[data-bs-theme-primary="crimson"] .btn-outline-primary:hover,
[data-bs-theme-primary="crimson"] .btn-outline-primary:focus {
	--tblr-btn-hover-bg: var(--tblr-primary-darken);
	--tblr-btn-hover-border-color: var(--tblr-primary-darken);
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
[data-bs-theme-primary="crimson"] .btn-outline-secondary:hover,
[data-bs-theme-primary="crimson"] .btn-outline-secondary:focus {
	--tblr-btn-hover-bg: var(--tblr-secondary-darken);
	--tblr-btn-hover-border-color: var(--tblr-secondary-darken);
}

.bg-primary, [data-bs-theme-primary="crimson"] .bg-primary {
	background-color: rgba(var(--tblr-primary-rgb), 1) !important;
}

.bg-crimson {
	background-color: #d3131d !important;
}

[data-bs-theme-font="inter"], :root {
	--tblr-font-family-sans-serif: 'Inter', system-ui, -apple-system, sans-serif;
	--tblr-body-font-family: var(--tblr-font-family-sans-serif);
	--tblr-body-font-weight: 400;
}

.form-control:focus,
.form-select:focus,
.input-group .form-control:focus,
.input-group .form-select:focus,
.input-group-flat .form-control:focus {
	border-color: var(--tblr-primary) !important;
	box-shadow: none !important;
}

.input-group-flat:focus-within {
	box-shadow: none !important;
}

.input-group-flat:focus-within .form-control,
.input-group-flat:focus-within .input-group-text {
	border-color: var(--tblr-primary) !important;
}

/* Pagination Previous/Next buttons: enlarge the chevron and space it from the label */
.card-footer .btn-list .btn {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
}

.card-footer .btn-list .btn .ti {
	font-size: 1rem;
	line-height: 1;
}

/* ---------------------------------------------------------------------------
   Search pill — shared by Policy Search and Filed Claims.
   A single light rounded field: magnifier on the left and an inline clear (×)
   that only shows when the field has a value. Pages that submit a search add
   `.has-submit` to the group plus a `.search-submit` button as a right segment;
   live-filter pages (Filed Claims) omit both.
--------------------------------------------------------------------------- */
.search-group {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 0;
	width: 100%;
}
.search-group .search-glass {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	padding-left: 0.9rem;
	color: var(--tblr-secondary);
	pointer-events: none;
	font-size: 1.05rem;
}
.search-group .search-input {
	flex: 1 1 auto;
	height: 39.6px;
	padding-left: 2.6rem;
	padding-right: 2.4rem;
	font-size: 13px;
}
.search-group .search-input:focus {
	border-color: var(--tblr-border-color);
	box-shadow: none;
}
/* When a Search segment follows, the input joins it flush (square right edge). */
.search-group.has-submit .search-input {
	border-right: 0 !important;
	border-top-right-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	margin-right: 0 !important;
}
/* Whole pill highlights together on focus, not just the input box. */
.search-group:focus-within .search-input,
.search-group:focus-within .search-submit {
	border-color: var(--tblr-primary);
}
/* Inline clear (×). Hidden until JS adds .has-value when the field is non-empty. */
.search-group .search-clear {
	position: absolute;
	right: 0.5rem;
	top: 50%;
	transform: translateY(-50%);
	display: none;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--tblr-secondary);
	cursor: pointer;
	line-height: 1;
	z-index: 3;
}
/* When a Search segment is present, the × sits just left of it. */
.search-group.has-submit .search-clear {
	right: calc(39.6px + 0.5rem);
}
.search-group.has-value .search-clear {
	display: inline-flex;
}
.search-group .search-clear:hover {
	background: var(--color-background-tertiary);
	color: var(--tblr-body-color);
}
/* Search segment, attached flush to the right edge of the input. */
.search-group .search-submit {
	flex: 0 0 auto;
	width: 39.6px;
	height: 39.6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin-left: 0 !important;
	font-size: 1.05rem;
	border-top-left-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
}

/* Table body rows at 13px (down from Tabler's 14px default) and column headers
   one step smaller at 12px — applied app-wide to every .table (card-table and
   plain tables like policy-view). */
.table tbody td {
	font-size: 13px;
}
.table thead th {
	font-size: 12px;
}

/* Login / auth screens: keep the card a comfortable width with real side
   gutters on narrow windows, so it always reads as a centered card rather
   than stretching edge-to-edge. */
.auth-page .container-tight {
	max-width: 26rem;
	padding-inline: 1.5rem;
}
