/* /Components/AuthenticatedHome.razor.rz.scp.css */
[b-nnlpmgt34t] .eg-recent-list,
[b-nnlpmgt34t] .eg-recent-card {
	margin-bottom: calc(var(--eg-bottom-nav-height) + var(--eg-safe-area-bottom));
}

[b-nnlpmgt34t] .eg-feed-group-header {
	text-transform: capitalize;
	padding: 0.5rem 0 0.25rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.eg-feed-group + .eg-feed-group[b-nnlpmgt34t],
.eg-feed-group[b-nnlpmgt34t]  .eg-card {
	margin-top: 0.5rem;
}

.eg-feed-loading[b-nnlpmgt34t] {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: var(--eg-spacing-xl) 0;
}

.eg-feed-load-more[b-nnlpmgt34t] {
	margin-top: var(--eg-spacing-md);
	margin-bottom: var(--eg-spacing-md);
}

/* Bell + header layout */
.eg-home-header[b-nnlpmgt34t] {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--eg-spacing-sm);
}

[b-nnlpmgt34t] .eg-home-header-title {
	flex: 1;
	min-width: 0;
}

.eg-notification-btn-wrap[b-nnlpmgt34t] {
	position: relative;
	flex-shrink: 0;
}

.eg-notification-btn-wrap[b-nnlpmgt34t]  .eg-icon-btn {
	color: var(--eg-palette-primary);
}

.eg-notification-badge[b-nnlpmgt34t] {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 10px;
	height: 10px;
	background: var(--eg-palette-error);
	border-radius: 50%;
	border: 2px solid var(--eg-palette-surface);
	pointer-events: none;
	z-index: 1;
}
/* /Components/Common/EgCarousel.razor.rz.scp.css */
.eg-carousel-viewport[b-zb2rgmao7z] {
	flex: 1;
	min-height: 0;
	overflow: hidden;
	position: relative;
	touch-action: pan-y;
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
}

.eg-carousel-track[b-zb2rgmao7z] {
	display: flex;
	height: 100%;
	width: 100%;
	transition: transform 300ms ease;
	will-change: transform;
}

.eg-carousel-slide[b-zb2rgmao7z] {
	flex: 0 0 100%;
	min-height: 0;
	padding: 16px;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
}

.eg-carousel-footer[b-zb2rgmao7z] {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: calc(100% - 32px);
	max-width: 600px;
	margin: 0 auto;
	padding: 4px 0 calc(8px + var(--eg-safe-area-bottom));
	gap: 8px;
}

.eg-carousel-dots[b-zb2rgmao7z] {
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	flex: 1;
}

.eg-carousel-dot[b-zb2rgmao7z] {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--eg-palette-divider-light);
	border: none;
	padding: 0;
	cursor: pointer;
	transition:
		background 200ms ease,
		transform 200ms ease;
}

.eg-carousel-dot-active[b-zb2rgmao7z] {
	background: var(--eg-palette-primary);
	transform: scale(1.25);
}
/* /Components/Common/EgLocaleSwitcher.razor.rz.scp.css */
[b-4vh825phon] .locale-switcher {
    
}
/* /Components/Common/FilterChipGroup.razor.rz.scp.css */
.eg-filter-section[b-iwwgnjjkx1] {
	display: flex;
	flex-direction: column;
	gap: var(--eg-spacing-xs);
}

[b-iwwgnjjkx1] .eg-filter-label {
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.eg-filter-chips[b-iwwgnjjkx1] {
	display: flex;
	flex-wrap: wrap;
	gap: var(--eg-spacing-sm);
}

.eg-filter-chip[b-iwwgnjjkx1] {
	background: var(--eg-palette-surface-accent);
	border: 1px solid var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-pill);
	color: var(--eg-palette-text-secondary);
	padding: var(--eg-spacing-xs) var(--eg-spacing-sm);
	font-size: var(--eg-font-caption);
	cursor: pointer;
	transition: all var(--eg-transition-fast);
	min-height: 32px;
	white-space: nowrap;
}

.eg-filter-chip-active[b-iwwgnjjkx1] {
	background: var(--eg-palette-primary);
	color: #fff;
	border-color: var(--eg-palette-primary);
}

.eg-filter-chip-more[b-iwwgnjjkx1] {
	border-style: dashed;
	color: var(--eg-palette-text-disabled);
	min-width: 36px;
	text-align: center;
}
/* /Components/Common/MuscleDistribution.razor.rz.scp.css */
/* Surface treatment. !important is acceptable inside `::deep` because
   EgCard's default elevation 0 has its own background we want to
   override — same pattern used elsewhere in this project
   (e.g. SessionSummary.razor.css for the notes card). */
[b-u5flnao0a6] .muscle-distribution-card {
	background: var(--eg-palette-surface-accent) !important;
	border: 1px solid var(--eg-palette-divider) !important;
}

.muscle-distribution-title[b-u5flnao0a6] {
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: var(--eg-font-caption);
	font-weight: 600;
}

.muscle-list[b-u5flnao0a6] {
	width: 100%;
}

.muscle-row[b-u5flnao0a6] {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 6px 0;
}

.muscle-label[b-u5flnao0a6] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--eg-spacing-sm);
}

.muscle-weight-pill[b-u5flnao0a6] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 56px;
	padding: 1px 8px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.muscle-weight-pill[data-role="primary"][b-u5flnao0a6] {
	background: color-mix(in srgb, var(--eg-palette-primary) 18%, transparent);
	color: var(--eg-palette-primary);
	border: 1px solid
		color-mix(in srgb, var(--eg-palette-primary) 40%, transparent);
}

.muscle-weight-pill[data-role="secondary"][b-u5flnao0a6] {
	background: color-mix(in srgb, var(--eg-palette-text-muted) 14%, transparent);
	color: var(--eg-palette-text-muted);
	border: 1px solid var(--eg-palette-divider-light);
}

.muscle-bar-track[b-u5flnao0a6] {
	width: 100%;
	height: 6px;
	background: var(--eg-palette-divider-light);
	border-radius: 999px;
	overflow: hidden;
}

.muscle-bar-fill[b-u5flnao0a6] {
	height: 100%;
	background: linear-gradient(
		90deg,
		var(--eg-palette-primary) 0%,
		var(--eg-palette-secondary) 100%
	);
	border-radius: 999px;
	transition: width var(--eg-transition-fast);
}

/* Satzanzahl je Muskelgruppe — Beleg für die Balkenlänge */
[b-u5flnao0a6] .muscle-sets-count {
	font-size: var(--eg-font-caption, 0.75rem);
	font-weight: 400;
	opacity: 0.6;
	white-space: nowrap;
}
/* /Components/Common/SearchBar.razor.rz.scp.css */
.eg-search-bar[b-xr15l69oxt] {
	display: flex;
	flex-grow: 1;
	align-items: center;
	gap: var(--eg-spacing-sm);
	background: var(--eg-palette-surface);
	border-radius: var(--eg-radius-lg);
	padding: var(--eg-spacing-sm) var(--eg-spacing-md);
	border: 1px solid var(--eg-palette-divider-light);
}

.eg-search-icon[b-xr15l69oxt] {
	color: var(--eg-palette-text-secondary);
	font-size: 1.25rem;
}

[b-xr15l69oxt] .eg-search-input {
	flex: 1;
	background: transparent;
	border: none;
	color: var(--eg-palette-text-primary);
	font-size: var(--eg-font-body);
	font-family: inherit;
	outline: none;
	min-height: var(--eg-touch-min);
}

[b-xr15l69oxt] .eg-search-input::placeholder {
	color: var(--eg-palette-text-disabled);
}
/* /Components/Eg/EgAvatar.razor.rz.scp.css */
.eg-avatar[b-3fzizt7bsz] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
}

.eg-avatar-image[b-3fzizt7bsz] {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.eg-avatar-initials[b-3fzizt7bsz] {
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1;
	text-transform: uppercase;
}

.eg-avatar-fallback-icon[b-3fzizt7bsz] {
	font-size: inherit;
	line-height: 1;
}

.eg-avatar-small[b-3fzizt7bsz] {
	width: 24px;
	height: 24px;
	font-size: 0.875rem;
}

.eg-avatar-medium[b-3fzizt7bsz] {
	width: 32px;
	height: 32px;
	font-size: 1.125rem;
}

.eg-avatar-large[b-3fzizt7bsz] {
	width: 48px;
	height: 48px;
	font-size: 1.5rem;
}
/* /Components/Eg/EgBottomSheet.razor.rz.scp.css */
.eg-bottom-sheet-overlay[b-da393vxqsx] {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(2px);
	display: flex;
	justify-content: center;
	z-index: 1000;
}

.eg-bottom-sheet-modal[b-da393vxqsx] {
	background: var(--eg-palette-surface);
	width: 100%;
	max-width: 600px;
	border-radius: var(--eg-radius-xl) var(--eg-radius-xl) 0 0;
	box-shadow: var(--eg-shadow-elevated);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

@media (min-width: 600px) {
	.eg-bottom-sheet-overlay[b-da393vxqsx] {
		align-items: center;
	}

	.eg-bottom-sheet-modal[b-da393vxqsx] {
		border-radius: var(--eg-radius-xl);
		max-height: 90vh;
	}
}

.eg-bottom-sheet-header[b-da393vxqsx] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--eg-spacing-md);
	min-height: 56px;
}

.eg-bottom-sheet-body[b-da393vxqsx] {
	flex: 1;
	overflow-y: auto;
	padding: var(--eg-spacing-md);
	-webkit-overflow-scrolling: touch;
}

.eg-bottom-sheet-footer[b-da393vxqsx] {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: var(--eg-spacing-sm);
	padding: var(--eg-spacing-md);
	background: var(--eg-palette-surface-accent);
	border-top: 1px solid var(--eg-palette-divider);
}
/* /Components/Eg/EgCheckbox.razor.rz.scp.css */
.eg-checkbox[b-4ufnlivmhk] {
	display: inline-flex;
	align-items: center;
	gap: var(--eg-spacing-sm);
	cursor: pointer;
	user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	min-height: 48px; /* mobile touch target */
}

/* Hide the native input but keep it accessible */
.eg-checkbox-input[b-4ufnlivmhk] {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Custom tick box */
.eg-checkbox-box[b-4ufnlivmhk] {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: var(--eg-radius-sm);
	border: 2px solid var(--eg-palette-divider-light);
	background-color: transparent;
	color: #fff;
	transition:
		background-color var(--eg-transition-fast),
		border-color var(--eg-transition-fast),
		box-shadow var(--eg-transition-fast);
}

/* Checked state: fill with the accent colour (driven by Razor class) */
.eg-checkbox-box--checked[b-4ufnlivmhk] {
	background-color: var(--eg-checkbox-color, var(--eg-palette-primary));
	border-color: var(--eg-checkbox-color, var(--eg-palette-primary));
}

/* Focus-visible ring for keyboard navigation */
.eg-checkbox-input:focus-visible + .eg-checkbox-box[b-4ufnlivmhk] {
	outline: 2px solid var(--eg-checkbox-color, var(--eg-palette-primary));
	outline-offset: 2px;
}

/* Hover glow */
.eg-checkbox:not(.eg-checkbox-disabled):hover .eg-checkbox-box[b-4ufnlivmhk] {
	border-color: var(--eg-checkbox-color, var(--eg-palette-primary));
	box-shadow: 0 0 0 4px rgba(255, 107, 53, 0.12);
}

/* Active press */
.eg-checkbox:not(.eg-checkbox-disabled):active .eg-checkbox-box[b-4ufnlivmhk] {
	transform: scale(0.92);
}

/* Checkmark icon */
.eg-checkbox-icon[b-4ufnlivmhk] {
	font-size: 1rem;
	line-height: 1;
	color: #fff;
	display: block;
}

/* Label text */
.eg-checkbox-label[b-4ufnlivmhk] {
	color: var(--eg-palette-text-primary);
	font-size: 0.9375rem;
	line-height: 1.4;
}

/* Disabled state */
.eg-checkbox-disabled[b-4ufnlivmhk] {
	cursor: not-allowed;
	opacity: 0.45;
}
/* /Components/Eg/EgConfirmDialog.razor.rz.scp.css */
.eg-confirm-overlay[b-e8oi99lbyb] {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(2px);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2000;
	padding: 1rem;
}

[b-e8oi99lbyb] .eg-confirm-card {
	width: 100%;
	max-width: 360px;
	border-radius: var(--eg-radius-xl);
}

.eg-confirm-body[b-e8oi99lbyb] {
	margin-top: 0.25rem;
}
/* /Components/Eg/EgEmptyState.razor.rz.scp.css */
[b-bcgio3u10l] .eg-empty-state {
	border-radius: var(--eg-radius-lg);
	border: 1px dashed var(--eg-palette-divider);
	background: transparent;
	text-align: center;
}

[b-bcgio3u10l] .eg-empty-state-icon {
	font-size: 3rem;
	margin-bottom: var(--eg-spacing-md);
}

[b-bcgio3u10l] .eg-empty-state-title {
	margin-bottom: var(--eg-spacing-sm);
}
/* /Components/Eg/EgInput.razor.rz.scp.css */
/* Wrapper makes the icon anchoring work */
.eg-input-wrapper[b-sextli2qvj] {
	position: relative;
	display: flex;
	align-items: stretch;
	width: 100%;
}

/* Stretch the input to fill the wrapper */
.eg-input-wrapper input[b-sextli2qvj] {
	flex: 1;
	min-width: 0; /* prevent overflow in flex containers */
}

/* Icon — absolute, vertically centred */
.eg-input-icon[b-sextli2qvj] {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.125rem;
	color: var(--eg-palette-text-secondary);
	pointer-events: none;
	user-select: none;
}

.eg-input-icon--start[b-sextli2qvj] {
	left: 0.75rem;
}

.eg-input-icon--end[b-sextli2qvj] {
	right: 0.75rem;
}

/* Indent the native input text when icons are present */
.eg-input-wrapper--has-start input[b-sextli2qvj] {
	padding-left: 2.5rem;
}

.eg-input-wrapper--has-end input[b-sextli2qvj] {
	padding-right: 2.5rem;
}

.eg-input-suffix[b-sextli2qvj] {
	position: absolute;
	top: 50%;
	right: 0.75rem;
	transform: translateY(-50%);
	font-size: var(--eg-font-body);
	color: var(--eg-palette-text-secondary);
	pointer-events: none;
	user-select: none;
}
/* /Components/Eg/EgMenu.razor.rz.scp.css */
.eg-menu-root[b-vhk3hcyqsa] {
	position: relative;
	display: inline-block;
}

.eg-menu-trigger[b-vhk3hcyqsa] {
	display: inline-flex;
}

/* Transparent full-screen backdrop — catches click-outside */
.eg-menu-backdrop[b-vhk3hcyqsa] {
	position: fixed;
	inset: 0;
	z-index: 1499;
}

/* Floating panel */
.eg-menu-panel[b-vhk3hcyqsa] {
	position: absolute;
	top: calc(100% + 4px);
	z-index: 1500;
	min-width: 180px;
	background-color: var(--eg-palette-surface);
	border: 1px solid var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-md);
	box-shadow: var(--eg-shadow-elevated);
	padding: var(--eg-spacing-xs) 0;
	display: flex;
	flex-direction: column;
	animation: eg-menu-in-b-vhk3hcyqsa 120ms ease;
}

.eg-menu-panel--end[b-vhk3hcyqsa] {
	right: 0;
}

.eg-menu-panel--start[b-vhk3hcyqsa] {
	left: 0;
}

