@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-danger, [data-bs-theme-primary="crimson"] .btn-danger {
	--tblr-btn-bg: #d3131d;
	--tblr-btn-hover-bg: #b10f18;
	--tblr-btn-active-bg: #b10f18;
	--tblr-btn-disabled-bg: #d3131d;
}

.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;
}

/* Keep Tabler's reserved viewport scrollbar gutter so every page lays out
   at the same width whether it scrolls or not — without it, pages with no
   scrollbar sit half a scrollbar-width further right than scrolling ones.
   The other half of the problem (position: fixed modal backdrops can never
   paint over the viewport gutter, which used to leave a bare white strip
   beside every open modal) is handled in assets/js/scroll-lock.js: while
   any overlay is open it moves the reservation into the root element —
   scrollbar-gutter off, overflow hidden, padding-right by the same width —
   so the backdrop covers edge-to-edge with zero shift. */
html {
	scrollbar-gutter: stable;
}

.risk-location-fields {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 20px;
	align-items: start;
}

.risk-location-fields > .form-group {
	min-width: 0;
	position: relative;
}

.risk-location-fields .form-label {
	margin-bottom: 6px;
}

.risk-location-suggestions {
	position: absolute;
	top: calc(100% + 5px);
	left: 0;
	right: 0;
	z-index: 5;
	max-height: 260px;
	overflow-y: auto;
	border: 1px solid var(--color-border-primary);
	border-radius: var(--border-radius-md);
	background: var(--color-background-primary);
	box-shadow: 0 8px 20px rgb(15 23 42 / 0.12);
}

.risk-location-suggestions[hidden] {
	display: none;
}

.risk-location-suggestion {
	display: block;
	width: 100%;
	padding: 9px 11px;
	border: 0;
	background: transparent;
	color: var(--color-text-primary);
	font: inherit;
	font-size: 13px;
	line-height: 1.35;
	text-align: left;
	cursor: pointer;
}

.risk-location-suggestion:hover,
.risk-location-suggestion:focus-visible {
	background: var(--color-background-secondary);
	outline: none;
}

.risk-location-fields .err-msg {
	display: none;
}

.additional-third-party-grid,
.additional-insured-contact-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.view-third-party-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.view-third-party-list,
.view-insured-contact-list {
	display: grid;
	gap: 12px;
}

.form-group.view-insured-contact-list {
	gap: 16px;
}

.form-group.view-third-party-list {
	gap: 16px;
}

.view-third-party-card {
	border: 0;
	border-radius: 0;
	padding: 0;
	background: transparent;
}

.view-insured-contact-card {
	padding: 0;
}

.view-third-party-hint {
	color: var(--color-text-secondary);
	font-size: 11px;
	margin-top: -8px;
}

@media (max-width: 767.98px) {
	.risk-location-fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.additional-third-party-grid,
	.additional-insured-contact-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Shared authenticated header and primary navigation. */
/* Tabler caps .navbar-brand-image at 2rem; the official lockup runs at 130x38. */
	.claims-header .claims-header-brand .navbar-brand-image {
		width: 130px;
		height: 38px;
	}
	/* Drop the brand's .75rem vertical padding so the 38px logo doesn't push the 56px navbar past it. */
	.claims-header .claims-header-brand {
		padding-top: 0;
		padding-bottom: 0;
		align-items: center;
	}
	@media (min-width: 768px) {
		.claims-header .claims-header-account {
			margin-right: 0 !important;
		}
	}
	@media (max-width: 767.98px) {
		.claims-header {
			padding-top: 0.25rem;
			padding-bottom: 0.25rem;
		}
		.claims-header .claims-header-container {
			position: relative;
			min-height: 3rem;
			display: flex;
			align-items: center;
		}
		.claims-header .claims-header-brand {
			position: absolute;
			top: 50%;
			left: 50%;
			margin: 0;
			padding: 0;
			transform: translate(-50%, -50%);
		}
		.claims-header .claims-header-actions {
			z-index: 1;
			margin-left: auto;
			align-items: center;
		}
		.claims-header .claims-header-account {
			margin-right: -0.2rem !important;
		}
		.claims-header .navbar-toggler,
		.claims-header .navbar-toggler:hover,
		.claims-header .navbar-toggler:focus,
		.claims-header .navbar-toggler:active {
			z-index: 1;
			margin: 0;
			padding: 0;
			border: 0;
			box-shadow: none !important;
			outline: 0 !important;
			color: #6b7280;
		}
	}
	.claims-header .burger-box {
		position: relative;
		display: inline-block;
		width: 20px;
		height: 16px;
	}
	.claims-header .burger-line {
		position: absolute;
		left: 0;
		width: 100%;
		height: 1.5px;
		border-radius: 2px;
		background-color: currentColor;
	}
	/* Notifications: anchor the panel's right edge to the bell so it opens
	   toward the left instead of running off the right side of the screen. */
	.claims-header #notificationsDropdown + .dropdown-menu {
		right: 0 !important;
		left: auto !important;
	}
	/* Notifications + profile menus open on hover (desktop) instead of
	   click-and-stay; Bootstrap's click toggle is not wired to them. */
	.claims-header .nav-item.dropdown {
		position: relative;
	}
	@media (min-width: 768px) {
		.claims-header .nav-item.dropdown:hover > .dropdown-menu {
			display: block;
			top: 100%;
			margin-top: 0;
		}
	}
	/* Mobile has no hover: a tap toggles the profile menu via .menu-open. */
	@media (max-width: 767.98px) {
		.claims-header .nav-item.dropdown.menu-open > .dropdown-menu {
			display: block;
			right: 0;
			left: auto;
		}
	}
	.claims-header .burger-line-top { top: 0; }
	.claims-header .burger-line-mid { top: 50%; transform: translateY(-50%); }
	.claims-header .burger-line-bot { top: 100%; transform: translateY(-100%); }

