:root {
	--accent-primary:#007bff;
	--accent-primary-rgb:0,123,255;
	--accent-secondary:#0056b3;
	--bg-card-mobile:#404040;
	--bg-primary:#1a1a1a;
	--bg-primary-rgb:26,26,26;
	--bg-secondary:#2d2d2d;
	--bg-tertiary:#3a3a3a;
	--border-color:#404040;
	--border-radius-lg:12px;
	--border-radius-md:8px;
	--border-radius-sm:4px;
	--border-radius-xl:16px;
	--container-margin:var(--spacing-md);
	--container-padding:var(--spacing-md);
	--danger:#dc3545;
	--error:#dc3545;
	--font-size-lg:1.125rem;
	--font-size-md:1rem;
	--font-size-sm:.875rem;
	--font-size-xl:1.25rem;
	--font-size-xs:.75rem;
	--glass-bg:rgba(40, 44, 52, 0.349);
	--glass-bg-dark:rgba(40, 44, 52, 0.349);
	--glass-bg-light:rgba(255, 255, 255, 0.122);
	--glass-blur:blur(16px);
	--glass-border:1.5px solid rgba(255, 255, 255, 0.251);
	--glass-shadow:0 8px 32px 0 rgba(31, 38, 135, 0.18);
	--mobile-header-height:56px;
	--mobile-nav-height:40px;
	--mobile-padding:.75rem;
	--primary-color:#4CAF50;
	--shadow-color:rgba(0, 0, 0, 0.2);
	--spacing-lg:1rem;
	--spacing-md:.75rem;
	--spacing-sm:.5rem;
	--spacing-xl:1.5rem;
	--spacing-xs:.25rem;
	--success:#28a745;
	--text-primary:#fff;
	--text-secondary:#b3b3b3;
	--warning:#ffc107
}
.light-theme {
	--bg-card-mobile:#e8e8e8;
	--bg-primary:#fff;
	--bg-secondary:#f8f9fa;
	--bg-tertiary:#f0f0f0;
	--border-color:#dee2e6;
	--glass-bg:rgba(255, 255, 255, 0.349);
	--glass-border:1.5px solid rgba(200, 200, 200, 0.251);
	--shadow-color:rgba(0, 0, 0, 0.102);
	--text-primary:#333;
	--text-secondary:#6c757d
}
* {
	box-sizing:border-box
}
*,html,body {
	margin:0;
	padding:0
}
html,body {
	overflow-x:hidden;
	-webkit-text-size-adjust:100%;
	-moz-text-size-adjust:100%;
	text-size-adjust:100%;
	touch-action:pan-y;
	width:100%
}
body {
	background-color:#1a1a1a;
	background-color:var(--bg-primary);
	color:#fff;
	color:var(--text-primary);
	font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;
	line-height:1.6
}
h1,h2,h3,h4,h5,h6 {
	font-weight:600;
	line-height:1.2;
	margin-bottom:0.2rem
}
::-webkit-scrollbar {
	height:3px;
	width:3px
}
::-webkit-scrollbar-thumb {
	background:rgb(0,123,255,0.5);
	background:rgb(var(--accent-primary-rgb),0.5);
	border-radius:2px
}
::-webkit-scrollbar-track {
	background:#1a1a1a;
	background:var(--bg-primary)
}
h1 {
	font-size:2rem
}
h2 {
	font-size:1.75rem
}
h3 {
	font-size:1.5rem
}
h4 {
	font-size:1.25rem
}
h5 {
	font-size:1.1rem
}
h6 {
	font-size:1rem
}
a {
	color:#007bff;
	color:var(--accent-primary);
	-webkit-text-decoration:none;
	text-decoration:none;
	transition:color .3s ease
}
a:hover {
	color:#0056b3;
	color:var(--accent-secondary)
}
input[type="text"],input[type="email"],input[type="password"],input[type="number"],textarea,select {
	background:#1a1a1a;
	background:var(--bg-primary);
	border:1px solid #404040;
	border:1px solid var(--border-color);
	border-radius:8px;
	color:#fff;
	color:var(--text-primary);
	font-size:1rem;
	padding:.75rem 1rem;
	transition:border-color .3s ease;
	width:100%
}
input:focus,textarea:focus,select:focus {
	border-color:#007bff;
	border-color:var(--accent-primary);
	outline:none
}
.card {
	background:#1a1a1a;
	background:var(--bg-primary);
	border-radius:10px;
	box-shadow:0 2px 4px rgba(0, 0, 0, 0.102);
	padding:1.5rem
}
.card,.card-header {
	margin-bottom:1.5rem
}
.card-header {
	align-items:center;
	display:flex;
	justify-content:space-between
}
table {
	border-collapse:collapse;
	margin-bottom:1rem;
	width:100%
}
th,td {
	border-bottom:1px solid #404040;
	border-bottom:1px solid var(--border-color);
	padding:.75rem;
	text-align:left
}
th {
	background-color:#2d2d2d;
	background-color:var(--bg-secondary);
	color:#b3b3b3;
	color:var(--text-secondary);
	font-weight:600
}
.progress-bar {
	background:#1a1a1a;
	background:var(--bg-primary);
	border-radius:3px;
	height:6px
}
.text-center {
	text-align:center
}
.text-right {
	text-align:right
}
.text-left {
	text-align:left
}
.mt-1 {
	margin-top:.5rem
}
.mt-2 {
	margin-top:1rem
}
.mt-3 {
	margin-top:1.5rem
}
.mt-4 {
	margin-top:2rem
}
.mb-1 {
	margin-bottom:.5rem
}
.mb-4 {
	margin-bottom:2rem
}
.ml-1 {
	margin-left:.5rem
}
.ml-2 {
	margin-left:1rem
}
.mr-1 {
	margin-right:.5rem
}
.mr-2 {
	margin-right:1rem
}
.p-1 {
	padding:.5rem
}
.p-2 {
	padding:1rem
}
.p-3 {
	padding:1.5rem
}
.p-4 {
	padding:2rem
}
.app-container {
	display:flex;
	max-width:100vw;
	min-height:100vh;
	overflow-x:hidden;
	position:center;
	width:100%
}
p,.mb-2 {
	margin-bottom:1rem
}
.form-group,.mb-3 {
	margin-bottom:1.5rem
}
.sidebar {
	background: var(--bg-secondary);
	border-right: 1px solid var(--border-color);
	display: flex;
	flex-direction: column;
	height: 100vh;
	left: 0;
	-webkit-overflow-scrolling: touch;
	overflow-y: auto;
	position: fixed;
	top: 0;
	touch-action: pan-y;
	transform: translateX(-100%);
	transition: transform .3s cubic-bezier(0.4,0,0.2,1);
	width: 280px;
	will-change: transform;
	z-index: 100;
}
.sidebar.active {
	box-shadow:2px 0 15px rgba(0, 0, 0, 0.302);
	transform:translateX(0)
}
.sidebar-header {
	background:#2d2d2d;
	background:var(--bg-secondary);
	border-bottom:1px solid #404040;
	border-bottom:1px solid var(--border-color);
	padding:1.5rem;
	position:sticky;
	top:0;
	z-index:1
}
.sidebar-header h1 {
	color:#007bff;
	color:var(--accent-primary);
	font-size:1.5rem;
	margin:0
}
.user-profile {
	background:#2d2d2d;
	background:var(--bg-secondary);
	border-bottom:1px solid #404040;
	border-bottom:1px solid var(--border-color);
	gap:1rem;
	padding:1.5rem;
	position:sticky;
	top:70px;
	z-index:1
}
.user-profile,.user-avatar {
	align-items:center;
	display:flex
}
.user-avatar {
	background:#007bff;
	background:var(--accent-primary);
	border-radius:50%;
	color:#fff;
	height:50px;
	justify-content:center;
	width:50px
}
.user-info h3 {
	font-size:1rem
}
.user-info p {
	font-size:.8rem;
	margin:0
}
.sidebar-nav {
	flex:1;
	-webkit-overflow-scrolling:touch;
	overflow-y:auto;
	padding:1rem 0
}
.sidebar-nav ul {
	list-style:none;
	margin:0;
	padding:0
}
.sidebar-nav li {
	margin-bottom:.1rem
}
.sidebar-nav a {
	align-items:center;
	color:#fff;
	color:var(--text-primary);
	display:flex;
	gap:1rem;
	padding:.5rem 1.5rem;
	-webkit-text-decoration:none;
	text-decoration:none;
	transition:all .3s ease
}
.sidebar-nav a:hover,.sidebar-nav a.active {
	background:#007bff;
	background:var(--accent-primary);
	color:#fff
}
.sidebar-nav i {
	text-align:center;
	width:20px
}
.sidebar-footer {
	background:#2d2d2d;
	background:var(--bg-secondary);
	border-top:1px solid #404040;
	border-top:1px solid var(--border-color);
	bottom:0;
	margin-top:auto;
	padding:1rem;
	position:sticky;
	z-index:1
}
.admin-link {
	align-items:center;
	color:#b3b3b3;
	color:var(--text-secondary);
	display:flex;
	font-size:.9rem;
	gap:.5rem;
	margin-bottom:.5rem;
	opacity:.7;
	padding:.5rem;
	-webkit-text-decoration:none;
	text-decoration:none;
	transition:all .2s ease
}
.admin-link:hover {
	color:#007bff;
	color:var(--accent-primary);
	opacity:1
}
.logout-btn {
	align-items:center;
	border-radius:5px;
	color:#fff;
	color:var(--text-primary);
	display:flex;
	gap:.5rem;
	padding:.75rem;
	-webkit-text-decoration:none;
	text-decoration:none;
	transition:all .3s ease
}
.logout-btn:hover {
	background:#dc3545;
	background:var(--error);
	color:#fff
}
.badge {
	background:#28a745;
	background:var(--success);
	border-radius:10px;
	color:#fff;
	font-size:.7rem;
	margin-left:auto;
	padding:.2rem .5rem
}
.main-content {
	box-sizing:border-box;
	flex:1;
	padding:2rem;
	position:relative;
	transition:margin-left .3s ease, width .3s ease;
	width:100%
}
.main-content.with-sidebar {
	margin-left:260px;
	width:calc(100% - 280px)
}
.mobile-menu-toggle {
	background:#2d2d2d;
	background:var(--bg-secondary);
	border:none;
	border-radius:8px;
	border-radius:var(--border-radius-md);
	box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);
	box-shadow:0 2px 4px var(--shadow-color);
	cursor:pointer;
	display:none;
	height:40px;
	left:.75rem;
	left:var(--spacing-md);
	padding:0;
	position:fixed;
	top:.75rem;
	top:var(--spacing-md);
	width:40px;
	z-index:1000
}
@keyframes slideRight {
	50% {
		transform:translateX(2px)
}
	0%,100% {
		transform:translateX(-2px)
}
}
.container {
	box-sizing:border-box;
	margin:0 auto;
	max-width:1200px;
	padding:0 1rem;
	width:100%
}
header {
	background-color:#2d2d2d;
	background-color:var(--bg-secondary);
	box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);
	padding:1rem 0
}
nav ul {
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
	list-style:none
}
nav a {
	border-radius:4px;
	color:#fff;
	color:var(--text-primary);
	padding:.5rem 1rem;
	-webkit-text-decoration:none;
	text-decoration:none;
	transition:background-color .3s
}
nav a:hover {
	background-color:#007bff;
	background-color:var(--accent-primary)
}
.timer {
	font-size:2rem;
	font-weight:700;
	margin:1rem 0;
	text-align:center
}
.chart-container {
	background-color:#2d2d2d;
	background-color:var(--bg-secondary);
	margin-bottom:1rem
}
.exercise-card {
	box-sizing: border-box;
	display: grid;
	grid-gap: 1rem;
	gap: 1rem;
	width: 100%;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	background: var(--glass-background);
	border: 1px solid var(--glass-border);
	border-radius: 10px;
	box-shadow: 0 4px 6px var(--glass-shadow), 0 1px 3px rgba(0, 0, 0, 0.078);
	font-weight: 500;
	letter-spacing: .2px;
	overflow: hidden;
	position: relative;
	transition: all .3s ease-in-out;
	z-index: 1;
	margin-bottom: 1rem;
}
.exercise-item {
	align-items: start;
	background: var(--bg-primary);
	border: 1px solid var(--glass-border);
	border-radius: 10px;
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr auto;
	overflow-x: auto;
	padding: 1rem;
	transition: all .3s ease;
}
.exercise-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.exercise-item select,.exercise-item input {
	background: var(--bg-primary);
	border: 1px solid var(--border-color);
	border-radius: 8px;
	color: var(--text-primary);
	padding: .75rem;
	transition: all .3s ease;
}
.exercise-item select:focus,.exercise-item input:focus {
	border-color: var(--accent-primary);
	box-shadow: 0 0 0 2px rgba(var(--accent-primary-rgb), 0.1);
	outline: none;
}
.exercise-headers {
	color: var(--text-secondary);
	display: grid;
	font-weight: 500;
	gap: 1rem;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr auto;
	margin-bottom: .75rem;
	padding: 0 1rem;
}
.exercise-item .remove-exercise {
	color: var(--danger);
	cursor: pointer;
	font-size: 1.2rem;
	transition: all .2s ease;
}
.exercise-item .remove-exercise:hover {
	color: var(--error);
	transform: scale(1.1);
}
.workout-container {
	margin:0 auto;
	max-width:800px
}
.exercises-section {
	background:#2d2d2d;
	background:var(--bg-secondary);
	border-radius:10px;
	margin:2rem 0;
	padding:1.5rem
}
.add-exercise-container {
	margin-top:1rem;
	text-align:center
}
.slogan {
	animation:glow 1.5s ease-in-out infinite alternate!important;
	color:#007bff!important;
	color:var(--accent-primary)!important;
	font-size:18px!important;
	font-style:bold;
	margin-top:10px;
	text-shadow:0 0 10px rgb(0,123,255,0.7);
	text-shadow:0 0 10px rgb(var(--accent-primary-rgb),0.7)
}
@keyframes glow {
	from {
		text-shadow:0 0 5px rgb(0,123,255,0.2);
		text-shadow:0 0 5px rgb(var(--accent-primary-rgb),0.2)
}
	to {
		text-shadow:0 0 20px rgb(0,123,255,0.8);
		text-shadow:0 0 20px rgb(var(--accent-primary-rgb),0.8)
}
}
.mobile-nav-bar {
	background:rgb(26,26,26,0.90);
	background:rgb(var(--bg-primary-rgb),0.90);
	bottom:0;
	box-shadow:0 -2px 6px rgba(235, 59, 5, 0.055);
	left:0;
	padding:.25rem;
	position:fixed;
	right:0;
	transform:translateY(0);
	transition:transform .3s ease;
	z-index:1000;
	display:none
}
.mobile-nav-bar.hidden {
	transform:translateY(100%)
}
.mobile-nav-item {
	align-items:center;
	color:#b3b3b3;
	color:var(--text-secondary);
	display:flex;
	flex:1;
	flex-direction:column;
	font-size:.6rem;
	justify-content:center;
	padding:.15rem;
	position:relative;
	text-align:center;
	-webkit-text-decoration:none;
	text-decoration:none
}
.mobile-nav-item .icon {
	display:block;
	font-size:.4rem;
	margin-bottom:.08rem;
	text-shadow:0 0 4px rgba(255, 255, 255, 0.302)
}
.mobile-nav-item span:not(.icon) {
	font-size:.65rem
}
.mobile-nav-item.active {
	color:#007bff;
	color:var(--accent-primary)
}
.mobile-badge {
	background-color:#007bff;
	background-color:var(--accent-primary);
	border-radius:50%;
	height:6px;
	position:absolute;
	right:25%;
	top:0;
	width:6px
}
@keyframes fadeIn {
	from {
		opacity:0
}
	to {
		opacity:1
}
}
.fade-in {
	animation:fadeIn .3s ease
}
.toast-success {
	background:linear-gradient(to right,#28a745,#218838);
	color:#fff
}
.toast-error {
	background:linear-gradient(to right,#dc3545,#c82333);
	color:#fff
}
.duration-input-group {
	align-items:center;
	display:flex;
	gap:.5rem
}
.duration-hint {
	white-space:nowrap
}
.duration-hint,.form-text {
	color:#b3b3b3;
	color:var(--text-secondary)
}
.form-text {
	font-size:.875rem;
	margin-top:.25rem
}
.sidebar-close {
	display:none
}
.mobile-logout-btn {
	align-items:center;
	background:#dc3545;
	background:var(--danger);
	border:none;
	border-radius:50%;
	bottom:80px;
	box-shadow:0 3px 6px rgba(0, 0, 0, 0.2);
	color:#fff;
	display:none;
	height:48px;
	justify-content:center;
	position:fixed;
	right:15px;
	width:48px;
	z-index:999
}
.mobile-logout-btn .icon {
	height:24px;
	width:24px
}
.bottom-buttons-card {
	background-color:#2d2d2d;
	background-color:var(--bg-secondary);
	border-radius:10px;
	box-shadow:0 2px 10px rgba(0, 0, 0, 0.102);
	margin:2rem auto;
	max-width:500px;
	padding:1.5rem
}
.bottom-buttons .form-group {
	margin-bottom:1rem
}
.bottom-buttons .cancel-workout-form {
	margin-top:1rem
}
.bottom-buttons,.bottom-buttons .form-actions {
	margin:1rem 0
}
.bottom-buttons .finish-workout-btn,.bottom-buttons .btn-danger {
	padding:.75rem
}
.modal {
	background-color:rgba(0, 0, 0, 0.502);
	display:none;
	height:100%;
	left:0;
	overflow-y:auto;
	position:fixed;
	top:0;
	width:100%;
	z-index:1000
}
.modal-content {
	background-color:#2d2d2d;
	background-color:var(--bg-secondary);
	border-radius:10px;
	box-shadow:0 4px 8px rgba(0, 0, 0, 0.2);
	margin:5% auto;
	max-width:600px;
	padding:1.5rem;
	position:relative;
	width:90%
}
.modal-header {
	align-items:center;
	display:flex;
	justify-content:space-between;
	margin-bottom:1.5rem
}
.modal-header h3 {
	font-size:1.5rem;
	margin:0
}
.close-modal {
	background:none;
	border:none;
	color:#b3b3b3;
	color:var(--text-secondary);
	cursor:pointer;
	font-size:1.5rem
}
.form-group {
	margin-bottom:1.5rem
}
.form-group label {
	color:#b3b3b3;
	color:var(--text-secondary);
	display:block;
	font-weight:500;
	margin-bottom:.5rem
}
.form-control {
	background:#1a1a1a;
	background:var(--bg-primary);
	border:1px solid #404040;
	border:1px solid var(--border-color);
	border-radius:5px;
	color:#fff;
	color:var(--text-primary);
	padding:.75rem;
	width:100%
}
.form-actions {
	gap:1rem
}
.alert {
	border-radius:5px;
	margin-bottom:1rem;
	padding:1rem
}
.alert-error {
	background:#dc3545;
	background:var(--error);
	border:1px solid #dc3545;
	border:1px solid var(--error);
	color:#fff
}
.alert-success {
	background:#28a745;
	background:var(--success);
	border:1px solid #28a745;
	border:1px solid var(--success);
	color:#fff
}
.alert-warning {
	background:#ffc107;
	background:var(--warning);
	border:1px solid #ffc107;
	border:1px solid var(--warning);
	color:#fff;
	color:var(--text-primary)
}
.btn {
	border-radius:5px;
	gap:.5rem;
	padding:.75rem 1.5rem;
	transition:all .3s ease
}
.btn-primary:hover {
	background:#0056b3;
	background:var(--accent-secondary)
}
.btn-secondary:hover {
	background:#2d2d2d;
	background:var(--bg-secondary)
}
.btn-danger {
	background:#dc3545;
	background:var(--danger)
}
.btn-sm {
	font-size:.875rem;
	padding:.5rem 1rem
}
.btn-icon {
	align-items:center;
	background:none;
	border:none;
	border-radius:50%;
	color:#b3b3b3;
	color:var(--text-secondary);
	cursor:pointer;
	display:flex;
	font-size:1rem;
	justify-content:center;
	padding:.5rem
}
.btn-icon:hover {
	color:#007bff;
	color:var(--accent-primary)
}
.profile-container {
	margin:0 auto;
	max-width:800px;
	padding:2rem
}
.profile-info {
	gap:1.5rem;
	grid-gap:1.5rem;
	grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
	padding:1.5rem
}
.info-group {
	background:#2d2d2d;
	background:var(--bg-secondary);
	border:1px solid #404040;
	border:1px solid var(--border-color);
	padding:1rem
}
.info-group label {
	font-size:.9rem;
	margin-bottom:.5rem
}
.stat-item {
	background:#2d2d2d;
	background:var(--bg-secondary);
	border:1px solid #404040;
	border:1px solid var(--border-color);
	padding:1.5rem;
	text-align:center
}
.stat-item h3 {
	color:#b3b3b3;
	color:var(--text-secondary);
	font-size:1rem;
	margin:0 0 .5rem
}
.stat-value {
	color:#007bff;
	color:var(--accent-primary);
	font-size:1.5rem;
	font-weight:600;
	margin:0
}
.measurement-item {
	align-items:center;
	background:#2d2d2d;
	background:var(--bg-secondary);
	border:1px solid #404040;
	border:1px solid var(--border-color);
	border-radius:8px;
	display:flex;
	gap:1rem;
	padding:1rem
}
.measurement-item i {
	color:#007bff;
	color:var(--accent-primary);
	font-size:1.5rem
}
.measurement-info {
	flex:1
}
.measurement-info label {
	color:#b3b3b3;
	color:var(--text-secondary);
	display:block;
	font-size:.9rem;
	margin-bottom:.25rem
}
.password-section {
	background:#2d2d2d;
	background:var(--bg-secondary);
	border:1px solid #404040;
	border:1px solid var(--border-color);
	margin-top:2rem;
	padding:1.5rem
}
.password-section h3 {
	margin:0 0 1.5rem
}
.settings-form {
	padding:1.5rem
}
.settings-form .form-group {
	margin-bottom:1.5rem
}
.settings-form label {
	align-items:center;
	color:#b3b3b3;
	color:var(--text-secondary);
	display:flex;
	gap:.5rem;
	margin-bottom:.5rem
}
.settings-form label i {
	color:#007bff;
	color:var(--accent-primary)
}
.settings-form input[type="email"],.settings-form input[type="password"] {
	background:#1a1a1a;
	background:var(--bg-primary);
	border:1px solid #404040;
	border:1px solid var(--border-color);
	border-radius:8px;
	color:#fff;
	color:var(--text-primary);
	font-size:1rem;
	padding:.75rem;
	width:100%
}
.settings-form input:focus {
	border-color:#007bff;
	border-color:var(--accent-primary);
	box-shadow:0 0 0 2px rgb(0,123,255,0.1);
	box-shadow:0 0 0 2px rgb(var(--accent-primary-rgb),0.1);
	outline:none
}
.form-actions {
	display:flex;
	justify-content:flex-end;
	margin-top:2rem
}
.info-group p,.measurement-info p {
	color:#fff;
	color:var(--text-primary);
	font-size:1.1rem;
	margin:0
}
.stats-grid,.measurements-grid {
	display:grid;
	gap:1.5rem;
	grid-gap:1.5rem;
	grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
	padding:1.5rem
}
.statistics-container {
	margin:0 auto;
	max-width:1200px;
	padding:1rem
}
.stats-overview {
	display:grid;
	gap:1rem;
	grid-gap:1rem;
	grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
	margin-bottom:2rem
}
.stat-card {
	align-items:center;
	background:#2d2d2d;
	background:var(--bg-secondary);
	border-radius:10px;
	display:flex;
	gap:1rem;
	padding:1rem;
	transition:transform .2s ease
}
.stat-icon {
	color:#007bff;
	color:var(--accent-primary);
	font-size:1.5rem;
	min-width:40px;
	text-align:center
}
.stat-content h3 {
	color:#b3b3b3;
	color:var(--text-secondary);
	font-size:0.75rem
}
.stat-value {
	color:#fff;
	color:var(--text-primary);
	font-size:1.2rem;
	font-weight:700;
	margin:.25rem 0 0
}
.stats-section {
	background:#2d2d2d;
	background:var(--bg-secondary);
	border-radius:10px;
	margin-bottom:2rem;
	padding:1.5rem
}
.stats-section h2 {
	border-bottom:1px solid #404040;
	border-bottom:1px solid var(--border-color);
	color:#fff;
	color:var(--text-primary);
	font-size:1.25rem;
	margin:0 0 1rem;
	padding-bottom:.5rem
}
.chart-container {
	background:#1a1a1a;
	background:var(--bg-primary);
	border-radius:8px;
	height:300px;
	margin-bottom:1.5rem;
	padding:1rem;
	position:relative
}
/* Kompaktere Top-Übungen Sektion */
.top-exercises .exercises-list {
	gap: 8px;
}
.top-exercises .exercise-item {
	align-items: center;
	padding: 0.5rem 0.75rem;
	gap: 0.75rem;
	min-height: unset;
	border-radius: 20px;
}
.top-exercises .exercise-info h3 {
	font-size: 0.95rem;
	margin: 0 0 2px 0;
}
.top-exercises .exercise-info p {
	font-size: 0.8rem;
	margin: 0;
	color: var(--text-secondary);
}
.top-exercises .exercise-stats {
	font-size: 0.85rem;
	color: var(--accent-primary);
	background: #232323;
	border-radius: 12px;
	padding: 2px 10px;
	min-width: 60px;
	text-align: right;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.top-exercises .exercise-item {
	min-height: 36px;
}
.top-exercises .exercise-info {
	flex: 1;
}
.exercise-list {
	list-style:none;
	margin:0;
	padding:0
}
.exercise-list li {
	border-bottom:1px solid #404040;
	border-bottom:1px solid var(--border-color);
	padding:.75rem;
	transition:background-color .2s ease
}
.exercise-list li:last-child {
	border-bottom:none
}
.exercise-list li:hover {
	background-color:#1a1a1a;
	background-color:var(--bg-primary)
}
.exercise-name {
	color:#fff;
	color:var(--text-primary);
	font-weight:700
}
.exercise-stats {
	color:#b3b3b3;
	color:var(--text-secondary);
	display:block;
	font-size:.9rem;
	margin-top:.25rem
}
.goals-list {
	display:grid;
	gap:1rem;
	grid-gap:1rem;
	grid-template-columns:repeat(auto-fit,minmax(300px,1fr))
}
.progress-bar {
	background:#2d2d2d;
	background:var(--bg-secondary);
	margin:.5rem 0
}
.progress {
	background:#007bff;
	background:var(--accent-primary);
	border-radius:4px;
	transition:width .3s ease
}
.goal-details {
	font-size:.9rem
}
.goal-due-date {
	color:#b3b3b3;
	color:var(--text-secondary);
	font-size:.8rem
}
.efficiency-table {
	background:#1a1a1a;
	background:var(--bg-primary);
	border-collapse:collapse;
	border-radius:8px;
	margin-top:1rem;
	overflow:hidden;
	width:100%
}
.efficiency-table th,.efficiency-table td {
	border-bottom:1px solid #404040;
	border-bottom:1px solid var(--border-color);
	padding:.75rem;
	text-align:left
}
.efficiency-table th {
	background:#2d2d2d;
	background:var(--bg-secondary);
	color:#fff;
	color:var(--text-primary);
	font-weight:700
}
.efficiency-table td {
	color:#b3b3b3;
	color:var(--text-secondary)
}
.category-stats {
	display:grid;
	gap:1rem;
	grid-gap:1rem;
	grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
	margin-top:1rem
}
.stat-card:hover,.goal-item:hover,.category-stat:hover {
	transform:translateY(-2px)
}
.rest-periods,.strength-index {
	background:#1a1a1a;
	background:var(--bg-primary);
	border-radius:8px;
	margin-top:1.5rem;
	padding:1rem
}
.rest-periods h3,.strength-index h3,.goal-item h3,.category-stat h4 {
	color:#fff;
	color:var(--text-primary);
	margin:0 0 .5rem
}
.rest-periods p,.strength-index p,.goal-item p,.stat-details p {
	color:#b3b3b3;
	color:var(--text-secondary);
	margin:.25rem 0
}
.goal-item,.category-stat {
	background:#1a1a1a;
	background:var(--bg-primary);
	border-radius:8px;
	padding:1rem;
	transition:transform .2s ease
}
.public-profile .stats-grid {
	display:grid;
	gap:1rem;
	grid-gap:1rem;
	grid-template-columns:repeat(2,1fr);
	margin:2rem 0
}
.public-profile .stat-card {
	background:#2d2d2d;
	background:var(--bg-secondary);
	border-radius:15px;
	padding:1.5rem;
	transition:transform .2s ease
}
.public-profile .stat-card:hover {
	transform:translateY(-2px)
}
.public-profile .stat-content {
	align-items:center;
	display:flex;
	flex-direction:column;
	gap:.75rem;
	text-align:center
}
.public-profile .stat-card h3 {
	color:#b3b3b3;
	color:var(--text-secondary);
	font-size:1.1rem;
	font-weight:500;
	margin:0
}
.public-profile .stat-value {
	color:#007bff;
	color:var(--accent-primary);
	font-size:2rem;
	font-weight:600;
	line-height:1
}
.profile-footer {
	background:#2d2d2d;
	background:var(--bg-secondary);
	border-top:1px solid #404040;
	border-top:1px solid var(--border-color);
	margin-top:4rem;
	padding:2rem 0 0
}
.footer-content {
	align-items:start;
	display:grid;
	gap:2rem;
	grid-gap:2rem;
	grid-template-columns:2fr 1fr 1fr;
	margin:0 auto;
	max-width:1200px;
	padding:0 2rem
}
.footer-branding {
	align-items:center;
	display:flex;
	gap:1rem
}
.footer-logo {
	height:48px;
	-o-object-fit:contain;
	object-fit:contain;
	width:48px
}
.footer-text {
	display:flex;
	flex-direction:column
}
.footer-brand {
	color:#fff;
	color:var(--text-primary);
	font-size:1.25rem;
	font-weight:600
}
.footer-tagline {
	color:#b3b3b3;
	color:var(--text-secondary);
	font-size:.9rem;
	margin-top:.25rem
}
.footer-links {
	display:flex;
	flex-direction:column;
	gap:.75rem
}
.footer-links a {
	color:#b3b3b3;
	color:var(--text-secondary);
	-webkit-text-decoration:none;
	text-decoration:none;
	transition:color .2s ease
}
.footer-links a:hover {
	color:#007bff;
	color:var(--accent-primary)
}
.footer-social {
	display:flex;
	gap:1rem
}
.social-icon {
	align-items:center;
	background:#3a3a3a;
	background:var(--bg-tertiary);
	border-radius:50%;
	color:#b3b3b3;
	color:var(--text-secondary);
	display:flex;
	height:36px;
	justify-content:center;
	-webkit-text-decoration:none;
	text-decoration:none;
	transition:all .2s ease;
	width:36px
}
.social-icon:hover {
	background:#007bff;
	background:var(--accent-primary);
	color:#fff;
	transform:translateY(-2px)
}
.footer-bottom {
	background:#3a3a3a;
	background:var(--bg-tertiary);
	color:#b3b3b3;
	color:var(--text-secondary);
	font-size:.9rem;
	margin-top:2rem;
	padding:1.5rem;
	text-align:center
}
.footer-bottom p {
	margin:0
}
.dashboard-grid {
	padding:0
}
.dashboard-card {
	box-sizing:border-box;
	width:100%
}
.dashboard-card.full-width {
	grid-column:1 / -1
}
.profile-info {
	display:grid;
	gap:15px;
	grid-gap:15px;
	grid-template-columns:repeat(2,1fr);
	margin-bottom:20px
}
.info-group {
	background:#1a1a1a;
	background:var(--bg-primary);
	border-radius:8px;
	padding:15px
}
.info-group label {
	color:#b3b3b3;
	color:var(--text-secondary);
	display:block;
	font-size:.8rem;
	margin-bottom:5px
}
.info-group p {
	font-size:1rem;
	font-weight:500;
	margin:0
}
.link-primary {
	color:#007bff;
	color:var(--accent-primary);
	-webkit-text-decoration:none;
	text-decoration:none
}
.link-primary:hover {
	-webkit-text-decoration:underline;
	text-decoration:underline
}
.settings-form {
	display:flex;
	flex-direction:column;
	gap:20px
}
.password-section {
	background:#1a1a1a;
	background:var(--bg-primary);
	border-radius:8px;
	margin-top:20px;
	padding:20px
}
.password-section h3 {
	color:#fff;
	color:var(--text-primary);
	font-size:1rem;
	margin:0 0 15px
}
.dashboard-overview {
	padding:20px
}
.welcome-back,.quick-actions {
	margin-bottom:30px
}
.quick-actions {
	flex-wrap:wrap;
	gap:10px
}
.dashboard-grid {
	gap:20px;
	grid-gap:20px;
	grid-template-columns:repeat(auto-fit,minmax(300px,1fr))
}
.dashboard-card {
	background-color:#2d2d2d;
	background-color:var(--bg-secondary);
	box-shadow:0 4px 12px rgba(0, 0, 0, 0.078);
	overflow:hidden;
	padding:20px
}
.dashboard-card h2 {
	border-bottom:1px solid #404040;
	border-bottom:1px solid var(--border-color);
	font-size:1.2rem;
	margin-bottom:15px;
	margin-top:0;
	padding-bottom:10px
}
.daily-stats {
	display: grid;
	gap: 12px;
	grid-gap: 12px;
	grid-template-columns: repeat(2, 1fr);
	padding: 0;
	width: 100%;
}
.stat-item {
	box-sizing: border-box;
	gap: 8px;
	min-height: 70px;
	overflow: hidden;
	padding: 8px;
	width: 100%;
}
.stat-item i {
	font-size: 1.2rem;
	min-width: 20px;
	text-align: center;
}
.stat-content {
	flex: 1;
	min-width: 0;
	overflow: hidden;
}
.stat-content h3 {
	color: var(--text-primary);
	font-size: var(--font-size-md);
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.stat-content p {
	color: var(--text-primary);
	font-size: 0.9rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: flex;
	align-items: center;
	gap: 2px;
}
.stat-content p span {
	font-size: 0.8em;
	opacity: 0.9;
}
@media (max-width: 768px) {
	.daily-stats {
		gap: 8px;
	}
	.stat-item {
		min-height: 60px;
		padding: 6px;
	}
	.stat-item i {
		font-size: 1.1rem;
	}
	.stat-content h3 {
		font-size: 0.7rem;
	}
	.stat-content p {
		font-size: 0.85rem;
		margin-top: 2px;
	}
	.stat-content p span {
		font-size: 0.75em;
	}
}
@media (max-width: 480px) {
	.daily-stats {
		gap: 6px;
	}
	.stat-item {
		min-height: 55px;
		padding: 5px;
	}
	.stat-item i {
		font-size: 1rem;
	}
	.stat-content h3 {
		font-size: 0.65rem;
	}
	.stat-content p {
		font-size: 0.75rem;
		margin-top: 1px;
	}
	.stat-content p span {
		font-size: 0.7em;
	}
}
@media (max-width: 360px) {
	.stat-content h3 {
		font-size: 0.6rem;
	}
	.stat-content p {
		font-size: 0.7rem;
	}
}
.achievements-list,.top-exercises .exercises-list,.goals-list {
	display:flex;
	flex-direction:column;
	gap:15px
}
.achievement-item,.exercise-item,.goal-item,.challenge-item {
	align-items:flex-start;
	background:#1a1a1a;
	background:var(--bg-primary);
	border-radius:8px;
	display:flex;
	gap:1rem;
	padding:1rem;
	transition:transform .2s ease
}
.achievement-item:hover {
	transform:translateY(-2px)
}
.achievement-icon {
	align-items:center;
	background:#007bff;
	background:var(--accent-primary);
	border-radius:50%;
	color:#fff;
	display:flex;
	flex-shrink:0;
	height:40px;
	justify-content:center;
	width:40px
}
.achievement-icon .icon {
	font-size:1.2rem
}
.achievement-info {
	flex:1
}
.achievement-info h3 {
	font-size:1rem;
	margin:0 0 .25rem
}
.achievement-info p {
	font-size:.9rem;
	margin:0
}
.achievement-info p,.achievement-info small {
	color:#b3b3b3;
	color:var(--text-secondary)
}
.achievement-info small {
	align-items:center;
	display:flex;
	font-size:.8rem;
	justify-content:space-between;
	margin-top:.5rem
}
.achievement-points {
	align-items:center;
	color:#007bff;
	color:var(--accent-primary);
	display:flex;
	gap:.25rem
}
.exercise-stats,.goal-progress,.challenge-progress {
	align-items:flex-end;
	display:flex;
	flex-direction:column;
	min-width:80px
}
.progress-bar {
	background-color:#f0f0f0;
	border-radius:4px;
	height:8px;
	margin-bottom:5px;
	overflow:hidden;
	width:100%
}
.progress {
	background:linear-gradient(to right,#007bff,#0056b3);
	background:linear-gradient(to right,var(--accent-primary),var(--accent-secondary));
	height:100%
}
.progress-text {
	color:#b3b3b3;
	color:var(--text-secondary);
	font-size:.8rem
}
.no-goals,.no-challenges,.no-achievements {
	background-color:#1a1a1a;
	background-color:var(--bg-primary);
	border-radius:8px;
	color:#b3b3b3;
	color:var(--text-secondary);
	padding:15px;
	text-align:center
}
.view-all {
	margin-top:15px;
	text-align:center
}
.view-all a {
	color:#007bff;
	color:var(--accent-primary);
	font-size:.9rem;
	-webkit-text-decoration:none;
	text-decoration:none
}
.view-all a:hover {
	-webkit-text-decoration:underline;
	text-decoration:underline
}
.recent-workouts {
	grid-column:span 2
}
.workouts-list {
	display:grid;
	gap:15px;
	grid-gap:15px;
	grid-template-columns:repeat(auto-fit,minmax(250px,1fr))
}
.workout-card {
	background-color:#1a1a1a;
	background-color:var(--bg-primary);
	border-radius:8px;
	padding:15px;
	position:relative
}
.workout-date {
	display:flex;
	justify-content:space-between;
	margin-bottom:10px
}
.workout-date .date {
	font-weight:700
}
.workout-date .time {
	color:#b3b3b3;
	color:var(--text-secondary)
}
.workout-stats {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-bottom:15px
}
.workout-stat {
	align-items:center;
	background-color:#f5f5f5;
	border-radius:15px;
	display:flex;
	font-size:.8rem;
	gap:5px;
	padding:5px 8px
}
.workout-stat i {
	color:#007bff;
	color:var(--accent-primary)
}
.workout-exercises {
	font-size:.9rem;
	margin-top:10px
}
.workout-exercises,.workout-actions {
	color:#b3b3b3;
	color:var(--text-secondary)
}
.workout-actions {
	gap:.5rem;
	gap:var(--spacing-sm);
	justify-content:flex-end;
	margin-top:1rem;
	margin-top:var(--spacing-lg)
}
.workout-actions a {
	color:#b3b3b3;
	color:var(--text-secondary);
	font-size:.875rem;
	font-size:var(--font-size-sm);
	-webkit-text-decoration:none;
	text-decoration:none
}
.toast {
	align-items:center;
	animation:slide-in .3s ease-out;
	background-color:#1a1a1a;
	background-color:var(--bg-primary);
	border-radius:5px;
	bottom:20px;
	box-shadow:0 4px 12px rgba(0, 0, 0, 0.149);
	color:#fff;
	color:var(--text-primary);
	justify-content:space-between;
	max-width:400px;
	min-width:300px;
	padding:12px 20px;
	position:fixed;
	right:20px;
	z-index:1000
}
.toast-success {
	border-left:4px solid #28a745;
	border-left:4px solid var(--success)
}
.toast-error {
	border-left:4px solid #dc3545;
	border-left:4px solid var(--danger)
}
.toast-content {
	align-items:center;
	display:flex;
	gap:10px
}
.toast-content i {
	font-size:1.2rem
}
.toast-success i {
	color:#28a745;
	color:var(--success)
}
.toast-error i {
	color:#dc3545;
	color:var(--danger)
}
.toast-close {
	font-size:1.2rem;
	margin-left:10px;
	padding:0
}
.toast-close:hover {
	color:#fff;
	color:var(--text-primary)
}
.fade-out {
	animation:fade-out .3s ease-out forwards
}
@keyframes slide-in {
	from {
		opacity:0;
		transform:translateX(100%)
}
	to {
		opacity:1;
		transform:translateX(0)
}
}
@keyframes fade-out {
	from {
		opacity:1;
		transform:translateX(0)
}
	to {
		opacity:0;
		transform:translateX(100%)
}
}
.exercise-item {
	background:#2d2d2d;
	background:var(--bg-secondary);
	border:1px solid #404040;
	border:1px solid var(--border-color);
	border-radius:5px;
	margin-bottom:1rem;
	padding:1rem;
	position:relative
}
.exercise-item::before {
	background-color:#404040;
	background-color:var(--category-stripe-color,var(--border-color));
	border-radius:4px 0 0 4px;
	content:'';
	height:100%;
	left:0;
	position:absolute;
	top:0;
	width:4px
}
.exercise-header {
	align-items:center;
	display:flex;
	gap:1rem;
	margin-bottom:1rem
}
.exercise-select {
	flex-grow:1
}
.exercise-details {
	grid-template-columns:repeat(auto-fit,minmax(200px,1fr))
}
.remove-exercise {
	background:none;
	border:none;
	color:#dc3545;
	color:var(--danger);
	cursor:pointer;
	padding:.5rem
}
.remove-exercise:hover {
	color:var(--danger-dark)
}
.toast-success {
	background:linear-gradient(to right,#00b09b,#96c93d)
}
.toast-error {
	background:linear-gradient(to right,#ff5f6d,#ffc371)
}
.dashboard-overview {
	max-width:1000px;
	padding:1rem
}
.btn-danger i {
	color:#dc3545
}
.welcome-back {
	padding:1rem 0
}
.welcome-back h1 {
	font-size:1.5rem;
	margin-bottom:.5rem
}
.welcome-back p {
	font-size:.9rem;
	margin-bottom:1rem
}
.quick-actions {
	gap:.5rem;
	margin-bottom:1rem
}
.dashboard-grid {
	gap:1rem;
	grid-gap:1rem;
	grid-template-columns:repeat(auto-fill,minmax(300px,1fr))
}
.dashboard-card {
	border-radius:8px;
	box-shadow:0 1px 3px rgba(0, 0, 0, 0.102);
	padding:1rem
}
.workout-card {
	display:flex;
	flex-direction:column
}
.workout-header {
	align-items:center;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin-bottom:1rem
}
.workout-header h2 {
	font-size:1.1rem;
	margin:0
}
.workout-actions {
	align-items:center;
	display:flex;
	gap:.25rem
}
.workout-stats {
	display:grid;
	gap:.5rem;
	grid-gap:.5rem;
	grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
	margin-bottom:1rem
}
.stat-item {
	border-radius:6px;
	gap:.5rem;
	padding:.5rem
}
.stat-item i {
	font-size:1.25rem
}
.stat-content h3 {
	font-size:.8rem;
	margin:0 0 .25rem
}
.stat-content p {
	font-size:1.1rem
}
.workout-exercises,.workout-notes {
	border-top:1px solid #404040;
	border-top:1px solid var(--border-color);
	margin-top:1rem;
	padding-top:.75rem
}
.workout-exercises h3,.workout-notes h3 {
	font-size:.9rem;
	margin-bottom:.25rem
}
.workout-exercises p,.workout-notes p {
	font-size:.85rem;
	line-height:1.4;
	margin:0
}
.btn {
	align-items:center;
	border:none;
	border-radius:4px;
	cursor:pointer;
	display:inline-flex;
	font-size:.85rem;
	font-weight:500;
	gap:.25rem;
	padding:.4rem .75rem;
	transition:background-color .2s
}
.btn-primary {
	background:#007bff;
	background:var(--accent-primary);
	color:#fff
}
.btn-secondary {
	background:#1a1a1a;
	background:var(--bg-primary);
	border:1px solid #404040;
	border:1px solid var(--border-color);
	color:#fff;
	color:var(--text-primary)
}
.btn-danger {
	background:var(--danger-color);
	color:#fff
}
.btn-danger:hover {
	background:#dc3545;
	background:var(--error)
}
.btn-sm {
	font-size:.75rem;
	padding:.25rem .5rem
}
.alert {
	border-radius:4px;
	font-size:.85rem;
	margin-bottom:.75rem;
	padding:.75rem
}
.alert-error {
	background:var(--danger-color-light);
	border:1px solid var(--danger-color);
	color:var(--danger-color)
}
.alert-success {
	background:var(--success-color-light);
	border:1px solid var(--success-color);
	color:var(--success-color)
}
.btn-share {
	background:none;
	border:none;
	color:#b3b3b3;
	color:var(--text-secondary);
	cursor:pointer;
	padding:.25rem;
	transition:color .2s
}
.btn-share:hover {
	color:#007bff;
	color:var(--accent-primary)
}
.btn-share i {
	font-size:1rem
}
.toast-container {
	gap:.5rem;
	max-width:350px;
	position:fixed;
	right:1rem;
	top:1rem;
	z-index:9999
}
.toast-container,.toast {
	display:flex;
	flex-direction:column
}
.toast {
	animation:slideIn .3s ease-out;
	background-color:#2d2d2d;
	background-color:var(--bg-secondary);
	border-radius:8px;
	box-shadow:0 4px 12px rgba(0, 0, 0, 0.302);
	margin-bottom:.5rem;
	max-width:100%;
	overflow:hidden;
	padding:1rem;
	transition:transform .3s ease, opacity .3s ease
}
.toast,.toast-title {
	color:color-contrast(#2d2d2d);
	color:color-contrast(var(--bg-secondary))
}
.toast-title {
	flex-grow:1;
	font-size:1rem;
	margin:0
}
.toast-body {
	color:color-contrast(#2d2d2d);
	color:color-contrast(var(--bg-secondary));
	font-size:.9rem
}
.toast-info {
	background-color:rgba(13, 202, 240, 0.102);
	border-left:4px solid rgba(13, 202, 240, 0.702);
	color:color-contrast(rgba(13, 202, 240, 0.102))
}
.toast-warning {
	background-color:rgba(255, 193, 7, 0.102);
	border-left:4px solid rgba(255, 193, 7, 0.702);
	color:color-contrast(rgba(255, 193, 7, 0.102))
}
.toast-success {
	background-color:rgba(25, 135, 84, 0.102);
	border-left:4px solid rgba(25, 135, 84, 0.702);
	color:color-contrast(rgba(25, 135, 84, 0.102))
}
.toast-error {
	background-color:rgba(220, 53, 69, 0.102);
	border-left:4px solid rgba(220, 53, 69, 0.702);
	color:color-contrast(rgba(220, 53, 69, 0.102))
}
.toast-close {
	background:none;
	border:none;
	color:#b3b3b3;
	color:var(--text-secondary);
	cursor:pointer;
	font-size:1rem;
	padding:0 .5rem
}
.toast-progress {
	background-color:rgba(255, 255, 255, 0.2);
	border-radius:3px;
	height:3px;
	margin-top:.5rem;
	overflow:hidden;
	position:relative
}
.toast-progress-bar {
	border-radius:3px;
	height:100%;
	left:0;
	position:absolute;
	top:0;
	transform:scaleX(0);
	transform-origin:left;
	transition:transform 10s linear;
	width:100%
}
.toast-info .toast-progress-bar {
	background-color:rgba(13, 202, 240, 0.702)
}
.toast-warning .toast-progress-bar {
	background-color:rgba(255, 193, 7, 0.702)
}
.toast-success .toast-progress-bar {
	background-color:rgba(25, 135, 84, 0.702)
}
.toast-error .toast-progress-bar {
	background-color:rgba(220, 53, 69, 0.702)
}
@keyframes slideIn {
	from {
		opacity:0;
		transform:translateX(110%)
}
	to {
		opacity:1;
		transform:translateX(0)
}
}
.notification-bell {
	align-items:center;
	background-color:#2d2d2d;
	background-color:var(--bg-secondary);
	border-radius:50%;
	box-shadow:0 4px 12px rgba(0, 0, 0, 0.2);
	cursor:pointer;
	display:flex;
	height:32px;
	justify-content:center;
	position:fixed;
	right:1rem;
	top:1rem;
	transition:transform .2s;
	width:32px;
	z-index:9998
}
.notification-bell:hover {
	transform:scale(1.05)
}
.notification-bell i {
	color:#fff;
	color:var(--text-primary);
	font-size:1.2rem
}
.notification-badge {
	align-items:center;
	background-color:#dc3545;
	border-radius:50%;
	color:#fff;
	display:flex;
	font-size:12px;
	font-weight:700;
	height:20px;
	justify-content:center;
	position:absolute;
	right:-5px;
	top:-5px;
	width:20px
}
.notification-dropdown {
	background-color:#2d2d2d;
	background-color:var(--bg-secondary);
	border-radius:8px;
	box-shadow:0 4px 12px rgba(0, 0, 0, 0.302);
	padding:1rem
}
.notification-dropdown-header {
	border-bottom:1px solid #404040;
	border-bottom:1px solid var(--border-color);
	margin-bottom:.75rem;
	padding-bottom:.75rem
}
.notification-dropdown-title {
	font-size:1.1rem;
	margin:0
}
.notification-dropdown-list {
	gap:.5rem
}
.notification-item {
	border-left:4px solid transparent;
	border-radius:6px;
	padding:.75rem;
	touch-action:pan-y;
	transition:background-color 0.2s, transform .3s ease
}
.notification-item.swiping {
	transition:none
}
.notification-item.swipe-hint {
	animation:swipeHint 1.5s ease-in-out infinite
}
@keyframes swipeHint {
	50% {
		transform:translateX(20px)
}
	0%,100% {
		transform:translateX(0)
}
}
.notification-swipe-indicator {
	align-items:center;
	bottom:0;
	display:flex;
	font-size:1.2rem;
	justify-content:center;
	opacity:0;
	position:absolute;
	top:0;
	transition:opacity .2s;
	width:50px
}
.notification-swipe-indicator-right {
	background:linear-gradient(to left,rgba(220, 53, 69, 0.2),transparent);
	color:#dc3545;
	right:0
}
.notification-swipe-indicator-left {
	background:linear-gradient(to right,rgba(25, 135, 84, 0.2),transparent);
	color:#198754;
	left:0
}
.notification-item.swiping .notification-swipe-indicator {
	opacity:1
}
.notification-item.swipe-right {
	transform:translateX(100%)
}
.notification-item.swipe-right,.notification-item.swipe-left {
	opacity:0;
	transition:transform .3s ease, opacity .3s ease
}
.notification-item.swipe-left {
	transform:translateX(-100%)
}
@keyframes shake {
	0%,100% {
		transform:translateX(0)
}
	25% {
		transform:translateX(-5px)
}
	75% {
		transform:translateX(5px)
}
}
.notification-item.shake {
	animation:shake .5s ease-in-out
}
.notification-item:hover {
	background-color:#1a1a1a;
	background-color:var(--bg-primary)
}
.notification-item.unread {
	background-color:rgba(13, 202, 240, 0.102)
}
.notification-item-title {
	font-size:.9rem;
	margin:0
}
.notification-item-time {
	color:var(--text-secondary);
	font-size:.75rem
}
.notification-item-body {
	color:#b3b3b3;
	color:var(--text-secondary);
	font-size:.85rem
}
.notification-item-type {
	border-radius:4px;
	font-size:.75rem;
	margin-left:.5rem;
	padding:2px 6px
}
.notification-empty {
	color:var(--text-secondary)
}
.notification-mark-all {
	background-color:var(--primary);
	border:none;
	border-radius:4px;
	color:#fff;
	cursor:pointer;
	font-size:.85rem;
	margin-top:1rem;
	padding:.5rem;
	transition:background-color .2s
}
.notification-mark-all:hover {
	background-color:#0d6efd
}
#connection-status {
	border-radius:20px;
	bottom:20px;
	font-size:14px;
	padding:8px 16px;
	position:fixed;
	right:20px;
	transition:all .3s ease;
	z-index:1000
}
#connection-status.online {
	background-color:#4CAF50;
	color:#fff
}
#connection-status.offline {
	background-color:#f44336;
	color:#fff
}
.user-avatar {
	height:192px;
	margin:0 auto 1rem;
	position:relative;
	width:192px
}
.profile-image {
	border:3px solid var(--primary);
	border-radius:50%;
	height:100%;
	-o-object-fit:cover;
	object-fit:cover;
	width:100%
}
.sidebar .user-avatar {
	height:70px;
	margin:0 1rem 0 0;
	width:70px
}
.sidebar .profile-image {
	border-width:2px
}
.avatar-link {
	display:block;
	height:100%;
	position:relative;
	width:100%;
	z-index:2
}
.avatar-overlay {
	align-items:center;
	background:rgba(0, 0, 0, 0.502);
	border-radius:50%;
	top:0;
	right:0;
	bottom:0;
	left:0;
	display:flex;
	justify-content:center;
	opacity:0;
	position:absolute;
	transition:opacity .3s ease;
	z-index:3
}
.avatar-overlay .icon {
	color:#fff;
	font-size:1.5rem
}
.avatar-link:hover .avatar-overlay {
	opacity:1
}
.user-info {
	flex:1
}
.user-info h3 {
	color:#fff;
	color:var(--text-primary);
	font-size:1.1rem;
	margin:0
}
.user-info p {
	color:#b3b3b3;
	color:var(--text-secondary);
	font-size:.85rem;
	margin:.25rem 0 0
}
.sidebar-exp-bar {
	margin-top:.5rem;
	width:100%
}
.sidebar-exp-bar .exp-info {
	display:flex;
	font-size:.8rem;
	justify-content:space-between;
	margin-bottom:.25rem
}
.sidebar-exp-bar .level {
	color:#007bff;
	color:var(--accent-primary);
	font-weight:700
}
.sidebar-exp-bar .exp {
	color:#b3b3b3;
	color:var(--text-secondary)
}
.sidebar-exp-bar .exp-bar {
	background:#1a1a1a;
	background:var(--bg-primary);
	border-radius:2px;
	height:4px;
	overflow:hidden
}
.sidebar-exp-bar .exp-progress {
	background:linear-gradient(90deg,#007bff,#ffd700);
	background:linear-gradient(90deg,var(--accent-primary),#ffd700);
	border-radius:2px;
	height:100%;
	transition:width .3s ease
}
.sidebar-exp-bar .exp-progress::after {
	animation:shimmer 2s infinite;
	background:linear-gradient(90deg,rgba(255, 255, 255, 0.102) 0%,rgba(255, 255, 255, 0.2) 50%,rgba(255, 255, 255, 0.102) 100%);
	top:0;
	right:0;
	bottom:0;
	left:0;
	content:"";
	position:absolute;
	width:100%
}
body:not([data-page="active_workout"]) .icon-play-circle::before {
	border-left-color:#4CAF50
}
.icon-play-circle:hover {
	border-color:#fff;
	border-color:var(--text-primary)
}
body:not([data-page="active_workout"]) .icon-play-circle {
	border-color:#4CAF50
}
.user-medals {
	display:flex;
	flex-wrap:wrap;
	gap:5px;
	max-width:100px;
	pointer-events:none;
	position:absolute;
	right:-10px;
	top:-10px;
	z-index:4
}
.user-medals .icon-medal-1,.user-medals .icon-medal-2,.user-medals .icon-medal-3,.user-medals .icon-medal-4,.user-medals .icon-medal-5,.user-medals .icon-medal-6,.user-medals .icon-medal-7,.user-medals .icon-medal-8,.user-medals .icon-medal-9,.user-medals .icon-medal-10,.user-medals .icon-medal-11,.user-medals .icon-medal-12,.user-medals .icon-medal-13,.user-medals .icon-medal-14,.user-medals .icon-medal-15 {
	display:inline-block;
	height:24px;
	transition:transform .3s ease;
	width:24px
}
.user-medals .icon-medal-1:hover,.user-medals .icon-medal-2:hover,.user-medals .icon-medal-3:hover,.user-medals .icon-medal-4:hover,.user-medals .icon-medal-5:hover,.user-medals .icon-medal-6:hover,.user-medals .icon-medal-7:hover,.user-medals .icon-medal-8:hover,.user-medals .icon-medal-9:hover,.user-medals .icon-medal-10:hover,.user-medals .icon-medal-11:hover,.user-medals .icon-medal-12:hover,.user-medals .icon-medal-13:hover,.user-medals .icon-medal-14:hover,.user-medals .icon-medal-15:hover {
	transform:scale(1.2)
}
.user-medals .icon-medal-11,.user-medals .icon-medal-12,.user-medals .icon-medal-13,.user-medals .icon-medal-14,.user-medals .icon-medal-15 {
	animation:pulse 2s infinite
}
.user-medals .icon-medal-13 {
	animation:pulse 2s infinite,rainbow 4s infinite
}
.user-medals .icon-medal-14 {
	animation:pulse 1.5s infinite,rotate 4s infinite
}
.user-medals .icon-medal-15 {
	animation:pulse 1s infinite,rainbow 3s infinite,rotate 3s infinite
}
@keyframes pulse {
	50% {
		filter:brightness(1.2);
		transform:scale(1.1)
}
	0%,100% {
		filter:brightness(1);
		transform:scale(1)
}
}
@keyframes rainbow {
	0% {
		filter:hue-rotate(0deg) brightness(1.2)
}
	100% {
		filter:hue-rotate(360deg) brightness(1.2)
}
}
@keyframes rotate {
	0% {
		transform:rotate(0deg)
}
	100% {
		transform:rotate(360deg)
}
}
.user-medals .icon-medal-11,.user-medals .icon-medal-12 {
	filter:drop-shadow(0 0 5px rgba(255, 255, 255, 0.502))
}
.user-medals .icon-medal-13,.user-medals .icon-medal-14,.user-medals .icon-medal-15 {
	filter:drop-shadow(0 0 8px rgba(255, 255, 255, 0.702))
}
.notification-medal {
	align-items:center;
	display:flex;
	gap:1rem;
	padding:.5rem
}
.medal-icon-large {
	display:inline-block;
	height:48px!important;
	vertical-align:middle;
	width:48px!important
}
.notification-medal-text {
	flex:1
}
.notification-medal-text p {
	line-height:1.4;
	margin:0
}
.notification-item.success .medal-icon-large {
	animation:pulse 2s infinite
}
.notification-item.warning .medal-icon-large {
	animation:shake .5s ease-in-out
}
.notification-more-container {
	margin-top:.5rem;
	text-align:center
}
.notification-more-btn {
	background:none;
	border:none;
	color:#b3b3b3;
	color:var(--text-secondary);
	cursor:pointer;
	font-size:.9rem;
	padding:.5rem;
	transition:color .2s
}
.notification-more-btn:hover {
	color:#fff;
	color:var(--text-primary)
}
.notification-more-btn i {
	margin-right:.25rem
}
.hidden-notifications {
	margin-top:.5rem
}
.dashboard-overview {
	margin-bottom:30px;
	--glass-background:rgba(58, 58, 58, 0.702);
	--glass-border:rgba(255, 255, 255, 0.102);
	--glass-shadow:rgba(0, 0, 0, 0.102)
}
.light-theme .dashboard-overview {
	--glass-background:rgba(240, 240, 240, 0.702);
	--glass-border:rgba(0, 0, 0, 0.102)
}
.bottom-buttons-card {
	margin-bottom:1rem;
	margin-top:1rem
}
.bottom-buttons {
	display:flex;
	flex-direction:column;
	gap:1rem
}
.bottom-buttons form {
	width:100%
}
.bottom-buttons .form-actions {
	margin-top:1rem
}
.bottom-buttons .btn-success {
	font-size:1.1rem;
	padding:.75rem;
	width:100%
}
.bottom-buttons .btn-danger,.bottom-buttons .cancel-workout-btn {
	background-color:var(--danger-transparent);
	border:1px solid #dc3545;
	border:1px solid var(--danger);
	color:var(--text-color);
	margin-top:.5rem;
	padding:.75rem;
	width:100%
}
.exercise-buttons-container,#exercise-details,#form-actions {
	margin-bottom:30px
}
.welcome-back {
	padding:2rem 0;
	text-align:center
}
.welcome-back h1 {
	font-size:2rem;
	margin-bottom:1rem
}
.welcome-back p {
	color:#b3b3b3;
	color:var(--text-secondary);
	margin-bottom:2rem
}
.quick-actions {
	display:flex;
	gap:1rem;
	justify-content:center;
	margin-bottom:2rem
}
.workout-status {
	display:grid;
	gap:1rem;
	grid-gap:1rem;
	grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
	margin-top:1rem
}
.stat-item {
	align-items:center;
	background:#1a1a1a;
	background:var(--bg-primary);
	border-radius:8px;
	display:flex;
	gap:1rem;
	padding:1rem
}
.stat-item i {
	color:#007bff;
	color:var(--accent-primary);
	font-size:2rem
}
.stat-content h3 {
	font-size:1rem;
	margin:0 0 .5rem
}
.stat-content p {
	font-size:1.5rem;
	font-weight:700;
	margin:0
}
.workout-actions {
	border-top:1px solid #404040;
	border-top:1px solid var(--border-color);
	margin-top:1.5rem;
	padding-top:1.5rem
}
.exercise-details {
	display:grid;
	gap:1rem;
	grid-gap:1rem;
	grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
	margin-bottom:1rem
}
.button-group {
	display:flex;
	flex-wrap:nowrap;
	gap:5px;
	width:100%
}
.proceed-btn {
	background-color:rgba(0, 123, 255, 0.8);
	width:70%
}
.proceed-btn,.finish-workout-btn {
	-webkit-backdrop-filter:blur(5px);
	backdrop-filter:blur(5px);
	border:1px solid rgba(255, 255, 255, 0.2);
	box-shadow:0 2px 8px rgba(0, 0, 0, 0.2);
	padding:.6rem
}
.finish-workout-btn {
	background-color:rgba(40, 167, 69, 0.8);
	width:30%
}
.finish-workout-btn i,.add-exercise-btn i {
	color:#fff;
	font-size:1.2rem;
	margin-right:.5rem
}
optgroup {
	color:#fff;
	color:var(--text-primary);
	font-weight:600
}
.exercise-description {
	background:#1a1a1a;
	background:var(--bg-primary);
	border-left:4px solid #007bff;
	border-left:4px solid var(--accent-primary);
	border-radius:5px;
	margin:1rem 0;
	padding:1rem
}
.exercise-description p {
	color:#b3b3b3;
	color:var(--text-secondary);
	line-height:1.5;
	margin:0
}
.selection-mode-toggle {
	border-bottom:1px solid #404040;
	border-bottom:1px solid var(--border-color);
	margin-bottom:1.5rem;
	padding-bottom:1rem
}
.selection-mode-form {
	margin:0
}
.radio-group {
	display:flex;
	gap:1.5rem
}
.radio-container {
	align-items:center;
	cursor:pointer;
	display:flex
}
.radio-label {
	margin-left:.5rem
}
.exercise-categories-tabs {
	flex-wrap:wrap;
	gap:.5rem;
	justify-content:flex-start;
	margin-bottom:1rem;
	padding-bottom:.5rem;
	width:100%
}
.category-tab {
	border-radius:20px;
	border-style:solid;
	box-shadow:0 2px 5px rgba(0, 0, 0, 0.102);
	color:#fff;
	flex:0 0 auto;
	font-size:.9rem;
	max-width:150px;
	min-height:40px;
	min-width:100px;
	padding:.6rem .8rem;
	text-align:center;
	text-overflow:ellipsis
}
.category-tab,.category-tab.active {
	border-width:2px
}
.category-tab.active i {
	color:#fff!important
}
.mobile-table-view,.mobile-timer-header {
	display:none
}
.category-tab i {
	font-size:1rem
}
.category-tab[data-category="strength"] i {
	color:var(--strength-color)
}
.category-tab[data-category="cardio"] i {
	color:var(--cardio-color)
}
.category-tab[data-category="flexibility"] i {
	color:var(--flexibility-color)
}
.category-tab[data-category="all"] i {
	color:#007bff;
	color:var(--accent-primary)
}
.category-tab.active i {
	color:#fff
}
.exercise-buttons-container {
	margin-bottom:1rem;
	max-height:250px;
	padding-right:.5rem
}
.exercise-buttons-group.active {
	gap:.75rem;
	grid-gap:.75rem;
	grid-template-columns:repeat(auto-fill,minmax(150px,1fr))
}
.exercise-button {
	background:#3a3a3a;
	background:var(--bg-tertiary);
	border:1px solid #404040;
	border:1px solid var(--border-color);
	border-left-style:solid!important;
	border-left-width:4px!important;
	border-radius:10px;
	box-shadow:0 2px 5px rgba(0, 0, 0, 0.102);
	color:#fff;
	font-size:.9rem;
	justify-content:center;
	line-height:1.2;
	margin-bottom:.5rem;
	min-height:50px;
	padding:.8rem .7rem;
	text-align:center;
	transition:all .2s ease
}
.exercise-button:hover {
	background:var(--bg-hover)
}
.exercise-button.active {
	background:var(--accent-lighter);
	border-left:6px solid #007bff;
	border-left:6px solid var(--accent-primary);
	box-shadow:0 5px 12px rgba(0, 123, 255, 0.251);
	font-weight:600;
	transform:translateY(-1px)
}
.scroll-indicator,.exercise-buttons-group {
	display:none
}
.dashboard-overview .exercise-button {
	-webkit-backdrop-filter:blur(8px);
	backdrop-filter:blur(8px);
	background:var(--glass-background);
	border:1px solid 1.5px solid rgba(255, 255, 255, 0.251);
	border:1px solid var(--glass-border);
	border-radius:10px;
	box-shadow:0 4px 6px 0 8px 32px 0 rgba(31, 38, 135, 0.18),0 1px 3px rgba(0, 0, 0, 0.078);
	box-shadow:0 4px 6px var(--glass-shadow),0 1px 3px rgba(0, 0, 0, 0.078);
	font-weight:500;
	letter-spacing:.2px;
	overflow:hidden;
	padding:.8rem .7rem;
	position:relative;
	transition:all .3s ease-in-out;
	z-index:1
}
.dashboard-overview .exercise-buttons-group[data-category="strength"] .exercise-button {
	border-left:3px solid var(--strength-color)
}
.dashboard-overview .exercise-buttons-group[data-category="cardio"] .exercise-button {
	border-left:3px solid var(--cardio-color)
}
.dashboard-overview .exercise-buttons-group[data-category="flexibility"] .exercise-button {
	border-left:3px solid var(--flexibility-color)
}
.dashboard-overview .exercise-button:hover {
	background:var(--glass-background);
	box-shadow:0 7px 14px rgba(0, 0, 0, 0.122) 0 3px 6px rgba(0, 0, 0, 0.078);
	opacity:.9;
	transform:translateY(-2px)
}
.dashboard-overview .exercise-button.active {
	background:rgba(0, 123, 255, 0.149);
	border:1px solid rgba(0, 123, 255, 0.502);
	border-left-width:4px;
	box-shadow:0 5px 15px rgba(0, 123, 255, 0.2);
	color:#007bff;
	color:var(--accent-primary);
	font-weight:600;
	transform:translateY(-1px)
}
.dashboard-overview .exercise-button:active {
	box-shadow:0 2px 4px rgba(0, 0, 0, 0.102);
	transform:translateY(1px)
}
.dashboard-overview .category-tab {
	-webkit-backdrop-filter:blur(8px);
	backdrop-filter:blur(8px);
	background:var(--glass-background);
	border:1px solid 1.5px solid rgba(255, 255, 255, 0.251);
	border:1px solid var(--glass-border);
	box-shadow:0 2px 5px 0 8px 32px 0 rgba(31, 38, 135, 0.18);
	box-shadow:0 2px 5px var(--glass-shadow);
	transition:all .3s ease
}
.dashboard-overview .category-tab.active {
	background:rgba(0, 123, 255, 0.8);
	border-color:rgba(0, 123, 255, 0.8);
	box-shadow:0 4px 8px rgba(0, 123, 255, 0.302);
	transform:translateY(-1px)
}
@keyframes highlight-pulse {
	0% {
		box-shadow:0 0 0 0 rgba(0, 123, 255, 0.4)
}
	70% {
		box-shadow:0 0 0 10px rgba(0, 123, 255, 0)
}
	100% {
		box-shadow:0 0 0 0 rgba(0, 123, 255, 0)
}
}
.highlight-element {
	animation:highlight-pulse 1s ease-out;
	border-color:#007bff!important;
	border-color:var(--accent-primary)!important;
	transition:all .3s ease
}
.button-clicked {
	opacity:.8!important;
	transform:scale(0.95)!important;
	transition:transform .1s ease, opacity .1s ease!important
}
.force-scroll {
	animation:force-scroll-animation .1s
}
@keyframes force-scroll-animation {
	50% {
		transform:translateY(1px)
}
	0%,100% {
		transform:translateY(0)
}
}
.exercise-categories-tabs {
	position:relative;
	z-index:2
}
.tabs-container {
	margin-bottom:1rem;
	overflow:hidden;
	position:relative;
	width:100%
}
.exercise-categories-tabs {
	display:flex;
	gap:.75rem;
	-webkit-overflow-scrolling:touch;
	-ms-overflow-style:none;
	overflow-x:auto;
	padding:.5rem;
	scroll-behavior:smooth;
	scrollbar-width:none
}
.exercise-categories-tabs::-webkit-scrollbar {
	display:none
}
.scroll-indicator {
	align-items:center;
	background:rgba(255, 255, 255, 0.902);
	border-radius:50%;
	box-shadow:0 2px 4px rgba(0, 0, 0, 0.102);
	cursor:pointer;
	display:flex;
	height:2rem;
	justify-content:center;
	opacity:0;
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	transition:opacity .3s ease;
	width:2rem;
	z-index:2
}
.scroll-indicator.left {
	left:0
}
.scroll-indicator.right {
	right:0
}
.scroll-indicator.visible {
	opacity:1
}
.category-tab {
	background:var(--surface-2);
	border:2px solid transparent;
	border-radius:1.5rem;
	color:var(--text-1);
	font-weight:500;
	overflow:hidden;
	padding:.5rem 1rem;
	position:relative;
	transition:all .3s ease;
	white-space:nowrap
}
.category-tab:hover {
	background:var(--surface-3);
	transform:translateY(-1px)
}
.category-tab.active {
	background:#007bff;
	background:var(--accent-primary);
	border-color:#007bff;
	border-color:var(--accent-primary);
	color:#fff
}
.category-tab i {
	font-size:.9em;
	margin-right:.5rem
}
.exercise-buttons-container {
	background:var(--surface-1);
	border-radius:.5rem;
	display:grid;
	gap:1rem;
	grid-gap:1rem;
	max-height:400px;
	overflow-y:auto;
	padding:1rem
}
.exercise-buttons-group {
	display:none;
	gap:1rem;
	grid-template-columns:repeat(auto-fill,minmax(200px,1fr))
}
.exercise-buttons-group.active {
	display:grid
}
.exercise-button {
	background:var(--surface-2);
	border:none;
	border-left:4px solid transparent;
	border-radius:.5rem;
	color:var(--text-1);
	cursor:pointer;
	font-weight:500;
	overflow:hidden;
	padding:1rem;
	position:relative;
	text-align:left;
	transition:all .3s ease
}
.exercise-button:hover {
	background:var(--surface-3);
	transform:translateY(-2px)
}
.exercise-button.active {
	background:var(--accent-primary-alpha);
	color:#007bff;
	color:var(--accent-primary)
}
.exercise-button::after {
	background:radial-gradient(circle,transparent 1%,var(--surface-2) 1%) center/15000%;
	top:0;
	right:0;
	bottom:0;
	left:0;
	content:'';
	opacity:0;
	position:absolute;
	transition:background-size 0.3s, opacity .3s
}
.exercise-button:active::after {
	background-size:100%;
	opacity:.3;
	transition:0s
}
@keyframes tapAnimation {
	50% {
		transform:scale(0.97)
}
	0%,100% {
		transform:scale(1)
}
}
.tap-animation {
	animation:tapAnimation .3s ease
}
.dashboard-overview {
	padding-bottom:200px
}
.bottom-buttons {
	background-color:#2d2d2d;
	background-color:var(--bg-secondary);
	border-radius:10px;
	box-shadow:0 2px 10px rgba(0, 0, 0, 0.102);
	margin:20px 0;
	padding:20px
}
.bottom-buttons .cancel-workout-form {
	margin-top:10px
}
.bottom-buttons .form-group,.bottom-buttons .form-actions {
	margin-bottom:15px
}
.bottom-buttons .finish-workout-btn,.bottom-buttons .btn-danger {
	font-size:1.1rem;
	padding:12px;
	width:100%
}
.add-exercise-card {
	margin-bottom:10px;
	margin-top:10px
}
.add-exercise-card .form-actions {
	margin-bottom:0;
	margin-top:10px
}
.exercises-list-card {
	margin-top:10px
}
.timer-header {
	align-items:center;
	cursor:pointer;
	display:flex;
	justify-content:space-between;
	padding:.5rem;
	transition:background-color .2s
}
.timer-toggle {
	transition:transform .3s ease
}
.timer-toggle.active {
	transform:rotate(180deg)
}
.timer-content {
	border-top:1px solid #404040;
	border-top:1px solid var(--border-color);
	padding:1rem
}
.timer-display {
	color:#007bff;
	color:var(--accent-primary);
	font-family:'Roboto Mono',monospace;
	font-size:2.5rem;
	font-weight:700;
	margin:1rem 0;
	text-align:center;
	transition:color .3s ease
}
.timer-controls {
	margin-bottom:1rem
}
.timer-controls,.timer-presets {
	display:flex;
	gap:.5rem;
	justify-content:center
}
.timer-presets {
	flex-wrap:wrap
}
.btn-preset {
	background-color:#1a1a1a;
	background-color:var(--bg-primary);
	border:1px solid #404040;
	border:1px solid var(--border-color);
	border-radius:4px;
	color:#fff;
	color:var(--text-primary);
	cursor:pointer;
	font-size:.9rem;
	padding:.25rem .5rem;
	transition:all .2s ease
}
.btn-preset.active {
	background-color:#007bff;
	background-color:var(--accent-primary);
	border-color:#007bff;
	border-color:var(--accent-primary);
	color:#fff
}
.add-exercise-card h2,.exercises-list-card h2 {
	margin-bottom:10px;
	margin-top:0
}
.add-exercise-card .selection-mode-toggle,.add-exercise-card .form-group {
	margin-bottom:10px
}
.timer-header:hover,.btn-preset:hover {
	background-color:var(--bg-hover)
}
@keyframes pulse {
	50% {
		opacity:.5
}
	0%,100% {
		opacity:1
}
}
.timer-display.warning {
	animation:pulse 1s infinite;
	color:#dc3545;
	color:var(--danger)
}
.timer-display.running {
	color:#007bff;
	color:var(--accent-primary)
}
.timer-display.paused {
	color:#ffc107;
	color:var(--warning)
}
.timer-display.finished {
	color:#dc3545;
	color:var(--danger)
}
.dashboard-grid {
	display:grid;
	gap:2rem;
	grid-gap:2rem;
	grid-template-columns:repeat(2,1fr)
}
.bottom-grid {
	grid-template-columns:1fr;
	margin:2rem auto 3rem;
	max-width:500px
}
.dashboard-card {
	background:#2d2d2d;
	background:var(--bg-secondary);
	border-radius:10px;
	box-shadow:0 2px 4px rgba(0, 0, 0, 0.102);
	padding:1.5rem
}
.confirm-dialog {
	background:#2d2d2d;
	background:var(--bg-secondary);
	border-radius:16px 16px 0 0;
	bottom:0;
	box-shadow:0 -2px 10px rgba(0, 0, 0, 0.2);
	left:0;
	padding:1.5rem 1rem;
	position:fixed;
	right:0;
	transform:translateY(100%);
	transition:transform .3s ease;
	z-index:1000
}
.confirm-dialog.active {
	transform:translateY(0)
}
.confirm-dialog-content {
	margin-bottom:1.5rem;
	text-align:center
}
.confirm-dialog-content h3 {
	font-size:1.2rem;
	margin-bottom:.75rem
}
.confirm-dialog-content p {
	color:#b3b3b3;
	color:var(--text-secondary)
}
.confirm-dialog-actions {
	display:grid;
	gap:1rem;
	grid-gap:1rem;
	grid-template-columns:1fr 1fr
}
.confirm-dialog-backdrop {
	-webkit-backdrop-filter:blur(3px);
	backdrop-filter:blur(3px);
	background:rgba(0, 0, 0, 0.502);
	top:0;
	right:0;
	bottom:0;
	left:0;
	opacity:0;
	pointer-events:none;
	position:fixed;
	transition:opacity .3s ease;
	z-index:999
}
.confirm-dialog-backdrop.active {
	opacity:1;
	pointer-events:auto
}
.exercise-type-indicator {
	align-items:center;
	color:#007bff;
	color:var(--accent-primary);
	display:inline-flex;
	margin-left:8px
}
.exercise-type-indicator i {
	font-size:14px
}
.exercise-button {
	align-items:center;
	display:flex;
	justify-content:space-between
}
.workout-status-card {
	position:relative
}
.workout-status {
	margin-bottom:1rem
}
.rest-timer {
	border-top:1px solid #404040;
	border-top:1px solid var(--border-color);
	margin-top:1rem;
	padding-top:1rem
}
.rest-timer .timer-header {
	align-items:center;
	cursor:pointer;
	display:flex;
	justify-content:space-between;
	padding:.5rem 0
}
.rest-timer .timer-header h3 {
	color:#b3b3b3;
	color:var(--text-secondary);
	font-size:1.1rem;
	margin:0
}
.rest-timer .timer-toggle {
	transition:transform .3s ease
}
.rest-timer .timer-toggle.active {
	transform:rotate(180deg)
}
.rest-timer .timer-content {
	padding:1rem 0
}
.rest-timer .timer-display {
	color:#007bff;
	color:var(--accent-primary);
	font-size:2rem;
	font-weight:700;
	margin-bottom:1rem;
	text-align:center
}
.rest-timer .timer-controls {
	display:flex;
	gap:.5rem;
	justify-content:center;
	margin-bottom:1rem
}
.rest-timer .timer-presets {
	display:flex;
	flex-wrap:wrap;
	gap:.5rem;
	justify-content:center
}
.rest-timer .btn-preset {
	background:var(--background-secondary);
	border:1px solid #404040;
	border:1px solid var(--border-color);
	border-radius:.25rem;
	color:#fff;
	color:var(--text-primary);
	cursor:pointer;
	font-size:.9rem;
	padding:.25rem .5rem;
	transition:all .2s ease
}
.rest-timer .btn-preset:hover {
	background:var(--background-tertiary)
}
.rest-timer .btn-preset.active {
	background:#007bff;
	background:var(--accent-primary);
	border-color:#007bff;
	border-color:var(--accent-primary);
	color:#fff
}
.notification-dropdown {
	-webkit-backdrop-filter:blur(12px);
	backdrop-filter:blur(12px);
	background:rgba(40, 44, 52, 0.851);
	border:1px solid rgba(255, 255, 255, 0.078);
	border-radius:18px;
	box-shadow:0 8px 32px 0 rgba(126, 52, 17, 0.173);
	display:none;
	flex-direction:column;
	max-height:500px;
	overflow-y:auto;
	padding:1.5rem 1rem 1rem;
	position:fixed;
	right:1rem;
	top:calc(1rem + 44px + 10px);
	transition:box-shadow 0.3s, background .3s;
	width:350px;
	z-index:9998
}
.notification-dropdown.active {
	display:flex
}
.notification-dropdown-header {
	align-items:center;
	border-bottom:1px solid rgba(255, 255, 255, 0.102);
	display:flex;
	justify-content:space-between;
	margin-bottom:1rem;
	padding-bottom:1rem
}
.notification-dropdown-title {
	color:#fff;
	font-size:1.2rem;
	font-weight:700;
	letter-spacing:.02em
}
.notification-dropdown-list {
	display:flex;
	flex-direction:column;
	gap:1rem
}
.notification-item {
	background:rgba(255, 255, 255, 0.051);
	border-left:5px solid #007bff;
	border-left:5px solid var(--accent-primary,#007bff);
	border-radius:12px;
	box-shadow:0 2px 8px rgba(0, 0, 0, 0.078);
	cursor:pointer;
	padding:1rem;
	position:relative;
	transition:background 0.2s, transform .2s
}
.notification-item:hover {
	background:rgba(0, 123, 255, 0.102);
	transform:translateY(-2px) scale(1.01)
}
.notification-item.unread {
	background:rgba(0, 123, 255, 0.078);
	border-left-color:#007bff;
	border-left-color:var(--accent-primary,#007bff)
}
.notification-item.success {
	border-left-color:#28a745;
	border-left-color:var(--success,#28a745)
}
.notification-item.error {
	border-left-color:#dc3545;
	border-left-color:var(--danger,#dc3545)
}
.notification-item.info {
	border-left-color:#007bff;
	border-left-color:var(--accent-primary,#007bff)
}
.notification-item.warning {
	border-left-color:#ffc107;
	border-left-color:var(--warning,#ffc107)
}
.notification-item-header {
	display:flex;
	justify-content:space-between;
	margin-bottom:.25rem
}
.notification-item-title {
	color:#fff;
	font-size:1rem;
	font-weight:700
}
.notification-item-time {
	color:#b3b3b3;
	font-size:.8rem
}
.notification-item-body {
	color:#e0e0e0;
	font-size:.95rem;
	margin-top:.25rem
}
.notification-empty {
	color:#b3b3b3;
	font-style:italic;
	padding:1rem;
	text-align:center
}
.notification-dropdown::-webkit-scrollbar {
	width:6px
}
.notification-dropdown::-webkit-scrollbar-thumb {
	background:rgba(0, 123, 255, 0.149);
	border-radius:6px
}
.notification-dropdown::-webkit-scrollbar-track {
	background:transparent
}
.dashboard-overview,.dashboard-card,.stat-card,.bottom-buttons-card {
	-webkit-backdrop-filter:blur(16px);
	backdrop-filter:blur(16px);
	-webkit-backdrop-filter:var(--glass-blur);
	backdrop-filter:var(--glass-blur);
	border:1.5px solid rgba(255, 255, 255, 0.251);
	border:var(--glass-border);
	border-radius:18px;
	box-shadow:0 8px 32px 0 rgba(31, 38, 135, 0.18);
	box-shadow:var(--glass-shadow);
	color:#fff;
	color:var(--text-primary);
	transition:background 0.3s, box-shadow .3s
}
.dashboard-overview {
	margin:0 auto;
	max-width:1200px;
	padding:2rem
}
@media (max-width: 768px) {
	.main-content {
		padding:1rem
}
	.mobile-menu-toggle {
		border:none
}
	.app-container {
		margin:0;
		padding:0
}
	.main-content {
		transform:none
}
	.sidebar {
		width: 280px;
		max-width: 50%;
		height: 100vh;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	.sidebar-nav {
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		flex: 1;
		padding: 1rem 0;
	}
	.sidebar.active ~ .main-content {
		transform:none
}
	.sidebar {
		box-shadow:none;
		max-width:280px;
		padding-bottom:20px;
		transform:translateX(-100%);
		transition:transform .3s ease;
		width:85%
}
	.sidebar.active {
		box-shadow:2px 0 15px rgba(0, 0, 0, 0.302);
		transform:translateX(0)
}
	.main-content.with-sidebar {
		box-sizing:border-box;
		margin-left:0;
		overflow-x:hidden;
		padding:1rem;
		width:90%
}
	.mobile-menu-toggle {
		align-items:center;
		background:#2d2d2d;
		background:var(--bg-secondary);
		border-radius:50%;
		box-shadow:0 2px 5px rgba(0, 0, 0, 0.2);
		color:#fff;
		color:var(--text-primary);
		cursor:pointer;
		display:flex;
		height:40px;
		justify-content:center;
		left:1rem;
		position:fixed;
		top:1rem;
		transition:opacity .3s ease, transform .3s ease;
		width:40px;
		z-index:101
}
	.app-container {
		width:100vw
}
	.sidebar-nav a {
		font-size:.9rem;
		padding:.35rem 1.25rem
}
	.user-avatar {
		height:40px;
		width:40px
}
	.user-info p {
		font-size:.75rem
}
	.sidebar-header h1 {
		font-size:1.2rem
}
	.admin-link {
		font-size:.85rem;
		padding:.4rem
}
	.logout-btn {
		font-size:.9rem;
		padding:.5rem
}
	.badge {
		font-size:.65rem;
		padding:.15rem .4rem
}
	.sidebar-footer {
		margin-bottom:15px;
		padding:.75rem
}
	.bottom-buttons {
		margin-bottom:90px
}
	.exercise-card {
		gap:.75rem;
		grid-template-columns:1fr
}
	.exercise-meta {
		flex-direction:column;
		gap:.5rem
}
	.meta-item {
		width:100%
}
	.exercise-header {
		align-items:flex-start
}
	.exercise-actions {
		display:flex;
		gap:.5rem;
		margin-top:.5rem;
		width:100%
}
	.exercise-actions .btn {
		flex:1
}
	.exercise-description {
		margin-bottom:.75rem
}
	.dashboard-grid {
		margin-bottom:80px
}
	.sidebar-nav .icon,.user-info h3,.exercise-description p {
		font-size:.9rem
}
	.user-profile,.sidebar-header {
		padding:1rem 1rem
}
	.sidebar-close {
		background:transparent;
		border:none;
		color:#fff;
		color:var(--text-primary);
		cursor:pointer;
		display:block;
		padding:.5rem;
		position:absolute;
		right:1rem;
		top:1rem;
		z-index:5
}
	.bottom-buttons-card {
		margin:1rem auto 5rem
}
	.bottom-buttons .finish-workout-btn,.bottom-buttons .btn-danger {
		padding:.75rem
}
	.form-actions,.add-exercise-card .form-actions {
		margin-bottom:30px;
		padding-bottom:15px
}
	.main-content {
		padding-bottom:30px
}
	.add-exercise-card,.dashboard-grid,.bottom-buttons {
		margin-bottom:30px
}
	.profile-info,.stats-grid,.measurements-grid {
		gap:1rem;
		grid-template-columns:1fr
}
	.password-section {
		margin-top:1.5rem;
		padding:1rem
}
	.profile-container,.stat-item,.measurement-item {
		padding:1rem
}
	.stats-overview {
		gap:.75rem;
		grid-template-columns:1fr
}
	.stat-icon {
		font-size:1.25rem;
		min-width:32px
}
	.stat-content h3 {
		font-size:.8rem
}
	.stats-section {
		margin-bottom:1.5rem;
		padding:1rem
}
	.chart-container {
		height:250px;
		padding:.75rem
}
	.efficiency-table {
		display:block;
		overflow-x:auto;
		white-space:nowrap
}
	.statistics-container,.exercise-list li {
		padding:.5rem
}
	.stat-card,.rest-periods,.strength-index {
		padding:.75rem
}
	.stat-value,.stats-section h2 {
		font-size:1.1rem
}
	.goals-list,.category-stats {
		grid-template-columns:1fr
}
	.public-profile {
		margin:1rem auto
}
	.public-profile .user-profile {
		flex-direction:column;
		gap:1rem;
		padding:1rem;
		text-align:center
}
	.public-profile .profile-image {
		height:100px;
		width:100px
}
	.public-profile .profile-stats {
		gap:1rem;
		justify-content:center
}
	.public-profile .profile-stat {
		font-size:.9rem
}
	.public-profile .workouts-grid,.public-profile .exercise-grid,.public-profile .achievements-grid {
		gap:1rem;
		grid-template-columns:1fr
}
	.public-profile .workout-card,.public-profile .exercise-card,.public-profile .achievement-card {
		padding:1rem
}
	.public-profile .workout-stats {
		grid-template-columns:1fr
}
	.public-profile .stats-grid {
		gap:1rem;
		grid-template-columns:repeat(2,1fr)
}
	.public-profile .stat-card {
		padding:1rem
}
	.public-profile .stat-card h3 {
		font-size:.9rem
}
	.public-profile .stat-value {
		font-size:1.5rem
}
	.footer-content {
		gap:1.5rem;
		grid-template-columns:1fr;
		padding:0 1rem;
		text-align:center
}
	.footer-branding {
		flex-direction:column;
		justify-content:center;
		text-align:center
}
	.footer-links {
		align-items:center
}
	.footer-social {
		justify-content:center
}
	.profile-footer {
		margin-top:2rem;
		padding-top:1.5rem
}
	.dashboard-card {
		padding:15px
}
	.profile-info {
		grid-template-columns:1fr
}
	.recent-workouts {
		grid-column:span 1
}
	.daily-stats {
		gap:8px
}
	.stat-item {
		min-height:60px;
		padding:6px
}
	.stat-item i {
		font-size:1.1rem
}
	.stat-content h3 {
		font-size:.7rem
}
	.stat-content p {
		font-size:.85rem;
		margin-top:2px
}
	.dashboard-grid,.workouts-list {
		grid-template-columns:1fr
}
	.container {
		padding:.75rem
}
	h1 {
		font-size:1.5rem;
		text-align:center
}
	.form-group {
		margin-bottom:1rem
}
	.form-control {
		font-size:16px;
		padding:.75rem
}
	.exercise-item {
		display:grid;
		gap:.5rem;
		grid-gap:.5rem;
		grid-template-columns:repeat(2,1fr);
		padding:.75rem;
		position:relative
}
	.exercise-item > div:first-child {
		grid-column:1 / -1
}
	.exercise-headers {
		display:none
}
	.remove-exercise {
		position:absolute;
		right:.5rem;
		top:.5rem
}
	.input-group {
		position:relative
}
	.input-label {
		color:#b3b3b3;
		color:var(--text-secondary);
		display:block;
		font-size:.8rem;
		margin-bottom:.25rem
}
	.form-actions {
		background:#1a1a1a;
		background:var(--bg-primary);
		bottom:0;
		box-shadow:0 -4px 10px rgba(0, 0, 0, 0.102);
		display:flex;
		flex-direction:column;
		gap:.75rem;
		margin-top:2rem;
		padding:1rem 0;
		position:sticky;
		z-index:10
}
	.btn {
		font-size:1rem;
		justify-content:center;
		min-height:44px
}
	.mobile-header {
		box-shadow:0 2px 5px rgba(0, 0, 0, 0.102);
		margin:-1rem -1rem 1rem;
		padding:1rem
}
	.mobile-header h1 {
		flex-grow:1;
		margin:0;
		text-align:center
}
	.back-button {
		align-items:center;
		background:#2d2d2d;
		background:var(--bg-secondary);
		border:none;
		border-radius:50%;
		color:#fff;
		color:var(--text-primary);
		cursor:pointer;
		display:inline-flex;
		height:40px;
		justify-content:center;
		width:40px
}
	.exercise-header {
		flex-direction:column
}
	.exercise-select {
		width:100%
}
	.remove-exercise {
		align-self:flex-end
}
	.welcome-back {
		padding:.75rem 0
}
	.welcome-back h1 {
		font-size:1.25rem
}
	.dashboard-grid {
		gap:.75rem
}
	.quick-actions {
		gap:.5rem;
		margin-bottom:1rem
}
	.btn {
		font-size:.85rem;
		min-height:36px;
		padding:.5rem;
		width:100%
}
	.workout-header {
		align-items:center;
		flex-direction:row;
		justify-content:space-between;
		margin-bottom:.75rem;
		padding-bottom:.25rem
}
	.workout-header h2 {
		font-size:1rem;
		margin-bottom:0
}
	.workout-actions {
		display:flex;
		gap:.25rem;
		justify-content:flex-end;
		width:auto
}
	.workout-stats {
		gap:.5rem;
		grid-template-columns:1fr 1fr
}
	.stat-item {
		padding:.5rem
}
	.stat-content h3 {
		font-size:.75rem
}
	.workout-exercises,.workout-notes {
		margin-top:.75rem;
		padding-top:.5rem
}
	.workout-exercises h3,.workout-notes h3 {
		font-size:.85rem
}
	.dashboard-overview,.workout-card {
		padding:.75rem
}
	.welcome-back p,.workout-exercises p,.workout-notes p {
		font-size:.8rem
}
	.stat-item i,.stat-content p {
		font-size:1rem
}
	.app-container,.main-content {
		max-width:100%;
		right: 2px;
		overflow-x:hidden;
		position:center;
		width:100%
}
	.main-content {
		padding:.75rem;
		padding:var(--mobile-padding)
}
	.main-content,.dashboard-grid {
		box-sizing:border-box;
		margin:0
}
	.dashboard-grid {
		padding:0
}
	.dashboard-card {
		box-sizing:border-box;
		margin:0;
		max-width:100%;
		padding:.75rem;
		padding:var(--mobile-padding)
}
	.dashboard-card,.stat-card {
		border-radius:8px;
		border-radius:var(--border-radius-md);
		overflow:hidden
}
	.dashboard-card,.stat-card,.daily-stats,.stats-overview {
		box-sizing:border-box;
		max-width:100%;
		width:100%
}
	.daily-stats,.stats-overview {
		display:grid;
		gap:.5rem;
		gap:var(--spacing-sm);
		grid-gap:.5rem;
		grid-gap:var(--spacing-sm);
		grid-template-columns:repeat(2,1fr);
		margin:0
}
	.stat-item {
		border-radius:4px;
		border-radius:var(--border-radius-sm);
		min-width:0;
		overflow:hidden
}
	.stat-item,.container,.dashboard-overview {
		box-sizing:border-box;
		max-width:100%;
		width:100%
}
	.container,.dashboard-overview {
		margin:0;
		padding:.75rem;
		padding:var(--mobile-padding)
}
	.bottom-buttons-card {
		box-shadow:0 2px 8px rgba(0, 0, 0, 0.149);
		margin-bottom:1rem;
		padding:1rem;
		width:100%
}
	.bottom-buttons {
		gap:.5rem
}
	.mobile-badge.active-workout-badge {
		background-color:#28a745;
		background-color:var(--success);
		height:12px;
		min-width:12px;
		right:0
}
	body:not([data-page="active_workout"]) .icon-play-circle::before {
		border-left-color:#4CAF50
}
	.icon-play-circle:hover {
		border-color:#fff;
		border-color:var(--text-primary)
}
	body:not([data-page="active_workout"]) .icon-play-circle {
		border-color:#4CAF50
}
	.timer-badge {
		animation:pulse 1s infinite;
		background-color:#007bff;
		background-color:var(--accent-primary)
}
	.timer-badge,.active-workout-badge {
		align-items:center;
		border-radius:8px;
		color:#fff;
		display:inline-flex;
		font-size:.7em;
		font-weight:700;
		height:16px;
		justify-content:center;
		margin-left:4px;
		min-width:32px;
		padding:1px 4px
}
	.active-workout-badge {
		background-color:#28a745;
		background-color:var(--success)
}
	.mobile-badge {
		align-items:center;
		animation:pulse 1s infinite;
		background-color:#007bff;
		background-color:var(--accent-primary);
		border-radius:8px;
		color:#fff;
		display:inline-flex;
		font-size:.7em;
		font-weight:700;
		height:16px;
		justify-content:center;
		min-width:32px;
		padding:1px 4px;
		position:absolute;
		right:0;
		top:0;
		transform:translate(25%,-25%)
}
	@keyframes pulse {
		50% {
			opacity:.7
}
		0%,100% {
			opacity:1
}
	}
	.bottom-buttons .form-actions {
		margin-bottom:.25rem;
		margin-top:.5rem
}
	.bottom-buttons .form-group {
		margin-bottom:.5rem
}
	.bottom-buttons textarea {
		font-size:.95rem;
		max-height:60px
}
	.bottom-buttons .btn-success,.bottom-buttons .btn-danger,.bottom-buttons .cancel-workout-btn {
		font-size:.95rem;
		margin-top:.25rem;
		padding:.6rem
}
	.tap-animation {
		animation:tap-effect .3s ease-out
}
	.category-tab.active {
		background:#007bff;
		background:var(--accent-primary);
		box-shadow:0 4px 10px rgba(0, 123, 255, 0.349);
		color:#fff;
		transform:translateY(-2px)
}
	.exercise-button.active {
		background:var(--accent-lighter);
		border-left:4px solid #007bff;
		border-left:4px solid var(--accent-primary);
		box-shadow:0 5px 12px rgba(0, 123, 255, 0.251);
		font-weight:600;
		transform:translateY(-1px)
}
	.mobile-nav-item {
		position:relative
}
	.mobile-badge.active-workout-badge {
		background:#28a745;
		background:var(--success);
		border-radius:50%;
		height:8px;
		left:8px;
		min-width:8px;
		padding:0;
		position:absolute;
		right:auto;
		top:8px;
		z-index:2
}
	.mobile-badge.timer-badge {
		align-items:center;
		animation:pulse 1s infinite;
		background:#007bff;
		background:var(--accent-primary);
		border-radius:8px;
		color:#fff;
		display:inline-flex;
		font-size:.7em;
		font-weight:700;
		height:16px;
		justify-content:center;
		left:auto;
		min-width:32px;
		position:absolute;
		right:15px;
		top:8px;
		z-index:2
}
	.exercise-categories-tabs {
		gap:.4rem;
		justify-content:center
}
	.category-tab {
		flex:0 0 calc(33.333% - 0.4rem);
		font-size:.85rem;
		max-width:none;
		min-height:36px;
		min-width:0;
		padding:.5rem .6rem
}
	.welcome-back {
		padding:1rem 0
}
	.welcome-back h1 {
		font-size:1.75rem
}
	.dashboard-grid {
		gap:1.5rem;
		grid-template-columns:1fr;
		margin:0 auto;
		max-width:100%;
		padding:0 .5rem;
		width:100%
}
	.bottom-grid {
		margin-top:2rem;
		max-width:600px;
		padding:0 .75rem
}
	.dashboard-card {
		margin:0 auto;
		padding:1.2rem;
		width:100%
}
	.quick-actions {
		flex-direction:column;
		gap:.75rem
}
	.exercise-details {
		grid-template-columns:1fr;
		margin-bottom:1.5rem;
		margin-top:1.5rem
}
	.stat-item {
		padding:.75rem
}
	.stat-item i {
		font-size:1.5rem
}
	.stat-content p {
		font-size:1.25rem
}
	.workout-actions {
		margin-top:1rem;
		padding-top:1rem
}
	.table {
		display:none
}
	.mobile-table-view {
		display:block
}
	.mobile-exercise-item {
		background:#3a3a3a;
		background:var(--bg-tertiary);
		border:1px solid rgba(255, 255, 255, 0.102);
		border-radius:8px;
		box-shadow:0 1px 3px rgba(0, 0, 0, 0.102);
		margin-bottom:1rem;
		padding:1rem
}
	.mobile-exercise-header {
		align-items:center;
		border-bottom:1px solid rgba(255, 255, 255, 0.2);
		display:flex;
		justify-content:space-between;
		margin-bottom:.75rem;
		padding-bottom:.5rem
}
	.mobile-exercise-name {
		align-items:center;
		display:flex;
		font-size:1.1rem;
		font-weight:600
}
	.mobile-exercise-name i {
		font-size:1.2rem;
		margin-right:.75rem
}
	.mobile-exercise-item[data-category="strength"] .mobile-exercise-name i {
		color:var(--strength-color)
}
	.mobile-exercise-item[data-category="cardio"] .mobile-exercise-name i {
		color:var(--cardio-color)
}
	.mobile-exercise-item[data-category="flexibility"] .mobile-exercise-name i {
		color:var(--flexibility-color)
}
	.mobile-exercise-details {
		display:grid;
		gap:.75rem;
		grid-gap:.75rem;
		grid-template-columns:repeat(2,1fr)
}
	.mobile-exercise-detail {
		display:flex;
		flex-direction:column
}
	.mobile-exercise-label {
		color:#b3b3b3;
		color:var(--text-secondary);
		font-size:.8rem;
		margin-bottom:.25rem
}
	.mobile-exercise-value {
		font-weight:500
}
	.exercise-buttons-container {
		margin-bottom:1.5rem;
		max-height:400px;
		padding-bottom:1rem
}
	.exercise-buttons-group {
		grid-template-columns:repeat(auto-fill,minmax(140px,1fr))
}
	.exercise-buttons-group.active {
		gap:1rem;
		margin-bottom:.5rem;
		padding-bottom:1rem
}
	.exercise-button {
		align-items:center;
		background:#3a3a3a;
		background:var(--bg-tertiary);
		border:1px solid #404040;
		border:1px solid var(--border-color);
		border-left-style:solid!important;
		border-left-width:4px!important;
		border-radius:10px;
		box-shadow:0 2px 5px rgba(0, 0, 0, 0.102);
		color:#fff;
		cursor:pointer;
		display:flex;
		font-size:.9rem;
		font-weight:500;
		justify-content:center;
		line-height:1.2;
		margin-bottom:.5rem;
		min-height:50px;
		padding:.8rem .7rem;
		text-align:center;
		transition:all .2s ease
}
	.exercise-categories-tabs {
		gap:.75rem;
		margin-bottom:1.25rem;
		max-width:100%;
		-webkit-overflow-scrolling:touch;
		padding-bottom:.75rem
}
	.category-tab {
		border-radius:25px;
		box-shadow:0 2px 5px rgba(0, 0, 0, 0.102);
		font-size:.95rem;
		min-height:44px;
		padding:.7rem 1.1rem
}
	.category-tab i {
		font-size:1.1rem;
		margin-right:.5rem
}
	.category-tab.active {
		box-shadow:0 4px 8px rgba(0, 123, 255, 0.302);
		transform:translateY(-1px)
}
	#exercise-description {
		margin:1.5rem 0;
		padding:1.25rem
}
	.button-group {
		background-color:#1a1a1a;
		background-color:var(--bg-primary);
		bottom:5rem;
		box-shadow:0 -2px 10px rgba(0, 0, 0, 0.102);
		gap:.75rem;
		left:0;
		padding:0 1rem .5rem;
		padding-top:.5rem;
		right:0;
		z-index:1000
}
	div.button-group .finish-workout-btn {
		font-size:1.1rem
}
	div.button-group .finish-workout-btn,div.button-group .add-exercise-btn {
		border-radius:8px;
		box-shadow:0 4px 15px rgba(0, 0, 0, 0.251);
		padding:1rem
}
	div.button-group .add-exercise-btn {
		font-size:1rem
}
	.finish-workout-btn i,.add-exercise-btn i {
		font-size:1.3rem
}
	.form-actions {
		margin-top:1rem
}
	.form-actions .btn {
		font-size:1rem;
		padding:.75rem 1rem;
		width:100%
}
	.add-exercise-card .form-actions {
		margin-bottom:20px;
		padding-bottom:10px
}
	@keyframes tap-effect {
		50% {
			transform:scale(0.97)
}
		0%,100% {
			transform:scale(1)
}
	}
	*,::before,::after {
		box-sizing:border-box!important
}
	.dashboard-overview {
		overflow-x:hidden!important;
		padding:.75rem!important
}
	.dashboard-overview,.dashboard-grid {
		margin:0!important;
		max-width:100%!important;
		width:100%!important
}
	.dashboard-grid {
		display:flex!important;
		flex-direction:column!important;
		gap:1rem!important;
		padding:0!important
}
	.dashboard-card {
		margin:0 0 1rem!important;
		max-width:100%!important;
		padding:1rem!important;
		width:100%!important
}
	input[type="text"],input[type="number"],input[type="email"],input[type="password"],select,textarea,.form-control {
		-webkit-appearance:none!important;
		-moz-appearance:none!important;
		appearance:none!important;
		border-radius:8px!important;
		font-size:16px!important;
		max-width:100%!important;
		padding:.75rem!important;
		width:100%!important
}
	.form-group,.exercise-details,.exercise-details .form-group {
		margin-left:0!important;
		margin-right:0!important;
		max-width:100%!important;
		padding-left:0!important;
		padding-right:0!important;
		width:100%!important
}
	.exercise-details {
		display:flex!important;
		flex-direction:column!important;
		gap:1rem!important
}
	#exercise-details[style*="display: none"],#form-actions[style*="display: none"],#exercise-description[style*="display: none"] {
		display:none!important
}
	.exercise-buttons-container {
		max-height:300px
}
	.exercise-buttons-group {
		grid-template-columns:1fr
}
	.exercise-button {
		padding:.75rem
}
	.category-tab {
		font-size:.9rem;
		padding:.5rem .75rem
}
	.dashboard-overview {
		padding-bottom:150px
}
	.bottom-buttons {
		margin:15px 0 170px;
		padding:15px
}
	.bottom-buttons .finish-workout-btn,.bottom-buttons .btn-danger {
		font-size:1rem;
		padding:10px
}
	.timer-display {
		font-size:2rem
}
	.timer-controls {
		flex-direction:column;
		gap:.5rem
}
	.timer-controls .btn {
		width:100%
}
	.timer-presets {
		flex-wrap:wrap;
		justify-content:center
}
	.btn-preset {
		flex:1 1 calc(33.333% - 0.5rem);
		min-width:60px
}
	.mobile-header {
		background:#1a1a1a;
		background:var(--bg-primary);
		box-sizing:border-box;
		justify-content:space-between;
		margin:calc(-1 * .75rem);
		margin:calc(-1 * var(--mobile-padding));
		margin-bottom:.75rem;
		margin-bottom:var(--mobile-padding);
		position:sticky;
		top:0;
		width:calc(100% + (2 * .75rem));
		width:calc(100% + (2 * var(--mobile-padding)));
		z-index:100
}
	.mobile-header,.mobile-nav-bar {
		align-items:center;
		display:flex;
		padding:.75rem;
		padding:var(--mobile-padding)
}
	.mobile-nav-bar {
		height:var(--mobile-nav-height);
		justify-content:space-around;
		padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));
		padding-bottom:calc(var(--mobile-padding) + env(safe-area-inset-bottom,0px))
}
	.dashboard-card,.stat-card,.bottom-buttons-card {
		box-sizing:border-box;
		margin-left:0;
		margin-right:0;
		width:100%
}
	.dashboard-overview,.dashboard-card,.workout-card,.exercise-card {
		box-sizing:border-box;
		padding:1rem;
		width:100%
}
	.dashboard-card,.workout-card,.exercise-card {
		margin:0 0 1rem
}
	.container {
		box-sizing:border-box;
		padding-left:1rem;
		padding-right:1rem;
		padding-top:calc(40px + 1rem);
		width:100%
}
}
@media (max-width: 480px) {
	.container {
		padding:0 .75rem
}
	h1 {
		font-size:1.5rem
}
	h2 {
		font-size:1.35rem
}
	h3 {
		font-size:1.2rem
}
	.sidebar {
		max-width:65%;
		width:65%
}
	.mobile-menu-toggle {
		display:flex;
		font-size:1.3rem;
		padding:.75rem
}
	.main-content.with-sidebar {
		margin-left:0;
	}
	.form-actions {
		flex-direction:column
}
	.form-actions .btn {
		margin-bottom:.5rem;
		width:100%
}
	.exercise-item {
		min-width:0;
		padding:.75rem
}
	.exercise-item,.exercise-headers {
		gap:.5rem;
		grid-template-columns:1fr
}
	.exercise-card {
		gap:.75rem;
		grid-template-columns:1fr;
		margin:0 0 1rem;
		padding:0
}
	.exercise-meta {
		flex-direction:column;
		gap:.5rem
}
	.meta-item {
		width:100%
}
	.btn {
		padding:.6rem 1rem
}
	.dashboard-card {
		box-sizing:border-box;
		width:100%
}
	.dashboard-card.full-width {
		grid-column:1 / -1
}
	.category-card,.exercise-grid {
		box-sizing:border-box;
		width:100%
}
	.public-profile .stats-grid {
		grid-template-columns:1fr
}
	.bottom-buttons-card {
		border-radius:8px;
		margin-bottom:1rem;
		padding:1rem
}
	.bottom-buttons {
		gap:.5rem
}
	.bottom-buttons .btn-success,.bottom-buttons .btn-danger,.bottom-buttons .cancel-workout-btn {
		font-size:.95rem;
		margin-top:.25rem;
		padding:.7rem
}
	.bottom-buttons textarea {
		font-size:.9rem;
		max-height:70px
}
	.bottom-buttons .form-group {
		margin-bottom:.5rem
}
	.bottom-buttons-card h2 {
		font-size:1.25rem;
		margin-bottom:.75rem;
		margin-top:0
}
	.category-tab {
		flex:0 0 calc(50% - 0.4rem);
		font-size:.8rem;
		min-height:34px;
		padding:.4rem .5rem
}
	.dashboard-grid {
		gap:1rem;
		padding:0
}
	.bottom-grid {
		margin-bottom:.5rem;
		margin-top:1.5rem
}
	.dashboard-card {
		border-radius:8px;
		padding:1rem
}
	.category-tab {
		font-size:.85rem;
		min-height:38px;
		padding:.5rem .7rem
}
	.category-tab i {
		font-size:.95rem;
		margin-right:.4rem
}
	.exercise-categories-tabs {
		gap:.4rem
}
	.exercise-button {
		font-size:.85rem;
		min-height:45px;
		padding:.6rem .5rem
}
	.exercise-buttons-group.active {
		gap:.7rem;
		grid-template-columns:repeat(auto-fill,minmax(120px,1fr))
}
}
@media (min-width: 481px) and (max-width: 768px) {
	.container {
		padding:0 1rem
}
	.sidebar {
		width:250px
}
	.dashboard-grid {
		gap:1.25rem
}
}
@media (min-width: 769px) and (max-width: 1024px) {
	.dashboard-grid {
		grid-template-columns:repeat(auto-fill,minmax(320px,1fr))
}
}
@media (pointer: coarse) {
	.btn,select,input[type="submit"],input[type="button"],button {
		min-height:44px
}
	.sidebar-nav a {
		padding:.75rem 1.25rem
}
	input[type="checkbox"],input[type="radio"] {
		margin:0 .5rem;
		transform:scale(1.2)
}
	::-webkit-scrollbar {
		height:3px;
		width:3px
}
	::-webkit-scrollbar-thumb {
		background:rgb(0,123,255,0.5);
		background:rgb(var(--accent-primary-rgb),0.5);
		border-radius:2px
}
	::-webkit-scrollbar-track {
		background:#1a1a1a;
		background:var(--bg-primary)
}
	select,input,button {
		font-size:16px;
		min-height:44px
}
	.duration-input-group input {
		width:80px
}
	.btn,button,a.btn {
		min-height:36px
}
}
@media (prefers-reduced-data) {
	img,video {
		height:auto;
		max-width:80%
}
}
@media (display-mode: standalone) {
	body {
		overscroll-behavior:none
}
	.app-container {
		padding-bottom:env(safe-area-inset-bottom);
		padding-top:env(safe-area-inset-top)
}
}
@media (min-width: 769px) {
	.sidebar {
		transform:none
}
}
@media (prefers-color-scheme: dark) {
	.stat-card,.stats-section,.chart-container,.rest-periods,.strength-index,.goal-item,.category-stat {
		box-shadow:0 2px 4px rgba(0, 0, 0, 0.2)
}
	.scroll-indicator {
		background:rgba(0, 0, 0, 0.702);
		color:var(--text-1)
}
}
@media (min-width: 480px) and (max-width: 768px) {
	.workout-actions {
		display:flex;
		gap:.25rem;
		justify-content:flex-end;
		width:auto
}
	.workout-header {
		align-items:center;
		flex-direction:row;
		justify-content:space-between
}
	.workout-header h2 {
		margin-bottom:0
}
}
@media (max-width: 576px) {
	.toast-container {
		left:.5rem;
		max-width:calc(100% - 1rem);
		right:.5rem
}
	.notification-bell {
		right:1rem;
		top:1rem
}
	.sidebar-footer {
		padding-bottom:20px
}
	.notification-dropdown {
		max-width:none;
		padding:1rem .5rem .5rem;
		right:.5rem;
		width:calc(100% - 1rem)
}
}
@media (max-width: 768px) {
	.exercise-item {
		align-items: center;
		background: var(--bg-tertiary);
		border: 1px solid rgba(255, 255, 255, 0.102);
		border-radius: 20px;
		display: flex;
		gap: 0.75rem;
		min-height: unset;
		padding: 0.75rem;
		position: relative;
		margin-bottom: 0.5rem;
		transition: all 0.3s ease;
	}
	.exercise-info {
		flex: 1;
		min-width: 0;
		overflow: hidden;
	}
	.exercise-info h3 {
		color: var(--text-primary);
		font-size: 0.95rem;
		margin: 0 0 2px 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.exercise-info p {
		color: var(--text-secondary);
		font-size: 0.8rem;
		margin: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		display: flex;
		align-items: center;
		gap: 2px;
	}
	.exercise-stats {
		font-size: 0.85rem;
		color: var(--accent-primary);
		background: #232323;
		border-radius: 12px;
		padding: 2px 10px;
		min-width: 60px;
		text-align: right;
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
	.exercise-item[data-category="strength"] {
		border-left: 4px solid var(--strength-color);
	}
	.exercise-item[data-category="cardio"] {
		border-left: 4px solid var(--cardio-color);
	}
	.exercise-item[data-category="flexibility"] {
		border-left: 4px solid var(--flexibility-color);
	}
	.exercise-item .remove-exercise {
		position: absolute;
		right: 0.5rem;
		top: 50%;
		transform: translateY(-50%);
		padding: 0.5rem;
		color: var(--danger);
		opacity: 0.7;
		transition: all 0.2s ease;
	}
	.exercise-item .remove-exercise:hover {
		opacity: 1;
		transform: translateY(-50%) scale(1.1);
	}
	.exercise-headers {
		display: none;
	}
	.exercise-item select,.exercise-item input {
		background: var(--bg-secondary);
		border: 1px solid var(--border-color);
		border-radius: 8px;
		color: var(--text-primary);
		font-size: 0.9rem;
		padding: 0.5rem;
		width: 100%;
	}
}
@media (max-width: 480px) {
	.exercise-item {
		padding: 0.6rem;
	}
	.exercise-info h3 {
		font-size: 0.85rem;
	}
	.exercise-info p {
		font-size: 0.75rem;
	}
	.exercise-stats {
		font-size: 0.8rem;
		padding: 2px 8px;
		min-width: 50px;
	}
}
@media (max-width: 768px) {
	.exercise-item .btn,.exercise-item button {
		font-size: 0.8rem;
		padding: 0.4rem 0.8rem;
		min-height: 32px;
		border-radius: 6px;
	}
	.exercise-item .btn-icon,.exercise-item .remove-exercise {
		padding: 0.3rem;
		font-size: 1rem;
		min-height: unset;
		width: 28px;
		height: 28px;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
	}
	.exercise-item .remove-exercise {
		background: rgba(220, 53, 69, 0.1);
		position: relative;
		right: 0;
		top: 0;
		transform: none;
	}
	.exercise-item .remove-exercise:hover {
		background: rgba(220, 53, 69, 0.2);
		transform: scale(1.1);
	}
}
@media (max-width: 480px) {
	.exercise-item .btn,.exercise-item button {
		font-size: 0.75rem;
		padding: 0.35rem 0.7rem;
		min-height: 30px;
	}
	.exercise-item .btn-icon,.exercise-item .remove-exercise {
		width: 26px;
		height: 26px;
		font-size: 0.9rem;
	}
}
.exercise-item .btn-icon {
	background: none;
	border: none;
	color: var(--text-secondary);
	opacity: 0.8;
	transition: all 0.2s ease;
}
.exercise-item .btn-icon:hover {
	color: var(--accent-primary);
	opacity: 1;
	transform: scale(1.1);
}
.exercise-item .btn-sm.btn-primary,.workout-card .btn-sm.btn-primary,.workout-card .btn-sm.btn-danger,.workout-card .btn-share {
	background: none !important;
	border: none !important;
	color: var(--text-secondary);
	opacity: 0.8;
	transition: all 0.2s ease;
	padding: 0.3rem;
	min-height: unset;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.exercise-item .btn-sm.btn-primary:hover,.workout-card .btn-sm.btn-primary:hover {
	color: var(--accent-primary);
	opacity: 1;
	transform: scale(1.1);
	background: none !important;
}
.workout-card .btn-sm.btn-danger:hover {
	color: var(--danger);
	opacity: 1;
	transform: scale(1.1);
	background: none !important;
}
.workout-card .btn-share:hover {
	color: var(--accent-primary);
	opacity: 1;
	transform: scale(1.1);
	background: none !important;
}
@media (max-width: 768px) {
	.workout-card .workout-actions {
		display: flex;
		gap: 0.5rem;
		align-items: center;
	}
}
.workout-card {
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	background: var(--glass-background);
	border: 1px solid var(--glass-border);
	border-radius: 20px;
	box-shadow: 0 4px 6px var(--glass-shadow), 0 1px 3px rgba(0, 0, 0, 0.078);
	font-weight: 500;
	letter-spacing: .2px;
	overflow: hidden;
	position: relative;
	transition: all .3s ease-in-out;
	z-index: 1;
	padding: 1rem;
	border-left: 4px solid transparent;
	/* Standard-Rand, wird durch inline style überschrieben */
}
.workout-card[data-category="strength"] {
	border-left-color: var(--strength-color);
}
.workout-card[data-category="cardio"] {
	border-left-color: var(--cardio-color);
}
.workout-card[data-category="flexibility"] {
	border-left-color: var(--flexibility-color);
}
.workout-card[data-category="calisthenics"] {
	border-left-color: var(--calisthenics-color);
}
.workout-card[data-category="other"] {
	border-left-color: var(--other-color);
}
.workout-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 12px var(--glass-shadow);
}
.workout-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.workout-header h2 {
	font-size: 1.1rem;
	margin: 0;
	color: var(--text-primary);
}
.workout-stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem;
	margin-bottom: 1rem;
}
.workout-stats .stat-item {
	background: rgba(255, 255, 255, 0.05);
	border-radius: 12px;
	padding: 0.75rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.workout-stats .stat-item i {
	color: var(--accent-primary);
	font-size: 1.2rem;
}
.workout-stats .stat-content h3 {
	font-size: 0.8rem;
	color: var(--text-secondary);
	margin: 0 0 0.25rem 0;
}
.workout-stats .stat-content p {
	font-size: 1.1rem;
	color: var(--text-primary);
	margin: 0;
}
.workout-exercises,.workout-notes {
	background: rgba(255, 255, 255, 0.05);
	border-radius: 12px;
	padding: 0.75rem;
	margin-top: 0.75rem;
}
.workout-exercises h3,.workout-notes h3 {
	font-size: 0.9rem;
	color: var(--text-secondary);
	margin: 0 0 0.5rem 0;
}
.workout-exercises p,.workout-notes p {
	font-size: 0.9rem;
	color: var(--text-primary);
	margin: 0;
	line-height: 1.4;
}
@media (max-width: 768px) {
	.workout-card {
		padding: 0.75rem;
		border-radius: 16px;
	}
	.workout-stats {
		gap: 0.5rem;
	}
	.workout-stats .stat-item {
		padding: 0.6rem;
	}
	.workout-stats .stat-content h3 {
		font-size: 0.75rem;
	}
	.workout-stats .stat-content p {
		font-size: 1rem;
	}
	.workout-exercises,.workout-notes {
		padding: 0.6rem;
		border-radius: 10px;
	}
	.workout-exercises p,.workout-notes p {
		font-size: 0.85rem;
	}
}
/* Freunde-Seite Mobile Optimierungen */
@media (max-width: 768px) {
	.friend-card {
		padding: 0.75rem;
		margin-bottom: 0.75rem;
		border-radius: 12px;
	}
	.friend-header {
		flex-direction: row;
		align-items: center;
		gap: 0.5rem;
		margin-bottom: 0.75rem;
	}
	.friend-info {
		flex: 1;
		min-width: 0;
	}
	.friend-avatar {
		width: 32px;
		height: 32px;
	}
	.friend-name {
		font-size: 0.9rem;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.friend-actions {
		display: flex;
		gap: 0.4rem;
	}
	.friend-actions .btn {
		padding: 0.4rem;
		font-size: 0.85rem;
		min-height: 32px;
	}
	.friend-stats {
		grid-template-columns: repeat(3, 1fr);
		gap: 0.5rem;
		padding: 0.5rem;
		background: var(--bg-tertiary);
		border-radius: 8px;
	}
	.stat-item {
		text-align: center;
		padding: 0.4rem;
	}
	.stat-label {
		font-size: 0.7rem;
		margin-bottom: 0.2rem;
	}
	.stat-value {
		font-size: 0.85rem;
	}
	.friend-request {
		padding: 0.75rem;
		margin-bottom: 0.5rem;
		border-radius: 12px;
		background: var(--bg-tertiary);
	}
	.friend-request .friend-info {
		gap: 0.5rem;
	}
	.friend-request .friend-avatar {
		width: 28px;
		height: 28px;
	}
	.friend-request .friend-name {
		font-size: 0.85rem;
	}
	.friend-request .friend-actions {
		gap: 0.3rem;
	}
	.friend-request .btn {
		padding: 0.35rem 0.6rem;
		font-size: 0.8rem;
		min-height: 30px;
	}
	.add-friend-form {
		flex-direction: column;
		gap: 0.5rem;
	}
	.add-friend-form .form-group {
		margin-bottom: 0;
	}
	.add-friend-form .btn {
		width: 100%;
	}
	.friends-grid {
		gap: 1rem;
		grid-template-columns: 1fr;
	}
	.card {
		margin-bottom: 1rem;
		padding: 1rem;
	}
	.card-header {
		padding-bottom: 0.75rem;
		margin-bottom: 0.75rem;
	}
	.card-header h3 {
		font-size: 1rem;
	}
}