@keyframes eg-menu-in-b-vhk3hcyqsa {
	from {
		opacity: 0;
		transform: translateY(-6px) scale(0.97);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}
/* /Components/Eg/EgMenuItem.razor.rz.scp.css */
.eg-menu-item[b-lauwala5b1] {
	display: flex;
	align-items: center;
	gap: var(--eg-spacing-sm);
	width: 100%;
	padding: 0.625rem var(--eg-spacing-md);
	background: none;
	border: none;
	border-radius: 0;
	text-align: left;
	cursor: pointer;
	font-size: 0.9375rem;
	line-height: 1.4;
	white-space: nowrap;
	transition: background-color var(--eg-transition-fast);
}

.eg-menu-item:hover[b-lauwala5b1] {
	background-color: rgba(255, 255, 255, 0.06);
}

.eg-menu-item:active[b-lauwala5b1] {
	background-color: rgba(255, 255, 255, 0.1);
}

.eg-menu-item-icon[b-lauwala5b1] {
	font-size: 1.125rem;
	flex-shrink: 0;
}

.eg-menu-item-label[b-lauwala5b1] {
	flex: 1;
}

.eg-menu-item-disabled[b-lauwala5b1] {
	opacity: 0.4;
	cursor: not-allowed;
	pointer-events: none;
}
/* /Components/Eg/EgNumberInput.razor.rz.scp.css */
.eg-input-wrapper[b-fevjdbxhx3] {
	position: relative;
	display: flex;
	align-items: stretch;
	width: 100%;
}

.eg-input-wrapper input[b-fevjdbxhx3] {
	flex: 1;
	min-width: 0;
}

.eg-input-wrapper--has-suffix input[b-fevjdbxhx3] {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.eg-input-suffix[b-fevjdbxhx3] {
	background: var(--eg-palette-surface-accent);
	border: 1px solid var(--eg-palette-divider-light);
	border-left: none;
	border-radius: 0 var(--eg-radius-md) var(--eg-radius-md) 0;
	color: var(--eg-palette-text-secondary);
	font-size: var(--eg-font-body);
	padding: var(--eg-spacing-sm) var(--eg-spacing-md);
	min-height: var(--eg-touch-min);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	user-select: none;
}
/* /Components/Eg/EgSelect.razor.rz.scp.css */
.eg-select[b-u5smeg5umx] {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--eg-spacing-xs);
}

/* Optional label above the trigger */
.eg-select-label[b-u5smeg5umx] {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--eg-palette-text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* Trigger button */
.eg-select-trigger[b-u5smeg5umx] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--eg-spacing-sm);
	width: 100%;
	padding: 0.625rem var(--eg-spacing-md);
	background-color: var(--eg-palette-surface);
	border: 1px solid var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-md);
	color: var(--eg-palette-text-primary);
	font-size: 0.9375rem;
	text-align: left;
	cursor: pointer;
	transition:
		border-color var(--eg-transition-fast),
		box-shadow var(--eg-transition-fast);
	min-height: 44px;
}

.eg-select-trigger:hover[b-u5smeg5umx] {
	border-color: var(--eg-palette-primary);
}

.eg-select-trigger:focus-visible[b-u5smeg5umx] {
	outline: 2px solid var(--eg-palette-primary);
	outline-offset: 2px;
}

.eg-select-value[b-u5smeg5umx] {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.eg-select-placeholder[b-u5smeg5umx] {
	color: var(--eg-palette-text-secondary);
}

/* Chevron icon */
.eg-select-arrow[b-u5smeg5umx] {
	font-size: 1.25rem;
	color: var(--eg-palette-text-secondary);
	flex-shrink: 0;
	transition: transform var(--eg-transition-fast);
}

.eg-select-arrow--open[b-u5smeg5umx] {
	transform: rotate(180deg);
}

/* Transparent backdrop to close on click-outside */
.eg-select-backdrop[b-u5smeg5umx] {
	position: fixed;
	inset: 0;
	z-index: 1499;
}

/* Dropdown panel */
.eg-select-panel[b-u5smeg5umx] {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	z-index: 1500;
	background-color: var(--eg-palette-surface);
	border: 1px solid var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-md);
	box-shadow: var(--eg-shadow-elevated);
	padding: var(--eg-spacing-xs) 0;
	display: flex;
	flex-direction: column;
	max-height: 280px;
	overflow-y: auto;
	animation: eg-select-in-b-u5smeg5umx 120ms ease;
}

@keyframes eg-select-in-b-u5smeg5umx {
	from {
		opacity: 0;
		transform: translateY(-6px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

/* Individual option */
.eg-select-option[b-u5smeg5umx] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--eg-spacing-sm);
	padding: 0.625rem var(--eg-spacing-md);
	background: none;
	border: none;
	width: 100%;
	text-align: left;
	color: var(--eg-palette-text-primary);
	font-size: 0.9375rem;
	cursor: pointer;
	transition: background-color var(--eg-transition-fast);
}

.eg-select-option:hover[b-u5smeg5umx] {
	background-color: rgba(255, 255, 255, 0.06);
}

.eg-select-option:active[b-u5smeg5umx] {
	background-color: rgba(255, 255, 255, 0.1);
}

.eg-select-option--selected[b-u5smeg5umx] {
	color: var(--eg-palette-primary);
	font-weight: 600;
}

.eg-select-option-label[b-u5smeg5umx] {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.eg-select-option-check[b-u5smeg5umx] {
	font-size: 1rem;
	color: var(--eg-palette-primary);
	flex-shrink: 0;
}

/* Disabled state */
.eg-select-disabled[b-u5smeg5umx] {
	opacity: 0.45;
	pointer-events: none;
}
/* /Components/Eg/EgSkiaChartView.razor.rz.scp.css */
/* EgSkiaChartView — themed host for SKCanvasView. The inner
   SKCanvasView renders a <canvas> element with no intrinsic size,
   so the wrapper div provides the layout box. */

.eg-skia-chart[b-hctg1n2740] {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: var(--eg-radius-md);
	background-color: var(--eg-palette-surface-accent);
}

.eg-skia-chart canvas[b-hctg1n2740] {
	display: block;
}

.eg-skia-chart__fallback[b-hctg1n2740] {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: var(--eg-spacing-md);
	border: 1px solid var(--eg-palette-divider);
	border-radius: inherit;
	background-color: var(--eg-palette-surface-accent);
	color: var(--eg-palette-text-secondary);
	font-size: var(--eg-font-caption);
	text-align: center;
}

.eg-skia-chart__detail[b-hctg1n2740] {
	font-size: var(--eg-font-small);
	color: var(--eg-palette-error);
}
/* /Components/Eg/EgTapeInput.razor.rz.scp.css */
.eg-tape[b-d0cltnraba] {
	display: flex;
	flex-direction: column;
	gap: 2px;
	width: 100%;
}

.eg-tape-header[b-d0cltnraba] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--eg-spacing-sm);
	min-height: 24px;
}

.eg-tape-label[b-d0cltnraba] {
	font-size: var(--eg-font-caption);
	color: var(--eg-palette-text-secondary);
}

.eg-tape-coarse[b-d0cltnraba] {
	min-width: 48px;
	min-height: 28px;
	padding: 0 var(--eg-spacing-sm);
	border: 1px solid var(--eg-palette-divider);
	border-radius: var(--eg-radius-pill);
	background: transparent;
	color: var(--eg-palette-text-secondary);
	font: inherit;
	font-size: var(--eg-font-small);
	cursor: pointer;
	transition: var(--eg-transition-fast);
}

.eg-tape-coarse-active[b-d0cltnraba] {
	border-color: var(--eg-palette-primary);
	background: var(--eg-palette-primary);
	color: var(--eg-palette-background);
}

.eg-tape-value[b-d0cltnraba] {
	text-align: center;
	font-size: var(--eg-font-title);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--eg-palette-text-primary);
	line-height: 1.1;
}

.eg-tape-track[b-d0cltnraba] {
	position: relative;
	width: 100%;
	height: 64px;
	overflow: hidden;
	border: 1px solid var(--eg-palette-divider);
	border-radius: var(--eg-radius-md);
	background: var(--eg-palette-surface-accent);
	touch-action: pan-y;
	user-select: none;
	-webkit-user-select: none;
	cursor: grab;
	outline: none;
}

.eg-tape-track:active[b-d0cltnraba],
.eg-tape-track-dragging[b-d0cltnraba] {
	cursor: grabbing;
}

/* Translated directly by egInteraction.js during a drag, so the ruler follows
   the finger without a Blazor re-render per pointermove. */
.eg-tape-ticks[b-d0cltnraba] {
	position: absolute;
	inset: 0;
	will-change: transform;
}

.eg-tape-track:focus-visible[b-d0cltnraba] {
	border-color: var(--eg-palette-primary);
	box-shadow: 0 0 0 2px var(--eg-palette-primary);
}

.eg-tape-track-disabled[b-d0cltnraba] {
	opacity: 0.5;
	pointer-events: none;
}

.eg-tape-tick[b-d0cltnraba] {
	position: absolute;
	bottom: 0;
	width: 1px;
	height: 12px;
	background: var(--eg-palette-divider-light);
	transform: translateX(-50%);
	pointer-events: none;
}

.eg-tape-tick-major[b-d0cltnraba] {
	height: 22px;
	background: var(--eg-palette-text-disabled);
}

/* The label doubles as the tap target for jumping the ruler to that increment;
   the padding grows the hit area without moving the text. */
.eg-tape-tick-label[b-d0cltnraba] {
	position: absolute;
	bottom: 26px;
	left: 50%;
	transform: translateX(-50%);
	padding: 8px 8px 0;
	font-size: var(--eg-font-small);
	font-variant-numeric: tabular-nums;
	color: var(--eg-palette-text-secondary);
	white-space: nowrap;
	pointer-events: auto;
	cursor: pointer;
	user-select: none;
	-webkit-user-select: none;
	-webkit-tap-highlight-color: transparent;
	transition: color var(--eg-transition-fast);
}

.eg-tape-tick-label:active[b-d0cltnraba] {
	color: var(--eg-palette-primary);
}

.eg-tape-indicator[b-d0cltnraba] {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 2px;
	background: var(--eg-palette-primary);
	transform: translateX(-50%);
	pointer-events: none;
	box-shadow: 0 0 6px var(--eg-palette-primary);
}
/* /Components/Eg/EgTextarea.razor.rz.scp.css */
.eg-textarea-resize-none[b-fvt0u5xct9] {
	resize: none;
}

.eg-textarea-resize-both[b-fvt0u5xct9] {
	resize: both;
}
/* /Components/Eg/EgToggle.razor.rz.scp.css */
.eg-toggle[b-njri0uncu0] {
	display: inline-flex;
	align-items: center;
	gap: var(--eg-spacing-sm);
	cursor: pointer;
	user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	min-height: 48px; /* mobile touch target */
}

/* Hide the native input but keep it accessible */
.eg-toggle-input[b-njri0uncu0] {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Pill-shaped track */
.eg-toggle-track[b-njri0uncu0] {
	position: relative;
	flex-shrink: 0;
	width: 44px;
	height: 26px;
	border-radius: var(--eg-radius-pill);
	background-color: var(--eg-palette-divider-light);
	transition:
		background-color var(--eg-transition-fast),
		box-shadow var(--eg-transition-fast);
}

/* On state: fill track with accent colour */
.eg-toggle-track--on[b-njri0uncu0] {
	background-color: var(--eg-toggle-color, var(--eg-palette-primary));
}

/* Sliding thumb */
.eg-toggle-thumb[b-njri0uncu0] {
	position: absolute;
	top: 3px;
	left: 3px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: #fff;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
	transition: transform var(--eg-transition-fast);
}

/* Slide thumb to the right when on */
.eg-toggle-track--on .eg-toggle-thumb[b-njri0uncu0] {
	transform: translateX(18px);
}

/* Focus-visible ring for keyboard navigation */
.eg-toggle-input:focus-visible + .eg-toggle-track[b-njri0uncu0] {
	outline: 2px solid var(--eg-toggle-color, var(--eg-palette-primary));
	outline-offset: 2px;
}

/* Hover glow */
.eg-toggle:not(.eg-toggle-disabled):hover .eg-toggle-track[b-njri0uncu0] {
	box-shadow: 0 0 0 4px rgba(255, 107, 53, 0.12);
}

/* Active press — compress the thumb slightly */
.eg-toggle:not(.eg-toggle-disabled):active .eg-toggle-thumb[b-njri0uncu0] {
	width: 24px;
}

/* When pressed in "on" state, thumb grows leftward */
.eg-toggle:not(.eg-toggle-disabled):active .eg-toggle-track--on
	.eg-toggle-thumb[b-njri0uncu0] {
	transform: translateX(14px);
}

/* Label text */
.eg-toggle-label[b-njri0uncu0] {
	color: var(--eg-palette-text-primary);
	font-size: 0.9375rem;
	line-height: 1.4;
}

/* Disabled state */
.eg-toggle-disabled[b-njri0uncu0] {
	cursor: not-allowed;
	opacity: 0.45;
}
/* /Components/Exercises/ExerciseCard.razor.rz.scp.css */
.eg-exercise-card[b-d6h9pcfrgs] {
	background: var(--eg-palette-surface);
	border-radius: var(--eg-radius-lg);
	padding: var(--eg-spacing-md);
	cursor: pointer;
	box-shadow: var(--eg-shadow-card);
	transition: transform var(--eg-transition-fast), box-shadow var(--eg-transition-fast);
}

.eg-exercise-card:hover[b-d6h9pcfrgs] {
	transform: translateY(-1px);
	box-shadow: var(--eg-shadow-elevated);
}

.eg-exercise-card-main[b-d6h9pcfrgs] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--eg-spacing-sm);
}

.eg-exercise-card-info[b-d6h9pcfrgs] {
	flex: 1;
	min-width: 0;
}

[b-d6h9pcfrgs] .eg-exercise-name {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.eg-exercise-meta[b-d6h9pcfrgs] {
	display: flex;
	align-items: center;
	gap: var(--eg-spacing-sm);
	margin-top: var(--eg-spacing-xs);
}

.eg-exercise-select-indicator[b-d6h9pcfrgs] {
	flex-shrink: 0;
}

[b-d6h9pcfrgs] .eg-expand-icon {
	flex-shrink: 0;
}

.eg-exercise-card-selectable[b-d6h9pcfrgs] {
	border: 2px solid transparent;
}

.eg-exercise-card-selected[b-d6h9pcfrgs] {
	border-color: var(--eg-palette-primary);
	background: var(--eg-palette-surface-accent);
}

.eg-exercise-details[b-d6h9pcfrgs] {
	padding-top: var(--eg-spacing-sm);
}

[b-d6h9pcfrgs] .eg-exercise-description {
	margin-bottom: var(--eg-spacing-sm);
}

.eg-exercise-secondary-muscles[b-d6h9pcfrgs] {
	margin-top: var(--eg-spacing-sm);
}

[b-d6h9pcfrgs] .eg-chip-row {
	flex-wrap: wrap;
	margin-top: var(--eg-spacing-xs);
}

[b-d6h9pcfrgs] .eg-exercise-media {
	margin-top: var(--eg-spacing-sm);
}
/* /Components/Exercises/ExerciseForm.razor.rz.scp.css */
.eg-form-field[b-n116tx0sl6] {
	display: flex;
	flex-direction: column;
	gap: var(--eg-spacing-xs);
}

.eg-form-label[b-n116tx0sl6] {
	font-size: var(--eg-font-caption);
	color: var(--eg-palette-text-secondary);
	font-weight: 500;
}

.eg-required[b-n116tx0sl6] {
	color: var(--eg-palette-error);
}

.eg-form-input[b-n116tx0sl6] {
	background: var(--eg-palette-surface-accent);
	border: 1px solid var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-md);
	padding: var(--eg-spacing-sm) var(--eg-spacing-md);
	color: var(--eg-palette-text-primary);
	font-size: var(--eg-font-body);
	font-family: inherit;
	min-height: var(--eg-touch-min);
	outline: none;
	transition:
		border-color var(--eg-transition-fast),
		box-shadow var(--eg-transition-fast);
}

.eg-form-input:focus[b-n116tx0sl6] {
	border-color: var(--eg-palette-primary);
	box-shadow: 0 0 0 2px rgba(255, 107, 53, 0.25);
}

.eg-form-input-invalid[b-n116tx0sl6] {
	border-color: var(--eg-palette-error) !important;
}

.eg-form-error[b-n116tx0sl6] {
	font-size: var(--eg-font-caption);
	color: var(--eg-palette-error);
}

.eg-form-textarea[b-n116tx0sl6] {
	min-height: 80px;
	resize: vertical;
}

.eg-form-select[b-n116tx0sl6] {
	appearance: auto;
	cursor: pointer;
}

