:root {
	--lfsb-accent: #4f9a4a;
	--lfsb-track: #ececec;
	--lfsb-card-bg: #ffffff;
	--lfsb-card-border: #eeeeee;
	--lfsb-text: #262626;
	--lfsb-label: #8a8a8a;
}

.lfsb-wrapper {
	margin: 0 0 20px;
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.lfsb-wrapper.lfsb-compact {
	margin: 0 0 12px;
	flex-direction: column;
	flex: none;
	gap: 8px;
}

.lfsb-bar {
	flex: 1 1 280px;
	min-width: 240px;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	background: var(--lfsb-card-bg);
	border: 1px solid var(--lfsb-card-border);
	border-radius: 14px;
	padding: 18px 20px;
	box-sizing: border-box;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.lfsb-compact .lfsb-bar {
	flex: none;
	padding: 12px 14px;
	gap: 10px;
	border-radius: 12px;
}

.lfsb-icon {
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.lfsb-bar--local .lfsb-icon {
	background: #e6f2e3;
	color: #4f8a49;
}

.lfsb-bar--canada .lfsb-icon {
	background: #fbe7e5;
	color: #c0392b;
}

.lfsb-compact .lfsb-icon {
	width: 34px;
	height: 34px;
}

.lfsb-icon svg {
	width: 20px;
	height: 20px;
}

.lfsb-compact .lfsb-icon svg {
	width: 16px;
	height: 16px;
}

.lfsb-bar-body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lfsb-compact .lfsb-bar-body {
	gap: 6px;
}

.lfsb-label {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lfsb-label);
}

.lfsb-compact .lfsb-label {
	font-size: 9px;
}

.lfsb-message {
	margin: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--lfsb-text);
}

.lfsb-message strong {
	font-weight: 700;
}

.lfsb-compact .lfsb-message {
	font-size: 13px;
}

.lfsb-progress-row {
	display: flex;
	align-items: center;
	gap: 10px;
}

.lfsb-progress-track {
	flex: 1 1 auto;
	height: 6px;
	border-radius: 999px;
	background: var(--lfsb-track);
	overflow: hidden;
}

.lfsb-compact .lfsb-progress-track {
	height: 5px;
}

.lfsb-progress-fill {
	height: 100%;
	border-radius: 999px;
	background: var(--lfsb-accent);
	transition: width 0.4s ease;
}

.lfsb-check {
	flex: none;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--lfsb-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
}

.lfsb-check svg {
	width: 11px;
	height: 11px;
}