#navbar-menu .navbar-nav > .nav-item > .nav-link {
	position: relative;
	isolation: isolate;
	margin: 0 0.25rem;
	padding: 0.5rem 1rem;
	overflow: hidden;
	border-radius: 0.5rem;
	transition: color 160ms ease, background-color 160ms ease, transform 160ms cubic-bezier(.2,.8,.2,1), box-shadow 160ms ease;
}

#navbar-menu .navbar-nav > .nav-item > .nav-link::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	content: '';
	background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.15), rgba(var(--bs-primary-rgb), 0.05));
	opacity: 0;
	transition: opacity 160ms ease;
}

#navbar-menu .navbar-nav > .nav-item > .nav-link::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 100%;
	height: 3px;
	content: '';
	background: var(--bs-primary);
	border-radius: 3px 3px 0 0;
	transform: translateX(-50%) scaleX(0);
	transition: transform 180ms cubic-bezier(.2,.8,.2,1);
}

#navbar-menu .navbar-nav > .nav-item > .nav-link:hover,
#navbar-menu .navbar-nav > .nav-item > .nav-link:active,
#navbar-menu .navbar-nav > .nav-item.active > .nav-link,
#navbar-menu .navbar-nav > .nav-item > .nav-link.active {
	color: var(--bs-primary) !important;
	background-color: transparent;
}

#navbar-menu .navbar-nav > .nav-item > .nav-link:hover,
#navbar-menu .navbar-nav > .nav-item > .nav-link:active {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(var(--bs-primary-rgb), 0.12);
}

#navbar-menu .navbar-nav > .nav-item > .nav-link:hover::before,
#navbar-menu .navbar-nav > .nav-item.active > .nav-link::before,
#navbar-menu .navbar-nav > .nav-item > .nav-link.active::before {
	opacity: 1;
}

#navbar-menu .navbar-nav > .nav-item > .nav-link:hover::after {
	transform: translateX(-50%) scaleX(0.8);
}

#navbar-menu .navbar-nav > .nav-item > .nav-link:hover .nav-link-icon .icon,
#navbar-menu .navbar-nav > .nav-item > .nav-link.active .nav-link-icon .icon {
	transform: scale(1.08) rotate(-1deg);
}

#navbar-menu .navbar-nav > .nav-item > .nav-link:hover .nav-link-title {
	transform: translateX(3px);
}

#navbar-menu .navbar-nav > .nav-item.active > .nav-link::after,
#navbar-menu .navbar-nav > .nav-item > .nav-link.active::after {
	transform: translateX(-50%) scaleX(1);
}

#navbar-menu .navbar-nav > .nav-item > .nav-link .nav-link-icon,
#navbar-menu .navbar-nav > .nav-item > .nav-link .nav-link-title,
#navbar-menu .navbar-nav > .nav-item > .nav-link .icon {
	transition: color 100ms ease;
}