.eg-form-chip-grid[b-n116tx0sl6] {
	display: flex;
	flex-wrap: wrap;
	gap: var(--eg-spacing-sm);
}

.eg-form-chip[b-n116tx0sl6] {
	background: var(--eg-palette-surface-accent);
	border: 1px solid var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-pill);
	color: var(--eg-palette-text-secondary);
	padding: var(--eg-spacing-xs) var(--eg-spacing-sm);
	font-size: var(--eg-font-caption);
	cursor: pointer;
	transition: all var(--eg-transition-fast);
	min-height: 32px;
}

.eg-form-chip-selected[b-n116tx0sl6] {
	background: var(--eg-palette-primary);
	color: #fff;
	border-color: var(--eg-palette-primary);
}

.eg-form-chip-more[b-n116tx0sl6] {
	border-style: dashed;
	color: var(--eg-palette-text-disabled);
	min-width: 36px;
	text-align: center;
}
/* /Components/Exercises/ExercisePicker.razor.rz.scp.css */
/* The shared `.eg-picker-*` styles previously declared here were moved to
 * the global `wwwroot/css/eg-components.css` so the WorkoutPicker and
 * PlanPicker (which sit in a different folder and therefore a different
 * Blazor CSS-isolation scope) can share the same look. The file is kept
 * empty on purpose to preserve the CSS-isolation hash for this component. */
/* /Components/Home/NotificationsSheet.razor.rz.scp.css */
/* Notifications sheet body */
.eg-notifications-body[b-60tz5bznkv] {
	min-height: 120px;
}

.eg-notifications-loading[b-60tz5bznkv] {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: var(--eg-spacing-xl) 0;
}

[b-60tz5bznkv] .eg-notifications-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
}

[b-60tz5bznkv] .eg-notification-item {
	display: flex;
	align-items: center;
	gap: var(--eg-spacing-sm);
	padding: var(--eg-spacing-sm) 0;
	border-bottom: 1px solid var(--eg-palette-divider);
	cursor: pointer;
	transition: background-color var(--eg-transition-fast);
	border-radius: var(--eg-radius-sm);
	padding-inline: var(--eg-spacing-xs);
	outline: none;
}

[b-60tz5bznkv] .eg-notification-item:hover,
[b-60tz5bznkv] .eg-notification-item:focus-visible {
	background-color: rgba(255, 255, 255, 0.04);
}

[b-60tz5bznkv] .eg-notification-item:last-child {
	border-bottom: none;
}

[b-60tz5bznkv] .eg-notification-avatar {
	flex-shrink: 0;
}