#navbar-menu .navbar-nav > .nav-item > .nav-link .nav-link-icon .icon,
#navbar-menu .navbar-nav > .nav-item > .nav-link .nav-link-title {
	transition: transform 160ms cubic-bezier(.2,.8,.2,1), color 160ms ease;
}

#navbar-menu .navbar-nav > .nav-item.dropdown > .nav-link.show {
	background-color: transparent;
}

#navbar-menu .navbar-nav > .nav-item.dropdown > .nav-link::after {
	display: none;
}

#navbar-menu .navbar-nav > .nav-item.dropdown .dropdown-menu .dropdown-item {
	display: flex;
	align-items: center;
	width: auto;
	min-height: 2rem;
	margin: 0;
	padding: 0.3125rem 0.75rem;
	line-height: 1.25;
	border-radius: 0.375rem !important;
	transition: color 140ms ease, background-color 140ms ease, transform 140ms cubic-bezier(.2,.8,.2,1);
}

#navbar-menu .navbar-nav > .nav-item.dropdown > .dropdown-menu {
	padding: 0.25rem;
}

#navbar-menu .navbar-nav > .nav-item.dropdown .dropdown-item:hover,
#navbar-menu .navbar-nav > .nav-item.dropdown .dropdown-item:focus {
	background: transparent;
	color: var(--tblr-primary);
	transform: translateX(3px);
}

.ticket-change-pending-badge {
	min-width: 1.25rem;
	height: 1.25rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 .375rem;
	border-radius: 999px;
	font-size: .6875rem;
	font-weight: 700;
	line-height: 1;
	background-color: var(--tblr-primary);
	box-shadow: none;
}

@keyframes ticket-change-review-row-added {
	from {
		opacity: 0;
		transform: translateY(-5px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.ticket-change-review-row-added > td {
	animation: ticket-change-review-row-added 450ms ease-out both;
}

@media (prefers-reduced-motion: reduce) {
	.ticket-change-review-row-added > td {
		animation: none;
	}
}

#navbar-menu .navbar-nav > .nav-item > .nav-link .ticket-change-pending-nav-badge {
	position: absolute;
	top: .2rem;
	inset-inline-end: .35rem;
	min-width: 1.125rem;
	height: 1.125rem;
	margin: 0;
	padding: 0 .3rem;
	border: 2px solid var(--tblr-body-bg);
	border-radius: 999px;
	font-size: .625rem;
	letter-spacing: 0;
	line-height: 1;
	box-shadow: none;
	z-index: 2;
}

#navbar-menu .navbar-nav > .nav-item > .ticket-management-nav-link {
	overflow: visible;
}

@keyframes claims-primary-dropdown-enter {
	from {
		opacity: 0;
		transform: translateY(-8px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.claims-header .claims-header-actions .nav-link {
	margin: 0;
	overflow: visible;
	transition: color 100ms ease;
}

/* Keep a visible indication when a header count is showing its last known
   value after a failed background poll. */
.claims-header .claims-header-actions .nav-link.poll-stale,
#navbar-menu .navbar-nav > .nav-item > .ticket-management-nav-link.poll-stale {
	color: #f59f00 !important;
}

.claims-header-avatar {
	overflow: hidden;
}

.claims-header-avatar-image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

@media (max-width: 767.98px) {
	#navbar-menu.collapsing {
		transition: height 180ms ease;
	}

	#navbar-menu .navbar-nav > .nav-item.dropdown .dropdown-menu .dropdown-item {
		min-height: 2.5rem;
		padding-block: 0.5rem;
	}

	#navbar-menu .navbar-nav > .nav-item.dropdown.menu-open > .dropdown-menu {
		position: static;
		display: block;
		float: none;
	}
}

@media (min-width: 768px) {
	#navbar-menu .navbar-nav > .nav-item.dropdown {
		position: relative;
	}

	#navbar-menu .navbar-nav > .nav-item.dropdown:hover > .dropdown-menu {
		top: 100%;
		left: 0;
		display: block;
		margin-top: 0;
		animation: claims-primary-dropdown-enter 180ms cubic-bezier(.2,.8,.2,1) both;
	}
}