.eg-notification-content[b-60tz5bznkv] {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.eg-notification-line[b-60tz5bznkv] {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.25rem;
}

[b-60tz5bznkv] .eg-notification-name {
	font-weight: 600;
}

.eg-notification-meta[b-60tz5bznkv] {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: baseline;
}

[b-60tz5bznkv] .eg-notification-context {
	font-style: italic;
}

[b-60tz5bznkv] .eg-notification-action-icon {
	flex-shrink: 0;
	opacity: 0.85;
}
/* /Components/Landing/AuthErrorCard.razor.rz.scp.css */
[b-rvjxikj4hn] .eg-landing-error-card {
	width: 100%;
	max-width: 360px;
	margin-top: 1rem;
	border: 1px solid var(--eg-palette-error);
	animation: eg-fade-in-b-rvjxikj4hn 300ms ease;
}

[b-rvjxikj4hn] .eg-error-icon {
	font-size: 2.5rem;
	color: var(--eg-palette-error);
	margin-bottom: 0.25rem;
}

@keyframes eg-fade-in-b-rvjxikj4hn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@media (max-width: 480px) {
	.eg-landing-error-card[b-rvjxikj4hn] {
		max-width: 320px;
	}
}
/* /Components/Landing/FeatureCard.razor.rz.scp.css */
[b-rs7evvi7ii] .eg-landing-feature {
	background: var(--eg-palette-surface);
}

[b-rs7evvi7ii] .eg-feature-icon {
	font-size: 2rem;
	color: var(--eg-palette-primary);
	margin-bottom: 0.5rem;
	filter: drop-shadow(0 0 6px rgba(255, 107, 53, 0.3));
}
/* /Components/Landing/LandingFeatures.razor.rz.scp.css */
.eg-landing-features[b-9uw30at14x] {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.75rem;
	width: 100%;
	max-width: 600px;
	padding: 0 1rem 2rem;
}

@media (max-width: 480px) {
	.eg-landing-features[b-9uw30at14x] {
		gap: 0.5rem;
		padding: 0 0.75rem 1.5rem;
	}
}
/* /Components/Landing/LandingHero.razor.rz.scp.css */
.eg-landing-hero[b-r22ogd503a] {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 1;
	gap: 1rem;
	padding: 2rem 1.5rem;
	width: 100%;
	max-width: 400px;
}

.eg-landing-icon[b-r22ogd503a] {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border-radius: var(--eg-radius-xl);
	background: linear-gradient(
		135deg,
		rgba(255, 107, 53, 0.2) 0%,
		rgba(78, 205, 196, 0.1) 100%
	);
	box-shadow: var(--eg-shadow-glow-primary);
}

[b-r22ogd503a] .eg-landing-icon .material-icons {
	font-size: 2.5rem;
	color: var(--eg-palette-primary);
}

[b-r22ogd503a] .eg-landing-title {
	font-weight: 800;
	letter-spacing: -0.02em;
	text-align: center;
	background: linear-gradient(
		135deg,
		var(--eg-color-primary) 0%,
		var(--eg-color-secondary) 100%
	);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

[b-r22ogd503a] .eg-landing-tagline {
	text-align: center;
	line-height: 1.6;
	max-width: 280px;
}

.eg-landing-cta[b-r22ogd503a] {
	width: 100%;
	margin-top: 1rem;
}

[b-r22ogd503a] .eg-landing-signin {
	height: 56px;
	border-radius: var(--eg-radius-pill);
	box-shadow: var(--eg-shadow-glow-primary);
	transition:
		box-shadow var(--eg-transition-fast),
		transform var(--eg-transition-fast);
}

[b-r22ogd503a] .eg-landing-signin:hover {
	box-shadow: 0 0 30px rgba(255, 107, 53, 0.5);
	transform: translateY(-1px);
}

@media (max-width: 480px) {
	.eg-landing-icon[b-r22ogd503a] {
		width: 72px;
		height: 72px;
	}

	[b-r22ogd503a] .eg-landing-icon .material-icons {
		font-size: 2rem;
	}
}
/* /Components/Me/ActivityTable.razor.rz.scp.css */
.activity-card[b-c0oqapivda] {
	padding: 8px;
}

.week-row[b-c0oqapivda] {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	padding-top: 4px;
	margin-bottom: 4px;
}
.weekday-header[b-c0oqapivda] {
	font-size: 0.78rem;
	font-weight: 600;
}

.activity-table[b-c0oqapivda] {
	width: 100%;
	aspect-ratio: 3 / 2;
	display: grid;
	gap: 4px;
	padding: 8px;
	grid-template-rows: repeat(auto-fit, minmax(40px, 1fr));
	grid-template-columns: repeat(7, minmax(40px, 1fr));
	background-color: var(--eg-palette-surface-accent);
}

[b-c0oqapivda] .activity-cell {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--eg-palette-surface-accent);
}
[b-c0oqapivda] .activity-cell.active {
	background-color: var(--eg-palette-success);
}
[b-c0oqapivda] .activity-cell.active-cardio {
	background-color: var(--eg-palette-info);
}
[b-c0oqapivda] .activity-cell.month-start {
	font-size: 0.78rem;
	font-weight: 600;
}
[b-c0oqapivda] .activity-cell.inactive {
	background-color: var(--eg-palette-surface);
}
/* /Components/Me/MeasurementForm.razor.rz.scp.css */
.eg-form-grid[b-89ae8sn82x] {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}

.eg-form-field[b-89ae8sn82x] {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.eg-input[b-89ae8sn82x] {
	width: 100%;
	padding: 10px 12px;
	background: var(--eg-palette-surface-accent);
	border: 1px solid var(--eg-palette-divider);
	border-radius: var(--eg-radius-md);
	color: var(--eg-palette-text-primary);
	font-size: 1rem;
	font-family: inherit;
	transition: border-color 200ms ease;
}

.eg-input:focus[b-89ae8sn82x] {
	outline: none;
	border-color: var(--eg-palette-primary);
}

.eg-input[b-89ae8sn82x]::placeholder {
	color: var(--eg-palette-text-secondary);
	opacity: 0.6;
}
/* /Components/Me/MeasurementHistoryList.razor.rz.scp.css */
.eg-measurement-history[b-aedd7yjula] {
	max-height: 280px;
	overflow-y: auto;
}

.eg-measurement-history-item[b-aedd7yjula] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 0;
	border-bottom: 1px solid var(--eg-palette-divider);
}

.eg-measurement-history-item:last-child[b-aedd7yjula] {
	border-bottom: none;
}

.eg-measurement-history-info[b-aedd7yjula] {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

[b-aedd7yjula] .eg-history-toggle {
	padding: 4px 0;
	min-height: unset;
}
/* /Components/Me/MeasurementSummary.razor.rz.scp.css */
.eg-measurement-grid[b-iwqguw97k7] {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}
/* /Components/Me/RecentActivitySection.razor.rz.scp.css */
[b-n3qu75yy16] .eg-recent-activity {
    margin-bottom: calc(var(--eg-bottom-nav-height) + var(--eg-safe-area-bottom));
}
/* /Components/Me/UserStatsOverview.razor.rz.scp.css */
.eg-stat-item[b-ypzuol40my] {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	flex: 1;
}

[b-ypzuol40my] .eg-stat-value {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

[b-ypzuol40my] .eg-stat-divider {
	border: none;
	width: 1px;
	background-color: var(--eg-palette-divider);
	align-self: stretch;
	margin: 4px 0;
}
/* /Components/PersonalBests/PersonalBestCard.razor.rz.scp.css */
.pb-card-layout[b-fndjjddqkr] {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.pb-trophy-col[b-fndjjddqkr] {
	padding-top: 2px;
	flex-shrink: 0;
}

.pb-trophy[b-fndjjddqkr] {
	color: #ffd600;
	font-size: 1.5rem;
}

.pb-info-col[b-fndjjddqkr] {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

[b-fndjjddqkr] .pb-exercise-name {
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

[b-fndjjddqkr] .pb-value {
	font-weight: 700;
	line-height: 1.3;
}

.pb-date-row[b-fndjjddqkr] {
	margin-top: 2px;
}

.pb-session-link[b-fndjjddqkr] {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: var(--eg-palette-text-secondary);
	font-size: 0.75rem;
	font-family: inherit;
	text-decoration: none;
	transition: color 0.15s ease;
}

.pb-session-link:hover[b-fndjjddqkr] {
	color: var(--eg-palette-primary);
}

.pb-link-icon[b-fndjjddqkr] {
	font-size: 0.875rem !important;
	vertical-align: middle;
}

.pb-actions-col[b-fndjjddqkr] {
	flex-shrink: 0;
	padding-top: 2px;
}

[b-fndjjddqkr] .pb-type-badge {
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
/* /Components/PersonalBests/PersonalBestForm.razor.rz.scp.css */
.pbf-field[b-1bj6tdyvof] {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

[b-1bj6tdyvof] .pbf-exercise-btn {
	width: 100%;
	justify-content: flex-start;
}

.pbf-exercise-selected[b-1bj6tdyvof] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.5rem 0.75rem;
	background: var(--eg-palette-surface-variant);
	border-radius: var(--eg-radius-md);
}

.pbf-exercise-readonly[b-1bj6tdyvof] {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
}

.pbf-delete-confirm[b-1bj6tdyvof] {
	padding: 0.75rem;
	border-radius: var(--eg-radius-md);
	background: color-mix(in srgb, var(--eg-palette-error) 10%, transparent);
	border: 1px solid color-mix(in srgb, var(--eg-palette-error) 30%, transparent);
}
/* /Components/PersonalBests/PersonalBestList.razor.rz.scp.css */
[b-y9ldhgiavg] .pb-show-toggle {
	padding: 4px 0;
	min-height: unset;
	margin-top: 4px;
}

.pb-search-filter-row[b-y9ldhgiavg] {
	display: flex;
	gap: 0.5rem;
	align-items: center;
}

.pb-search-filter-row .eg-search-bar[b-y9ldhgiavg] {
	flex: 1;
	min-width: 0;
}

.pb-menu-section[b-y9ldhgiavg] {
	padding: 0.25rem var(--eg-spacing-md);
	font-size: var(--eg-font-caption);
	color: var(--eg-palette-text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.025em;
	font-weight: 500;
	pointer-events: none;
}

.pb-menu-divider[b-y9ldhgiavg] {
	border-top: 1px solid var(--eg-palette-divider);
	margin: 4px var(--eg-spacing-md);
}

.pb-grid[b-y9ldhgiavg] {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem;
}

/* On very narrow viewports, fall back to a single column so cards
   don't get squeezed and the exercise name truncates. */
@media (max-width: 480px) {
	.pb-grid[b-y9ldhgiavg] {
		grid-template-columns: minmax(0, 1fr);
	}
}
/* /Components/PersonalBests/RecentPersonalBestCard.razor.rz.scp.css */
.eg-recent-pb-card[b-lxccq68b0e] {
	cursor: default;
}

.eg-pb-icon[b-lxccq68b0e] {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: rgba(255, 214, 0, 0.12);
}

[b-lxccq68b0e] .eg-pb-info {
	flex: 1;
	min-width: 0;
	overflow: hidden;
}

[b-lxccq68b0e] .eg-pb-info .eg-text {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

[b-lxccq68b0e] .eg-pb-exercise-name {
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

[b-lxccq68b0e] .eg-pb-value {
	font-weight: 700;
	line-height: 1.3;
}

[b-lxccq68b0e] .eg-pb-date {
	margin-top: 2px;
}

.eg-pb-owner-badge[b-lxccq68b0e] {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 6px;
	padding-left: 4px;
}

.eg-owner-link[b-lxccq68b0e] {
	display: inline-flex;
	text-decoration: none;
	color: inherit;
}

.eg-owner-link:focus-visible[b-lxccq68b0e] {
	outline: 2px solid var(--eg-palette-primary);
	outline-offset: 4px;
	border-radius: 8px;
}

.eg-owner-avatar[b-lxccq68b0e] {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	object-fit: cover;
}

.eg-friend-pb[b-lxccq68b0e] {
	border-left: 3px solid #ffd600;
}

[b-lxccq68b0e] .eg-pb-type-badge {
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
/* /Components/PersonalBests/RecentPersonalBestGroupCard.razor.rz.scp.css */
.eg-recent-pb-card[b-jz15r8sbhq] {
	cursor: default;
}

.eg-pb-icon[b-jz15r8sbhq] {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: rgba(255, 214, 0, 0.12);
}

[b-jz15r8sbhq] .eg-pb-info {
	flex: 1;
	min-width: 0;
	overflow: hidden;
}

[b-jz15r8sbhq] .eg-pb-header-row {
	position: relative;
}

[b-jz15r8sbhq] .eg-pb-header {
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

[b-jz15r8sbhq] .eg-pb-date {
	margin-top: 2px;
}

.eg-pb-favorite[b-jz15r8sbhq] {
	flex-shrink: 0;
	margin-left: auto;
	display: flex;
	flex-direction: row;
	align-items: center;
}

.eg-pb-owner-badge[b-jz15r8sbhq] {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 6px;
	padding-left: 4px;
}

.eg-owner-link[b-jz15r8sbhq] {
	display: inline-flex;
	text-decoration: none;
	color: inherit;
}

.eg-owner-link:focus-visible[b-jz15r8sbhq] {
	outline: 2px solid var(--eg-palette-primary);
	outline-offset: 4px;
	border-radius: 8px;
}

.eg-owner-avatar[b-jz15r8sbhq] {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	object-fit: cover;
}

.eg-friend-pb[b-jz15r8sbhq] {
	border-left: 3px solid #ffd600;
}

/* Group list */
.eg-pb-list[b-jz15r8sbhq] {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 0 12px;
	align-items: center;
	justify-items: start;
	min-width: 0;
}

.eg-pb-list-item[b-jz15r8sbhq] {
	display: grid;
	grid-template-columns: subgrid;
	grid-column: 1 / -1;
	align-items: center;
	padding: 4px 0;
	border-bottom: 1px solid var(--eg-border-subtle);
}

.eg-pb-list-item:last-child[b-jz15r8sbhq] {
	border-bottom: none;
}

[b-jz15r8sbhq] .eg-pb-exercise-name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
}

[b-jz15r8sbhq] .eg-pb-value {
	font-weight: 600;
	white-space: nowrap;
}
/* /Components/PlanBuilder/ExerciseEditBlock.razor.rz.scp.css */
.eg-exercise-block[b-ffg7ixxrnr] {
	background: var(--eg-palette-surface-accent);
	border: 1px solid var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-md);
	padding: var(--eg-spacing-sm) var(--eg-spacing-md);
	/* Fill the remaining height of the carousel slide so the card uses
	   the full vertical space, not just its content height. */
	flex: 1;
	display: flex;
	flex-direction: column;
}

.eg-exercise-plan[b-ffg7ixxrnr] {
	margin-top: var(--eg-spacing-md);
	padding-top: var(--eg-spacing-sm);
	border-top: 1px dashed var(--eg-palette-divider-light);
}

.eg-advanced-fields[b-ffg7ixxrnr] {
	margin-top: var(--eg-spacing-sm);
	padding-top: var(--eg-spacing-sm);
	border-top: 1px dashed var(--eg-palette-divider-light);
}
/* /Components/PlanBuilder/WorkoutActionsCard.razor.rz.scp.css */
[b-7xpnd6apb6] .eg-workout-actions-card {
	height: 100%;
	display: flex;
	flex-direction: column;
}

[b-7xpnd6apb6] .eg-workout-actions-card .eg-card-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
/* /Components/PlanBuilder/WorkoutPicker.razor.rz.scp.css */
/* Scoped styles for the WorkoutPicker. Inherits the .eg-picker-* utility
 * classes defined alongside ExercisePicker.razor.css (same project, same
 * design tokens). */

.eg-workout-picker-list[b-6q1o7yy6r7] {
	/* Allow a denser list than the exercise picker — workouts are larger
	 * items, so the vertical space per row should still be ~64px. */
	padding-top: var(--eg-spacing-sm);
}

.eg-workout-picker-trailing[b-6q1o7yy6r7] {
	color: var(--eg-palette-text-disabled);
	font-size: 1.5rem;
}

.eg-picker-item-selected .eg-workout-picker-trailing[b-6q1o7yy6r7] {
	color: var(--eg-palette-primary);
}
/* /Components/PlanBuilder/WorkoutSummaryCard.razor.rz.scp.css */
[b-8ugrhp3wc1] .eg-workout-summary-card {
	background: var(--eg-palette-surface);
}

[b-8ugrhp3wc1] .eg-workout-summary-info {
	min-width: 0;
	flex: 1;
}

[b-8ugrhp3wc1] .eg-workout-summary-name {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
}

.eg-workout-summary-meta[b-8ugrhp3wc1] {
	margin-top: 8px;
}

[b-8ugrhp3wc1] .eg-workout-summary-preview {
	list-style: none;
	margin: 8px 0 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

[b-8ugrhp3wc1] .eg-workout-summary-preview-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	font-size: 0.8125rem;
	line-height: 1.25rem;
	color: var(--eg-palette-text-secondary);
	min-width: 0;
}

.eg-workout-summary-preview-name[b-8ugrhp3wc1] {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
}

.eg-workout-summary-preview-sets[b-8ugrhp3wc1] {
	flex-shrink: 0;
	font-variant-numeric: tabular-nums;
	color: var(--eg-palette-text-muted, var(--eg-palette-text-secondary));
}

.eg-workout-summary-preview-more[b-8ugrhp3wc1] {
	font-style: italic;
	justify-content: flex-start;
}
/* /Components/Progress/ConsistencyHeatmapCard.razor.rz.scp.css */
/* ConsistencyHeatmapCard — heatmap canvas + 5-step legend. */

.eg-card-header[b-a97xdwt5jc] {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 8px;
}

.consistency-heatmap-canvas[b-a97xdwt5jc] {
	display: flex;
	justify-content: center;
	margin: 8px 0;
}

.consistency-heatmap-footer[b-a97xdwt5jc] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
}

.consistency-heatmap-window[b-a97xdwt5jc] {
	color: var(--eg-palette-text-secondary);
	font-size: 0.7rem;
}

.consistency-heatmap-legend-end[b-a97xdwt5jc] {
	display: flex;
	align-items: center;
	gap: 4px;
}

.consistency-heatmap-legend-label[b-a97xdwt5jc] {
	color: var(--eg-palette-text-secondary);
	font-size: 0.7rem;
	margin: 0 4px;
}

.consistency-heatmap-legend-cell[b-a97xdwt5jc] {
	display: inline-block;
	width: 10px;
	height: 10px;
	background-color: var(--eg-palette-primary);
	border-radius: 2px;
}
/* /Components/Progress/ExerciseProgressionRow.razor.rz.scp.css */
/* One row in the progression list. Collapsed rows are a fixed-height button so
   the list scans vertically; expanding reveals the full chart below. */

.progression-row[b-xxondrr399] {
	border-bottom: 1px solid var(--eg-palette-divider);
}

.progression-row:last-child[b-xxondrr399] {
	border-bottom: none;
}

.progression-row--expanded[b-xxondrr399] {
	background: var(--eg-palette-surface-accent);
	border-radius: var(--eg-radius-md);
}

.progression-row-header[b-xxondrr399] {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 72px 52px 48px 18px;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-height: 44px;
	padding: 6px 0;
	border: none;
	background: transparent;
	color: inherit;
	text-align: left;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.progression-row--expanded .progression-row-header[b-xxondrr399] {
	padding: 6px 8px;
}

.progression-row-name[b-xxondrr399] {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.2;
}

.progression-row-spark[b-xxondrr399] {
	display: block;
}

.progression-row-best[b-xxondrr399] {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	line-height: 1.1;
}

.progression-row-best-label[b-xxondrr399] {
	font-size: 0.625rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--eg-palette-text-secondary);
}

.progression-row-best-value[b-xxondrr399] {
	font-size: 0.8125rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.progression-row-chip[b-xxondrr399] {
	padding: 2px 6px;
	border-radius: var(--eg-radius-pill);
	font-size: 0.6875rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
}

.progression-row-chip--up[b-xxondrr399] {
	background: color-mix(in srgb, var(--eg-palette-success) 16%, transparent);
	color: var(--eg-palette-success);
}

.progression-row-chip--down[b-xxondrr399] {
	background: color-mix(in srgb, var(--eg-palette-error) 16%, transparent);
	color: var(--eg-palette-error);
}

.progression-row-chip--flat[b-xxondrr399] {
	background: var(--eg-palette-surface-accent);
	color: var(--eg-palette-text-secondary);
}

.progression-row-chevron[b-xxondrr399] {
	font-size: 18px;
	color: var(--eg-palette-text-secondary);
}

.progression-row-chart[b-xxondrr399] {
	padding: 4px 8px 12px 8px;
}
/* /Components/Progress/HeadlineStatsCard.razor.rz.scp.css */
/* HeadlineStatsCard — title bar + 2×2 grid of large numbers. */

[b-zycp0os9l8] .headline-stats-card .eg-card-content {
	/* The card content has built-in padding; we tighten the bottom
       since the cells below the title have their own vertical pad. */
	padding-top: 12px;
	padding-bottom: 16px;
}

[b-zycp0os9l8] .headline-stats-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 16px;
	text-align: center;
}

[b-zycp0os9l8] .headline-stat-cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding: 8px 4px;
}

[b-zycp0os9l8] .headline-stat-cell .eg-text:first-child {
	/* The big number gets a tighter line-height so the H4 + Caption
       read as one block, not two disjoint lines. */
	line-height: 1.1;
	margin-bottom: 2px;
}
/* /Components/Progress/InsightsTab.razor.rz.scp.css */
/* InsightsTab — spacing between the time-range pill bar and the cards. */

[b-29r467zbcm] .eg-insights-tab__range {
	margin-bottom: 12px;
}

[b-29r467zbcm] .eg-insights-tab__cards {
	/* EgStack already provides spacing via its `Spacing` parameter;
       this class is here in case we want to add a top margin or
       border below the cards in a follow-up. */
}
/* /Components/Progress/MuscleBalanceCard.razor.rz.scp.css */
.muscle-balance-bar[b-ydp4q5icqp] {
	display: flex;
	width: 100%;
	height: 10px;
	border-radius: var(--eg-radius-pill);
	overflow: hidden;
	background: var(--eg-palette-divider-light);
	gap: 2px;
	margin-bottom: var(--eg-spacing-md);
}

.muscle-balance-segment[b-ydp4q5icqp] {
	min-width: 2px;
	background: var(--mg);
}

.muscle-balance-segment:first-child[b-ydp4q5icqp] {
	border-top-left-radius: var(--eg-radius-pill);
	border-bottom-left-radius: var(--eg-radius-pill);
}

.muscle-balance-segment:last-child[b-ydp4q5icqp] {
	border-top-right-radius: var(--eg-radius-pill);
	border-bottom-right-radius: var(--eg-radius-pill);
}

.muscle-balance-legend[b-ydp4q5icqp] {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.muscle-balance-row[b-ydp4q5icqp] {
	display: grid;
	grid-template-columns: 8px minmax(72px, auto) 1fr 40px;
	align-items: center;
	gap: var(--eg-spacing-sm);
}

.muscle-balance-dot[b-ydp4q5icqp] {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--mg);
}

.muscle-balance-label[b-ydp4q5icqp] {
	font-size: var(--eg-font-small);
	color: var(--eg-palette-text-secondary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.muscle-balance-track[b-ydp4q5icqp] {
	display: block;
	height: 6px;
	background: var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-pill);
	overflow: hidden;
}

.muscle-balance-fill[b-ydp4q5icqp] {
	display: block;
	height: 100%;
	background: var(--mg);
	border-radius: var(--eg-radius-pill);
}

.muscle-balance-value[b-ydp4q5icqp] {
	font-size: var(--eg-font-small);
	font-weight: 700;
	color: var(--eg-palette-text-primary);
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.muscle-balance-more[b-ydp4q5icqp] {
	margin-top: var(--eg-spacing-sm);
	font-size: var(--eg-font-small);
	color: var(--eg-palette-text-secondary);
}
/* /Components/Progress/PerExerciseProgressionCard.razor.rz.scp.css */
/* PerExerciseProgressionCard — horizontal scroller of mini-cards
   with a sort selector in the card header. */

.per-exercise-progression-header[b-gk0u9zy5dp] {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap; /* phone: wrap to 2 lines if needed */
}

.per-exercise-progression-header-text[b-gk0u9zy5dp] {
	flex: 1 1 auto;
	min-width: 0; /* allow truncation of long titles */
}

[b-gk0u9zy5dp] .per-exercise-progression-sort {
	flex: 0 0 auto;
	/* Keep the select compact in the header. */
	min-width: 140px;
}

.per-exercise-progression-controls[b-gk0u9zy5dp] {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

[b-gk0u9zy5dp] .per-exercise-progression-metric {
	flex: 0 0 auto;
}

.per-exercise-progression-list[b-gk0u9zy5dp] {
	display: flex;
	flex-direction: column;
	margin: 0;
}

.per-exercise-progression-overflow[b-gk0u9zy5dp] {
	margin-top: 8px;
	color: var(--eg-palette-text-secondary);
	font-size: 0.8rem;
	text-align: center;
}

/* On very narrow phones the sort selector stacks below the title. */
@media (max-width: 480px) {
	.per-exercise-progression-header[b-gk0u9zy5dp] {
		flex-direction: column;
		gap: 8px;
	}

	.per-exercise-progression-controls[b-gk0u9zy5dp] {
		align-self: stretch;
		justify-content: space-between;
	}

	[b-gk0u9zy5dp] .per-exercise-progression-sort {
		align-self: stretch;
		flex: 1 1 0;
		min-width: 0;
	}

	[b-gk0u9zy5dp] .per-exercise-progression-metric {
		flex: 0 0 auto;
	}
}
/* /Components/Progress/RecentPersonalBestsCard.razor.rz.scp.css */
/* RecentPersonalBestsCard — list of last 5 PRs with a "See all" link. */

.recent-pb-header[b-ogoalfq1le] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
}

.recent-pb-see-all[b-ogoalfq1le] {
	background: none;
	border: 0;
	color: var(--eg-palette-primary);
	font: inherit;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
	padding: 4px 6px;
	border-radius: 4px;
}

.recent-pb-see-all:hover[b-ogoalfq1le],
.recent-pb-see-all:focus-visible[b-ogoalfq1le] {
	background-color: var(--eg-palette-surface-accent);
	outline: 0;
}

[b-ogoalfq1le] .recent-pb-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

[b-ogoalfq1le] .recent-pb-row {
	display: grid;
	grid-template-columns: 1fr auto auto;
	align-items: center;
	gap: 8px;
	padding: 8px 4px;
	border-top: 1px solid var(--eg-palette-divider);
	cursor: pointer;
	border-radius: 4px;
}

[b-ogoalfq1le] .recent-pb-row:first-child {
	border-top: 0;
}

[b-ogoalfq1le] .recent-pb-row:hover,
[b-ogoalfq1le] .recent-pb-row:focus-visible {
	background-color: var(--eg-palette-surface-accent);
	outline: 0;
}

.recent-pb-name[b-ogoalfq1le] {
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--eg-palette-text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.recent-pb-name-col[b-ogoalfq1le] {
	min-width: 0;
}

.recent-pb-type[b-ogoalfq1le] {
	font-size: 0.7rem;
	font-weight: 600;
	color: var(--eg-palette-primary);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.recent-pb-value[b-ogoalfq1le] {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--eg-palette-primary);
	white-space: nowrap;
}

.recent-pb-date[b-ogoalfq1le] {
	font-size: 0.75rem;
	color: var(--eg-palette-text-secondary);
	white-space: nowrap;
}
/* /Components/Progress/TimeRangeSelector.razor.rz.scp.css */
/* TimeRangeSelector — pill group of 4 buttons (30d / 90d / 1y / All).
   Single-select radiogroup, ARIA-correct. */

.eg-time-range[b-9bxfs594p4] {
	display: inline-flex;
	gap: 8px;
	flex-wrap: nowrap;
	overflow: auto;
}

.eg-time-range-pill[b-9bxfs594p4] {
	/* Touch-target floor (48 px) with breathing room for the label. */
	min-width: 56px;
	min-height: 36px;
	padding: 0 12px;

	flex-shrink: 0;

	background-color: var(--eg-palette-surface);
	color: var(--eg-palette-text-secondary);
	border: 1px solid var(--eg-palette-divider);
	border-radius: 18px;

	font: inherit;
	font-size: 0.875rem;
	font-weight: 500;
	cursor: pointer;
	transition:
		background-color 120ms ease,
		color 120ms ease,
		border-color 120ms ease;
}

.eg-time-range-pill:hover[b-9bxfs594p4] {
	background-color: var(--eg-palette-surface-accent);
}

.eg-time-range-pill:focus-visible[b-9bxfs594p4] {
	outline: 2px solid var(--eg-palette-primary);
	outline-offset: 2px;
}

.eg-time-range-pill--active[b-9bxfs594p4],
.eg-time-range-pill--active:hover[b-9bxfs594p4] {
	background-color: var(--eg-palette-primary);
	color: var(--eg-palette-text-primary);
	border-color: var(--eg-palette-primary);
}
/* /Components/Progress/VolumeOverTimeCard.razor.rz.scp.css */
/* VolumeOverTimeCard — chart fills the rest after header. */

.eg-card-header[b-tg5t7yr5an] {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 8px;
}
/* /Components/Progress/WeekHeroCard.razor.rz.scp.css */
[b-wlvpk0yjt3] .week-hero-card {
	background: linear-gradient(
		160deg,
		color-mix(in srgb, var(--eg-palette-primary) 12%, var(--eg-palette-surface)) 0%,
		var(--eg-palette-surface) 60%
	) !important;
	border: 1px solid color-mix(in srgb, var(--eg-palette-primary) 28%, transparent) !important;
}

.week-hero-header[b-wlvpk0yjt3] {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--eg-spacing-sm);
	margin-bottom: var(--eg-spacing-md);
}

.week-hero-stats[b-wlvpk0yjt3] {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--eg-spacing-sm);
}

.week-hero-empty[b-wlvpk0yjt3] {
	display: flex;
	align-items: flex-start;
	gap: var(--eg-spacing-sm);
	padding: var(--eg-spacing-sm) 0;
	line-height: 1.35;
}

.week-hero-empty > div[b-wlvpk0yjt3] {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.week-hero-empty-icon[b-wlvpk0yjt3] {
	font-size: 26px;
	line-height: 1;
	color: var(--eg-palette-primary);
	opacity: 0.85;
	flex-shrink: 0;
}

.week-hero-stat[b-wlvpk0yjt3] {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-width: 0;
}

.week-hero-value[b-wlvpk0yjt3] {
	font-size: var(--eg-font-subtitle);
	font-weight: 700;
	line-height: 1.1;
	color: var(--eg-palette-text-primary);
	font-variant-numeric: tabular-nums;
}

.week-hero-label[b-wlvpk0yjt3] {
	font-size: var(--eg-font-small);
	color: var(--eg-palette-text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.week-hero-delta[b-wlvpk0yjt3] {
	margin-top: 4px;
	padding: 1px 6px;
	border-radius: var(--eg-radius-pill);
	font-size: var(--eg-font-small);
	font-weight: 600;
	line-height: 1.4;
	white-space: nowrap;
}

.week-hero-delta--up[b-wlvpk0yjt3] {
	background: color-mix(in srgb, var(--eg-palette-success) 16%, transparent);
	color: var(--eg-palette-success);
}

.week-hero-delta--down[b-wlvpk0yjt3] {
	background: color-mix(in srgb, var(--eg-palette-error) 16%, transparent);
	color: var(--eg-palette-error);
}

.week-hero-delta--flat[b-wlvpk0yjt3] {
	background: var(--eg-palette-surface-accent);
	color: var(--eg-palette-text-secondary);
}

.week-hero-footer[b-wlvpk0yjt3] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--eg-spacing-sm);
	margin-top: var(--eg-spacing-md);
	padding-top: var(--eg-spacing-sm);
	border-top: 1px dashed var(--eg-palette-divider-light);
	min-height: 32px;
}

.week-hero-streak[b-wlvpk0yjt3] {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: var(--eg-font-small);
	color: var(--eg-palette-text-secondary);
}

.week-hero-streak-icon[b-wlvpk0yjt3] {
	font-size: 16px;
	color: var(--eg-palette-warning);
}

.week-hero-cta[b-wlvpk0yjt3] {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 6px 12px;
	min-height: 36px;
	border: none;
	border-radius: var(--eg-radius-pill);
	background: var(--eg-palette-primary);
	color: #fff;
	font-size: var(--eg-font-small);
	font-weight: 600;
	cursor: pointer;
	transition: filter var(--eg-transition-fast);
}

.week-hero-cta:hover[b-wlvpk0yjt3] {
	filter: brightness(1.1);
}

.week-hero-cta .week-hero-cta-label[b-wlvpk0yjt3] {
	max-width: 140px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.week-hero-cta .material-icons[b-wlvpk0yjt3] {
	font-size: 18px;
}
/* /Components/Sessions/Excercise/ExerciseReorderDrawer.razor.rz.scp.css */
.reorder-drawer-overlay[b-qkxs4y9935] {
	position: fixed;
	inset: 0;
	z-index: 1300;
	display: flex;
	justify-content: flex-end;
	background: rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(2px);
}

.reorder-drawer[b-qkxs4y9935] {
	display: flex;
	flex-direction: column;
	width: min(360px, 88vw);
	height: 100dvh;
	background: var(--eg-palette-surface);
	box-shadow: var(--eg-shadow-elevated);
	padding-top: var(--eg-safe-area-top);
	padding-bottom: var(--eg-safe-area-bottom);
	outline: none;
	animation: reorder-drawer-in-b-qkxs4y9935 var(--eg-transition-medium);
}

@keyframes reorder-drawer-in-b-qkxs4y9935 {
	from {
		transform: translateX(100%);
	}
	to {
		transform: translateX(0);
	}
}

.reorder-drawer-header[b-qkxs4y9935] {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--eg-spacing-sm);
	padding: var(--eg-spacing-md);
	border-bottom: 1px solid var(--eg-palette-divider);
}

.reorder-drawer-body[b-qkxs4y9935] {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.reorder-drawer-footer[b-qkxs4y9935] {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--eg-spacing-sm);
	padding: var(--eg-spacing-md);
	background: var(--eg-palette-surface-accent);
	border-top: 1px solid var(--eg-palette-divider);
}

.reorder-row[b-qkxs4y9935] {
	display: flex;
	align-items: center;
	gap: var(--eg-spacing-xs);
	/* Keep in sync with RowHeight in ExerciseReorderDrawer.razor. */
	height: 60px;
	padding: 0 var(--eg-spacing-sm) 0 var(--eg-spacing-xs);
	border-bottom: 1px solid var(--eg-palette-divider);
	background: var(--eg-palette-surface);
	transition: background var(--eg-transition-fast);
}

.reorder-row-dragging[b-qkxs4y9935] {
	background: var(--eg-palette-surface-accent);
	box-shadow: var(--eg-shadow-card);
	position: relative;
	z-index: 1;
}

.reorder-drag-handle[b-qkxs4y9935] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 48px;
	flex-shrink: 0;
	padding: 0;
	border: none;
	background: transparent;
	color: var(--eg-palette-text-secondary);
	cursor: grab;
	touch-action: none;
}

.reorder-drag-handle:active[b-qkxs4y9935] {
	cursor: grabbing;
}

.reorder-row-number[b-qkxs4y9935] {
	width: 18px;
	flex-shrink: 0;
	text-align: right;
	color: var(--eg-palette-text-secondary);
	font-size: var(--eg-font-caption);
	font-variant-numeric: tabular-nums;
}

.reorder-row-icon[b-qkxs4y9935] {
	flex-shrink: 0;
	font-size: 18px;
	color: var(--eg-palette-text-disabled);
}

.reorder-row-done[b-qkxs4y9935] {
	color: var(--eg-palette-success);
}

.reorder-row-name[b-qkxs4y9935] {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--eg-palette-text-primary);
	font-size: var(--eg-font-body);
}

.reorder-row-name-done[b-qkxs4y9935] {
	color: var(--eg-palette-text-secondary);
}

.reorder-row-actions[b-qkxs4y9935] {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}
/* /Components/Sessions/Excercise/SessionExerceriseNotes.razor.rz.scp.css */

.exercise-notes-section[b-aq7troevns] {
	margin-top: 4px;
	margin-bottom: 4px;
}

[b-aq7troevns] .eg-notes-textarea {
	width: 100%;
	min-height: 40px;
	background: var(--eg-palette-surface-accent);
	border: 1px solid var(--eg-palette-divider);
	border-radius: var(--eg-radius-md);
	color: var(--eg-palette-text-primary);
	font-family: inherit;
	font-size: var(--eg-font-body);
	padding: 8px 12px;
	resize: vertical;
	outline: none;
	transition: border-color var(--eg-transition-fast);
}

[b-aq7troevns] .eg-notes-textarea:focus {
	border-color: var(--eg-palette-primary);
}

[b-aq7troevns] .eg-notes-textarea::placeholder {
	color: var(--eg-palette-text-disabled);
	font-size: var(--eg-font-caption);
}
/* /Components/Sessions/Excercise/SessionExerciseCard.razor.rz.scp.css */
.session-exercise-card[b-m4ytooa0yb] {
	height: 100%;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

[b-m4ytooa0yb] .session-exercise-outer-card {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
	height: 100%;
}

[b-m4ytooa0yb] .session-exercise-content {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	padding: 24px 20px;
	gap: 16px;
}

.exercise-header[b-m4ytooa0yb] {
	flex-shrink: 0;
}

.header-row[b-m4ytooa0yb] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

[b-m4ytooa0yb] .header-row .exercise-name {
	flex: 1;
	margin: 0 !important;
}

[b-m4ytooa0yb] .exercise-name {
	font-weight: 800 !important;
	line-height: 1.2 !important;
}

/* Sets list */
.sets-list[b-m4ytooa0yb] {
	flex-grow: 1;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	max-height: min(300px, 50vh);
	overflow: auto;
	gap: 4px;
}

.set-row[b-m4ytooa0yb] {
	display: grid;
	grid-template-columns: 26px 1fr auto;
	align-items: center;
	gap: 10px;
	padding: 6px 8px 6px 6px;
	border-radius: var(--eg-radius-md);
	background: var(--eg-palette-surface);
	border: 1px solid var(--eg-palette-divider-light);
	min-height: 44px;
	font-variant-numeric: tabular-nums;
}

.set-row.completed[b-m4ytooa0yb] {
	background: rgba(46, 213, 115, 0.08);
	border-color: rgba(46, 213, 115, 0.18);
}

.set-number[b-m4ytooa0yb] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	color: var(--eg-palette-text-secondary);
	font-size: var(--eg-font-small);
	font-weight: 700;
}

.set-row.completed .set-number[b-m4ytooa0yb] {
	background: rgba(46, 213, 115, 0.16);
	color: var(--eg-palette-success);
}

.set-values[b-m4ytooa0yb] {
	flex: 1;
	font-size: 0.9375rem;
	color: var(--eg-palette-text-primary);
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}

.set-row.completed .set-values[b-m4ytooa0yb] {
	font-weight: 600;
}

.pending-dash[b-m4ytooa0yb] {
	color: var(--eg-palette-text-disabled);
}

.suggestion-preview[b-m4ytooa0yb] {
	color: var(--eg-palette-text-secondary);
}

[b-m4ytooa0yb] .suggestion-hint {
	color: var(--eg-palette-text-secondary);
}

.range-hint-chip[b-m4ytooa0yb] {
	font-size: 0.6875rem;
	padding: 1px 6px;
	border-radius: var(--eg-radius-sm);
	background: rgba(255, 159, 67, 0.12);
	color: #ff9f67;
	white-space: nowrap;
}

.set-values .material-icons[b-m4ytooa0yb] {
	line-height: 1;
}

[b-m4ytooa0yb] .edit-set-btn {
	background: none;
	border: none;
	padding: 4px;
	color: var(--eg-palette-text-secondary);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--eg-radius-sm);
	transition:
		background 150ms ease,
		color 150ms ease;
	min-width: 28px;
	min-height: 28px;
}

[b-m4ytooa0yb] .edit-set-btn:hover {
	background: rgba(255, 255, 255, 0.08);
}

/* The remove affordance sits on every row; keep it quiet at rest so a list of
   pending sets does not read as a wall of red, and signal intent on press.
   !important is needed because EgIconButton writes its Color as an inline style. */
[b-m4ytooa0yb] .edit-set-btn.delete-mode {
	color: var(--eg-palette-text-disabled) !important;
}

[b-m4ytooa0yb] .edit-set-btn.delete-mode:hover,
[b-m4ytooa0yb] .edit-set-btn.delete-mode:active {
	background: rgba(255, 71, 87, 0.12);
	color: var(--eg-palette-error) !important;
}

/* Bottom area */
.bottom-area[b-m4ytooa0yb] {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	flex-grow: 1;
	gap: 16px;
}

.edit-mode-indicator[b-m4ytooa0yb] {
	text-align: center;
	margin-bottom: 8px;
}

/* Target card */
.target-card[b-m4ytooa0yb] {
	background: rgba(255, 107, 53, 0.08);
	border: 1px solid rgba(255, 107, 53, 0.2);
	border-radius: var(--eg-radius-lg);
	padding: 12px;
}

.target-inner[b-m4ytooa0yb] {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
}

[b-m4ytooa0yb] .adjustment-row {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
}

[b-m4ytooa0yb] .stepper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
}

[b-m4ytooa0yb] .stepper-value {
	min-width: 52px;
	font-variant-numeric: tabular-nums;
	flex-grow: 1;
}

[b-m4ytooa0yb] .step-btn {
	background: var(--eg-palette-surface-accent);
	border: 1px solid transparent;
	color: var(--eg-palette-text-primary);
	border-radius: var(--eg-radius-md);
	padding: 4px 0;
	font-size: 0.8125rem;
	font-weight: 600;
	min-width: 40px;
	min-height: 40px;
	cursor: pointer;
	display: flex;
	flex-grow: 1;
	align-items: center;
	justify-content: center;
	transition:
		background 150ms ease,
		border-color 150ms ease;
	flex-shrink: 0;
	line-height: 1;
}

[b-m4ytooa0yb] .step-btn:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.12);
}

[b-m4ytooa0yb] .step-btn:active {
	background: rgba(255, 255, 255, 0.12);
}

.action-buttons[b-m4ytooa0yb] {
	width: 100%;
	margin-top: auto;
}

.action-area[b-m4ytooa0yb] {
	display: flex;
	flex-direction: row;
	gap: 8px;
	align-items: center;
	width: 100%;
	margin-top: auto;
}

.all-sets-complete[b-m4ytooa0yb] {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 24px 0;
}

.timer-btn[b-m4ytooa0yb] {
	background: var(--eg-palette-surface-accent);
	border: 1px solid var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-lg);
	color: var(--eg-palette-text-primary);
	padding: 12px 24px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 8px;
	cursor: pointer;
	font-family: inherit;
	font-size: var(--eg-font-body);
	font-weight: 600;
	min-height: 56px;
	min-width: 200px;
	transition:
		background 150ms ease,
		border-color 150ms ease;
}

.timer-btn:hover[b-m4ytooa0yb] {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.12);
}

.timer-btn.timer-running[b-m4ytooa0yb] {
	background: rgba(255, 107, 53, 0.12);
	border-color: rgba(255, 107, 53, 0.3);
}

.timer-value[b-m4ytooa0yb] {
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	font-size: 1.25rem;
}

.timer-label[b-m4ytooa0yb] {
	font-size: var(--eg-font-caption);
	color: var(--eg-palette-text-secondary);
}

.timer-btn.timer-running .timer-label[b-m4ytooa0yb] {
	color: var(--eg-palette-primary);
}

.timer-btn.timer-running .timer-value[b-m4ytooa0yb] {
	color: var(--eg-palette-primary);
}

.timer-btn .material-icons[b-m4ytooa0yb] {
	color: var(--eg-palette-text-secondary);
}

.timer-btn.timer-running .material-icons[b-m4ytooa0yb] {
	color: var(--eg-palette-primary);
}

/* Show All Fields chip in session tracker */
.eg-form-chip[b-m4ytooa0yb] {
	background: var(--eg-palette-surface-accent);
	border: 1px solid var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-md);
	color: var(--eg-palette-text-secondary);
	cursor: pointer;
	font-size: var(--eg-font-caption);
	font-weight: 500;
	padding: 4px 12px;
	transition:
		background 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

[b-m4ytooa0yb] .eg-form-chip-selected,
[b-m4ytooa0yb] .eg-form-chip:hover {
	background: rgba(255, 107, 53, 0.12);
	border-color: rgba(255, 107, 53, 0.3);
	color: var(--eg-palette-primary);
}

/* "Next exercise" chip in the action area. Slightly stronger primary tint than the
   expand chip so the user reads it as an "advance" affordance, not just a toggle. */
.next-exercise-chip[b-m4ytooa0yb] {
	color: var(--eg-palette-primary);
	border-color: rgba(255, 107, 53, 0.3);
}

[b-m4ytooa0yb] .next-exercise-chip:hover {
	background: rgba(255, 107, 53, 0.16);
	border-color: rgba(255, 107, 53, 0.45);
}

[b-m4ytooa0yb] .next-exercise-chip:disabled,
[b-m4ytooa0yb] .next-exercise-chip[disabled] {
	background: var(--eg-palette-surface-accent);
	border-color: var(--eg-palette-divider-light);
	color: var(--eg-palette-text-disabled);
	opacity: 0.6;
	cursor: not-allowed;
}

/* Personal-best rows: gold instead of the usual completed green, so a PB set
   stands out from a normal finished set at a glance. */
.set-row.pb[b-m4ytooa0yb] {
	background: rgba(255, 214, 0, 0.1);
	border-color: rgba(255, 214, 0, 0.3);
}

.set-row.pb .set-number[b-m4ytooa0yb] {
	background: rgba(255, 214, 0, 0.18);
	color: #ffd600;
}

/* One icon per PB type (title carries the type name) instead of a text badge,
   which would crowd out the weight/reps in a narrow row. */
.pb-icon-badge[b-m4ytooa0yb] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: rgba(255, 214, 0, 0.15);
	border: 1px solid rgba(255, 214, 0, 0.4);
	flex-shrink: 0;
}

/* Sets expansion panel */
[b-m4ytooa0yb] .sets-expansion-panel {
	border: 1px solid var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-md);
	background: var(--eg-palette-surface-accent);
}