@media (max-width: 767.98px) {
	#navbar-menu .navbar-nav > .nav-item.dropdown.menu-open > .dropdown-menu {
		animation: claims-primary-dropdown-enter 180ms cubic-bezier(.2,.8,.2,1) both;
	}
}

@media (prefers-reduced-motion: reduce) {
	#navbar-menu .navbar-nav > .nav-item > .nav-link,
	#navbar-menu .navbar-nav > .nav-item > .nav-link::before,
	#navbar-menu .navbar-nav > .nav-item > .nav-link::after,
	#navbar-menu .navbar-nav > .nav-item > .nav-link .icon,
	#navbar-menu .navbar-nav > .nav-item > .nav-link .nav-link-title,
	#navbar-menu .navbar-nav > .nav-item.dropdown .dropdown-item {
		transition: none !important;
		animation: none !important;
	}

	#navbar-menu .navbar-nav > .nav-item.dropdown > .dropdown-menu {
		animation: none !important;
	}
}

@media (max-width: 767.98px) {
	#navbar-menu .navbar-nav > .nav-item > .nav-link:hover,
	#navbar-menu .navbar-nav > .nav-item > .nav-link:active {
		transform: none;
		box-shadow: none;
	}

	#navbar-menu .navbar-nav > .nav-item > .nav-link:hover .nav-link-icon .icon,
	#navbar-menu .navbar-nav > .nav-item > .nav-link.active .nav-link-icon .icon,
	#navbar-menu .navbar-nav > .nav-item > .nav-link:hover .nav-link-title {
		transform: none;
	}
}

.claims-toast-container {
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: .5rem;
}

.claims-toast-container > .toast,
.claims-toast-container > .toast + .toast {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.claims-toast {
	position: relative;
	width: min(380px, calc(100vw - 2rem));
	border: 1px solid rgba(32, 41, 56, .12);
	border-radius: .75rem;
	background: var(--tblr-bg-surface, #fff);
	box-shadow: 0 .75rem 2rem rgba(32, 41, 56, .14), 0 .125rem .375rem rgba(32, 41, 56, .06);
	overflow: hidden;
	animation: claims-toast-enter .28s cubic-bezier(.22, .8, .24, 1) both;
}

.claims-toast-header {
	min-height: 3.375rem;
	padding: .75rem .875rem .625rem;
	border-bottom: 1px solid rgba(32, 41, 56, .08);
	background: transparent;
}

.claims-toast-icon {
	width: 2rem;
	height: 2rem;
	flex: 0 0 2rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: .625rem;
	border-radius: .625rem;
	font-size: 1.05rem;
}

.claims-toast-icon-success {
	color: #16803c;
	background: #e9f8ee;
	box-shadow: inset 0 0 0 1px rgba(47, 179, 68, .16);
}

.claims-toast-icon-danger {
	color: #c92a2a;
	background: #fff0f0;
	box-shadow: inset 0 0 0 1px rgba(214, 57, 57, .16);
}

.claims-toast-title {
	color: var(--tblr-body-color, #182433);
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .005em;
}

.claims-toast-time {
	margin-right: .75rem;
	color: var(--tblr-secondary, #667382);
	font-size: .6875rem;
	white-space: nowrap;
}

.claims-toast-close {
	margin: -.125rem -.25rem 0 0;
	opacity: .55;
}

.claims-toast-close:hover,
.claims-toast-close:focus {
	opacity: 1;
}

.claims-toast-body {
	padding: .75rem .875rem 1rem;
	color: var(--tblr-secondary, #667382);
	font-size: .8125rem;
	line-height: 1.45;
}

.claims-toast-progress {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: .1875rem;
	transform-origin: left;
	animation: claims-toast-progress 4.5s linear forwards;
}

.claims-toast-progress-success {
	background: #2fb344;
}

.claims-toast-progress-danger {
	background: #d63939;
}

@keyframes claims-toast-enter {
	from { opacity: 0; transform: translateY(1rem) scale(.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes claims-toast-progress {
	from { transform: scaleX(1); }
	to { transform: scaleX(0); }
}

@media (prefers-reduced-motion: reduce) {
	.claims-toast {
		animation: none;
	}

	.claims-toast-progress {
		animation: none;
	}
}

@media (max-width: 767.98px) {
	.claims-toast-container {
		padding: .75rem;
	}

	.claims-toast {
		width: min(380px, calc(100vw - 1.5rem));
	}
}