.sets-panel-header[b-m4ytooa0yb] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	min-height: 32px;
}

.sets-panel-heading[b-m4ytooa0yb] {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.sets-panel-title[b-m4ytooa0yb] {
	font-size: var(--eg-font-caption);
	font-weight: 600;
	color: var(--eg-palette-text-secondary);
}

.sets-count[b-m4ytooa0yb] {
	display: inline-flex;
	align-items: baseline;
	padding: 3px 8px;
	border: 1px solid var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-pill);
	background: rgba(255, 255, 255, 0.06);
	color: var(--eg-palette-text-primary);
	font-size: var(--eg-font-small);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	line-height: 1;
}

.sets-count-total[b-m4ytooa0yb] {
	color: var(--eg-palette-text-secondary);
	font-weight: 500;
}

.sets-count-complete[b-m4ytooa0yb] {
	border-color: rgba(46, 213, 115, 0.35);
	background: rgba(46, 213, 115, 0.12);
	color: var(--eg-palette-success);
}

.sets-count-complete .sets-count-total[b-m4ytooa0yb] {
	color: rgba(46, 213, 115, 0.75);
}

.sets-panel-summary[b-m4ytooa0yb] {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}

.last-set-value[b-m4ytooa0yb] {
	font-size: 0.9375rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--eg-palette-text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

[b-m4ytooa0yb] .sets-expansion-panel .eg-expansion-panel-content {
	margin-top: 8px;
}

[b-m4ytooa0yb] .expand-chevron {
	transition: transform 200ms ease;
}

[b-m4ytooa0yb] .eg-expansion-panel-expanded .expand-chevron {
	transform: rotate(180deg);
}

/* Set note display */
.set-note-display[b-m4ytooa0yb] {
	column-span: all;
	width: 100%;
	display: flex;
	align-items: center;
	gap: 4px;
	margin-top: 2px;
	color: var(--eg-palette-text-secondary);
}

.set-notes-area[b-m4ytooa0yb] {
	width: 100%;
}

[b-m4ytooa0yb] .set-note-input {
	width: 100%;
	background: var(--eg-palette-surface);
	border: 1px solid var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-md);
	padding: 8px 12px;
	color: var(--eg-palette-text-primary);
	font-size: var(--eg-font-body);
	min-height: 40px;
}

/* ── Cardio-Zusatzmetriken (optional) ───────────────────────────────────── */

.cardio-extras[b-m4ytooa0yb] {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.extra-metrics-grid[b-m4ytooa0yb] {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 4px;
}

.extra-metric-field[b-m4ytooa0yb] {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
/* /Components/Sessions/Excercise/SessionRestTimer.razor.rz.scp.css */
.session-rest-timer[b-01zl0nbzqw] {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--eg-spacing-sm);
	padding: var(--eg-spacing-sm) var(--eg-spacing-md);
	background: var(--eg-palette-surface-accent);
	border-bottom: 1px solid var(--eg-palette-divider);
}

.session-rest-timer-done[b-01zl0nbzqw] {
	background: color-mix(in srgb, var(--eg-palette-success) 14%, var(--eg-palette-surface-accent));
	animation: rest-timer-pulse-b-01zl0nbzqw 1.2s ease-in-out infinite;
}

.rest-timer-status[b-01zl0nbzqw] {
	display: flex;
	align-items: center;
	gap: var(--eg-spacing-sm);
	min-width: 0;
}

/* The status doubles as the editor trigger, so the whole block is a button. */
.rest-timer-status-btn[b-01zl0nbzqw] {
	background: none;
	border: none;
	padding: 4px var(--eg-spacing-sm) 4px 0;
	margin: 0;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
	border-radius: var(--eg-radius-sm);
	min-height: 44px;
	-webkit-tap-highlight-color: transparent;
	transition: background var(--eg-transition-fast);
}

.rest-timer-status-btn:active[b-01zl0nbzqw] {
	background: rgba(255, 255, 255, 0.06);
}

.rest-timer-edit-icon[b-01zl0nbzqw] {
	opacity: 0.55;
	margin-left: 2px;
}

.rest-timer-text[b-01zl0nbzqw] {
	display: flex;
	flex-direction: column;
	line-height: 1.1;
	min-width: 0;
}

.rest-timer-clock[b-01zl0nbzqw] {
	font-size: var(--eg-font-subtitle);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--eg-palette-text-primary);
}

.rest-timer-actions[b-01zl0nbzqw] {
	display: flex;
	align-items: center;
	gap: 2px;
	flex-shrink: 0;
}

.rest-timer-adjust[b-01zl0nbzqw] {
	min-width: 48px;
	min-height: 40px;
	padding: 0 var(--eg-spacing-sm);
	border: 1px solid var(--eg-palette-divider);
	border-radius: var(--eg-radius-pill);
	background: var(--eg-palette-surface);
	color: var(--eg-palette-text-secondary);
	font: inherit;
	font-size: var(--eg-font-caption);
	font-variant-numeric: tabular-nums;
	cursor: pointer;
	transition: var(--eg-transition-fast);
}

.rest-timer-adjust:active[b-01zl0nbzqw] {
	background: var(--eg-palette-selected, rgba(255, 255, 255, 0.12));
	border-color: var(--eg-palette-primary);
	color: var(--eg-palette-primary);
}

@keyframes rest-timer-pulse-b-01zl0nbzqw {
	0%,
	100% {
		opacity: 1;
	}
	50% {
		opacity: 0.72;
	}
}
/* /Components/Sessions/HistoryFilterStrip.razor.rz.scp.css */
/* HistoryFilterStrip — pill group of 3 buttons (All / Active / Archived)
   with a small count chip on the right. Reuses the same radiogroup
   ARIA pattern as TimeRangeSelector.

   Note: We intentionally duplicate the .eg-time-range-pill rules
   here rather than abstracting into a shared .eg-pill class — the
   project prefers flat CSS selectors and a small amount of duplication
   over a premature abstraction. Refactor later if a 3rd pill group
   appears. */

.eg-history-filter[b-o0dx6mtnna] {
	display: inline-flex;
	gap: 8px;
	flex-wrap: wrap;
}

.eg-history-filter-pill[b-o0dx6mtnna] {
	/* Touch-target floor (48 px) with breathing room for the label. */
	min-height: 36px;
	padding: 0 12px;

	display: inline-flex;
	align-items: center;
	gap: 8px;

	background-color: var(--eg-palette-surface);
	color: var(--eg-palette-text-secondary);
	border: 1px solid var(--eg-palette-divider);
	border-radius: 18px;

	font: inherit;
	font-size: 0.875rem;
	font-weight: 500;
	cursor: pointer;
	transition:
		background-color 120ms ease,
		color 120ms ease,
		border-color 120ms ease;
}

.eg-history-filter-pill:hover[b-o0dx6mtnna] {
	background-color: var(--eg-palette-surface-accent);
}

.eg-history-filter-pill:focus-visible[b-o0dx6mtnna] {
	outline: 2px solid var(--eg-palette-primary);
	outline-offset: 2px;
}

.eg-history-filter-pill--active[b-o0dx6mtnna],
.eg-history-filter-pill--active:hover[b-o0dx6mtnna] {
	background-color: var(--eg-palette-primary);
	color: var(--eg-palette-text-primary);
	border-color: var(--eg-palette-primary);
}

.eg-history-filter-pill-label[b-o0dx6mtnna] {
	white-space: nowrap;
}

.eg-history-filter-pill-count[b-o0dx6mtnna] {
	/* Small muted chip on the right of the label. */
	display: inline-block;
	min-width: 1.5rem;
	padding: 0 6px;
	border-radius: 9px;
	background-color: var(--eg-palette-surface-accent);
	color: var(--eg-palette-text-secondary);
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}

.eg-history-filter-pill--active .eg-history-filter-pill-count[b-o0dx6mtnna] {
	/* Active pill: count chip picks up the inverse of the primary
       background. SurfaceAccent has good contrast on Primary. */
	background-color: var(--eg-palette-background);
	color: var(--eg-palette-text-primary);
}
/* /Components/Sessions/HistoryTab.razor.rz.scp.css */
/* HistoryTab — spacing between the filter strip and the list. */

[b-q3r5idgj25] .eg-history-tab__filter {
	margin-bottom: 12px;
}
/* /Components/Sessions/RecentSessionCard.razor.rz.scp.css */
.eg-recent-session-card[b-m4rovky549] {
	cursor: pointer;
	transition:
		transform var(--eg-transition-fast),
		box-shadow var(--eg-transition-fast);
}

.eg-recent-session-card:hover[b-m4rovky549] {
	transform: translateY(-1px);
	box-shadow: var(--eg-shadow-card);
}

.eg-recent-session-card:active[b-m4rovky549] {
	transform: scale(0.99);
}

.eg-recent-session-card .eg-card-content[b-m4rovky549] {
	padding: 12px 16px;
}

.eg-session-icon[b-m4rovky549] {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: rgba(255, 107, 53, 0.12);
}

[b-m4rovky549] .eg-session-info {
	flex: 1;
	min-width: 0;
	overflow: hidden;
}

[b-m4rovky549] .eg-session-info .eg-text {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* .eg-session-owner-badge {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
	margin-bottom: 6px;
	padding-left: 4px;
} */

.eg-owner-link[b-m4rovky549] {
	display: inline-flex;
	text-decoration: none;
	color: inherit;
}

.eg-owner-link:focus-visible[b-m4rovky549] {
	outline: 2px solid var(--eg-palette-primary);
	outline-offset: 4px;
	border-radius: 8px;
}

.eg-owner-avatar[b-m4rovky549] {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	object-fit: cover;
}

.eg-friend-session[b-m4rovky549] {
	border-left: 3px solid var(--eg-palette-primary);
}

.eg-friend-session .eg-session-icon[b-m4rovky549] {
	background-color: rgba(100, 181, 246, 0.12);
}
/* /Components/Sessions/SaveSessionToPlanDialog.razor.rz.scp.css */
/* Combined "Save to plan" sheet. Two mode tiles, an inline plan list, and a
 * primary confirm that changes its label based on the active tile. */

.eg-save-to-plan[b-w8czh8skpn] {
	display: flex;
	flex-direction: column;
	gap: var(--eg-spacing-md);
}

.eg-save-to-plan-tiles[b-w8czh8skpn] {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--eg-spacing-sm);
}

.eg-save-to-plan-tile[b-w8czh8skpn] {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 72px;
	padding: var(--eg-spacing-sm);
	background: var(--eg-palette-surface-accent);
	border: 2px solid transparent;
	border-radius: var(--eg-radius-md);
	color: var(--eg-palette-text-secondary);
	cursor: pointer;
	transition: border-color var(--eg-transition-fast), color var(--eg-transition-fast);
	font-family: inherit;
}

.eg-save-to-plan-tile:hover[b-w8czh8skpn] {
	border-color: var(--eg-palette-primary);
	color: var(--eg-palette-text-primary);
}

.eg-save-to-plan-tile-active[b-w8czh8skpn] {
	border-color: var(--eg-palette-primary);
	color: var(--eg-palette-primary);
	background: rgba(255, 107, 53, 0.08);
}

.eg-save-to-plan-tile .material-icons[b-w8czh8skpn] {
	font-size: 1.75rem;
}

.eg-save-to-plan-tile-label[b-w8czh8skpn] {
	font-size: 0.875rem;
	font-weight: 600;
}

.eg-save-to-plan-section[b-w8czh8skpn] {
	display: flex;
	flex-direction: column;
	gap: var(--eg-spacing-xs);
}

/* Cap the inline plan list so the sheet doesn't run off-screen on small
 * phones. The list scrolls inside its own panel. */
.eg-save-to-plan-list[b-w8czh8skpn] {
	max-height: 40vh;
}

[b-w8czh8skpn] .eg-save-to-plan-trailing {
	color: var(--eg-palette-text-disabled);
	font-size: 1.5rem;
}

[b-w8czh8skpn] .eg-picker-item-selected .eg-save-to-plan-trailing {
	color: var(--eg-palette-primary);
}
/* /Components/Sessions/SessionCard.razor.rz.scp.css */
.eg-session-card[b-b18gdjs99h] {
	cursor: pointer;
}

.eg-session-card--cardio[b-b18gdjs99h] {
	border-left: 3px solid var(--eg-palette-info);
}

[b-b18gdjs99h] .eg-session-info {
	overflow: hidden;
}

.eg-session-menu[b-b18gdjs99h] {
	animation: fadeIn-b-b18gdjs99h 0.15s ease-out;
}

.eg-menu-item[b-b18gdjs99h] {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	width: 100%;
	padding: 0.625rem 0.5rem;
	background: none;
	border: none;
	color: var(--eg-palette-text-primary);
	cursor: pointer;
	border-radius: var(--eg-radius-sm);
	font-family: inherit;
	font-size: 0.875rem;
}

.eg-menu-item:active[b-b18gdjs99h] {
	background-color: var(--eg-palette-surface-elevated);
}

[b-b18gdjs99h] .eg-menu-icon {
	font-size: 1.25rem;
}

@keyframes fadeIn-b-b18gdjs99h {
	from {
		opacity: 0;
		transform: translateY(-4px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}
/* /Components/Sessions/SessionCompletionCard.razor.rz.scp.css */
/* css-isolation-anchor exists so the Blazor scope attribute has a real
   HTML element to attach to. The class itself is defined globally in
   reset.css as `display: contents`. */

.completion-card[b-5snehdm0jj] {
	height: 100%;
	display: flex;
	flex-direction: column;
}

[b-5snehdm0jj] .completion-card-outer {
	flex: 1;
	display: flex;
	flex-direction: column;
	height: 100%;
}

[b-5snehdm0jj] .completion-card-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	overflow-y: auto;
	padding-top: var(--eg-spacing-md);
	padding-bottom: var(--eg-spacing-lg);
}

.session-stats-section[b-5snehdm0jj] {
	display: flex;
	flex-direction: column;
	gap: var(--eg-spacing-sm);
}

.session-stats-title[b-5snehdm0jj] {
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: var(--eg-font-caption);
	font-weight: 600;
}

.stats-grid[b-5snehdm0jj] {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(124px, 1fr));
	gap: var(--eg-spacing-sm);
}

.stat-tile[b-5snehdm0jj] {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: var(--eg-spacing-sm);
	background: var(--eg-palette-surface-accent);
	border: 1px solid var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-md);
	min-height: 84px;
}

/* .muscle-distribution-section is now owned by the shared
   <MuscleDistribution> component (see
   Components/Common/MuscleDistribution.razor.css) — the only thing
   we still need here is the `w-100` width override when it's dropped
   inside the completion card's flex column. */

.session-notes-section[b-5snehdm0jj] {
	width: 100%;
}

[b-5snehdm0jj] .eg-notes-textarea {
	width: 100%;
	min-height: 72px;
	background: var(--eg-palette-surface-accent);
	border: 1px solid var(--eg-palette-divider);
	border-radius: var(--eg-radius-md);
	color: var(--eg-palette-text-primary);
	font-family: inherit;
	font-size: var(--eg-font-body);
	padding: 8px 12px;
	resize: vertical;
	outline: none;
	transition: border-color var(--eg-transition-fast);
}

[b-5snehdm0jj] .eg-notes-textarea:focus {
	border-color: var(--eg-palette-primary);
}

[b-5snehdm0jj] .eg-notes-textarea::placeholder {
	color: var(--eg-palette-text-disabled);
	font-size: var(--eg-font-caption);
}
/* /Components/Sessions/SessionExerciseSummaryCard.razor.rz.scp.css */
[b-wskpq0umjd] .exercise-card {
	transition: transform var(--eg-transition-fast);
}

[b-wskpq0umjd] .exercise-card:hover {
	transform: translateY(-1px);
}

/* Cardio: Kennzahlen statt Satzzeilen ------------------------------------- */

.cardio-metrics[b-wskpq0umjd] {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(84px, 1fr));
	gap: 8px;
	margin-top: 4px;
}

.cm-item[b-wskpq0umjd] {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 8px 10px;
	border-radius: var(--eg-radius-md, 8px);
	background: var(--eg-palette-surface-variant, rgba(255, 255, 255, 0.04));
}

.cm-primary[b-wskpq0umjd] {
	background: var(--eg-palette-primary-opacity-10, rgba(255, 143, 84, 0.12));
}

.cm-value[b-wskpq0umjd] {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.15;
	font-variant-numeric: tabular-nums;
}

.cm-primary .cm-value[b-wskpq0umjd] {
	color: var(--eg-palette-primary, #ff8f54);
	font-size: 1.3rem;
}

.cm-label[b-wskpq0umjd] {
	font-size: 0.7rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	opacity: 0.65;
}

.cardio-extra[b-wskpq0umjd] {
	margin-top: 6px;
}

/* Delta zum letzten Mal + PR-Marker am Satz --------------------------------- */

.exercise-delta[b-wskpq0umjd] {
	margin-left: 6px;
	font-weight: 700;
}

.exercise-delta[data-role="up"][b-wskpq0umjd] { color: var(--eg-palette-success, #4caf50); }
.exercise-delta[data-role="down"][b-wskpq0umjd] { color: var(--eg-palette-error, #ff5252); }

.set-value[b-wskpq0umjd] {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.set-pr-badge[b-wskpq0umjd] {
	font-size: 0.6rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	padding: 1px 5px;
	border-radius: 4px;
	background: var(--eg-palette-warning, #ffb300);
	color: #1a1a1a;
}
/* /Components/Sessions/SessionList.razor.rz.scp.css */
[b-ru2se29ukx] .eg-session-group-header {
	text-transform: capitalize;
	padding: 0.5rem 0 0.25rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.eg-session-group + .eg-session-group[b-ru2se29ukx],
.eg-session-group[b-ru2se29ukx]  .eg-session-card {
	margin-top: 0.5rem;
}
/* /Components/Sessions/SessionSummaryCard.razor.rz.scp.css */
[b-e16f00flif] .summary-card {
	background: linear-gradient(
		135deg,
		var(--eg-palette-surface) 0%,
		var(--eg-palette-surface-accent) 100%
	);
}

.stats-grid[b-e16f00flif] {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
	gap: var(--eg-spacing-md);
	text-align: center;
}

.title-display-row[b-e16f00flif] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--eg-spacing-sm);
}

.title-edit-row[b-e16f00flif] {
	display: flex;
	align-items: center;
	gap: var(--eg-spacing-sm);
}

[b-e16f00flif] .eg-inline-input {
	flex: 1;
	background: var(--eg-palette-surface-accent);
	border: 1px solid var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-md);
	padding: var(--eg-spacing-sm) var(--eg-spacing-md);
	color: var(--eg-palette-text-primary);
	font-size: 1.25rem;
	font-weight: 700;
	outline: none;
	transition: border-color var(--eg-transition-fast);
}

[b-e16f00flif] .eg-inline-input:focus {
	border-color: var(--eg-palette-primary);
}
/* /Components/SessionStart/FreestyleCard.razor.rz.scp.css */
/* FreestyleCard — selectable card matching RecentWorkoutCard visual rhythm. */

[b-ab53ccrxmb] .eg-freestyle-card {
    cursor: default;
}

[b-ab53ccrxmb] .eg-freestyle-card-selected {
    border: 1px solid var(--eg-palette-primary);
    background-color: rgba(255, 107, 53, 0.06);
}

.eg-freestyle-icon[b-ab53ccrxmb] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--eg-palette-primary-container, rgba(255, 107, 53, 0.12));
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

[b-ab53ccrxmb] .eg-freestyle-info {
    flex: 1 1 auto;
    min-width: 0;
}

.eg-freestyle-radio[b-ab53ccrxmb] {
    flex-shrink: 0;
    color: var(--eg-palette-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.eg-freestyle-radio .material-icons[b-ab53ccrxmb] {
    font-size: 1.5rem;
}
/* /Components/SessionStart/RecentWorkoutCard.razor.rz.scp.css */
/* RecentWorkoutCard — selectable card with radio indicator on the right edge. */

[b-rshueqiojh] .eg-recent-workout-card {
    cursor: default;
}

[b-rshueqiojh] .eg-recent-workout-card-selected {
    border: 1px solid var(--eg-palette-primary);
    background-color: rgba(255, 107, 53, 0.06);
}

.eg-recent-workout-icon[b-rshueqiojh] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--eg-palette-primary-container, rgba(99, 102, 241, 0.12));
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

[b-rshueqiojh] .eg-recent-workout-info {
    flex: 1 1 auto;
    min-width: 0;
}

.eg-recent-workout-radio[b-rshueqiojh] {
    flex-shrink: 0;
    color: var(--eg-palette-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.eg-recent-workout-radio .material-icons[b-rshueqiojh] {
    font-size: 1.5rem;
}
/* /Components/SessionStart/RecentWorkoutsList.razor.rz.scp.css */
/* RecentWorkoutsList — section header + list of cards + browse-all link. */

.eg-recent-workouts-list[b-kuasnfw1tw] {
    /* Visual grouping under the section eyebrow */
    padding-top: 0.25rem;
}

[b-kuasnfw1tw] .eg-recent-workouts-eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
}
/* /Components/SessionStart/WorkoutPreviewCard.razor.rz.scp.css */
/* WorkoutPreviewCard — the smart-load callout shown only for template workouts. */

.workout-preview-callout[b-azhxho3a6q] {
	margin-top: var(--eg-spacing-xs);
	padding: var(--eg-spacing-sm) var(--eg-spacing-md);
	background: color-mix(in srgb, var(--eg-palette-primary) 6%, transparent);
	border: 1px solid
		color-mix(in srgb, var(--eg-palette-primary) 25%, transparent);
	border-radius: var(--eg-radius-md, 12px);
}

.workout-preview-callout__icon[b-azhxho3a6q] {
	color: var(--eg-palette-primary);
	font-size: 1.125rem;
}

/* /Components/SessionStart/WorkoutSelector.razor.rz.scp.css */
.workout-option[b-lqi2bicp3t] {
	padding: 16px;
	background: var(--eg-palette-surface);
	border: 1px solid var(--eg-palette-divider);
	border-radius: var(--eg-radius-lg);
	cursor: pointer;
	transition:
		background 150ms ease,
		border-color 150ms ease;
}

.workout-option:hover[b-lqi2bicp3t] {
	background: rgba(255, 107, 53, 0.05);
}

.workout-option.selected[b-lqi2bicp3t] {
	border-color: var(--eg-palette-primary);
	background: rgba(255, 107, 53, 0.08);
}
/* /Components/TrainingPlans/ExerciseRow.razor.rz.scp.css */
[b-4deoj6r809] .exercise-row {
	border-radius: var(--eg-radius-md);
	border: 1px solid var(--eg-palette-divider);
	background-color: var(--eg-palette-surface);
	transition: border-color var(--eg-transition-fast);
}

[b-4deoj6r809] .exercise-row:hover {
	border-color: var(--eg-palette-primary);
}

[b-4deoj6r809] .exercise-row-content {
	padding: var(--eg-spacing-sm) var(--eg-spacing-md);
}

/* Single line: "Name ......... 5 Sets × 8"
   The name truncates; the set/rep summary is right-aligned and never wraps. */
.exercise-row-main[b-4deoj6r809] {
	display: flex;
	align-items: baseline;
	gap: var(--eg-spacing-sm);
	min-width: 0;
}

.exercise-name[b-4deoj6r809] {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 600;
	font-size: 0.9375rem;
	line-height: 1.3;
}

.exercise-summary[b-4deoj6r809] {
	flex-shrink: 0;
	color: var(--eg-palette-text-secondary);
	font-size: var(--eg-font-caption);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* Second line: the muscle group pill (colour comes from --mg, set inline). */
.exercise-row-meta[b-4deoj6r809] {
	display: flex;
	align-items: center;
	gap: var(--eg-spacing-xs);
	margin-top: 2px;
}

.exercise-muscle-pill[b-4deoj6r809] {
	display: inline-flex;
	align-items: center;
	height: 20px;
	padding: 0 var(--eg-spacing-sm);
	border-radius: var(--eg-radius-pill);
	font-size: var(--eg-font-small);
	font-weight: 600;
	line-height: 1;
	color: var(--mg);
	background: color-mix(in srgb, var(--mg) 16%, transparent);
	white-space: nowrap;
}
/* /Components/TrainingPlans/PlanCard.razor.rz.scp.css */
[b-8py9trhfnq] .eg-plan-card {
	position: relative;
	border-radius: var(--eg-radius-lg);
	overflow: hidden;
	cursor: pointer;
	transition:
		transform 150ms ease,
		box-shadow 150ms ease;
}

[b-8py9trhfnq] .eg-plan-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--eg-shadow-elevated);
}

[b-8py9trhfnq] .eg-plan-card:active {
	transform: scale(0.98);
}

[b-8py9trhfnq] .eg-plan-card-content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 16px;
}

.eg-plan-card-top[b-8py9trhfnq] {
	display: flex;
	flex-direction: column;
}

[b-8py9trhfnq] .eg-plan-card-title {
	font-weight: 700 !important;
	line-height: 1.2 !important;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

[b-8py9trhfnq] .eg-plan-card-desc {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	line-height: 1.4;
}

[b-8py9trhfnq] .eg-plan-details-btn {
	margin-top: -2px;
	margin-right: -6px;
}

[b-8py9trhfnq] .eg-plan-details-btn .material-icons {
	font-size: 1.25rem !important;
	filter: drop-shadow(0 0 6px rgba(255, 107, 53, 0.3));
	transition: filter 150ms ease;
}

[b-8py9trhfnq] .eg-plan-details-btn:hover .material-icons {
	filter: drop-shadow(0 0 12px rgba(255, 107, 53, 0.5));
}

[b-8py9trhfnq] .eg-plan-card-meta {
	flex-wrap: wrap;
	gap: 6px !important;
}

[b-8py9trhfnq] .eg-plan-meta-chip {
	height: 24px !important;
	border-color: var(--eg-palette-divider) !important;
	font-size: 0.7rem !important;
	letter-spacing: 0.01em;
}

[b-8py9trhfnq] .eg-difficulty-badge {
	height: 24px !important;
	font-size: 0.7rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em;
}
/* /Components/TrainingPlans/PlanDetailHeader.razor.rz.scp.css */
.plan-header-section[b-qi5pa7xq9f] {
	position: sticky;
	top: 0;
	z-index: 100;
	background: linear-gradient(
		180deg,
		var(--eg-palette-surface) 0%,
		var(--eg-palette-background) 100%
	);
	border-bottom: 1px solid var(--eg-palette-divider);
}

[b-qi5pa7xq9f] .plan-title {
	font-weight: 800 !important;
	line-height: 1.15 !important;
	background: linear-gradient(135deg, var(--eg-palette-primary), #ff8c42);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

[b-qi5pa7xq9f] .plan-description {
	line-height: 1.5;
	opacity: 0.85;
}

[b-qi5pa7xq9f] .plan-meta {
	margin-top: 4px;
	flex-wrap: wrap;
	gap: 0.5rem;
}
/* /Components/TrainingPlans/WorkoutCompositionBar.razor.rz.scp.css */
/* Thin strip that sits inside the collapsed expansion-panel header.
   Segments use flex-grow so they always fill the width regardless of rounding. */
.composition-bar[b-km3weieti2] {
	display: flex;
	width: 100%;
	height: 6px;
	border-radius: var(--eg-radius-pill);
	overflow: hidden;
	background: var(--eg-palette-divider-light);
	gap: 2px;
	margin-top: var(--eg-spacing-xs);
}

.composition-segment[b-km3weieti2] {
	min-width: 2px;
	background: var(--mg);
}
/* /Components/TrainingPlans/WorkoutCompositionLegend.razor.rz.scp.css */
.composition-legend[b-vigd22tub6] {
	padding-top: var(--eg-spacing-md);
	border-top: 1px dashed var(--eg-palette-divider-light);
}

.composition-legend-header[b-vigd22tub6] {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-bottom: var(--eg-spacing-sm);
}

.composition-legend-title[b-vigd22tub6] {
	font-size: var(--eg-font-small);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--eg-palette-text-secondary);
}

.composition-legend-hint[b-vigd22tub6] {
	font-size: var(--eg-font-small);
	color: var(--eg-palette-text-disabled);
}

.composition-legend-list[b-vigd22tub6] {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.legend-row[b-vigd22tub6] {
	display: grid;
	grid-template-columns: 8px minmax(72px, auto) 1fr 40px;
	align-items: center;
	gap: var(--eg-spacing-sm);
}

.legend-dot[b-vigd22tub6] {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--mg);
}

.legend-label[b-vigd22tub6] {
	font-size: var(--eg-font-small);
	color: var(--eg-palette-text-secondary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.legend-track[b-vigd22tub6] {
	display: block;
	height: 6px;
	background: var(--eg-palette-divider-light);
	border-radius: var(--eg-radius-pill);
	overflow: hidden;
}

.legend-fill[b-vigd22tub6] {
	display: block;
	height: 100%;
	background: var(--mg);
	border-radius: var(--eg-radius-pill);
	transition: width var(--eg-transition-fast);
}

.legend-value[b-vigd22tub6] {
	font-size: var(--eg-font-small);
	font-weight: 700;
	color: var(--eg-palette-text-primary);
	font-variant-numeric: tabular-nums;
	text-align: right;
}
/* /Components/TrainingPlans/WorkoutDetailPanel.razor.rz.scp.css */
.workout-panel-header[b-h7yb5h5hxe] {
	width: 100%;
}

[b-h7yb5h5hxe] .workout-title {
	font-weight: 700 !important;
	font-size: 1.0625rem !important;
	line-height: 1.25 !important;
}

[b-h7yb5h5hxe] .workout-description {
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/* /Layout/BottomNav.razor.rz.scp.css */
.bottom-nav[b-v315dh6cu1] {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	justify-content: space-around;
	align-items: center;
	height: calc(64px + env(safe-area-inset-bottom, 0px));
	background-color: var(--eg-palette-surface-accent);
	border-top: 1px solid var(--eg-palette-divider);
	z-index: 1200;
	padding-bottom: env(safe-area-inset-bottom, 0);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

[b-v315dh6cu1] .nav-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	text-decoration: none;
	color: var(--eg-palette-text-secondary);
	min-width: 56px;
	min-height: 48px;
	border-radius: 8px;
	transition:
		color 150ms ease,
		transform 150ms ease;
	cursor: pointer;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
}

[b-v315dh6cu1] .nav-item:hover {
	color: var(--eg-palette-primary);
}

[b-v315dh6cu1] .nav-item.active {
	color: var(--eg-palette-primary);
}

[b-v315dh6cu1] .nav-item.active .nav-icon {
	filter: drop-shadow(0 0 6px rgba(255, 107, 53, 0.4));
}

[b-v315dh6cu1] .nav-item.active .nav-avatar {
	box-shadow: 0 0 6px rgba(255, 107, 53, 0.4);
}

[b-v315dh6cu1] .nav-label {
	font-size: 0.65rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1;
}

[b-v315dh6cu1] .nav-item-center {
	position: relative;
	top: -12px;
}

[b-v315dh6cu1] .quick-start-ring {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	background: linear-gradient(135deg, var(--eg-palette-primary), #ff8c42);
	border-radius: 50%;
	color: white;
	box-shadow: 0 4px 14px rgba(255, 107, 53, 0.4);
	transition:
		transform 200ms ease,
		box-shadow 200ms ease;
}

[b-v315dh6cu1] .quick-start-ring:hover {
	transform: scale(1.08);
	box-shadow: 0 6px 20px rgba(255, 107, 53, 0.5);
}

[b-v315dh6cu1] .quick-start-ring:active {
	transform: scale(0.95);
}

[b-v315dh6cu1] .nav-item-center .nav-label {
	margin-top: 8px;
	color: var(--eg-palette-primary);
	font-weight: 600;
}
/* /Layout/MainLayout.razor.rz.scp.css */
[b-35pn03jy4r] .eg-mobile-layout {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	background-color: var(--eg-palette-background);
}

/* Immersive pages (active session tracker, workout editor) own the whole
   viewport. Pinning to 100dvh instead of min-height: 100vh keeps the page
   footer inside the visible viewport while iOS toolbars are showing. */
[b-35pn03jy4r] .eg-mobile-layout.eg-immersive-layout {
	height: 100dvh;
	min-height: 0;
	overflow: hidden;
}

[b-35pn03jy4r] .eg-immersive-layout .eg-main-content {
	padding-top: 0;
	padding-bottom: 0;
	min-height: 0;
	min-width: 0;
	overflow: hidden;
}
/* /Pages/Exercises.razor.rz.scp.css */
.eg-exercises-page[b-fq3s16kkfp] {
	padding-bottom: calc(
		var(--eg-bottom-nav-height) +
		var(--eg-safe-area-bottom) +
		1rem
	);
}

[b-fq3s16kkfp] .eg-exercises-fab {
	position: fixed;
	bottom: calc(var(--eg-bottom-nav-height) + var(--eg-safe-area-bottom) + 1rem);
	right: 1rem;
	z-index: 100;
	background: var(--eg-palette-primary);
	color: #fff;
	border-radius: 50%;
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--eg-shadow-elevated);
}
/* /Pages/Home.razor.rz.scp.css */
.eg-landing-page[b-21blk1cbbv] {
	position: relative;
	min-height: calc(
		100dvh -
		var(--eg-bottom-nav-height) -
		var(--eg-safe-area-top)
	);
	width: 100%;
	overflow-x: hidden;
}

.eg-landing-content[b-21blk1cbbv] {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: calc(
		100dvh -
		var(--eg-bottom-nav-height) -
		var(--eg-safe-area-top)
	);
	padding-bottom: calc(var(--eg-safe-area-bottom, 0px) + 2rem);
}

.eg-dev-login-section[b-21blk1cbbv] {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	width: 100%;
	max-width: 400px;
	padding: 0 1.5rem;
	margin-top: -0.5rem;
	margin-bottom: 0.5rem;
}
/* /Pages/Me.razor.rz.scp.css */
.eg-me-page[b-dcbhe2vnfy] {
	position: relative;
	min-height: calc(
		100dvh -
		var(--eg-bottom-nav-height) -
		var(--eg-safe-area-top)
	);
}
/* /Pages/PlanBuilder.razor.rz.scp.css */
.eg-plan-builder-page[b-k9lgg4x22q] {
	padding-bottom: calc(
		var(--eg-bottom-nav-height) +
		var(--eg-safe-area-bottom) +
		1rem
	);
}
/* /Pages/PlanDetail.razor.rz.scp.css */
.plan-detail-page[b-0in3yvwgjd] {
	min-height: calc(
		100dvh -
		var(--eg-bottom-nav-height, 64px) -
		var(--eg-safe-area-top)
	);
	position: relative;
}

.workouts-section[b-0in3yvwgjd] {
	flex: 1;
	padding-top: 8px;
	padding-bottom: calc(
		var(--eg-bottom-nav-height, 64px) +
		var(--eg-safe-area-bottom, 16px)
	);
}

[b-0in3yvwgjd] .workout-panels {
	background: transparent !important;
	border-radius: var(--eg-radius-lg) !important;
	overflow: hidden;
	border: 1px solid var(--eg-palette-divider);
}

[b-0in3yvwgjd] .workout-panels .eg-expansion-panel {
	background-color: var(--eg-palette-surface) !important;
	border-bottom: 1px solid var(--eg-palette-divider);
}

[b-0in3yvwgjd] .workout-panels .eg-expansion-panel:last-child {
	border-bottom: none;
}

[b-0in3yvwgjd] .workout-panels .eg-expansion-panel-header {
	padding: 16px !important;
	min-height: unset !important;
}

[b-0in3yvwgjd] .expand-icon {
	transition: transform 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

[b-0in3yvwgjd] .eg-expansion-panel-expanded .expand-icon {
	transform: rotate(180deg);
}
/* /Pages/Plans.razor.rz.scp.css */
.eg-plans-page[b-wf6impknhj] {
	min-height: calc(
		100vh -
		var(--eg-bottom-nav-height) -
		var(--eg-safe-area-bottom) -
		var(--eg-safe-area-top)
	);
	display: flex;
	flex-direction: column;
}

[b-wf6impknhj] .eg-plans-tabs .eg-tabs-toolbar {
	background-color: var(--eg-palette-surface);
	border-radius: var(--eg-radius-lg);
}

[b-wf6impknhj] .eg-plans-tabs .eg-tab {
	text-transform: none;
	font-weight: 600;
	letter-spacing: 0;
	border-radius: var(--eg-radius-lg);
	justify-content: center;
	width: 100%;
	flex: 1;
}

[b-wf6impknhj] .eg-plans-tabs .eg-tab-active {
	background-color: rgba(255, 107, 53, 0.12);
	color: var(--eg-palette-primary) !important;
}

[b-wf6impknhj] .eg-empty-state {
	border-radius: var(--eg-radius-lg);
	border: 1px dashed var(--eg-palette-divider);
	background: transparent;
	text-align: center;
}

[b-wf6impknhj] .eg-plans-list {
	margin-bottom: calc(var(--eg-bottom-nav-height) + var(--eg-safe-area-bottom));
}
/* /Pages/SessionHistory.razor.rz.scp.css */
.eg-session-history-page[b-7whk0ihhm1] {
	padding-bottom: calc(
		var(--eg-bottom-nav-height) +
		var(--eg-safe-area-bottom)
	);
}
/* /Pages/SessionStart.razor.rz.scp.css */
.session-start-page[b-b6bpsiuwe2] {
	min-height: calc(
		100dvh -
		var(--eg-bottom-nav-height, 64px) -
		var(--eg-safe-area-top)
	);
	padding-top: 8px;
}

.eg-input[b-b6bpsiuwe2] {
	width: 100%;
	padding: 12px 16px;
	background: var(--eg-palette-surface);
	border: 1px solid var(--eg-palette-divider);
	border-radius: var(--eg-radius-md);
	color: var(--eg-palette-text-primary);
	font-size: 1rem;
	font-family: inherit;
	transition: border-color 200ms ease;
}

.eg-input:focus[b-b6bpsiuwe2] {
	outline: none;
	border-color: var(--eg-palette-primary);
}

.eg-input[b-b6bpsiuwe2]::placeholder {
	color: var(--eg-palette-text-secondary);
	opacity: 0.6;
}

/* ── Session type toggle (Strength vs Cardio) ── */
.eg-session-type-toggle[b-b6bpsiuwe2] {
	display: flex;
	gap: 8px;
	width: 100%;
}

.eg-type-pill[b-b6bpsiuwe2] {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 16px;
	border: 1px solid var(--eg-palette-divider);
	border-radius: var(--eg-radius-md);
	background: var(--eg-palette-surface);
	color: var(--eg-palette-text-secondary);
	cursor: pointer;
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	transition: all 200ms ease;
}

.eg-type-pill .material-icons[b-b6bpsiuwe2] {
	font-size: 1.25rem;
}

.eg-type-pill--active[b-b6bpsiuwe2] {
	border-color: var(--eg-palette-primary);
	color: var(--eg-palette-primary);
	background: color-mix(in srgb, var(--eg-palette-primary) 10%, transparent);
}

.eg-type-pill--cardio.eg-type-pill--active[b-b6bpsiuwe2] {
	border-color: var(--eg-palette-info);
	color: var(--eg-palette-info);
	background: color-mix(in srgb, var(--eg-palette-info) 10%, transparent);
}
/* /Pages/SessionSummary.razor.rz.scp.css */
.session-summary-page[b-96u2lp5hfp] {
	min-height: calc(
		100vh -
		var(--eg-bottom-nav-height) -
		var(--eg-safe-area-bottom) -
		var(--eg-safe-area-top)
	);
	display: flex;
	flex-direction: column;
	padding-top: 8px;
	padding-bottom: 16px;
}

/* Personal Records section on session summary */
[b-96u2lp5hfp] .pb-card {
	background: rgba(255, 214, 0, 0.05) !important;
	border: 1px solid rgba(255, 214, 0, 0.2) !important;
}

[b-96u2lp5hfp] .pb-card-content {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px !important;
}

.pr-badge-summary[b-96u2lp5hfp] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 214, 0, 0.2);
	border: 1px solid rgba(255, 214, 0, 0.5);
	border-radius: var(--eg-radius-sm);
	color: #ffd600;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	min-width: 32px;
	padding: 4px 8px;
	text-transform: uppercase;
	white-space: nowrap;
}

.pb-card-text[b-96u2lp5hfp] {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

[b-96u2lp5hfp] .pb-exercise-name {
	font-weight: 600 !important;
}

/* Session notes */
[b-96u2lp5hfp] .session-notes-card {
	background: var(--eg-palette-surface-accent) !important;
	border: 1px solid var(--eg-palette-divider) !important;
}

/* Rekord-Arten als Chips — eine Karte pro Übung statt pro Rekordzeile */
[b-96u2lp5hfp] .pb-type-chip {
	display: inline-block;
	font-size: 0.68rem;
	font-weight: 600;
	padding: 1px 7px;
	border-radius: 999px;
	border: 1px solid var(--eg-palette-primary, #ff6b35);
	color: var(--eg-palette-primary, #ff6b35);
	opacity: 0.9;
}
/* /Pages/SessionTracker.razor.rz.scp.css */
.session-tracker-page[b-79jeajg7se] {
	height: 100dvh;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.loading-view[b-79jeajg7se] {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tracker-header[b-79jeajg7se] {
	flex-shrink: 0;
	padding-top: env(safe-area-inset-top, 0);
	border-bottom: 1px solid var(--eg-palette-divider);
	background: var(--eg-palette-surface);
}

.tracker-footer[b-79jeajg7se] {
	flex-shrink: 0;
	padding-bottom: calc(16px + env(safe-area-inset-bottom, 0));
	background: var(--eg-palette-surface);
	border-top: 1px solid var(--eg-palette-divider);
}

.exercise-counter-btn[b-79jeajg7se] {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: var(--eg-palette-surface-accent, rgba(0, 0, 0, 0.04));
	border: 1px solid var(--eg-palette-divider);
	border-radius: 9999px;
	cursor: pointer;
	padding: 6px 12px;
	color: inherit;
	font: inherit;
	line-height: 1;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

.exercise-counter-btn .material-icons[b-79jeajg7se] {
	font-size: 18px;
	color: var(--eg-palette-text-secondary);
	transition: color 150ms ease;
}

.exercise-counter-btn:hover[b-79jeajg7se] {
	background: var(--eg-palette-hover, rgba(0, 0, 0, 0.08));
	border-color: var(--eg-palette-text-secondary);
}

.exercise-counter-btn:active[b-79jeajg7se] {
	background: var(--eg-palette-selected, rgba(0, 0, 0, 0.12));
	border-color: var(--eg-palette-primary);
}

.exercise-counter-btn:hover .material-icons[b-79jeajg7se],
.exercise-counter-btn:active .material-icons[b-79jeajg7se] {
	color: var(--eg-palette-primary);
}

/* Not-found / empty-session branches render outside .tracker-header, so they
   must carry their own safe-area padding now that the immersive layout
   removes it from .eg-main-content. */
.tracker-standalone[b-79jeajg7se] {
	flex: 1;
	overflow-y: auto;
	padding-top: env(safe-area-inset-top, 0);
	padding-bottom: env(safe-area-inset-bottom, 0);
}
/* /Pages/Settings/Admin.razor.rz.scp.css */
/* Settings Admin Page Styles */
.eg-admin-page[b-iqq797xnwk] {
	min-height: calc(
		100vh -
		var(--eg-bottom-nav-height) -
		var(--eg-safe-area-bottom) -
		var(--eg-safe-area-top)
	);
	padding-bottom: calc(var(--eg-bottom-nav-height) + var(--eg-safe-area-bottom));
}

.eg-admin-email-row[b-iqq797xnwk] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--eg-spacing-md);
}

.eg-admin-email-info[b-iqq797xnwk] {
	display: flex;
	flex-direction: column;
	gap: var(--eg-spacing-xs);
	flex: 1;
	min-width: 0;
}

.eg-admin-email-info span[b-iqq797xnwk] {
	color: var(--eg-palette-text-secondary);
}
/* /Pages/WorkoutBuilder.razor.rz.scp.css */
.workout-builder-page[b-q48xvdvwte] {
	height: 100dvh;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.workout-builder-header[b-q48xvdvwte] {
	flex-shrink: 0;
	padding-top: env(safe-area-inset-top, 0);
	border-bottom: 1px solid var(--eg-palette-divider);
	background: var(--eg-palette-surface);
}

.workout-builder-meta[b-q48xvdvwte] {
	padding: 12px 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	/* Card-style surface that matches the exercise slide and the carousel
	   footer below. The EgCard elevation-1 look (surface bg, large radius,
	   soft shadow) ties the three zones together. */
	background: var(--eg-palette-surface);
	border-radius: var(--eg-radius-lg);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	/* Constrain to the slide width so the card doesn't stretch across a
	   wide desktop viewport. */
	max-width: 600px;
	width: calc(100% - 32px);
	margin: 16px auto 8px;
}

.workout-builder-meta .eg-meta-row[b-q48xvdvwte] {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
}

/* Form inputs in the meta block stretch to fill the row so the workout
   name / description / duration fields don't render as their intrinsic
   (auto) size inside a flex row. */
.workout-builder-meta .eg-meta-row > .eg-form-input[b-q48xvdvwte],
.workout-builder-meta .eg-meta-row > .eg-form-textarea[b-q48xvdvwte] {
	flex: 1 1 100%;
	min-width: 0;
}

/* The duration + count chip row keeps its layout (label + number input +
   chip) but the number input is allowed to size to its content rather
   than stretching. Override the 100% above for the duration row only. */
.workout-builder-meta .eg-meta-row .eg-duration-input[b-q48xvdvwte] {
	flex: 0 0 auto;
	width: 96px;
}

/* The slide inner wrapper stretches so the exercise card can use
   flex: 1 to fill the slide's remaining height. */
.eg-workout-exercise-slide[b-q48xvdvwte] {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.workout-builder-carousel[b-q48xvdvwte] {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: 0;
	/* Match the slide width so the carousel footer (prev/next arrows +
	   dots) doesn't stretch to the full viewport. EgCarousel slides are
	   600px max; this keeps the footer aligned with them. */
	max-width: 600px;
	width: 100%;
	margin: 0 auto;
}

/* Card-style background for the carousel footer so it visually matches
   the meta block above and the exercise slide cards. The EgCarousel
   component renders .eg-carousel-footer as a sibling of the viewport,
   so we need ::deep to reach into the child component. */
.workout-builder-carousel[b-q48xvdvwte]  .eg-carousel-footer {
	background: var(--eg-palette-surface);
	border-radius: var(--eg-radius-lg);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	margin: 8px 16px 16px 16px;
}

.workout-builder-footer[b-q48xvdvwte] {
	flex-shrink: 0;
	padding-bottom: calc(16px + env(safe-area-inset-bottom, 0));
	background: var(--eg-palette-surface);
	border-top: 1px solid var(--eg-palette-divider);
}
