
/* ! lightbox.css ! */


/* ! register-step5-upload.css ! */


/* ! register.css ! */
/* Registration Progress */
.registration-progress {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 1rem 0;
}

.progress-step {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(59, 130, 246, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--text-secondary);
}

.progress-line {
	flex: 1;
	height: 2px;
	background: rgba(59, 130, 246, 0.1);
	margin: 0 8px;
}

.progress-step.active {
	background: var(--accent-blue);
	color: white;
}

.progress-step.completed {
	background: var(--success-color);
	color: white;
}

.progress-line.completed {
	background: var(--success-color);
}

/* ! custom-scroll.css ! */


/* ! page.css ! */
/* Container за скролващото съдържание */
.page-list {
	flex: 1;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	display: flex;
	flex-direction: column;
	position: relative;
	gap: 8px;
	will-change: transform;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	height: 100vh;
	width: 100vw;
	background: var(--bg-primary);
}

/* Header остава фиксиран */
.page-header {
	background: linear-gradient(90deg,
			var(--bg-secondary) 0%,
			rgba(18, 20, 28, 0.98) 100%);
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	position: relative;
	padding: 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-shrink: 0;
}

.page-header::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg,
			transparent,
			rgba(59, 130, 246, 0.3),
			transparent);
}

.page-header::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: linear-gradient(90deg,
			transparent,
			rgba(59, 130, 246, 0.5),
			transparent);
	animation: gradientMove 3s linear infinite;
}



.page-title {
	display: flex;
	align-items: center;
	gap: 16px;
}

.page-title span {
	font-size: 24px;
	filter: drop-shadow(0 2px 4px rgba(255, 215, 0, 0.2));
}

/* Стил за под-хедър */
.page-header.sub-header {
	height: 54px;
	padding: 12px 16px;
	/* По-малък padding */
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.05) 0%, rgba(99, 102, 241, 0.05) 100%);
	border-bottom: 1px solid rgba(59, 130, 246, 0.15);
	box-shadow: 0 2px 15px rgba(59, 130, 246, 0.1);
}

.page-header.sub-header .page-title span {
	font-size: 18px;
	/* По-малка иконка */
	filter: drop-shadow(0 0 8px rgba(255, 193, 7, 0.5));
}

.page-header.sub-header .page-title h2 {
	font-size: 14px;
	/* По-малък текст */
	font-weight: 500;
	text-shadow: 0 0 10px rgba(59, 130, 246, 0.3);
}

/* Стилове за формата за разширено търсене */
.page-form-content {
	flex: 1;
	padding: 16px;
	overflow-y: auto;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 90%;
	/* Базова ширина */
	max-width: 360px;
	/* Premium mobile app width - iOS/Android 2025 */
	min-width: 280px;
	margin: 0 auto;

	/* Стилове за всички текстови елементи */
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		color: var(--text-primary);
		margin-bottom: 1rem;
		font-weight: 500;
	}

	p {
		color: var(--text-secondary);
		line-height: 1.6;
	}

	/* Стилове за списъци */
	ul,
	ol {
		list-style: none;
		padding-left: 0;
		margin: 1rem 0;
	}

	ul li {
		margin-bottom: 0.8rem;
		position: relative;
		color: var(--text-primary);
	}

	/* Bullets ONLY for page-form-content (excluding welcome-content) */
	.page-form-content:not(.welcome-content) ul li {
		padding-left: 1.5rem;
	}

	.page-form-content:not(.welcome-content) ul li::before {
		content: '•';
		color: var(--accent-blue);
		position: absolute;
		left: 0.5rem;
		top: 0;
	}

	/* Ordered lists - NO bullets, show numbers */
	ol li {
		margin-bottom: 0.8rem;
		padding-left: 0;
		position: relative;
		color: var(--text-primary);
		list-style-position: inside;
	}

	/* Стилове за линкове */
	a {
		color: var(--accent-blue);
		text-decoration: none;
		position: relative;
		transition: all 0.3s ease;
	}

	a::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: var(--accent-blue);
		transform: scaleX(0);
		transform-origin: right;
		transition: transform 0.3s ease;
	}


	/* Стилове за strong и emphasis */
	strong,
	b {
		color: var(--accent-blue);
		font-weight: 500;
	}

	em,
	i {
		color: var(--text-secondary);
		font-style: italic;
	}

	/* Стилове за таблици */
	table {
		width: 100%;
		border-collapse: collapse;
		margin: 1rem 0;
	}

	th,
	td {
		padding: 0.8rem;
		text-align: left;
		border-bottom: 1px solid rgba(59, 130, 246, 0.1);
		color: var(--text-primary);
	}

	th {
		font-weight: 500;
		color: var(--accent-blue);
		background: rgba(59, 130, 246, 0.05);
	}

	/* Стилове за code и pre */
	code,
	pre {
		background: rgba(59, 130, 246, 0.05);
		padding: 0.2rem 0.4rem;
		border-radius: 4px;
		font-family: monospace;
		color: var(--text-primary);
	}

	pre {
		padding: 1rem;
		overflow-x: auto;
		margin: 1rem 0;
	}

	/* Стилове за blockquote */
	blockquote {
		border-left: 3px solid var(--accent-blue);
		padding-left: 1rem;
		margin: 1rem 0;
		color: var(--text-secondary);
		font-style: italic;
	}

	/* Стилове за hr */
	hr {
		border: none;
		height: 1px;
		background: linear-gradient(90deg,
				transparent,
				rgba(59, 130, 246, 0.2),
				transparent);
		margin: 2rem 0;
	}

	/* Стилове за small */
	small {
		display: block;
		/* ✅ КЛЮЧОВО - позволява margin-top/bottom */
		color: var(--text-secondary);
		font-size: 0.69rem;
		opacity: 0.68;
		margin-top: 3px;
		/* ✅ Сега ще работи! */
		margin-left: 2px;
		text-align: left;
		font-weight: 450;
		letter-spacing: 0.01em;
	}
}

/* Responsive adjustments */
@media (max-width: 480px) {
	.page-form-content {
		width: 95%;
		/* Малко по-широко на мобилни устройства */
		padding: 15px;

		h1,
		h2,
		h3,
		h4,
		h5,
		h6 {
			font-size: 90%;
		}

		p,
		li {
			font-size: 0.9rem;
		}

		table {
			font-size: 0.85rem;
		}
	}
}

/* Подобрен дизайн на групите */
.page-form-group {
	margin-bottom: 0.5rem;
	position: static !important;
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.05) 0%,
			rgba(18, 20, 28, 0.98) 100%);
	border: 1px solid rgba(59, 130, 246, 0.1);
	border-radius: 16px;
	padding: 20px;
	transition: all 0.3s ease;
	overflow: visible;
	margin-bottom: 1.5rem;
	width: 100%;
	box-sizing: border-box;
}

.page-form-group:hover {
	border-color: rgba(59, 130, 246, 0.2);
	transform: translateX(4px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.page-form-group::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 100%;
	background: linear-gradient(to bottom, transparent, var(--accent-blue), transparent);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.page-form-group:hover::before {
	opacity: 1;
}

/* Подобрен дизайн на етикетите */
.page-form-label {
	color: var(--text-secondary);
	font-size: 11px;
	font-weight: 500;
	margin-bottom: 16px;
	letter-spacing: 0.5px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.page-form-label::before {
	content: '🔍';
	font-size: 14px;
}

/* Подобрен дизайн на избора на пол */
.gender-options {
	display: flex;
	gap: 12px;
	padding: 12px;
	background: rgba(59, 130, 246, 0.05);
	border-radius: 12px;
}

.gender-option {
	flex: 1;
	padding: 10px 8px;
	border-radius: 8px;
	transition: all 0.3s ease;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: rgba(59, 130, 246, 0.05);
}

/* Hide native radio button */
.gender-option input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

/* Hide browser password reveal button */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
	display: none;
}

input[type="password"]::-webkit-credentials-auto-fill-button,
input[type="password"]::-webkit-contacts-auto-fill-button {
	visibility: hidden;
	pointer-events: none;
	position: absolute;
	right: 0;
}

.gender-option:hover {
	background: rgba(59, 130, 246, 0.1);
	transform: translateY(-2px);
}

.gender-option input:checked+.gender-checkbox {
	border-color: var(--accent-blue);
	background: rgba(59, 130, 246, 0.2);
	transform: scale(1.1);
}

.gender-label {
	font-size: 11.5px;
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.gender-label.male::before {
	content: '👨';
	margin-right: 4px;
}

.gender-label.female::before {
	content: '👩';
	margin-right: 4px;
}

/* Подобрен дизайн на възрастовия диапазон */
.age-range-inputs {
	display: flex;
	align-items: center;
	gap: 12px;
	background: rgba(59, 130, 246, 0.05);
	padding: 12px;
	border-radius: 12px;
}

.age-input {
	background: rgba(59, 130, 246, 0.1);
	border: 1px solid rgba(59, 130, 246, 0.2);
	border-radius: 8px;
	padding: 8px 12px;
	color: var(--text-primary);
	font-size: 12px;
	width: 100%;
	text-align: center;
}

.age-separator {
	color: var(--text-secondary);
	font-size: 16px;
	margin: 0 4px;
	opacity: 0.5;
}

/* Input Wrapper - With Transitions */
.input-wrapper {
	position: relative;
	transition: all 0.3s ease;
	margin-bottom: 0;
	width: 100%;
}

/* Когато има грешка, добавяме padding отдолу за съобщението */
.input-wrapper.error {
	padding-bottom: 24px;
	/* Място за съобщението за грешка */
}

.input-wrapper.error input {
	border-color: var(--error-color) !important;
	background-color: var(--error-bg);
}

.field-error {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	font-size: 11px;
	color: var(--error-color);
	animation: fadeIn 0.2s ease;
}

/* Специален стил за verification code грешки */
.verification-code-input .field-error {
	text-align: center;
	position: static;
	margin-top: 12px;
}



/* Clean input hover - subtle */
.input-wrapper:hover input:not(:focus):not([aria-invalid="true"]) {
	border-color: rgba(59, 130, 246, 0.2);
}

/* Стилове за disabled състояние */
.input-wrapper input:disabled {
	opacity: 0.7;
	cursor: not-allowed;
	background: rgba(255, 255, 255, 0.05);
}

/* Links and Buttons */
.form-links {
	text-align: center;
	margin: 1rem 0;
}

.form-links a {
	color: var(--text-secondary);
	text-decoration: none;
	font-size: 14px;
	transition: color 0.2s ease;
}

.form-links a:hover {
	color: var(--accent-blue);
}

/* Footer Links */
.footer-links {
	margin-top: auto;
	text-align: center;
	font-size: 0.7rem;
	color: var(--text-secondary);
	line-height: 1.25;
}

.footer-links-row {
	margin: 0.15rem 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
}

.footer-links a {
	color: var(--text-secondary);
	text-decoration: none;
	transition: color 0.2s ease;
}

/* Сини footer links - контролирани с клас */
.footer-links a.blue,
.footer-links a.link {
	color: var(--accent-blue);
	font-weight: 500;
	transition: none;
}

.separator-dot {
	color: var(--text-secondary);
	opacity: 0.5;
}

/* Language Options */
.lang-switch {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

.language-selection {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.language-selection .category-button {
	margin: 0;
}

/* Category Button Glow Effects */
.category-button.active,
.category-button[aria-selected="true"],
.category-button[data-chat-category].active {
	box-shadow: 0 0 20px rgba(59, 130, 246, 0.3);
	border-color: rgba(59, 130, 246, 0.4);
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.08) 0%, rgba(99, 102, 241, 0.08) 100%);
}

/* Category Button Disabled State */
.category-button.disabled,
.category-button[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
	filter: grayscale(30%);
}

/* Hint Styles */
.warning-hint,
.info-hint,
.error-hint,
.success-hint {
	margin-top: 16px;
	padding: 16px;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	box-sizing: border-box;
	border-radius: 8px;
}

/* Warning Style */
.warning-hint {
	background: rgba(255, 193, 7, 0.1);
	border: 1px solid rgba(255, 193, 7, 0.2);
}

.warning-hint::before {
	content: '⚠️';
	font-size: 20px;
	color: #ffc107;
}

/* Info Style */
.info-hint {
	background: rgba(59, 130, 246, 0.1);
	border: 1px solid rgba(59, 130, 246, 0.2);
}

.info-hint::before {
	content: 'ℹ️';
	font-size: 20px;
	color: var(--accent-blue);
}

/* Error Style */
.error-hint {
	background: rgba(239, 68, 68, 0.1);
	border: 1px solid rgba(239, 68, 68, 0.2);
}

.error-hint::before {
	content: '❌';
	font-size: 20px;
	color: var(--error-color);
}

/* Success Style */
.success-hint {
	background: rgba(34, 197, 94, 0.1);
	border: 1px solid rgba(34, 197, 94, 0.2);
}

.success-hint::before {
	content: '✅';
	font-size: 20px;
	color: var(--success-color);
}

/* Общ стил за текста в съобщенията */
.warning-hint p,
.info-hint p,
.error-hint p,
.success-hint p {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
}

/* Verification Code Input Styles */
.verification-message {
	text-align: center;
	margin-bottom: 24px;
}

.verification-message p {
	color: var(--text-secondary);
	font-size: 14px;
	line-height: 1.5;
}

.verification-code-input {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin: 20px 0;
}

.verification-code-input .code-digit {
	text-align: center;
	font-size: 24px;
	font-weight: 600;
}



/* Error state for verification code */
.input-wrapper.error .verification-code-input .code-digit {
	background: rgba(255, 68, 68, 0.05);
}

/* Resend code link styles */
.resend-code {
	color: var(--text-secondary);
	text-decoration: none;
	font-size: 14px;
	transition: all 0.3s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.resend-code:hover:not(.disabled) {
	color: var(--accent-blue);
	transform: translateX(4px);
}

.resend-code.disabled {
	opacity: 0.6;
	cursor: not-allowed;
	pointer-events: none;
	color: var(--text-secondary);
}

.resend-code.loading {
	opacity: 0.7;
	cursor: wait;
	pointer-events: none;
}

/* Запазваме иконката и при disabled състояние */
.resend-code::before {
	content: '🔄';
	font-size: 16px;
	opacity: 0.8;
}

.resend-code.loading::before {
	content: '⌛';
}

.email-sent-to {
	color: var(--text-secondary);
	font-size: 13px;
	margin-top: 8px;
}

.email-sent-to strong {
	color: var(--accent-blue);
	font-weight: 500;
}

.toggle-password,
.password-toggle {
	position: absolute;
	right: 12px;
	top: 3px;
	/* Fixed 16px from wrapper top = centered in 48px input */
	background: none;
	border: none;
	padding: 4px;
	cursor: pointer;
	opacity: 0.7;
	transition: opacity 0.3s ease;
	z-index: 10;
	/* Above input */
}

.toggle-password:hover,
.password-toggle:hover {
	opacity: 1;
}

.toggle-password .icon {
	font-size: 18px;
	display: flex;
	align-items: center;
}

/* Add these styles */
.birthdate-inputs {
	display: flex;
	gap: 8px;
}

/* За input-wrapper елементите вътре в birthdate-inputs */
.birthdate-inputs .input-wrapper {
	flex: 1;
	margin-bottom: 0 !important;
}

/* Специално позициониране на error съобщението за birthdate-inputs */
.birthdate-inputs .field-error {
	bottom: -15px !important;
}

/* Update avatar preview styles */
.avatar-preview {
	width: 120px;
	height: 120px;
	margin: 0 auto;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid rgba(59, 130, 246, 0.2);
	background: rgba(59, 130, 246, 0.05);
}

.avatar-preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gender-options.error {
	border: 1px solid var(--error-color, #ff4444);
	background-color: var(--error-bg, rgba(255, 68, 68, 0.05));
}

/* Gender wrapper error positioning - error съобщението да е под червения border */
.gender-wrapper.error {
	padding-bottom: 24px;
	/* Място за error съобщението */
	position: relative;
}

.gender-wrapper .field-error {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	font-size: 11px;
	color: var(--error-color);
	animation: fadeIn 0.2s ease;
	margin-top: 8px;
	/* Малко разстояние от gender-options */
}

.gender-error-wrapper {
	margin-top: 27px;
}

/* Profile Picture Upload Styles */
.profile-picture-upload-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
}

.profile-picture-preview {
	width: 140px;
	height: 140px;
	border-radius: 50%;
	overflow: hidden;
	border: 3px solid rgba(59, 130, 246, 0.2);
	background: rgba(59, 130, 246, 0.05);
	position: relative;
	transition: all 0.3s ease;
	cursor: pointer;
}



.profile-picture-preview img,
.profile-picture-preview svg {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.upload-controls {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.upload-button {
	background: rgba(59, 130, 246, 0.1);
	border: 1px solid rgba(59, 130, 246, 0.2);
	border-radius: 12px;
	padding: 12px;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}



.upload-button .button-icon {
	font-size: 20px;
}

.button-text {
	font-size: 14px;
	font-weight: 500;
}

/* Submit и Skip бутони */
.skip-button {
	width: 100%;
	padding: 14px;
	border-radius: 12px;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 8px;
}

.skip-button {
	background: rgba(59, 130, 246, 0.1);
	color: var(--text-primary);
}



/* Стил за forgot password бутона */
.forgot-password-link {
	background: none;
	border: none;
	color: var(--text-secondary);
	cursor: pointer;
	transition: all 0.3s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	justify-content: center;
	/* Добавяме стилове за по-тънки и разширени букви */

}

/* Блокиране на плъзгане за restricted views */
.activity-view.no-slide {
	touch-action: none !important;
	user-select: none !important;
	-webkit-user-select: none !important;
	-webkit-touch-callout: none !important;
	-webkit-tap-highlight-color: transparent !important;
	transform: none !important;
	transition: none !important;
	pointer-events: auto !important;
	position: fixed !important;
	width: 100% !important;
	height: 100% !important;
	overscroll-behavior: none !important;
	overflow: auto !important;
	-webkit-overflow-scrolling: touch !important;
}

/* Позволяваме само вертикално скролиране */
.activity-view.no-slide .page-form-content {
	touch-action: pan-y !important;
	overscroll-behavior-y: auto !important;
}

/* Стилове за валидация */
.input-wrapper.validating {
	position: relative;
}

/* Подобрен стил за валидация със спинър */
.input-wrapper.validating::after {
	content: '';
	position: absolute;
	right: 12px;
	/* Променяме позиционирането да е спрямо input полето */
	top: 16px;
	/* Фиксирана позиция от горния край на input-a */
	width: 16px;
	height: 16px;
	border: 2px solid rgba(59, 130, 246, 0.3);
	border-top-color: var(--primary);
	border-radius: 50%;
	animation: rotate 0.6s linear infinite;
	/* Премахваме transform тук, тъй като вече позиционираме спрямо input-a */
}


.input-wrapper.validating input {
	padding-right: 36px;
	/* Оставяме място за спинъра */
}

/* Добавяме transition за плавна поява/изчезване */
.input-wrapper::after {
	transition: opacity 0.2s ease;
}

.input-wrapper:not(.validating)::after {
	opacity: 0;
}

/* ========================================
   PROFILE VIEW STYLES
   ======================================== */

/* Profile Slide Container */
.profile-slide-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 1000;
	pointer-events: none;
}

/* Profile Slide */
.profile-slide {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: var(--bg-primary);
	z-index: 1001;
	display: grid;
	grid-template-columns: 45% 55%;
	transform: translateX(100%);
	transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: transform;
	pointer-events: auto;
	overflow: hidden;
}

/* Profile Slide Show Animation */
.profile-slide[style*="translateX(0px)"] {
	transform: translateX(0) !important;
}

/* Close Button */
.profile-slide>.close-button {
	margin-top: 9px;
	margin-left: 9px;
}

/* Base Layout */
.profile-view {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: var(--bg-primary);
	z-index: var(--z-profile);
	grid-template-columns: 45% 55%;
	transform: translateX(30%);
	transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
}

.profile-view.show {
	transform: translateX(0);
	display: grid;
}

.profile-view.reset {
	transform: translateX(30%) !important;
	transition: none !important;
}

/* Sidebar Styles */
.profile-sidebar {
	padding: 24px 16px;
	background: linear-gradient(45deg,
			var(--bg-secondary),
			rgba(18, 20, 28, 0.95),
			var(--bg-secondary));
	background-size: 200% 200%;
	animation: gradientBG 15s ease infinite;
	overflow-y: auto;
	border-right: 1px solid rgba(255, 255, 255, 0.05);
}

/* Main Content Area */
.profile-main {
	background: var(--bg-primary);
	overflow-y: auto;
	padding: 16px;
	position: relative;
}

/* Profile Header */
.profile-header {
	text-align: center;
	margin-bottom: 32px;
	margin-top: 45px;
}

.profile-avatar {
	position: relative;
	width: 100px;
	height: 100px;
	margin: 0 auto;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.profile-avatar::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
	padding: 3px;
	background: linear-gradient(135deg, var(--accent-blue), var(--accent-teal));
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
}

.profile-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.profile-status-indicator {
	position: absolute;
	bottom: 4px;
	right: 4px;
	width: 12px;
	height: 12px;
	background: #22c55e;
	border-radius: 50%;
	border: 2px solid var(--bg-secondary);
	box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2);
}

.profile-name-info {
	margin-top: 12px;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.profile-fullname {
	font-size: 16px;
	font-weight: 600;
	color: var(--text-primary);
	margin-bottom: 4px;
}

.profile-username {
	font-size: 13px;
	background: linear-gradient(135deg, var(--accent-blue), var(--accent-teal));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight: 600;
}

.profile-status {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	color: #22c55e;
	margin-top: 4px;
}

.profile-status::before {
	content: '';
	width: 6px;
	height: 6px;
	background: #22c55e;
	border-radius: 50%;
	animation: pulse 2s infinite;
}

/* Section Styles */
.profile-section {
	background: linear-gradient(135deg,
			rgba(18, 20, 28, 0.95) 0%,
			rgba(26, 32, 46, 0.95) 50%,
			rgba(30, 35, 50, 0.95) 100%);
	border-radius: 12px;
	padding: 16px;
	margin-bottom: 24px;
	/* border removed - using ::before hover effect instead */
	position: relative;
	overflow: hidden;
	box-shadow:
		inset 0 -25px 20px -20px rgba(0, 0, 0, 0.2),
		inset 0 1px 2px rgba(59, 130, 246, 0.12),
		0 2px 8px rgba(59, 130, 246, 0.08),
		0 0 20px rgba(59, 130, 246, 0.03);
}

.profile-section::before {
	content: '';
	position: absolute;
	inset: 0;
	padding: 1px;
	background: linear-gradient(135deg,
			rgba(59, 130, 246, 0.1),
			rgba(59, 130, 246, 0.3),
			rgba(59, 130, 246, 0.05));
	border-radius: 12px;
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: exclude;
	opacity: 0;
	z-index: -1;
}

.profile-section::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(to right,
			transparent,
			rgba(59, 130, 246, 0.15),
			transparent);
}


/* Info Grid */
.info-grid {
	display: grid;
	gap: 6px;
}

.info-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 11px;
	line-height: 1;
}

.info-label {
	color: var(--text-secondary);
}

.info-value {
	color: var(--text-primary);
	font-weight: 500;
}

/* Stats Grid */
.stats-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	background: rgba(59, 130, 246, 0.1);
	border-radius: 12px;
	padding: 16px;
	margin: 16px 0;
	position: relative;
	overflow: hidden;
	text-align: center;
}

/* Премахваме разделителя тъй като сега имаме отделни grid-ове */
.stats-grid::before {
	display: none;
}

.stat {
	text-align: center;
	line-height: 1.2;
	position: relative;
	overflow: hidden;
	padding: 8px;
	border-radius: 8px;
}

/* Хоризонтална декоративна линия */
.stat::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%);
	width: 60%;
	height: 1px;
	background: linear-gradient(90deg,
			transparent 0%,
			rgba(59, 130, 246, 0.3) 50%,
			transparent 100%);
	z-index: 0;
}

/* Декоративни точки */
.stat::after {
	content: '• • •';
	position: absolute;
	bottom: 8px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 8px;
	color: rgba(59, 130, 246, 0.3);
	letter-spacing: 4px;
	z-index: 0;
}

/* Различни цветове за коментари */
.stats-grid:nth-child(odd) .stat::before {
	background: linear-gradient(90deg,
			transparent 0%,
			rgba(59, 130, 246, 0.3) 50%,
			transparent 100%);
}

.stats-grid:nth-child(odd) .stat::after {
	color: rgba(59, 130, 246, 0.3);
}

/* За коментари - зелен цвят */
.stats-grid:nth-child(even) .stat::before {
	background: linear-gradient(90deg,
			transparent 0%,
			rgba(34, 197, 94, 0.3) 50%,
			transparent 100%);
}

.stats-grid:nth-child(even) .stat::after {
	color: rgba(34, 197, 94, 0.3);
}

.stat-value {
	font-size: 28px;
	font-weight: 700;
	font-family: 'JetBrains Mono', monospace;
	background: linear-gradient(135deg, var(--accent-blue), var(--accent-teal));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-bottom: 6px;
	position: relative;
	z-index: 1;
	text-shadow: 0 2px 4px rgba(59, 130, 246, 0.2);
}

/* Малко икончета в горния ъгъл */
.stat-value::before {
	position: absolute;
	top: -8px;
	right: -8px;
	font-size: 12px;
	opacity: 0.4;
	z-index: 2;
}

/* Икончета за различните статистики */
.profile-views::before {
	content: '👁️';
}

.comments-count::before {
	content: '💬';
}



.stat-label {
	font-size: 11px;
	color: var(--text-secondary);
	text-transform: lowercase;
	font-weight: 500;
	letter-spacing: 0.5px;
	position: relative;
	z-index: 1;
}

/* Activity Section */
.activity-info {
	display: grid;
	gap: 12px;
}

.profile-view .activity-item {
	background: rgba(255, 255, 255, 0.02);
	padding: 8px 12px;
	border-radius: 8px;
	margin-bottom: 4px;
	display: grid;
	grid-template-rows: auto auto;
	font-size: 11px;
	line-height: 1;
}

.profile-view .activity-label {
	color: var(--text-secondary);
	text-align: left;
}

.profile-view .activity-value {
	margin-top: 5px;
	color: var(--accent-blue);
	text-align: left;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: -0.5px;
	background: rgba(59, 130, 246, 0.1);
	padding: 4px 8px;
	border-radius: 4px;
	position: relative;
	overflow: hidden;
}

.profile-view .activity-value::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: var(--accent-blue);
	transform: scaleX(0);
	transform-origin: left;
}

/* Bio Section */
.bio-text {
	padding: 12px;
	background: rgba(255, 255, 255, 0.02);
	border-radius: 8px;
	line-height: 1.5;
	border-left: 2px solid var(--accent-blue);
	font-size: 11px;
	color: var(--text-secondary);
	margin-top: 4px;
}

/* Gallery */
.profile-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 12px;
	padding: 12px;
}

.gallery-item {
	aspect-ratio: 1;
	border-radius: 12px;
	overflow: hidden;
	cursor: pointer;
	position: relative;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(0.9);
}

.gallery-item::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(45deg,
			rgba(59, 130, 246, 0.2),
			rgba(45, 212, 191, 0.2));
	opacity: 0;
	z-index: 1;
	border-radius: 8px;
}

.gallery-item.new::after {
	content: 'НОВО';
	position: absolute;
	top: 8px;
	right: 8px;
	background: var(--accent-blue);
	color: white;
	padding: 2px 6px;
	border-radius: 4px;
	font-size: 10px;
	font-weight: 600;
	z-index: 2;
}



.no-images {
	text-align: center;
	padding: 40px 20px;
	color: var(--text-secondary);
	font-size: 12px;
	background: rgba(255, 255, 255, 0.02);
	border-radius: 8px;
	border: 1px dashed rgba(255, 255, 255, 0.1);
}

/* Социални действия */
.social-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 8px 0;
	position: relative;
	margin-bottom: 24px;
}

.social-actions::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at center,
			rgba(59, 130, 246, 0.1) 0%,
			transparent 70%);
	opacity: 0.5;
	z-index: 0;
}

.social-actions .action-button {
	position: relative;
	width: 100%;
	height: 50px;
	display: flex;
	align-items: center;
	padding: 12px 16px;
	background: linear-gradient(90deg,
			rgba(18, 20, 28, 0.95) 0%,
			rgba(18, 20, 28, 0.8) 100%);
	border: 1px solid rgba(255, 255, 255, 0.05);
	color: var(--text-secondary);
	cursor: pointer;
	border-radius: 8px;
	font-size: 11px;
	gap: 12px;
	overflow: hidden;
	justify-content: flex-start;
	text-align: left;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	z-index: 1;
}

.social-actions .action-button .icon {
	font-size: 16px;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
	background: linear-gradient(135deg, currentColor 30%, rgba(255, 255, 255, 0.8));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.social-actions .action-button .text {
	font-size: 11px;
	font-weight: 500;
	color: var(--text-primary);
	flex: 1;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}



/* Специфични стилове за всеки бутон */
.social-actions .profile-like-btn {
	background: linear-gradient(90deg,
			rgba(138, 43, 226, 0.15) 0%,
			rgba(18, 20, 28, 0.95) 100%);
	border-color: rgba(138, 43, 226, 0.3);
	box-shadow: 0 0 15px rgba(138, 43, 226, 0.3);
}



.social-actions .profile-like-btn .icon {
	color: #8a2be2;
}

/* Активно състояние за харесано - визуално различаване */
.social-actions .profile-like-btn.active {
	background: linear-gradient(90deg,
			rgba(220, 38, 127, 0.2) 0%,
			rgba(18, 20, 28, 0.95) 100%);
	border-color: rgba(220, 38, 127, 0.4);
	box-shadow: 0 0 15px rgba(220, 38, 127, 0.3);
}



.social-actions .profile-like-btn.active .icon {
	color: #dc267f;
}

.social-actions .profile-like-btn.remove-state .text {
	color: #dc267f;
	font-weight: 600;
}



.social-actions .friend-btn {
	background: linear-gradient(90deg,
			rgba(34, 197, 94, 0.15) 0%,
			rgba(18, 20, 28, 0.95) 100%);
	border-color: rgba(34, 197, 94, 0.3);
	box-shadow: 0 0 15px rgba(34, 197, 94, 0.3);
}



.social-actions .friend-btn .icon {
	color: #22c55e;
}

/* Friend Button State Variations */
.social-actions .friend-btn.pending {
	background: linear-gradient(90deg,
			rgba(251, 191, 36, 0.2) 0%,
			rgba(18, 20, 28, 0.95) 100%);
	border-color: rgba(251, 191, 36, 0.4);
	box-shadow: 0 0 15px rgba(251, 191, 36, 0.3);
}



.social-actions .friend-btn.pending .icon {
	color: #fbbf24;
}

.social-actions .friend-btn.cancel-state .text {
	color: #fbbf24;
	font-weight: 600;
}

.social-actions .friend-btn.active {
	background: linear-gradient(90deg,
			rgba(249, 115, 22, 0.2) 0%,
			rgba(18, 20, 28, 0.95) 100%);
	border-color: rgba(249, 115, 22, 0.4);
	box-shadow: 0 0 15px rgba(249, 115, 22, 0.3);
}



.social-actions .friend-btn.active .icon {
	color: #f97316;
}

.social-actions .friend-btn.remove-friend-state .text {
	color: #f97316;
	font-weight: 600;
}



.social-actions .friend-btn.received .icon {
	color: #22c55e !important;
}

.social-actions .friend-btn.accept-state .text {
	color: #22c55e !important;
	font-weight: 600 !important;
}



/* Loading State for Action Buttons */
.social-actions .action-button.loading {
	opacity: 0.7;
	pointer-events: none;
	cursor: wait;
}

.social-actions .action-button.loading .icon {
	animation: gentle-pulse 2s ease-in-out infinite;
}

.social-actions .action-button.loading .text {
	opacity: 0.8;
}

/* gentle-pulse - moved to animations.css */

.social-actions .message-btn {
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.18) 0%,
			rgba(18, 20, 28, 0.95) 100%);
	border-color: rgba(59, 130, 246, 0.35);
	box-shadow: 0 0 15px rgba(59, 130, 246, 0.3);
}

.social-actions .blue-btn {
	background: linear-gradient(90deg,
			rgba(34, 197, 94, 0.28) 0%,
			rgba(18, 20, 28, 0.95) 100%);
	border-color: rgba(34, 197, 94, 0.55);
	box-shadow: 0 0 22px rgba(34, 197, 94, 0.5), inset 0 0 18px rgba(34, 197, 94, 0.1);
}

.social-actions .blue-btn:hover {
	border-color: rgba(34, 197, 94, 0.7);
	box-shadow: 0 0 28px rgba(34, 197, 94, 0.6), inset 0 0 20px rgba(34, 197, 94, 0.15);
	transform: translateY(-2px);
}



.social-actions .message-btn .icon {
	color: var(--accent-blue);
}

.social-actions .blue-btn .icon {
	color: var(--accent-blue);
}

/* ========================================
   🎨 FOCUS GRADIENT SYSTEM - Blue to Gray
   ======================================== */

/* Level 1: PRIMARY FOCUS - Bright Blue */
.focus-level-1 {
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.08) 0%, rgba(99, 102, 241, 0.08) 100%);
	border: 1px solid rgba(59, 130, 246, 0.2);
	padding: 20px;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(59, 130, 246, 0.1);
}

.focus-level-1 h3 {
	color: #60a5fa;
}

.focus-level-1 p {
	color: #d1d5db;
}

/* Level 2: SECONDARY FOCUS - Medium Blue */
.focus-level-2 {
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.05) 0%, rgba(99, 102, 241, 0.05) 100%);
	border: 1px solid rgba(59, 130, 246, 0.15);
	padding: 20px;
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(59, 130, 246, 0.08);
}

.focus-level-2 h3 {
	color: #93c5fd;
}

.focus-level-2 p {
	color: #9ca3af;
}

/* Level 3: TERTIARY FOCUS - Light Blue-Gray */
.focus-level-3 {
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.03) 0%, rgba(99, 102, 241, 0.03) 100%);
	border: 1px solid rgba(59, 130, 246, 0.1);
	padding: 20px;
	border-radius: 10px;
	box-shadow: 0 2px 8px rgba(59, 130, 246, 0.05);
}

.focus-level-3 h3 {
	color: #888;
}

.focus-level-3 p,
.focus-level-3 ol,
.focus-level-3 ul,
.focus-level-3 dl {
	color: #777;
}

/* Level 4: LOW FOCUS - Gray */
.focus-level-4 {
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid rgba(255, 255, 255, 0.05);
	padding: 20px;
	border-radius: 10px;
	opacity: 0.6;
}

.focus-level-4 h3 {
	color: #888;
}

.focus-level-4 p,
.focus-level-4 dl {
	color: #666;
}

/* Добавяме ефект на светене при hover */
.social-actions .action-button::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: radial-gradient(circle at var(--x, 50%) var(--y, 50%),
			rgba(255, 255, 255, 0.1) 0%,
			transparent 50%);
	opacity: 0;
	z-index: -1;
}

/* Добавяме ефект на натискане */
/*
.social-actions .action-button:active {
	transform: scale(0.98) translateY(0);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
*/

/* Подобряваме disabled състоянието */
.social-actions .action-button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
	filter: grayscale(0.5);
}

/* Премахнати анимации за по-добра производителност на мобилни устройства */
.social-actions .action-button {
	opacity: 1;
	transform: translateX(0);
}

/* Override за received state - статичен зелен ефект без анимация */
.social-actions .friend-btn.received {
	opacity: 1 !important;
	transform: translateX(0) !important;
	background: linear-gradient(90deg,
			rgba(34, 197, 94, 0.25) 0%,
			rgba(18, 20, 28, 0.95) 100%) !important;
	border-color: rgba(34, 197, 94, 0.5) !important;
	box-shadow: 0 4px 15px rgba(34, 197, 94, 0.3) !important;
}

/* Override за pending state - статичен жълт ефект без анимация */
.social-actions .friend-btn.pending {
	opacity: 1 !important;
	transform: translateX(0) !important;
}

/* Вторични действия */
.secondary-actions {
	position: relative;
	width: 100%;
}

.secondary-actions .more-btn {
	width: 100%;
	padding: 12px 16px;
	background: linear-gradient(90deg,
			rgba(75, 85, 99, 0.15) 0%,
			rgba(18, 20, 28, 0.95) 100%);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	color: var(--text-secondary);
	display: flex;
	align-items: center;
	gap: 12px;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.secondary-actions .more-btn .icon {
	font-size: 16px;
	opacity: 0.7;
	transition: transform 0.3s ease;
}

.secondary-actions .more-btn:hover {
	background: linear-gradient(90deg,
			rgba(75, 85, 99, 0.2) 0%,
			rgba(18, 20, 28, 0.98) 100%);
	border-color: rgba(75, 85, 99, 0.3);
	transform: translateY(-2px);
}

.secondary-actions .more-btn:hover .icon {
	transform: rotate(45deg);
	opacity: 1;
}

/* Dropdown меню */
.secondary-dropdown {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	background: var(--bg-secondary);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	padding: 4px;
	display: none;
	flex-direction: column;
	gap: 2px;
	z-index: 100;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
	animation: dropdownShow 0.2s ease forwards;
}

.secondary-dropdown .action-button {
	padding: 8px 12px;
	background: transparent;
	border: none;
	border-radius: 6px;
	color: var(--text-secondary);
	display: flex;
	align-items: center;
	gap: 8px;
	transition: all 0.2s ease;
	text-align: left;
	width: 100%;
	font-size: 11px;
}

.secondary-dropdown .action-button:hover {
	background: rgba(255, 255, 255, 0.05);
}

.secondary-dropdown .action-button .icon {
	font-size: 14px;
	opacity: 0.8;
}

.secondary-dropdown .action-button .text {
	flex: 1;
}

/* Специфични цвета за бутоните */
.secondary-dropdown .share-btn {
	color: var(--accent-blue);
}

.secondary-dropdown .block-btn {
	color: #ef4444;
}

.secondary-dropdown .restrict-btn {
	color: #f59e0b;
}

.secondary-dropdown .report-btn {
	color: #dc2626;
}

/* Анимация за dropdown */
/* dropdownShow - moved to animations.css */

/* Добавяме ефект на натискане */
.secondary-actions .more-btn:active {
	transform: scale(0.98) translateY(0);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Анимация при появяване */
.secondary-actions .more-btn {
	animation: slideIn 0.3s ease forwards;
	animation-delay: 0.4s;
}

/* Добавяме overlay за затваряне при клик извън */
.dropdown-overlay {
	position: fixed;
	inset: 0;
	background: transparent;
	display: none;
	z-index: 99;
}

.secondary-actions.active .dropdown-overlay {
	display: block;
}

/* Upload Button */
.upload-photo-btn {
	aspect-ratio: 1;
	border-radius: 12px;
	overflow: hidden;
	cursor: pointer;
	position: relative;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	background: linear-gradient(135deg,
			rgba(59, 130, 246, 0.1),
			rgba(45, 212, 191, 0.1));
	border: 2px dashed rgba(59, 130, 246, 0.3);
}

.upload-label {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 16px;
	cursor: pointer;
}

.upload-icon {
	font-size: 32px;
	margin-bottom: 8px;
}

.upload-text {
	font-size: 14px;
	font-weight: 600;
	color: var(--text-primary);
	text-align: center;
}

.upload-hint {
	font-size: 11px;
	color: var(--text-secondary);
	text-align: center;
	max-width: 120px;
	line-height: 1.3;
}

/* Drag & Drop States */
.upload-photo-btn.drag-over {
	border-color: var(--accent-blue);
	background: linear-gradient(135deg,
			rgba(59, 130, 246, 0.2),
			rgba(45, 212, 191, 0.2));
}

/* Upload Progress */
.upload-progress {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: rgba(255, 255, 255, 0.1);
	overflow: hidden;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.upload-progress.active {
	opacity: 1;
}

.upload-progress-bar {
	height: 100%;
	background: var(--accent-blue);
	width: 0;
	transition: width 0.3s ease;
}

/* Success state for upload progress */
.upload-progress.success .upload-progress-bar {
	background: linear-gradient(90deg,
			var(--accent-blue) 0%,
			#10b981 100%);
	animation: successPulse 0.5s ease;
}

/* successPulse - moved to animations.css */

/* Анимация при появяване */
.upload-photo-btn {
	animation: fadeInScale 0.3s ease forwards;
}

/* fadeInScale - moved to animations.css */

/* Friends Section */
.profile-friends-section {
	margin-top: 24px;
	padding: 0;
	background: transparent;
	border: none;
}

.profile-friends-section .section-header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	padding: 12px 16px;
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.08),
			rgba(59, 130, 246, 0.03));
	border: 1px solid rgba(59, 130, 246, 0.06);
	border-left: 2px solid rgba(59, 130, 246, 0.3);
	border-radius: 12px;
	box-shadow:
		0 1px 2px rgba(59, 130, 246, 0.04),
		0 2px 4px rgba(59, 130, 246, 0.03);
}

.profile-friends-section .section-title {
	font-weight: 600;
	color: var(--accent-blue);
	text-transform: uppercase;
	margin: 0;
	letter-spacing: 0.5px;
}

.profile-friends-section .friends-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 6px;
	font-size: 11px;
	font-weight: 500;
	color: var(--accent-blue);
	background: rgba(59, 130, 246, 0.15);
	border-radius: 12px;
	line-height: 1;
}



.friends-grid {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 0;
}

.friend-item {
	background: linear-gradient(135deg,
			rgba(18, 20, 28, 0.95) 0%,
			rgba(26, 32, 46, 0.95) 50%,
			rgba(30, 35, 50, 0.95) 100%);
	border-radius: 12px;
	padding: 12px 16px;
	cursor: pointer;
	/* border removed - using ::before permanent line effect instead */
	display: flex;
	align-items: center;
	gap: 12px;
	position: relative;
	overflow: hidden;
	box-shadow:
		inset 0 -25px 20px -20px rgba(0, 0, 0, 0.2),
		inset 0 1px 2px rgba(59, 130, 246, 0.12),
		0 2px 8px rgba(59, 130, 246, 0.08),
		0 0 20px rgba(59, 130, 246, 0.03);
}

.friend-item::before {
	content: '';
	position: absolute;
	inset: 0;
	padding: 1px;
	background: linear-gradient(135deg,
			rgba(59, 130, 246, 0.1),
			rgba(59, 130, 246, 0.3),
			rgba(59, 130, 246, 0.05));
	border-radius: 12px;
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask-composite: exclude;
	opacity: 0;
	z-index: -1;
}

.friend-item::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(to right,
			transparent,
			rgba(59, 130, 246, 0.15),
			transparent);
}



.friend-avatar {
	position: relative;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	border: 2px solid rgba(59, 130, 246, 0.1);
}

.friend-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(0.95);
}

.friend-status {
	position: absolute;
	bottom: 2px;
	right: 2px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #22c55e;
	border: 1px solid rgba(18, 20, 28, 0.95);
}

.friend-info {
	flex: 1;
	min-width: 0;
}

.friend-name {
	font-size: calc(var(--label-font-size) + 1px);
	font-weight: 500;
	color: var(--female-color, #ec4899);
	margin-bottom: 4px;
	position: relative;
}

.friend-name.male {
	color: var(--male-color, #3b82f6);
}



.friend-meta {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.4);
}

.friend-date {
	font-size: 10px;
	color: rgba(255, 255, 255, 0.4);
}

.friend-item-wrapper {
	display: flex;
	gap: 8px;
	align-items: center;
}

.friend-item-wrapper .friend-item {
	flex: 1;
}

.user-action-button {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg,
			rgba(220, 38, 38, 0.08) 0%,
			rgba(18, 20, 28, 0.6) 100%);
	border: none;
	border-radius: 12px;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	transition: all 0.2s ease;
	opacity: 0.8;
}

.user-action-button:hover {
	opacity: 1;
	background: linear-gradient(135deg,
			rgba(220, 38, 38, 0.15) 0%,
			rgba(18, 20, 28, 0.95) 100%);
	box-shadow:
		inset 0 -25px 20px -20px rgba(0, 0, 0, 0.2),
		inset 0 1px 2px rgba(220, 38, 38, 0.12),
		0 2px 8px rgba(220, 38, 38, 0.08),
		0 0 20px rgba(220, 38, 38, 0.03);
}

.user-action-button:hover::before {
	opacity: 1;
}

.user-action-button .icon {
	font-size: 12px;
	font-weight: 300;
	color: rgba(220, 38, 38, 0.6);
	transition: color 0.2s ease;
}

.user-action-button:hover .icon {
	color: #dc2626;
	filter: drop-shadow(0 2px 4px rgba(220, 38, 38, 0.3));
}

.user-action-button.danger .icon {
	color: rgba(220, 38, 38, 0.6);
}

.user-action-button.danger:hover .icon {
	color: #dc2626;
}

/* Universal empty state for categories (notifications, profile, etc.) */
.empty-state-category {
	margin-top: 18px;
	text-align: center;
	padding: 16px;
	background: rgba(18, 20, 28, 0.95);
	border-radius: 12px;
	animation: fadeInUp 0.25s ease forwards;
}


/* Friend request accepted state */
.activity-item.friend-accepted {
	background: linear-gradient(135deg, rgba(76, 175, 80, 0.1), rgba(76, 175, 80, 0.05));
	/* border-left removed - using ::before hover effect instead */
}

.activity-item.friend-accepted .activity-text {
	font-weight: 500;
	color: #4CAF50 !important;
}

/* Override blue line with green line for accepted cards */
.activity-item.friend-accepted::before {
	background: linear-gradient(to bottom,
			transparent,
			#4CAF50,
			transparent) !important;
}

.activity-item.friend-declined {
	background: linear-gradient(135deg, rgba(255, 90, 90, 0.1), rgba(255, 90, 90, 0.05));
	/* border-left removed - using ::before hover effect instead */
}

.activity-item.friend-declined .activity-text {
	font-weight: 500;
	color: #ff5a5a !important;
}

/* Override blue line with red line for declined cards */
.activity-item.friend-declined::before {
	background: linear-gradient(to bottom,
			transparent,
			#ff5a5a,
			transparent) !important;
}

/* Activity buttons container styling - improved bottom spacing */
.activity-buttons {
	display: flex;
	gap: 12px;
	/* Tighter gap for sleeker look with wider buttons */
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	/* Allow wrapping on small screens */
	margin-top: 16px;
	/* Increased margin for better separation from text content */
	margin-bottom: 18px;
	/* Increased bottom margin for better separation from date below */
}

/* Unified activity button styling - using app-interface.css standard */
.activity-button {
	position: relative;
	/* Required for ::before pseudo-elements */
	padding: 4px 12px;
	/* From app-interface.css */
	border-radius: 4px;
	/* From app-interface.css */
	font-size: 10px;
	/* From app-interface.css */
	border: none;
	cursor: pointer;
	transition: all 0.2s ease;
	/* From app-interface.css */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	/* Hide overflow for clean ::before effect */
	/* Default style - using app-interface.css standard */
	background: var(--accent-blue);
	color: white;
}

/* Color variants for activity buttons */
.activity-button.red {
	background: rgba(255, 90, 90, 0.2) !important;
	color: #ff5a5a !important;
}

.activity-button.green {
	background: rgba(76, 175, 80, 0.2) !important;
	color: #4CAF50 !important;
}

.activity-button.grey {
	background: rgba(255, 255, 255, 0.1) !important;
	color: #ccc !important;
}



/* ========================================
   🎨 PERMANENT COLORED LINES FOR CARDS
   ======================================== */

/* 🎯 ЦЕНТРАЛИЗИРАН КЛАС ЗА СИНИ ЛИНИИ - ЗА БЪДЕЩЕ АКТИВИРАНЕ */
.blue-line::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background: linear-gradient(to bottom,
			transparent,
			var(--accent-blue),
			transparent);
	opacity: 1;
	transition: opacity 0.3s ease;
	border-radius: 0 12px 12px 0;
}

/* За активиране просто добави .blue-line клас към елементите:
   <div class="activity-item blue-line">
   <div class="friend-item blue-line">
   <div class="profile-section blue-line">
   <div class="payments-grid card blue-line">
*/

/* ДЕАКТИВИРАНО: Friend items - blue lines - използвай .blue-line клас за активиране
.friend-item::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background: linear-gradient(to bottom,
			transparent,
			var(--accent-blue),
			transparent);
	opacity: 1;
	transition: opacity 0.3s ease;
	border-radius: 0 12px 12px 0;
}
*/

/* ДЕАКТИВИРАНО: Profile sections - blue lines - използвай .blue-line клас за активиране
.profile-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background: linear-gradient(to bottom,
			transparent,
			var(--accent-blue),
			transparent);
	opacity: 1;
	transition: opacity 0.3s ease;
	border-radius: 0 12px 12px 0;
}
*/

/* ДЕАКТИВИРАНО: Payment cards - blue lines - използвай .blue-line клас за активиране
.payments-grid .card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background: linear-gradient(to bottom,
			transparent,
			var(--accent-blue),
			transparent);
	opacity: 1;
	transition: opacity 0.3s ease;
	border-radius: 0 12px 12px 0;
}
*/

/* Success button with action-button base styling */
.action-button.success-button {
	background: linear-gradient(135deg, #4CAF50, #45a049);
	color: white;
	border: none;
}

.action-button.success-button:hover {
	background: linear-gradient(135deg, #45a049, #3d8b40);
	transform: translateY(-1px);
	box-shadow: 0 4px 8px rgba(76, 175, 80, 0.3);
}

.success-button:hover {
	background: linear-gradient(135deg, #45a049, #3d8b40);
	transform: translateY(-1px);
	box-shadow: 0 4px 8px rgba(76, 175, 80, 0.3);
}


.empty-state-category .empty-icon {
	font-size: 24px;
	margin-bottom: 8px;
	opacity: 0.5;
}

.empty-state-category p {
	color: rgba(255, 255, 255, 0.4);
	font-size: 12px;
	margin: 0;
	text-align: center;
}

.empty-state-category h3 {
	color: rgba(255, 255, 255, 0.7);
	font-size: 14px;
	font-weight: 500;
	margin: 4px 0;
}

/* Backward compatibility - keep old class for existing code */
.empty-friends {
	text-align: center;
	padding: 32px 16px;
	background: rgba(18, 20, 28, 0.95);
	border-radius: 12px;
	margin: 0 auto;
	max-width: 400px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.empty-friends .empty-icon {
	font-size: 24px;
	margin-bottom: 8px;
	opacity: 0.5;
}

.empty-friends p {
	color: rgba(255, 255, 255, 0.4);
	font-size: 12px;
	margin: 0;
}


/* Remove responsive grid */
@media (max-width: 1200px) {
	.friends-grid {
		display: flex;
	}
}

@media (max-width: 768px) {
	.friends-grid {
		display: flex;
	}
}

/* Comments Section */
.comments-section {
	margin-top: 24px;
}

.comments-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.comment-item {
	background: linear-gradient(180deg,
			rgba(18, 20, 28, 0.98) 0%,
			rgba(18, 20, 28, 0.95) 100%);
	border-radius: 8px;
	padding: 8px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.03);
	padding-bottom: 3px;
}

/* Основен layout: лява снимка + дясна колона */
.comment-layout {
	display: flex;
	gap: 8px;
	align-items: flex-start;
}

/* Лява страна: Avatar */
.comment-avatar {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
}

.comment-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Дясна страна: 3-редова колона */
.comment-content-wrapper {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

/* Ред 1: Username */
.comment-username {
	font-size: 7px;
	font-weight: 600;
	color: var(--text-primary);
	line-height: 1.2;
}

/* Ред 2: Comment text */
.comment-text {
	font-size: 9px;
	line-height: 1.4;
	color: var(--text-primary);
	word-break: break-word;
}

/* Ред 3: Meta с дата в десния ъгъл */
.comment-meta {
	display: flex;
	justify-content: flex-end;
	margin-top: 2px;
}

.comment-date {
	font-size: 6px;
	color: rgba(59, 130, 246, 0.7);
	opacity: 0.6;
	background: rgba(0, 0, 0, 0.08);
	padding: 1px 3px;
	border-radius: 3px;
	letter-spacing: 0.1px;
	line-height: 1.1;
	filter: drop-shadow(0 0 2px rgba(59, 130, 246, 0.2));
	transition: filter 0.3s ease;
	white-space: nowrap;
}

.comment-actions {
	position: absolute;
	top: 8px;
	right: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.delete-comment {
	width: 16px;
	height: 16px;
	background: none;
	border: none;
	cursor: pointer;
	border-radius: 4px;
	transition: all 0.2s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ef4444;
	font-size: 11px;
	font-weight: bold;
	padding: 0;
}

.delete-comment:active {
	background: rgba(239, 68, 68, 0.1);
	transform: scale(0.95);
}

.delete-comment .icon {
	transform: rotate(0deg);
	transition: transform 0.2s ease;
	line-height: 1;
}

.delete-comment:active .icon {
	transform: rotate(90deg);
}

.empty-comments {
	text-align: center;
	padding: 24px 16px;
}

.empty-comments .empty-icon {
	font-size: 24px;
	margin-bottom: 8px;
	opacity: 0.5;
}

.empty-comments p {
	font-size: 12px;
	color: var(--text-secondary);
	margin: 0;
}

/* Анимации за коментари */
.comment-item {
	animation: commentSlideIn 0.3s ease forwards;
	opacity: 0;
	transform: translateY(10px);
}

/* commentSlideIn - moved to animations.css */

/* Добавяме закъснение за всеки следващ коментар */
.comment-item:nth-child(1) {
	animation-delay: 0.1s;
}

.comment-item:nth-child(2) {
	animation-delay: 0.2s;
}

.comment-item:nth-child(3) {
	animation-delay: 0.3s;
}

.comment-item:nth-child(4) {
	animation-delay: 0.4s;
}

.comment-item:nth-child(5) {
	animation-delay: 0.5s;
}

/* Comment Box */
.comment-box {
	background: rgba(18, 20, 28, 0.95);
	border-radius: 8px;
	padding: 8px;
	margin-bottom: 8px;
	cursor: pointer;
	box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.05);
}



.comment-box-content {
	display: flex;
	align-items: center;
}

.comment-box-input {
	flex: 1;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 6px;
	padding: 8px 12px;
	color: var(--text-secondary);
	font-size: 11px;
	user-select: none;
}

/* ========================================
   PAYMENTS SECTION STYLES - EXTENDED FROM SETTINGS.PHP
   ======================================== */

/* Profile Content Wrapper */
.profile-content {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 0;
}

/* Subscription Section */
.subscription-section {
	margin-bottom: 20px;
	padding: 12px;
	background: rgba(59, 130, 246, 0.05);
	border-radius: 8px;
	/* border removed - using ::before hover effect instead */
}

.active-subscription {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	background: rgba(59, 130, 246, 0.1);
	border-radius: 6px;
}

.subscription-premium_monthly,
.subscription-premium_yearly {
	border-left: 4px solid #3b82f6;
}

.subscription-vip {
	border-left: 4px solid #ffd700;
	background: rgba(255, 215, 0, 0.05);
}

.subscription-icon {
	font-size: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: rgba(59, 130, 246, 0.2);
	border-radius: 50%;
	flex-shrink: 0;
}

.subscription-details {
	flex: 1;
	min-width: 0;
}

.subscription-name {
	font-size: 14px;
	font-weight: 500;
	color: var(--text-primary);
	margin-bottom: 3px;
}

.subscription-expires {
	font-size: 11px;
	color: var(--text-secondary);
}

/* Section Headers */
.section-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
	margin-top: 8px;
	height: 32px;
}

.section-title {
	position: relative;
	padding-left: 12px;
	font-size: 10px;
	font-weight: 600;
	color: var(--accent-blue);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 12px;
	line-height: 1;
	display: flex;
	align-items: center;
}

.section-title::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50% !important;
	transform: translate3d(0, -50%, 0) !important;
	-webkit-transform: translate3d(0, -50%, 0) !important;
	width: 4px;
	height: 16px;
	background: var(--accent-blue);
	border-radius: 2px;
}

/* Payment History Section */
.payment-history-section {
	/* margin-top: 24px; */
	padding: 0;
	background: transparent;
	border-radius: 0;
	border: none;
}

/* Subscription Management */
.subscription-management {
	margin-bottom: 20px;
	margin-top: 24px;
	padding: 16px 0;
	background: transparent;
	border-radius: 0;
	border: none;
	text-align: center;
}

.manage-subscription-btn {
	width: 100%;
	padding: 12px;
	background: linear-gradient(90deg,
			var(--accent-blue) 0%,
			rgba(59, 130, 246, 0.8) 100%);
	border: none;
	border-radius: 8px;
	color: white;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-shadow: none;
}



.button-icon {
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.button-text {
	font-size: 14px;
	font-weight: 500;
}

/* Payment Count Badge */
.payment-count {
	background: rgba(59, 130, 246, 0.1);
	color: var(--text-primary);
	padding: 2px 8px;
	border-radius: 10px;
	font-size: 11px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
}

/* Empty Payments State */
.empty-payments {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 32px 16px;
	text-align: center;
	background: rgba(59, 130, 246, 0.02);
	border-radius: 8px;
	border: 1px dashed rgba(59, 130, 246, 0.1);
}

.empty-icon {
	font-size: 32px;
	opacity: 0.5;
	margin-bottom: 8px;
}

.empty-payments p {
	color: var(--text-secondary);
	font-size: 12px;
	margin: 0;
}

/* Payment Grid Layout */
.payments-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.payments-grid.grid-view {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 12px;
}

.payments-grid .col {
	flex: 1;
	min-width: calc(33.33% - 12px);
	display: flex;
	flex-direction: column;
}

.payments-grid .card {
	background: linear-gradient(135deg,
			rgba(59, 130, 246, 0.05) 0%,
			rgba(18, 20, 28, 0.98) 100%);
	/* border removed - using ::before permanent line effect instead */
	border-radius: 12px;
	padding: 16px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
	flex: 1;
	position: relative;
}



/* Payment Card */
.payment-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	height: 100%;
}

.payment-card.fade-in {
	animation: fadeInPayment 0.5s ease forwards;
	opacity: 0;
	transform: translateY(10px);
}

/* fadeInPayment - moved to animations.css */

.payment-icon {
	font-size: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	background: rgba(59, 130, 246, 0.15);
	border-radius: 50%;
	margin-bottom: 8px;
	flex-shrink: 0;
}

/* Payment Info */
.payment-info {
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
}

.payment-header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

.payment-type {
	font-size: 14px;
	font-weight: 600;
	color: var(--text-primary);
	margin-bottom: 2px;
}

.payment-amount {
	font-size: 16px;
	font-weight: 700;
	color: var(--accent-blue);
	font-family: 'JetBrains Mono', monospace;
}

/* Payment Details */
.payment-details {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: auto;
}

.payment-date,
.payment-expires,
.payment-product,
.payment-transaction {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 4px 0;
	border-bottom: 1px solid rgba(59, 130, 246, 0.05);
}

.payment-details .label {
	font-size: 10px;
	color: var(--text-secondary);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	flex-shrink: 0;
}

.payment-details .value {
	font-size: 11px;
	color: var(--text-primary);
	font-weight: 500;
	text-align: right;
}

.payment-details .value.monospace {
	font-family: 'JetBrains Mono', monospace;
	font-size: 9px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 140px;
	background: rgba(59, 130, 246, 0.05);
	padding: 2px 6px;
	border-radius: 4px;
}

/* Payment Status */
.payment-status {
	font-size: 11px;
	font-weight: 600;
	padding: 4px 12px;
	border-radius: 12px;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-top: 8px;
	border: 1px solid;
}

.status-completed {
	background: rgba(34, 197, 94, 0.1);
	color: #22c55e;
	border-color: rgba(34, 197, 94, 0.2);
}

.status-pending {
	background: rgba(251, 191, 36, 0.1);
	color: #fbbf24;
	border-color: rgba(251, 191, 36, 0.2);
}

.status-failed {
	background: rgba(239, 68, 68, 0.1);
	color: #ef4444;
	border-color: rgba(239, 68, 68, 0.2);
}

.status-refunded {
	background: rgba(156, 163, 175, 0.1);
	color: #9ca3af;
	border-color: rgba(156, 163, 175, 0.2);
}

.status-cancelled {
	background: rgba(75, 85, 99, 0.1);
	color: #6b7280;
	border-color: rgba(75, 85, 99, 0.2);
}

/* Subscription Modal */
.subscription-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10000;
	backdrop-filter: blur(4px);
}

.subscription-modal-content {
	background: var(--bg-secondary);
	border: 1px solid rgba(59, 130, 246, 0.2);
	border-radius: 16px;
	padding: 24px;
	max-width: 400px;
	width: 90%;
	text-align: center;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.subscription-modal h3 {
	color: var(--text-primary);
	margin-bottom: 8px;
	font-size: 18px;
	font-weight: 600;
}

.subscription-modal p {
	color: var(--text-secondary);
	margin-bottom: 20px;
	font-size: 14px;
}

.subscription-options {
	display: flex;
	gap: 12px;
	margin: 16px 0;
	justify-content: center;
}

.subscription-option {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 16px;
	background: rgba(59, 130, 246, 0.1);
	border: 1px solid rgba(59, 130, 246, 0.2);
	border-radius: 12px;
	text-decoration: none;
	color: var(--text-primary);
	transition: all 0.3s ease;
	flex: 1;
}



.option-icon {
	font-size: 24px;
}

.option-text {
	font-size: 12px;
	font-weight: 500;
}

.close-modal {
	background: rgba(239, 68, 68, 0.1);
	color: #ef4444;
	border: 1px solid rgba(239, 68, 68, 0.2);
	padding: 8px 16px;
	border-radius: 8px;
	cursor: pointer;
	margin-top: 16px;
	font-size: 12px;
	font-weight: 500;
	transition: all 0.3s ease;
}



/* Responsive Payments */
@media (max-width: 768px) {
	.payments-grid {
		flex-direction: column;
	}

	.payments-grid.grid-view {
		grid-template-columns: 1fr;
	}

	.payments-grid .col {
		min-width: 100%;
	}

	.subscription-management {
		margin-top: 16px;
	}

	.subscription-options {
		flex-direction: column;
	}

	.subscription-modal-content {
		margin: 16px;
	}

	.payment-details .value.monospace {
		max-width: 100px;
		font-size: 8px;
	}
}

/* Animation delays for payment cards */
.payment-card.fade-in:nth-child(1) {
	animation-delay: 0.1s;
}

.payment-card.fade-in:nth-child(2) {
	animation-delay: 0.2s;
}

.payment-card.fade-in:nth-child(3) {
	animation-delay: 0.3s;
}

.payment-card.fade-in:nth-child(4) {
	animation-delay: 0.4s;
}

.payment-card.fade-in:nth-child(5) {
	animation-delay: 0.5s;
}

/* Hover ефект за по-добра видимост на времето - като в chat */

/* ========================================
   END PAYMENTS SECTION STYLES - EXTENDED
   ======================================== */

/* Activity Status Colors - син фон за всички, цветни външни ефекти */
.profile-view .activity-value.status-online {
	color: var(--accent-blue) !important;
	background: rgba(59, 130, 246, 0.1) !important;
	/* син фон като register-date */
	border: 1px solid rgba(68, 183, 0, 0.11);
	box-shadow:
		0 0 3px rgba(68, 183, 0, 0.11),
		0 1px 3px rgba(68, 183, 0, 0.08),
		inset 0 1px 0 rgba(68, 183, 0, 0.08);
	animation: onlineGlow 3s ease-in-out infinite;
}

.profile-view .activity-value.status-away {
	color: var(--accent-blue) !important;
	background: rgba(59, 130, 246, 0.1) !important;
	/* син фон като register-date */
	border: 1px solid rgba(255, 152, 0, 0.11);
	box-shadow:
		0 0 3px rgba(255, 152, 0, 0.11),
		0 1px 3px rgba(255, 152, 0, 0.08),
		inset 0 1px 0 rgba(255, 152, 0, 0.08);
	animation: awayGlow 3s ease-in-out infinite;
}

/* Offline - стандартен стил */
.profile-view .activity-value.status-offline {
	color: var(--accent-blue) !important;
	background: rgba(59, 130, 246, 0.1) !important;
	border: none !important;
	box-shadow: none !important;
	animation: none !important;
}

.profile-view .activity-value.status-vip {
	color: var(--accent-blue) !important;
	background: rgba(59, 130, 246, 0.1) !important;
	/* син фон като register-date */
	border: 1px solid rgba(255, 215, 0, 0.15);
	box-shadow:
		0 0 4.5px rgba(255, 215, 0, 0.15),
		0 1px 4.5px rgba(255, 215, 0, 0.11),
		inset 0 1px 0 rgba(255, 215, 0, 0.11);
	animation: vipGlow 2s ease-in-out infinite;
}

/* onlineGlow, awayGlow, vipGlow - moved to animations.css */

/* ===============================
   VALIDATION FEEDBACK STYLES
   =============================== */

/* Validation blocked button state */
.validation-blocked {
	background: linear-gradient(135deg, #ff4757 0%, #ff3742 100%) !important;
	border-color: #ff4757 !important;
	color: white !important;
	cursor: not-allowed !important;
	transform: scale(0.98);
	transition: all 0.3s ease;
}

.validation-blocked:hover {
	background: linear-gradient(135deg, #ff4757 0%, #ff3742 100%) !important;
	transform: scale(0.98) !important;
}

/* shake - moved to animations.css */

/* ========================================
   🚀 2025 LOGIN DESIGN - Ultra Premium Experience
   ======================================== */

/* Premium Background Pattern */
.page-list::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background:
		radial-gradient(circle at 20% 80%, rgba(120, 119, 198, 0.03) 0%, transparent 50%),
		radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.02) 0%, transparent 50%);
	pointer-events: none;
	z-index: 0;
}

/* Header Gradient Overlay */
/* Main Header Glow Effects */
.activity-header,
#main-header {
	background: var(--bg-secondary);
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	box-shadow: none;
}

.activity-header .activity-title span,
#main-header .activity-title span {
	filter: none;
}

.activity-header .activity-title img,
#main-header .activity-title img {
	filter: none;
}

.activity-header::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg,
			transparent 0%,
			rgba(59, 130, 246, 0.2) 50%,
			transparent 100%);
}

/* Social Login Container - Balanced Spacing */
.social-login-container {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 20px;
	max-width: 250px;
	margin-left: auto;
	margin-right: auto;
}

/* Universal Social Button Styling - Ultra Advanced Interactive */
.social-button {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	padding: 12px 16px;
	border: 0.5px solid var(--border-color);
	border-radius: 8px;
	background: var(--background-primary);
	color: var(--text-primary);
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	text-decoration: none;
	min-height: 48px;
	position: relative;
	overflow: hidden;
	width: 100%;
	/* Premium touch target */
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	text-align: left;
	/* Advanced enhancements */
	letter-spacing: 0.5px;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	will-change: transform, box-shadow, filter, border-radius;
	backface-visibility: hidden;
	transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
	/* Ultra-advanced effects */
	transform-style: preserve-3d;
	perspective: 1000px;
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}


/* Social Icons - Next-Level Interactive */
.social-icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transform-origin: center;
}

/* Clean Icon Hover */
.social-button:hover .social-icon {
	transform: scale(1.05);
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
	/* Removed morphing animations */
}

.social-button:active .social-icon {
	transform: scale(0.95);
	/* Removed flicker effects - clean simple scale */
}

/* Advanced Icon Animations */
/* icon-dance, icon-pulse - moved to animations.css */


/* Apple Button Specific - Next-Level Black Display */
.apple-login-button {
	background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 30%, #2d2d2d 70%, #404040 100%);
	color: #fff;
	border: 1px solid #222;
	box-shadow:
		0 6px 20px rgba(0, 0, 0, 0.7),
		inset 0 1px 0 rgba(255, 255, 255, 0.2),
		inset 0 -1px 0 rgba(0, 0, 0, 0.4),
		0 0 30px rgba(255, 255, 255, 0.05);
	position: relative;
	overflow: hidden;
	background-size: 200% 200%;
}

/* Removed shine effects */


.apple-login-button .social-icon {
	fill: #fff;
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
}

.apple-login-button:hover {
	background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 30%, #404040 70%, #525252 100%);
	border-color: #444;
	box-shadow:
		0 4px 12px rgba(0, 0, 0, 0.4),
		inset 0 1px 0 rgba(255, 255, 255, 0.1);
	transform: translateY(-1px);
	/* Removed morphing animations and complex effects */
}

/* apple-morph - moved to animations.css */

/* Facebook Button Specific - Next-Level Blue Display */
.facebook-login-button {
	background: linear-gradient(135deg, #0d47a1 0%, #1565c0 30%, #1877f2 70%, #42a5f5 100%);
	color: #fff;
	border: 1px solid #1565c0;
	box-shadow:
		0 6px 20px rgba(24, 119, 242, 0.5),
		inset 0 1px 0 rgba(255, 255, 255, 0.25),
		inset 0 -1px 0 rgba(0, 0, 0, 0.3),
		0 0 25px rgba(24, 119, 242, 0.2);
	position: relative;
	overflow: hidden;
	background-size: 200% 200%;
}

/* Removed shine effects */


.facebook-login-button .social-icon {
	fill: #fff;
}

.facebook-login-button:hover {
	background: linear-gradient(135deg, #1565c0 0%, #1976d2 30%, #1e88e5 70%, #64b5f6 100%);
	border-color: #2196f3;
	box-shadow:
		0 4px 12px rgba(24, 119, 242, 0.3),
		inset 0 1px 0 rgba(255, 255, 255, 0.15);
	transform: translateY(-1px);
	/* Removed morphing animations and complex effects */
}

/* facebook-wave - moved to animations.css */

/* Google Button Specific - Next-Level Orange-Red Display */
.google-login-button {
	background: linear-gradient(135deg, #e64a19 0%, #ff6b35 30%, #f7931e 70%, #ff4757 100%);
	color: #fff;
	border: 1px solid #e64a19;
	box-shadow:
		0 6px 20px rgba(255, 107, 53, 0.5),
		inset 0 1px 0 rgba(255, 255, 255, 0.25),
		inset 0 -1px 0 rgba(0, 0, 0, 0.3),
		0 0 25px rgba(255, 152, 0, 0.2);
	position: relative;
	overflow: hidden;
	background-size: 200% 200%;
}

/* Removed shine effects */

/* rainbow-shine - moved to animations.css */

.google-login-button:hover::before {
	left: 100%;
}

/* Advanced Micro-Interactions */
.social-button:active {
	transform: scale(0.98) translateY(-1px);
}

.social-button:active::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.3);
	transform: translate3d(-50%, -50%, 0) !important;
	-webkit-transform: translate3d(-50%, -50%, 0) !important;
	animation: ripple 0.6s ease-out;
}

/* ripple - moved to animations.css */

/* Clean Active State */
.social-button:active {
	transform: scale(0.98) translateY(0px);
	/* Removed complex morphing effects */
}

/* Removed active ripple effects */

/* liquid-squeeze, ultra-ripple, color-burst, advanced-ripple - moved to animations.css */

/* Ultra-Advanced Particle System */
.social-button::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background:
		radial-gradient(circle at 15% 25%, rgba(255, 255, 255, 0.15) 1px, transparent 2px),
		radial-gradient(circle at 85% 75%, rgba(255, 255, 255, 0.12) 1px, transparent 2px),
		radial-gradient(circle at 35% 85%, rgba(255, 255, 255, 0.1) 1px, transparent 2px),
		radial-gradient(circle at 95% 15%, rgba(255, 255, 255, 0.08) 1px, transparent 2px),
		radial-gradient(circle at 65% 45%, rgba(255, 255, 255, 0.06) 1px, transparent 2px),
		radial-gradient(circle at 25% 65%, rgba(255, 255, 255, 0.04) 1px, transparent 2px);
	background-size: 40px 40px, 60px 60px, 50px 50px, 30px 30px, 70px 70px, 45px 45px;
	opacity: 0;
	transition: opacity 0.8s ease;
	pointer-events: none;
	animation: particle-dance 8s linear infinite;
}

.social-button:hover::after {
	opacity: 0;
	/* Removed all hover animations */
}

/* particle-dance, particle-explosion, constellation-twinkle - moved to animations.css */

/* Clean Static Social Buttons */
.social-button {
	background-size: 100% 100%;
	/* Removed all animations */
}

/* liquid-morph, particle-glow, subtle-pulse, gradient-shift - moved to animations.css */

50% {
	box-shadow:
		0 6px 20px rgba(0, 0, 0, 0.15),
		inset 0 1px 0 rgba(255, 255, 255, 0.15);
}
}

.google-login-button .social-icon {
	filter: brightness(1.1) contrast(1.05);
}

.google-login-button:hover {
	background: linear-gradient(135deg, #ff5722 0%, #ff6b35 30%, #f57c00 70%, #e53935 100%);
	border-color: #ff7043;
	box-shadow:
		0 4px 12px rgba(255, 107, 53, 0.3),
		inset 0 1px 0 rgba(255, 255, 255, 0.15);
	transform: translateY(-1px);
	/* Removed morphing animations and complex effects */
}

/* google-rainbow-morph - moved to animations.css */


/* Mobile Touch Optimizations */
@media (hover: none) and (pointer: coarse) {
	.social-button:active {
		transform: scale(0.92) translateY(-1px);
		transition: transform 0.15s ease;
		filter: brightness(1.15);
	}

	.social-button {
		/* Mobile animations moved to animations.css */
	}
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
	.social-button {
		animation: none;
		transition: none;
	}

	.social-button::before,
	.social-button::after {
		transition: none;
	}

	.social-button:hover::before,
	.social-button:hover::after {
		left: 0;
		opacity: 0;
	}
}

/* Device-Specific Ordering - No Animations */
.social-login-container[data-device="ios"] .social-button[data-provider="apple"] {
	order: 1;
}

.social-login-container[data-device="ios"] .social-button[data-provider="facebook"] {
	order: 2;
}

.social-login-container[data-device="ios"] .social-button[data-provider="google"] {
	order: 3;
}

.social-login-container[data-device="android"] .social-button[data-provider="google"] {
	order: 1;
}

.social-login-container[data-device="android"] .social-button[data-provider="facebook"] {
	order: 2;
}

.social-login-container[data-device="android"] .social-button[data-provider="apple"] {
	order: 3;
}

.social-login-container[data-device="mac"] .social-button[data-provider="apple"] {
	order: 1;
}

.social-login-container[data-device="mac"] .social-button[data-provider="facebook"] {
	order: 2;
}

.social-login-container[data-device="mac"] .social-button[data-provider="google"] {
	order: 3;
}

.social-login-container[data-device="other"] .social-button[data-provider="facebook"] {
	order: 1;
}

.social-login-container[data-device="other"] .social-button[data-provider="google"] {
	order: 2;
}

.social-login-container[data-device="other"] .social-button[data-provider="apple"] {
	order: 3;
}

/* Welcome Message Styling - No Animations */
.page-form-content h2 {
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 24px;
	color: var(--text-primary);
	text-align: center;
	letter-spacing: -0.02em;
	line-height: 1.2;
}



.page-form-content p:empty {
	display: none;
}

/* Password Toggle Button - Already defined at line 785 */



/* ========================================
   🎬 PREMIUM ANIMATIONS & KEYFRAMES
   ======================================== */

/* slideInUp, fadeInDown, fadeInUp, pulse - moved to animations.css */

/* Reduced Motion Support - Not Needed */

/* Form and Footer Styling - No Animations */
.page-form-content form {
	/* No animations */
}

.page-form-content .forgot-password-link {
	font-size: 0.8rem;
	margin: 12px 0;
}

/* OR Separator - Balanced */
.login-separator {
	display: flex;
	align-items: center;
	margin: 14px 0;
	text-align: center;
}

.login-separator::before,
.login-separator::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--border-color);
	opacity: 0.3;
}

.login-separator span {
	padding: 0 14px;
	color: var(--text-secondary);
	font-size: 0.8rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Footer Links - Balanced Position */
.page-form-content>*:last-child {
	margin-top: auto;
	/* padding-top: 32px; */
}

/* No Splash Screen Fallback - Removed */

/* ========================================
   🎨 SIMPLE SOCIAL BUTTONS (New Design)
   ======================================== */

/* Simple Social Button Container - Premium Compact */
.social-login-simple {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}

/* Simple Social Button Base - Premium Compact */
.social-button-simple {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	padding: 12px 16px;
	border: 1px solid rgba(59, 130, 246, 0.2);
	border-radius: 10px;
	background: var(--background-primary);
	color: var(--text-primary);
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	text-decoration: none;
	min-height: 48px;
	width: 100%;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	text-align: left;
	transition: all 0.3s ease;
}

/* Simple Social Icon */
.social-button-simple .social-icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

/* Apple Icon - Always White (Dark Theme App) */
.social-button-simple[data-provider="apple"] .social-icon path {
	fill: #FFFFFF;
}

/* Simple Hover State */
.social-button-simple:hover {
	border-color: rgba(59, 130, 246, 0.4);
	transform: translateY(-1px);
}

/* Simple Active State */
.social-button-simple:active {
	transform: scale(0.98) translateY(0px);
}

/* Device-Specific Button Ordering */

/* Desktop (default): Facebook → Google → Apple */
.social-login-simple[data-device="desktop"] .social-button-simple[data-provider="facebook"] {
	order: 1;
}

.social-login-simple[data-device="desktop"] .social-button-simple[data-provider="google"] {
	order: 2;
}

.social-login-simple[data-device="desktop"] .social-button-simple[data-provider="apple"] {
	order: 3;
}

/* Apple devices: Apple → Facebook → Google */
.social-login-simple[data-device="apple"] .social-button-simple[data-provider="apple"] {
	order: 1;
}

.social-login-simple[data-device="apple"] .social-button-simple[data-provider="facebook"] {
	order: 2;
}

.social-login-simple[data-device="apple"] .social-button-simple[data-provider="google"] {
	order: 3;
}

/* Google/Android devices: Google → Facebook → Apple */
.social-login-simple[data-device="google"] .social-button-simple[data-provider="google"] {
	order: 1;
}

.social-login-simple[data-device="google"] .social-button-simple[data-provider="facebook"] {
	order: 2;
}

.social-login-simple[data-device="google"] .social-button-simple[data-provider="apple"] {
	order: 3;
}

/* High Contrast Support */
@media (prefers-contrast: high) {
	.social-button {
		border-width: 2px;
	}

	.social-button:focus-visible {
		outline-width: 3px;
	}
}

/* ========================================
   🎯 SMART FORM ENHANCEMENTS
   ======================================== */

/* Enhanced Input Focus States - No Transform */
.page-form-group input:focus {
	border-color: var(--accent-blue);
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Success State - No Animation */
.page-form-group.success input {
	border-color: #10b981;
}

/* Input Success State - Green background like error-hint */
.form-input.input-success {
	background: rgba(34, 197, 94, 0.1);
	border: 1px solid rgba(34, 197, 94, 0.2);
	transition: all 0.3s ease;
}

/* Premium Submit Button - Clean */
.submit-button {
	position: relative;
	overflow: hidden;
	background: var(--accent-blue);
	box-shadow: 0 2px 8px rgba(74, 144, 226, 0.2);
}

/* Secondary Button - Warning variant of submit-button */
.submit-button.secondary {
	background: linear-gradient(135deg, #f59e0b 0%, #ff8c42 100%);
	box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3);
	border: none;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	transform: scale(0.85);
	margin: 0 auto;
	position: relative;
}

/* Subtle glow effect from bottom */
.submit-button.secondary::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 50%;
	transform: translateX(-50%);
	width: 80%;
	height: 3px;
	background: linear-gradient(90deg, transparent, rgba(255, 140, 66, 0.6), transparent);
	border-radius: 0 0 8px 8px;
	opacity: 0.7;
}

.submit-button.secondary:hover:not(.disabled) {
	transform: scale(0.85) translateY(-2px);
	box-shadow: 0 8px 25px rgba(245, 158, 11, 0.4);
	background: linear-gradient(135deg, #ff8c42 0%, #f59e0b 100%);
}

.submit-button.secondary:hover:not(.disabled)::after {
	opacity: 1;
	height: 4px;
}

.submit-button.resend-button .button-icon {
	transition: transform 0.3s ease;
}

.submit-button.secondary.disabled {
	opacity: 0.6;
	cursor: not-allowed;
	pointer-events: none;
	background: linear-gradient(135deg, #9ca3af 0%, #6b7280 100%);
	box-shadow: 0 2px 8px rgba(156, 163, 175, 0.2);
}

.submit-button.secondary.disabled::after {
	display: none;
}


/* No active transforms */

/* Loading State */
.submit-button.loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	border: 2px solid transparent;
	border-top: 2px solid currentColor;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

/* spin - moved to animations.css */

/* ========================================
   📸 SKELETON PROGRESS ANIMATION
   ======================================== */

@keyframes skeleton-progress {
	0% {
		width: 0%;
	}

	50% {
		width: 70%;
	}

	100% {
		width: 100%;
	}
}

/* ========================================
   📊 UPLOAD MORE HINT - COLOR STATES & EMOJI LEVELS
   ======================================== */

/* Default state - BEFORE reaching goal (Amber/Orange tones) */
.upload-more-hint {
	transition: all 0.3s ease;
	padding: 16px;
	border-radius: 12px;
	background: rgba(251, 191, 36, 0.1);
	border: 2px solid rgba(251, 191, 36, 0.3);
}

.upload-more-hint.goal-reached {
	/* Green success tones when 4+ photos uploaded */
	background: rgba(16, 185, 129, 0.1) !important;
	border: 2px solid rgba(16, 185, 129, 0.3) !important;
}

.upload-more-hint.goal-reached #photo-counter {
	color: #10b981 !important;
	/* Green-500 */
}

.upload-more-hint.goal-reached #hint-message {
	color: #047857 !important;
	/* Green-700 */
}

.upload-more-hint.goal-reached #hint-submessage {
	color: #047857 !important;
	/* Green-700 */
	opacity: 0.8 !important;
}

/* ========================================
   📊 EMOJI LEVEL INDICATORS (5 slots) - Match profile-rank-indicator
   ======================================== */

.emoji-level-container {
	display: flex;
	justify-content: center;
	gap: 9px;
	margin: 12px 0;
	font-size: 27px;
	/* DOUBLE drop-shadow glow (from profile-rank-indicator) */
	filter: drop-shadow(0 0 8px rgba(251, 191, 36, 0.4)) drop-shadow(0 0 15px rgba(251, 191, 36, 0.3));
}

.emoji-level-slot {
	transition: all 0.3s ease;
	filter: grayscale(100%);
	opacity: 0.2;
}

.emoji-level-slot.active {
	filter: grayscale(0%);
	opacity: 1;
}

.emoji-level-slot.next-level {
	opacity: 0.6;
	filter: grayscale(50%);
	border: 2px solid transparent;
	border-radius: 4px;
	padding: 1px 2px;
	margin: -3px -3px;
	animation: emoji-pulse 2s ease-in-out infinite;
}

@keyframes emoji-pulse {

	0%,
	100% {
		border-color: transparent;
		opacity: 0.6;
	}

	50% {
		border-color: #f59e0b;
		opacity: 0.9;
	}
}

/* Goal-reached state (GREEN) */
.upload-more-hint.goal-reached .emoji-level-container {
	/* Green double drop-shadow */
	filter: drop-shadow(0 0 8px rgba(16, 185, 129, 0.5)) drop-shadow(0 0 15px rgba(16, 185, 129, 0.4)) !important;
}

.upload-more-hint.goal-reached #hint-message {
	color: #10b981 !important;
	/* TRIPLE text-shadow glow (from profile-rank-indicator) */
	text-shadow: 0 0 10px rgba(16, 185, 129, 0.5), 0 0 20px rgba(16, 185, 129, 0.4), 0 0 30px rgba(16, 185, 129, 0.3) !important;
}

/* ! suggestions.css ! */
/* Wrapper за suggestions */
.suggestions-wrapper {
	position: relative !important;
	width: 100%;
}

/* Общи стилове за suggestions контейнери */
.suggestions-container {
	/* position: absolute; */
	top: 100%;
	left: 0;
	width: 100%;
	max-height: 200px;
	overflow-y: auto;
	background: rgb(18, 20, 28);
	border: 1px solid rgba(59, 130, 246, 0.2);
	border-radius: 8px;
	margin-top: 4px;
	z-index: 9999;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	display: none;
	transform-origin: top;
	transform: scaleY(0.9);
	opacity: 0;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

/* Общи стилове за suggestions items */
.suggestion-item {
	padding: 10px 16px;
	cursor: pointer;
	transition: all 0.2s ease;
	font-size: 11px;
	color: var(--text-primary);
	background: rgb(18, 20, 28);
	border-bottom: 1px solid rgba(59, 130, 246, 0.1);
	display: flex;
	align-items: center;
}

/* Стилове за градове */
.suggestion-item .city-name {
	text-align: left;
}

.suggestion-item .city-count {
	color: var(--text-secondary);
	font-size: 9px;
	background: rgba(59, 130, 246, 0.1);
	padding: 2px 6px;
	border-radius: 10px;
	margin-left: auto;
}

/* Hover ефект */
.suggestion-item:hover {
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.15),
			rgba(59, 130, 246, 0.05));
	transform: translateX(4px);
}

/* Специални стилове за prompt messages */
.suggestion-item.prompt-message {
	background: rgba(59, 130, 246, 0.05);
	border-left: 3px solid rgba(59, 130, 246, 0.3);
	font-style: italic;
	color: rgba(156, 163, 175, 0.8);
	cursor: default;
	pointer-events: none;
}

.suggestion-item.prompt-message:hover {
	background: rgba(59, 130, 246, 0.05);
	transform: none;
}

/* Специални стилове за no-results */
.suggestion-item.no-results-state {
	background: rgba(239, 68, 68, 0.05);
	border-left: 3px solid rgba(239, 68, 68, 0.3);
	font-style: italic;
	color: rgba(156, 163, 175, 0.8);
	cursor: default;
	pointer-events: none;
}

.suggestion-item.no-results-state:hover {
	background: rgba(239, 68, 68, 0.05);
	transform: none;
}

/* Специални стилове за empty state */
.suggestion-item.empty-state {
	background: rgba(107, 114, 128, 0.05);
	border-left: 3px solid rgba(107, 114, 128, 0.3);
	font-style: italic;
	color: rgba(156, 163, 175, 0.6);
	cursor: default;
	pointer-events: none;
}

.suggestion-item.empty-state:hover {
	background: rgba(107, 114, 128, 0.05);
	transform: none;
}

/* Стилове за scrollbar */
.suggestions-container::-webkit-scrollbar {
	width: 6px;
}

.suggestions-container::-webkit-scrollbar-track {
	background: transparent;
}

.suggestions-container::-webkit-scrollbar-thumb {
	background: rgba(59, 130, 246, 0.2);
	border-radius: 3px;
}

/* Когато е видим */
.suggestions-container.show,
.suggestions-container[style*="display: block"] {
	display: block !important;
	opacity: 1 !important;
	transform: scaleY(1) !important;
}

/* ! animations.css ! */
/* ========================================
   🎬 GLOBAL ANIMATIONS - CENTRALIZED
   ======================================== */

/* ⚠️ This file loads LAST in HTML - overrides all animation definitions */
/* 🎯 Single source of truth for ALL @keyframes animations */
/* 📋 Load order: app-interface.css → app-interface2.css → page.css → animations.css */

/* ==================== ANIMATION UTILITY CLASSES ==================== */
/* Modern 2025 approach: semantic names without prefix */
/* iOS optimized: translate3d for GPU acceleration */

.fade-in {
	opacity: 1 !important;
	transition: opacity 250ms ease-out;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.fade-out {
	opacity: 0 !important;
	transition: opacity 200ms ease-out;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.slide-in {
	opacity: 1 !important;
	transform: translate3d(0, 0, 0) !important;
	-webkit-transform: translate3d(0, 0, 0) !important;
	transition: opacity 250ms ease-out, transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform, opacity;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.slide-out {
	opacity: 0 !important;
	transform: translate3d(0, 20px, 0) !important;
	-webkit-transform: translate3d(0, 20px, 0) !important;
	transition: opacity 200ms ease-out, transform 200ms cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform, opacity;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.scale-in {
	opacity: 1 !important;
	transform: scale3d(1, 1, 1) !important;
	-webkit-transform: scale3d(1, 1, 1) !important;
	transition: opacity 300ms ease-out, transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform, opacity;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.scale-out {
	opacity: 0 !important;
	transform: scale3d(0.9, 0.9, 1) !important;
	-webkit-transform: scale3d(0.9, 0.9, 1) !important;
	transition: opacity 250ms ease-out, transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform, opacity;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.hidden {
	opacity: 0 !important;
	pointer-events: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.visible {
	opacity: 1 !important;
	pointer-events: auto;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/* ==================== CORE FADE ANIMATIONS ==================== */

@keyframes fadeIn {
	0% {
		opacity: 0;
		transform: translateY(10px);
		-webkit-transform: translateY(10px);
	}

	30% {
		opacity: 0.7;
		transform: translateY(5px);
		-webkit-transform: translateY(5px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
		-webkit-transform: translateY(0);
	}
}

@keyframes fadeOut {
	0% {
		opacity: 1;
		transform: translateY(0);
		-webkit-transform: translateY(0);
	}

	50% {
		opacity: 0.4;
		transform: translateY(-5px);
		-webkit-transform: translateY(-5px);
	}

	100% {
		opacity: 0;
		transform: translateY(-10px);
		-webkit-transform: translateY(-10px);
	}
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(10px);
		-webkit-transform: translate3d(0, 10px, 0);
	}

	to {
		opacity: 1;
		transform: translateY(0);
		-webkit-transform: translate3d(0, 0, 0);
	}
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translateY(-20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeOutUp {
	from {
		opacity: 1;
		transform: translateY(0);
	}

	to {
		opacity: 0;
		transform: translateY(-20px);
	}
}

@keyframes fadeOutLeft {
	0% {
		opacity: 1;
		transform: translate(0, 0);
		-webkit-transform: translate(0, 0);
	}

	100% {
		opacity: 0;
		transform: translate(-30px, 0);
		-webkit-transform: translate(-30px, 0);
	}
}

@keyframes fadeOutRight {
	0% {
		opacity: 1;
		transform: translate(0, 0);
		-webkit-transform: translate(0, 0);
	}

	100% {
		opacity: 0;
		transform: translate(30px, 0);
		-webkit-transform: translate(30px, 0);
	}
}

@keyframes fadeInScale {
	from {
		opacity: 0;
		transform: scale(0.95);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes fadeInPayment {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ==================== SLIDE ANIMATIONS ==================== */

@keyframes slideInRight {
	from {
		opacity: 0;
		transform: translateX(-100%);
		-webkit-transform: translate3d(-100%, 0, 0);
	}

	to {
		opacity: 1;
		transform: translateX(0);
		-webkit-transform: translate3d(0, 0, 0);
	}
}

@keyframes slideInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes slideUp {
	from {
		transform: translateY(100%);
	}

	to {
		transform: translateY(0);
	}
}

@keyframes slideUpFade {
	0% {
		opacity: 0;
		transform: translateY(20px);
		-webkit-transform: translate3d(0, 20px, 0);
	}

	50% {
		opacity: 0.5;
		transform: translateY(10px);
		-webkit-transform: translate3d(0, 10px, 0);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
		-webkit-transform: translate3d(0, 0, 0);
	}
}

@keyframes commentSlideIn {
	from {
		opacity: 0;
		transform: translateX(-20px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes commentSlideOut {
	from {
		opacity: 1;
		transform: translateX(0);
	}

	to {
		opacity: 0;
		transform: translateX(20px);
	}
}

/* ==================== ZOOM & SCALE ANIMATIONS ==================== */

@keyframes zoomIn {
	from {
		opacity: 0;
		transform: scale(0.8);
		-webkit-transform: translate3d(0, 0, 0) scale(0.8);
	}

	to {
		opacity: 1;
		transform: scale(1);
		-webkit-transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes pulse {

	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.05);
	}
}

@keyframes pulseScale {

	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.02);
	}
}

@keyframes softPulse {

	0%,
	100% {
		transform: scale(1);
		opacity: 1;
	}

	50% {
		transform: scale(1.05);
		opacity: 0.9;
	}
}

@keyframes gentle-pulse {

	0%,
	100% {
		opacity: 1;
		transform: scale(1);
	}

	50% {
		opacity: 0.7;
		transform: scale(0.98);
	}
}

@keyframes notificationPulse {

	0%,
	100% {
		transform: scale(1) translateY(0);
	}

	50% {
		transform: scale(1.02) translateY(-2px);
	}
}

/* ==================== SIDEBAR ANIMATIONS ==================== */

@keyframes sidebarFadeIn {
	from {
		opacity: 0;
		transform: translateX(-20px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes sidebarFadeOut {
	from {
		opacity: 1;
		transform: translateX(0);
	}

	to {
		opacity: 0;
		transform: translateX(-20px);
	}
}

@keyframes buttonSlideUp {
	from {
		opacity: 0;
		transform: translateY(10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes sidebarRibbonFlow {
	0% {
		background-position: 0% 50%;
		opacity: 0.8;
	}

	50% {
		background-position: 100% 50%;
		opacity: 1;
	}

	100% {
		background-position: 0% 50%;
		opacity: 0.8;
	}
}

@keyframes sidebarRibbonGlow {

	0%,
	100% {
		box-shadow: 0 2px 15px rgba(59, 130, 246, 0.2),
			inset 0 1px 5px rgba(147, 197, 253, 0.2);
	}

	50% {
		box-shadow: 0 2px 20px rgba(59, 130, 246, 0.4),
			inset 0 1px 8px rgba(147, 197, 253, 0.4);
	}
}

/* ==================== FOOTER ANIMATIONS ==================== */

@keyframes footerSlideUp {
	from {
		opacity: 0;
		transform: translateY(100%);
		-webkit-transform: translate3d(0, 100%, 0);
	}

	to {
		opacity: 1;
		transform: translateY(0);
		-webkit-transform: translate3d(0, 0, 0);
	}
}

@keyframes footerParticleFloat {
	0% {
		transform: translate(0, 0) rotate(0deg);
		opacity: 0;
	}

	10% {
		opacity: 0.6;
	}

	90% {
		opacity: 0.6;
	}

	100% {
		transform: translate(0, -300px) rotate(360deg);
		opacity: 0;
	}
}

@keyframes footerIconGlow {

	0%,
	100% {
		filter: drop-shadow(0 2px 4px rgba(147, 197, 253, 0.2));
		transform: scale(1);
	}

	50% {
		filter: drop-shadow(0 4px 8px rgba(147, 197, 253, 0.4));
		transform: scale(1.05);
	}
}

@keyframes footerIconScale {
	0% {
		transform: scale(0.8);
		opacity: 0;
	}

	50% {
		transform: scale(1.05);
	}

	100% {
		transform: scale(1);
		opacity: 1;
	}
}

/* ==================== COUNTER ANIMATIONS ==================== */

@keyframes counterFadeIn {
	0% {
		opacity: 0;
		transform: translate3d(-50%, -50%, 0) scale(0.5);
		-webkit-transform: translate3d(-50%, -50%, 0) scale(0.5);
	}

	50% {
		opacity: 1;
		transform: translate3d(-50%, -50%, 0) scale(1.1);
		-webkit-transform: translate3d(-50%, -50%, 0) scale(1.1);
	}

	100% {
		opacity: 1;
		transform: translate3d(-50%, -50%, 0) scale(1);
		-webkit-transform: translate3d(-50%, -50%, 0) scale(1);
	}
}

@keyframes counterFadeOut {
	0% {
		opacity: 1;
		transform: translate3d(-50%, -50%, 0) scale(1);
		-webkit-transform: translate3d(-50%, -50%, 0) scale(1);
	}

	50% {
		opacity: 0.5;
		transform: translate3d(-50%, -50%, 0) scale(1.1);
		-webkit-transform: translate3d(-50%, -50%, 0) scale(1.1);
	}

	100% {
		opacity: 0;
		transform: translate3d(-50%, -50%, 0) scale(0.5);
		-webkit-transform: translate3d(-50%, -50%, 0) scale(0.5);
	}
}

@keyframes counterUpdate {
	0% {
		transform: translate3d(-50%, -50%, 0) scale(1);
		-webkit-transform: translate3d(-50%, -50%, 0) scale(1);
	}

	25% {
		transform: translate3d(-50%, -50%, 0) scale(1.2) rotate(-5deg);
		-webkit-transform: translate3d(-50%, -50%, 0) scale(1.2) rotate(-5deg);
	}

	50% {
		transform: translate3d(-50%, -50%, 0) scale(0.9) rotate(5deg);
		-webkit-transform: translate3d(-50%, -50%, 0) scale(0.9) rotate(5deg);
	}

	75% {
		transform: translate3d(-50%, -50%, 0) scale(1.1) rotate(-3deg);
		-webkit-transform: translate3d(-50%, -50%, 0) scale(1.1) rotate(-3deg);
	}

	100% {
		transform: translate3d(-50%, -50%, 0) scale(1) rotate(0deg);
		-webkit-transform: translate3d(-50%, -50%, 0) scale(1) rotate(0deg);
	}
}

/* ==================== GRADIENT & FLOW ANIMATIONS ==================== */

@keyframes gradientMove {
	0% {
		background-position: -200% 0;
		transform: translate3d(0, 0, 0);
		-webkit-transform: translate3d(0, 0, 0);
	}

	100% {
		background-position: 200% 0;
		transform: translate3d(0, 0, 0);
		-webkit-transform: translate3d(0, 0, 0);
	}
}

@keyframes gradientShift {

	0%,
	100% {
		background-position: 0% 50%;
	}

	50% {
		background-position: 100% 50%;
	}
}

@keyframes gradient-shift {

	0%,
	100% {
		background-position: 0% 50%;
	}

	50% {
		background-position: 100% 50%;
	}
}

@keyframes mainContainerRibbonFlow {
	0% {
		background-position: 0% 50%;
		opacity: 0.8;
	}

	50% {
		background-position: 100% 50%;
		opacity: 1;
	}

	100% {
		background-position: 0% 50%;
		opacity: 0.8;
	}
}

@keyframes mainContainerRibbonGlow {

	0%,
	100% {
		box-shadow: 0 2px 15px rgba(59, 130, 246, 0.2),
			inset 0 1px 5px rgba(147, 197, 253, 0.2);
	}

	50% {
		box-shadow: 0 2px 20px rgba(59, 130, 246, 0.4),
			inset 0 1px 8px rgba(147, 197, 253, 0.4);
	}
}

/* ==================== GLOW & SPARKLE ANIMATIONS ==================== */

@keyframes sparkle {

	0%,
	100% {
		opacity: 0;
		transform: scale(0) rotate(0deg);
	}

	50% {
		opacity: 1;
		transform: scale(1) rotate(180deg);
	}
}

@keyframes textGlow {

	0%,
	100% {
		text-shadow: 0 0 10px rgba(59, 130, 246, 0.5),
			0 0 20px rgba(59, 130, 246, 0.3);
	}

	50% {
		text-shadow: 0 0 20px rgba(59, 130, 246, 0.8),
			0 0 40px rgba(59, 130, 246, 0.5);
	}
}

@keyframes onlineGlow {

	0%,
	100% {
		background: linear-gradient(135deg,
				#44b700 0%,
				#44b700 50%,
				rgba(68, 183, 0, 0.8) 100%);
		box-shadow: 0 0 8px rgba(68, 183, 0, 0.4),
			inset 0 0 8px rgba(255, 255, 255, 0.1);
	}

	50% {
		background: linear-gradient(135deg,
				#5fd100 0%,
				#44b700 50%,
				rgba(68, 183, 0, 0.9) 100%);
		box-shadow: 0 0 15px rgba(68, 183, 0, 0.6),
			inset 0 0 12px rgba(255, 255, 255, 0.15);
	}
}

@keyframes awayGlow {

	0%,
	100% {
		background: linear-gradient(135deg,
				#ff9800 0%,
				#ff9800 50%,
				rgba(255, 152, 0, 0.8) 100%);
		box-shadow: 0 0 8px rgba(255, 152, 0, 0.4),
			inset 0 0 8px rgba(255, 255, 255, 0.1);
	}

	50% {
		background: linear-gradient(135deg,
				#ffb347 0%,
				#ff9800 50%,
				rgba(255, 152, 0, 0.9) 100%);
		box-shadow: 0 0 15px rgba(255, 152, 0, 0.6),
			inset 0 0 12px rgba(255, 255, 255, 0.15);
	}
}

@keyframes vipGlow {

	0%,
	100% {
		background: linear-gradient(135deg,
				#fbbf24 0%,
				#f59e0b 50%,
				rgba(245, 158, 11, 0.8) 100%);
		box-shadow: 0 0 12px rgba(251, 191, 36, 0.5),
			inset 0 0 10px rgba(255, 255, 255, 0.15);
	}

	50% {
		background: linear-gradient(135deg,
				#fcd34d 0%,
				#fbbf24 50%,
				rgba(251, 191, 36, 0.9) 100%);
		box-shadow: 0 0 20px rgba(251, 191, 36, 0.7),
			inset 0 0 15px rgba(255, 255, 255, 0.2);
	}
}

/* ==================== PREMIUM & LEVEL ANIMATIONS ==================== */

@keyframes premiumRotate {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes levelPulse {

	0%,
	100% {
		transform: scale(1);
		filter: brightness(1);
	}

	50% {
		transform: scale(1.05);
		filter: brightness(1.2);
	}
}

@keyframes cosmicNavigatorFlow {
	0% {
		background-position: 0% 50%;
	}

	100% {
		background-position: 200% 50%;
	}
}

/* ==================== TYPING & LOADING ANIMATIONS ==================== */

@keyframes typing {

	0%,
	60%,
	100% {
		transform: translateY(0);
	}

	30% {
		transform: translateY(-8px);
	}
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@keyframes floatAnimation {

	0%,
	100% {
		transform: translateY(0px);
	}

	50% {
		transform: translateY(-10px);
	}
}

/* ==================== IMAGE LOADING ==================== */

@keyframes imageLoad {
	from {
		opacity: 0;
		transform: scale(0.9);
		-webkit-transform: scale(0.9);
	}

	to {
		opacity: 1;
		transform: scale(1);
		-webkit-transform: scale(1);
	}
}

/* ==================== SPLASH SCREEN ANIMATIONS ==================== */

@keyframes logoPulse {

	0%,
	100% {
		transform: scale(1);
		filter: brightness(1);
	}

	50% {
		transform: scale(1.05);
		filter: brightness(1.2);
	}
}

@keyframes contentFadeIn {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes gridFade {
	0% {
		opacity: 0;
	}

	50% {
		opacity: 0.15;
	}

	100% {
		opacity: 0;
	}
}

@keyframes textAppear {
	0% {
		opacity: 0;
		transform: translateY(10px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes dotPulse {

	0%,
	80%,
	100% {
		transform: scale(0);
		opacity: 0.5;
	}

	40% {
		transform: scale(1);
		opacity: 1;
	}
}

@keyframes dotsAppear {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

/* ==================== SPINNER ANIMATIONS ==================== */

@keyframes container-spinner-rotate {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/* ==================== NOTIFICATION ANIMATIONS ==================== */

@keyframes swipeArrowPulse {

	0%,
	100% {
		opacity: 0.6;
		transform: translateX(0);
	}

	50% {
		opacity: 1;
		transform: translateX(-5px);
	}
}

@keyframes soundWave {

	0%,
	100% {
		transform: scaleY(1);
		opacity: 0.8;
	}

	50% {
		transform: scaleY(1.5);
		opacity: 1;
	}
}

/* ==================== DROPDOWN & MODAL ANIMATIONS ==================== */

@keyframes dropdownShow {
	from {
		opacity: 0;
		transform: translateY(-10px) scale(0.95);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes successPulse {

	0%,
	100% {
		background-color: #22c55e;
	}

	50% {
		background-color: #16a34a;
	}
}

/* ==================== SHAKE & ERROR ANIMATIONS ==================== */

@keyframes shake {

	0%,
	100% {
		transform: translateX(0);
	}

	10%,
	30%,
	50%,
	70%,
	90% {
		transform: translateX(-10px);
	}

	20%,
	40%,
	60%,
	80% {
		transform: translateX(10px);
	}
}

/* ==================== SOCIAL LOGIN ANIMATIONS ==================== */

@keyframes icon-dance {

	0%,
	100% {
		transform: translateY(0) rotate(0deg);
	}

	25% {
		transform: translateY(-3px) rotate(-5deg);
	}

	50% {
		transform: translateY(-5px) rotate(0deg);
	}

	75% {
		transform: translateY(-3px) rotate(5deg);
	}
}

@keyframes icon-pulse {

	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.1);
	}
}

@keyframes apple-morph {

	0%,
	100% {
		border-radius: 12px;
	}

	50% {
		border-radius: 24px;
	}
}

@keyframes facebook-wave {

	0%,
	100% {
		transform: translateY(0);
		box-shadow: 0 4px 15px rgba(24, 119, 242, 0.3);
	}

	50% {
		transform: translateY(-2px);
		box-shadow: 0 6px 20px rgba(24, 119, 242, 0.4);
	}
}

@keyframes rainbow-shine {
	0% {
		background: linear-gradient(135deg,
				#4285f4 0%,
				#ea4335 25%,
				#fbbc05 50%,
				#34a853 75%,
				#4285f4 100%);
		background-size: 200% 100%;
		background-position: 0% 0%;
	}

	50% {
		background-position: 100% 0%;
	}

	100% {
		background: linear-gradient(135deg,
				#4285f4 0%,
				#ea4335 25%,
				#fbbc05 50%,
				#34a853 75%,
				#4285f4 100%);
		background-size: 200% 100%;
		background-position: 0% 0%;
	}
}

@keyframes ripple {
	0% {
		transform: scale(0);
		opacity: 1;
	}

	100% {
		transform: scale(4);
		opacity: 0;
	}
}

@keyframes liquid-squeeze {

	0%,
	100% {
		border-radius: 12px;
		transform: scale(1);
	}

	50% {
		border-radius: 20px;
		transform: scale(0.98);
	}
}

@keyframes ultra-ripple {
	0% {
		width: 0;
		height: 0;
		opacity: 0.8;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	100% {
		width: 500%;
		height: 500%;
		opacity: 0;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
}

@keyframes color-burst {
	0% {
		filter: hue-rotate(0deg) brightness(1);
	}

	50% {
		filter: hue-rotate(20deg) brightness(1.2);
	}

	100% {
		filter: hue-rotate(0deg) brightness(1);
	}
}

@keyframes advanced-ripple {
	0% {
		width: 0;
		height: 0;
		opacity: 0.6;
	}

	50% {
		opacity: 0.3;
	}

	100% {
		width: 300%;
		height: 300%;
		opacity: 0;
	}
}

@keyframes particle-dance {
	0% {
		transform: translate(0, 0) rotate(0deg) scale(1);
		opacity: 0;
	}

	10% {
		opacity: 0.8;
	}

	90% {
		opacity: 0.8;
	}

	100% {
		transform: translate(var(--tx, 100px), var(--ty, -100px)) rotate(360deg) scale(0);
		opacity: 0;
	}
}

@keyframes particle-explosion {
	0% {
		transform: translate(0, 0) scale(1);
		opacity: 1;
	}

	100% {
		transform: translate(var(--explosion-x, 50px), var(--explosion-y, -50px)) scale(0);
		opacity: 0;
	}
}

@keyframes constellation-twinkle {

	0%,
	100% {
		opacity: 0.3;
		transform: scale(1);
	}

	50% {
		opacity: 1;
		transform: scale(1.2);
	}
}

@keyframes liquid-morph {

	0%,
	100% {
		border-radius: 12px 12px 12px 12px;
	}

	25% {
		border-radius: 18px 12px 18px 12px;
	}

	50% {
		border-radius: 12px 18px 12px 18px;
	}

	75% {
		border-radius: 18px 12px 18px 12px;
	}
}

@keyframes particle-glow {

	0%,
	100% {
		box-shadow: 0 0 5px currentColor;
		opacity: 0.6;
	}

	50% {
		box-shadow: 0 0 15px currentColor;
		opacity: 1;
	}
}

@keyframes subtle-pulse {

	0%,
	100% {
		transform: scale(1);
		box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	}

	50% {
		transform: scale(1.02);
		box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
	}
}

@keyframes google-rainbow-morph {
	0% {
		background: linear-gradient(135deg,
				#ffffff 0%,
				#ffffff 100%);
		box-shadow: 0 4px 15px rgba(66, 133, 244, 0.2);
	}

	25% {
		background: linear-gradient(135deg,
				rgba(66, 133, 244, 0.05) 0%,
				#ffffff 100%);
		box-shadow: 0 4px 15px rgba(66, 133, 244, 0.3);
	}

	50% {
		background: linear-gradient(135deg,
				rgba(234, 67, 53, 0.05) 0%,
				#ffffff 100%);
		box-shadow: 0 4px 15px rgba(234, 67, 53, 0.3);
	}

	75% {
		background: linear-gradient(135deg,
				rgba(251, 188, 5, 0.05) 0%,
				#ffffff 100%);
		box-shadow: 0 4px 15px rgba(251, 188, 5, 0.3);
	}

	100% {
		background: linear-gradient(135deg,
				#ffffff 0%,
				#ffffff 100%);
		box-shadow: 0 4px 15px rgba(66, 133, 244, 0.2);
	}
}

@keyframes mobile-morph {

	0%,
	100% {
		border-radius: 12px;
		transform: scale(1);
	}

	50% {
		border-radius: 16px;
		transform: scale(0.98);
	}
}

@keyframes mobile-pulse {

	0%,
	100% {
		transform: scale(1);
		box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	}

	50% {
		transform: scale(1.02);
		box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
	}
}

/* ==================== PRE-LOADING EFFECTS (From Test Page) ==================== */
/* 🎯 8 loading effects for empty containers before content loads */
/* 💙 GPU optimized with translate3d, will-change, backface-visibility */

/* ==================== EFFECT 1: PULSE GLOW ==================== */
.loading-pulse {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at center,
			rgba(59, 130, 246, 0.1) 0%,
			transparent 70%);
	animation: pulseGlow 2s ease-in-out infinite;
	pointer-events: none;
	z-index: 1;

	/* GPU optimization */
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: transform, opacity;
}

@keyframes pulseGlow {

	0%,
	100% {
		opacity: 0.3;
		transform: translate3d(0, 0, 0) scale(1);
		-webkit-transform: translate3d(0, 0, 0) scale(1);
	}

	50% {
		opacity: 0.8;
		transform: translate3d(0, 0, 0) scale(1.05);
		-webkit-transform: translate3d(0, 0, 0) scale(1.05);
	}
}

/* ==================== EFFECT 2: SHIMMER BAR ==================== */
.loading-shimmer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 2px;
	overflow: hidden;
	pointer-events: none;
	z-index: 1;
}

.loading-shimmer::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg,
			transparent 0%,
			rgba(59, 130, 246, 0.5) 50%,
			transparent 100%);
	animation: shimmerMove 1.5s ease-in-out infinite;

	/* GPU optimization */
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

@keyframes shimmerMove {
	0% {
		left: -100%;
		transform: translate3d(0, 0, 0);
		-webkit-transform: translate3d(0, 0, 0);
	}

	100% {
		left: 100%;
		transform: translate3d(0, 0, 0);
		-webkit-transform: translate3d(0, 0, 0);
	}
}

/* ==================== EFFECT 3: BREATHING ==================== */
.loading-breathing {
	position: absolute;
	inset: 20%;
	border: 2px solid rgba(59, 130, 246, 0.3);
	border-radius: 12px;
	animation: breathingEffect 3s ease-in-out infinite;
	pointer-events: none;

	/* GPU optimization */
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: transform, opacity;
}

@keyframes breathingEffect {

	0%,
	100% {
		transform: translate3d(0, 0, 0) scale(1);
		-webkit-transform: translate3d(0, 0, 0) scale(1);
		opacity: 0.3;
		border-color: rgba(59, 130, 246, 0.3);
	}

	50% {
		transform: translate3d(0, 0, 0) scale(1.1);
		-webkit-transform: translate3d(0, 0, 0) scale(1.1);
		opacity: 0.6;
		border-color: rgba(59, 130, 246, 0.6);
	}
}

/* ==================== EFFECT 4: WAVE RIPPLE ==================== */
.loading-ripple {
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	pointer-events: none;
}

.ripple-circle {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 20px;
	border: 2px solid rgba(59, 130, 246, 0.4);
	border-radius: 50%;
	opacity: 0;
	animation: rippleWave 5s ease-out infinite;

	/* GPU optimization */
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: width, height, opacity;
}

.ripple-circle:nth-child(2) {
	animation-delay: 0.8s;
}

.ripple-circle:nth-child(3) {
	animation-delay: 1.6s;
}

@keyframes rippleWave {
	0% {
		width: 20px;
		height: 20px;
		opacity: 0.5;
		margin-left: -10px;
		margin-top: -10px;
	}

	100% {
		width: 200px;
		height: 200px;
		opacity: 0;
		margin-left: -100px;
		margin-top: -100px;
	}
}

/* ==================== EFFECT 5: GRADIENT FLOW ==================== */
.loading-gradient {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg,
			transparent 0%,
			rgba(59, 130, 246, 0.1) 25%,
			rgba(45, 212, 191, 0.1) 50%,
			rgba(59, 130, 246, 0.1) 75%,
			transparent 100%);
	background-size: 200% 100%;
	animation: gradientFlowLoading 3s ease-in-out infinite;
	pointer-events: none;

	/* GPU optimization */
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

@keyframes gradientFlowLoading {
	0% {
		background-position: 0% 0%;
		transform: translate3d(0, 0, 0);
		-webkit-transform: translate3d(0, 0, 0);
	}

	100% {
		background-position: 200% 0%;
		transform: translate3d(0, 0, 0);
		-webkit-transform: translate3d(0, 0, 0);
	}
}

/* ==================== EFFECT 6: DOTS LOADING ==================== */
.loading-dots {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	display: flex;
	gap: 12px;
	pointer-events: none;
}

.loading-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: rgba(59, 130, 246, 0.6);
	animation: dotPulseLoading 1.4s ease-in-out infinite;

	/* GPU optimization */
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: transform, opacity;
}

.loading-dot:nth-child(1) {
	animation-delay: 0s;
}

.loading-dot:nth-child(2) {
	animation-delay: 0.2s;
}

.loading-dot:nth-child(3) {
	animation-delay: 0.4s;
}

@keyframes dotPulseLoading {

	0%,
	100% {
		transform: translate3d(0, 0, 0) scale(1);
		-webkit-transform: translate3d(0, 0, 0) scale(1);
		opacity: 0.6;
	}

	50% {
		transform: translate3d(0, 0, 0) scale(1.3);
		-webkit-transform: translate3d(0, 0, 0) scale(1.3);
		opacity: 1;
	}
}

/* ==================== EFFECT 7: SKELETON SHIMMER ==================== */
.loading-skeleton {
	position: absolute;
	inset: 16px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	pointer-events: none;
}

.skeleton-item {
	display: flex;
	gap: 8px;
	padding: 8px;
}

.skeleton-avatar {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.1) 0%,
			rgba(59, 130, 246, 0.2) 50%,
			rgba(59, 130, 246, 0.1) 100%);
	background-size: 200% 100%;
	animation: skeletonShimmerLoading 2s ease-in-out infinite;

	/* GPU optimization */
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.skeleton-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.skeleton-line {
	height: 10px;
	border-radius: 4px;
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.1) 0%,
			rgba(59, 130, 246, 0.2) 50%,
			rgba(59, 130, 246, 0.1) 100%);
	background-size: 200% 100%;
	animation: skeletonShimmerLoading 2s ease-in-out infinite;

	/* GPU optimization */
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.skeleton-line:nth-child(1) {
	width: 60%;
}

.skeleton-line:nth-child(2) {
	width: 80%;
}

@keyframes skeletonShimmerLoading {
	0% {
		background-position: 0% 0%;
		transform: translate3d(0, 0, 0);
		-webkit-transform: translate3d(0, 0, 0);
	}

	100% {
		background-position: 200% 0%;
		transform: translate3d(0, 0, 0);
		-webkit-transform: translate3d(0, 0, 0);
	}
}

/* ==================== EFFECT 8: SPINNER ==================== */
.loading-spinner {
	pointer-events: none;
}

.loading-spinner-circle {
	width: 40px;
	height: 40px;
	border: 3px solid rgba(59, 130, 246, 0.2);
	border-top-color: rgba(59, 130, 246, 0.8);
	border-radius: 50%;
	animation: spinnerRotateLoading 1s linear infinite;

	/* GPU optimization */
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: transform;
}

@keyframes spinnerRotateLoading {
	0% {
		transform: translate3d(0, 0, 0) rotate(0deg);
		-webkit-transform: translate3d(0, 0, 0) rotate(0deg);
	}

	100% {
		transform: translate3d(0, 0, 0) rotate(360deg);
		-webkit-transform: translate3d(0, 0, 0) rotate(360deg);
	}
}

/* ==================== SPINNER OVERLAY (For API delays) ==================== */

/* 🎯 Overlay за EFFECT 8: SPINNER - показва се при API delays >1s */
.loading-spinner-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	z-index: 10002 !important;
	opacity: 0;
	transition: opacity 250ms ease-out;
	pointer-events: auto;

	/* GPU optimization */
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.loading-spinner-overlay.visible {
	opacity: 1;
}

.loading-spinner-overlay .loading-text {
	font-size: 14px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.9);
}

/* ==================== MAIN SPINNER (TOP BAR) - V6 EXACT COPY ==================== */
/* 🎯 Main Spinner - Top progress bar for very long requests (>5s) */
/* 📋 Source: v6-spinners-only.html (exact copy from v6 JS inline styles) */

.loading-main-spinner {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: transparent;
	z-index: 10003;
	pointer-events: none;

	/* GPU optimization */
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.loading-main-spinner-bar {
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, #4285f4 0%, #34a853 25%, #fbbc05 50%, #ea4335 75%, #4285f4 100%);
	background-size: 400% 100%;
	animation: loadingMainSpinnerProgress 2s linear infinite;

	/* GPU optimization */
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: transform;
}

@keyframes loadingMainSpinnerProgress {
	0% {
		background-position: 0% 0%;
	}

	100% {
		background-position: 100% 0%;
	}
}

/* ==================== SLIDE VIEW LOADING (Spinner Overlay Style) ==================== */
/* 🎯 Slide Loading - Uses same overlay as spinner (dark + blur) */
/* 📋 Usage: Shows under slide view while it opens - same style as loading spinner */

.loading-slide-blur-fade {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	z-index: 9998;
	opacity: 0;
	transition: opacity 250ms ease-out;
	pointer-events: none;

	/* GPU optimization */
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.loading-slide-blur-fade.visible {
	opacity: 1;
}

/* ==================== SKELETON UPLOAD ANIMATIONS (V6 Style) ==================== */
/* 🎯 Photo upload skeleton - V6 Original style with GPU optimizations */

.upload-skeleton {
	background: var(--bg-secondary, #12141c);
	border: 1px solid rgba(59, 130, 246, 0.2);
	border-radius: var(--radius-md, 12px);
	position: relative;
	overflow: hidden;
	min-height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	transition: all 250ms ease-out;
	animation: imageLoad 0.3s ease forwards;

	/* GPU optimization */
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.upload-skeleton:hover {
	transform: translate3d(0, 0, 0) scale(1.02);
	-webkit-transform: translate3d(0, 0, 0) scale(1.02);
	border-color: rgba(59, 130, 246, 0.3);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.skeleton-container {
	text-align: center;
	padding: 20px;
	width: 100%;
}

.skeleton-upload-icon {
	font-size: 32px;
	margin-bottom: 15px;
	filter: drop-shadow(0 0 10px rgba(59, 130, 246, 0.5));
	animation: skeletonPulse 1.5s ease-in-out infinite;
}

.skeleton-progress-container {
	width: 100%;
	max-width: 200px;
	margin: 0 auto;
}

.skeleton-progress-bar {
	width: 100%;
	height: 8px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 4px;
	overflow: hidden;
	margin: 0 auto 10px;
}

.skeleton-progress-fill {
	height: 100%;
	background: var(--gradient-elegant, linear-gradient(135deg, #4f9eff, #2dd4bf));
	width: 0%;
	transition: width 250ms ease-out;
	border-radius: 4px;
}

.skeleton-status-text {
	font-size: 12px;
	color: #c7d2fe;
}

.skeleton-percent {
	color: #c7d2fe;
	font-weight: 600;
	margin-left: 5px;
}

.upload-skeleton::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: var(--radius-md, 12px);
	background: linear-gradient(45deg, transparent, rgba(59, 130, 246, 0.1), transparent);
	animation: shine 1.5s ease infinite;
	z-index: 1;

	/* GPU optimization */
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.upload-skeleton.success-transition {
	animation: fadeOutScale 0.6s ease forwards;
}

/* Upload skeleton keyframes */
@keyframes shine {
	0% {
		transform: translate3d(-100%, 0, 0) skewX(-15deg);
		-webkit-transform: translate3d(-100%, 0, 0) skewX(-15deg);
	}

	100% {
		transform: translate3d(100%, 0, 0) skewX(-15deg);
		-webkit-transform: translate3d(100%, 0, 0) skewX(-15deg);
	}
}

@keyframes skeletonPulse {

	0%,
	100% {
		transform: translate3d(0, 0, 0) scale(1);
		-webkit-transform: translate3d(0, 0, 0) scale(1);
		opacity: 0.8;
	}

	50% {
		transform: translate3d(0, 0, 0) scale(1.1);
		-webkit-transform: translate3d(0, 0, 0) scale(1.1);
		opacity: 1;
	}
}

@keyframes progressGrow {

	0%,
	100% {
		width: 0%;
	}

	50% {
		width: 100%;
	}
}

@keyframes colorShift {
	0% {
		filter: hue-rotate(0deg);
		-webkit-filter: hue-rotate(0deg);
	}

	100% {
		filter: hue-rotate(360deg);
		-webkit-filter: hue-rotate(360deg);
	}
}

@keyframes fadeOutScale {
	0% {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
		-webkit-transform: translate3d(0, 0, 0) scale(1);
	}

	100% {
		opacity: 0;
		transform: translate3d(0, 0, 0) scale(0.9);
		-webkit-transform: translate3d(0, 0, 0) scale(0.9);
	}
}

/* ==================== LIGHTBOX ANIMATIONS ==================== */
/* 🖼️ Lightbox open/close animations - GPU optimized */

.lightbox-fade-in {
	opacity: 1 !important;
	transform: translate3d(0, 0, 0) !important;
	-webkit-transform: translate3d(0, 0, 0) !important;
	transition: opacity 300ms ease-out, transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform, opacity;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.lightbox-fade-out {
	opacity: 0 !important;
	transform: translate3d(0, 0, 0) !important;
	-webkit-transform: translate3d(0, 0, 0) !important;
	transition: opacity 250ms ease-out, transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform, opacity;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/* ==================== END OF ANIMATIONS ==================== */

/* ! app-interface.css ! */
/* ==================== PULL-TO-REFRESH КОНТРОЛ ==================== */
/* Забрана на pull-to-refresh навсякъде, освен в header */
* {
	overscroll-behavior: none;
	overscroll-behavior-y: none;
}

/* ==================== CSS VARIABLES ==================== */
/* Интегрирани от variables.css за централизиран контрол */
:root {
	/* Елегантна тъмна тема */
	--bg-primary: #0a0b0f;
	--bg-secondary: #12141c;
	--bg-tertiary: #1a1d28;

	/* Професионални акценти */
	--accent-blue: #3b82f6;
	--accent-hover: #60a5fa;
	--accent-teal: #2dd4bf;
	--accent-indigo: #818cf8;

	/* Градиенти */
	--gradient-elegant: linear-gradient(135deg, #4f9eff, #2dd4bf);
	--gradient-message: linear-gradient(135deg, #1e2230, #161922);
	--gradient-purple: linear-gradient(135deg, #818cf8, #c084fc);
	--gradient-sunset: linear-gradient(135deg, #f97316, #db2777);
	--gradient-ocean: linear-gradient(135deg, #0ea5e9, #2dd4bf);
	--gradient-forest: linear-gradient(135deg, #22c55e, #14b8a6);
	--gradient-fire: linear-gradient(135deg, #ef4444, #f97316);
	--gradient-night: linear-gradient(135deg, #312e81, #1e40af);
	--gradient-dawn: linear-gradient(135deg, #6366f1, #a855f7);
	--gradient-metal: linear-gradient(135deg, #475569, #64748b);

	/* Градиенти с прозрачност */
	--gradient-glass: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
	--gradient-blur: linear-gradient(135deg, rgba(26, 29, 40, 0.8), rgba(18, 20, 28, 0.8));

	/* Текст */
	--text-primary: #f3f4f6;
	--text-secondary: #9ca3af;

	/* Ефекти */
	--shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);
	--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);

	/* Радиуси */
	--radius-sm: 8px;

	/* New Messages Indicator */
	--indicator-bg: rgba(59, 130, 246, 0.9);
	--indicator-hover: rgba(96, 165, 250, 0.9);
	--radius-md: 12px;
	--radius-lg: 16px;

	/* Преходи */
	--transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);

	/* Статус цветове */
	--error-color: #ef4444;
	/* Основен червен цвят за грешки */
	--error-bg: rgba(239, 68, 68, 0.05);
	/* Фонов червен цвят за грешки */
	--success-color: #22c55e;
	/* Зелено за успех */
	--warning-color: #f97316;
	/* Оранжево за предупреждения */
	--info-color: #3b82f6;
	/* Синьо за информация */

	/* Layout Heights */
	--footer-height: 58px;
	--activity-main-height: calc(100vh - var(--footer-height) - var(--footer-safe-area));

	/* Z-Index Hierarchy */
	/* Base layers */
	--z-base: 1;
	--z-content: 100;
	--z-header: 1000;
	--z-sidebar: 1001;
	--z-profile: 1002;

	/* Interactive elements */
	--z-dropdown: 100000;
	--z-tooltip: 200000;
	--z-modal: 500000;

	/* System overlays */
	--z-lightbox: 1000000;
	--z-lightbox-dropdown: 1100000;
	--z-popup: 5000000;

	/* System notifications (highest priority) */
	--z-notifications: 10000000;

	/* Footer (special position) */
	--z-footer: 10001;

	/* Chat Input Spacing */
	--chat-input-base-margin: calc(var(--footer-safe-area));
	--chat-input-extended-margin: calc(var(--footer-safe-area) + +48px);
}

img {
	/*filter: brightness(1.1);*/
}


/* ==================== END CSS VARIABLES ==================== */

/* ==================== RESET STYLES ==================== */
/* Интегрирани от reset.css за базово нулиране */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* Позволяваме селекция само за input и textarea елементи */
input,
textarea {
	-webkit-user-select: text;
	-moz-user-select: text;
	-ms-user-select: text;
	user-select: text;
}

/* Глобални скрол стилове - напълно скрити */
* {
	-ms-overflow-style: none;
	/* IE и Edge */
	scrollbar-width: none;
	/* Firefox */
}

/* Скриваме скролбара за webkit browsers */
*::-webkit-scrollbar {
	display: none;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	background: var(--bg-primary);
	color: var(--text-primary);
	line-height: 1.5;
}

/* ==================== END RESET STYLES ==================== */


:root {
	/* Sidebar Dimensions */
	--sidebar-width: 100%;
	--sidebar-height: calc(100vh - var(--footer-height) - var(--footer-safe-area));
	--sidebar-padding: 3px;
	--sidebar-bottom-offset: calc(var(--footer-height) + var(--footer-safe-area) + 8px);
	--chat-categories-height: 103px;

	/* Button Dimensions */
	--button-height: auto;
	--button-padding: 8px 10px;
	--button-gap: 10px;
	--button-margin: 5px;
	--button-border-left: 2px;

	/* Typography */
	--button-font-size: 9px;
	--label-font-size: 9px;
	--sub-label-font-size: 8px;
	--category-font-size: 9px;

	/* Colors */
	--sidebar-bg-start: var(--bg-secondary);
	--sidebar-bg-end: rgba(18, 20, 28, 0.95);
	/* --sidebar-border: rgba(255, 255, 255, 0.05); */
	--button-bg-default: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.02));
	--button-bg-hover: linear-gradient(90deg, rgba(59, 130, 246, 0.05), rgba(255, 255, 255, 0.02));
	--button-bg-active: linear-gradient(90deg, rgba(59, 130, 246, 0.15), rgba(59, 130, 246, 0.05));
	--accent-glow: radial-gradient(circle at center, rgba(59, 130, 246, 0.2) 0%, transparent 50%);

	/* Animation Timing - DIRECT VALUES */
	--sidebar-transition: all 0.3s ease;
	/* 🗑️ REMOVED: CSS variables injection - using direct timing values */
	--fade-timing: cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--slide-timing: ease;

	/* Sidebar Animations - ULTRA DELICATE (Footer-Style) */
	--sidebar-ribbon-duration: 12s;
	/* Increased from 10s to footer-level timing */
	--sidebar-flow-duration: 8.5s;
	/* Increased from 6s for more delicate feel */
	--sidebar-accent-rgba: 59, 130, 246;

	/* Chat Animation Variables - Footer Model */
	--chat-glow-duration: 8s;
	--chat-scale-duration: 5.6s;
	--chat-accent-rgba: 59, 130, 246;

	/* Shadows */
	--button-shadow-active:
		0 1px 2px rgba(59, 130, 246, 0.1),
		0 2px 4px rgba(59, 130, 246, 0.1),
		0 4px 8px rgba(59, 130, 246, 0.1);

	/* Avatar & Indicators */
	--avatar-size: 38px;
	--indicator-size: 10px;
	--indicator-border: 2px solid var(--bg-primary);

	/* Premium Colors */
	--premium-gradient: linear-gradient(135deg, #ffd700, #ff8c00);
	--premium-shadow: 0 2px 4px rgba(255, 215, 0, 0.3);
}

/* MAIN SIDEBAR CONTAINER */
.activity-sidebar {
	background: linear-gradient(to bottom, var(--sidebar-bg-start) 0%, var(--sidebar-bg-end) 100%);
	border-right: 1px solid var(--sidebar-border);
	padding-left: var(--sidebar-padding);

	display: flex;
	flex-direction: column;
	gap: 1px;
	position: relative;
	overflow-y: scroll;
	overflow-x: hidden;

	width: var(--sidebar-width);
	height: var(--sidebar-height);
	max-height: var(--sidebar-height);
	box-sizing: border-box;
	opacity: 1;
}

/* 📏 SIDEBAR HEIGHT ADJUSTMENT: Reduce height when chat-categories is visible */
.activity-view:has(.chat-categories:not([style*="display: none"])) .activity-sidebar {
	height: calc(var(--sidebar-height) - var(--chat-categories-height));
	max-height: calc(var(--sidebar-height) - var(--chat-categories-height));
}

.activity-sidebar.removing {
	animation: sidebarFadeOut 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* AMBIENT EFFECTS */
/* Ambient Background Gradient */
.activity-sidebar::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 200px;
	background: linear-gradient(to bottom, rgba(59, 130, 246, 0.05), transparent);
	pointer-events: none;
	z-index: 1;
}

/* Falling Light Ribbon Animation - Ultra Performance */
/*
.activity-sidebar::after {
	content: '';
	position: absolute;
	top: -20px;
	left: 0;
	width: 3px;
	height: calc(100% + 40px);
	background: linear-gradient(to bottom,
			transparent 0%,
			rgba(var(--sidebar-accent-rgba), 0.05) 10%,
			rgba(var(--sidebar-accent-rgba), 0.15) 20%,
			rgba(var(--sidebar-accent-rgba), 0.3) 30%,
			rgba(var(--sidebar-accent-rgba), 0.5) 40%,
			rgba(var(--sidebar-accent-rgba), 0.7) 50%,
			rgba(var(--sidebar-accent-rgba), 0.5) 60%,
			rgba(var(--sidebar-accent-rgba), 0.3) 70%,
			rgba(var(--sidebar-accent-rgba), 0.15) 80%,
			rgba(var(--sidebar-accent-rgba), 0.05) 90%,
			transparent 100%);
	pointer-events: none;
	z-index: 10;
	border-radius: 2px;

	/-- Initial hidden state before animation --/
	opacity: 0;
	transform: translate3d(0, -100%, 0);
	-webkit-transform: translate3d(0, -100%, 0);
}
*/

/* UNIFIED BUTTON BASE */
.category-button,
.category-button.chat-user {
	width: 100%;
	height: var(--button-height);
	padding: var(--button-padding);
	margin: 5px 0 5px 0;

	display: flex;
	align-items: center;
	justify-content: flex-start;

	animation: fadeInUp 0.2s ease forwards;
	opacity: 0;
	gap: var(--button-gap);
	text-align: left;

	background: var(--button-bg-default);
	border: 1px solid transparent;
	border-left: var(--button-border-left) solid transparent;
	border-radius: var(--radius-sm);
	color: var(--text-secondary);
	font-size: var(--button-font-size);
	cursor: pointer;

	position: relative;
	overflow: hidden;
	padding-right: 28px;

	opacity: 1;
	transform: translateY(0px);
	-webkit-transform: translateY(0px);
	transition: var(--sidebar-transition);
}

/* Remove ALL borders/outlines on focus/active - NO RED BORDERS */
.category-button:focus,
.category-button:active,
.category-button.chat-user:focus,
.category-button.chat-user:active,
.category-button:focus-visible,
.category-button.chat-user:focus-visible {
	outline: none !important;
	border: 1px solid transparent !important;
	border-left: var(--button-border-left) solid transparent !important;
	box-shadow: none !important;
}

/* Sidebar емоджи стилизация - по-видими от footer */
.category-button:not([data-chat-user-id]) span:first-child:not(.counter) {
	/* Монохромни но по-ярки за активна навигация */
	filter: grayscale(1) brightness(1.1) opacity(0.9) drop-shadow(0 1px 3px rgba(59, 130, 246, 0.2));
	-webkit-filter: grayscale(1) brightness(1.1) opacity(0.9) drop-shadow(0 1px 3px rgba(59, 130, 246, 0.2));
	transition: var(--sidebar-transition);
}

/* Активни бутони имат пълноцветни емоджита */
.category-button.active:not([data-chat-user-id]) span:first-child:not(.counter),
.category-button.chat-user.active span:first-child:not(.counter) {
	/* Премахване на grayscale за активни бутони - ЦВЕТНИ ЕМОДЖИТА */
	filter: brightness(1.2) opacity(1) drop-shadow(0 2px 6px rgba(59, 130, 246, 0.4));
	-webkit-filter: brightness(1.2) opacity(1) drop-shadow(0 2px 6px rgba(59, 130, 246, 0.4));
	transform: scale(1.05);
	-webkit-transform: scale(1.05);
}

/* ==================== GLOW EFFECTS - GPU OPTIMIZED ==================== */
.category-button::after,
.category-button.chat-user::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at center,
			rgba(59, 130, 246, 0.08) 0%,
			transparent 70%);
	opacity: 0;
	transform: scale(0.5);
	-webkit-transform: scale(0.5);
	transition: var(--sidebar-transition);
	pointer-events: none;
	border-radius: var(--radius-sm);
}



/* Active State - Combined with hover effects */
.category-button.active,
.category-button.chat-user.active {
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.18),
			rgba(59, 130, 246, 0.08));
	border: 1px solid rgba(59, 130, 246, 0.2);
	border-left: 2px solid var(--accent-blue);
	padding-left: 10px;
	transform: translateX(4px) translateZ(0);
	/* Footer силен box-shadow */
	box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25);
}

.category-button.active::after,
.category-button.chat-user.active::after {
	opacity: 1;
	/* Footer силен background ефект */
	background: radial-gradient(circle at center,
			rgba(59, 130, 246, 0.15) 0%,
			transparent 70%);
	transform: scale(1);
	-webkit-transform: scale(1);
}

/* ==================== CONTENT COMPONENTS ==================== */
/* Button Content Container */
.button-content,
.chat-info,
.button-labels {
	display: flex;
	align-items: center;
	gap: var(--button-gap);
	flex: 1;
	min-width: 0;
}

.chat-info,
.button-labels {
	flex-direction: column;
	gap: 2px;
	padding-right: 8px;
	align-items: flex-start;
}

/* Text Labels - TEXT-SAFE RENDERING */
.main-label,
.user-name {
	color: rgba(200, 220, 255, 0.95);
	font-weight: 600;
	letter-spacing: 0.2px;
	position: relative;
	padding-bottom: 1px;
	font-size: var(--label-font-size);
	/* Allow wrapping to multiple lines */
	white-space: normal;
	word-wrap: break-word;
	overflow-wrap: break-word;
	max-width: 160px;
}

/* User names - ПО-ТИХИ цветове за sidebar но запазени оригинални за мъжки/женски */
.user-name {
	color: rgba(160, 180, 210, 0.9);
	/* По-неутрален цвят като базов */
	font-weight: 600;
	letter-spacing: 0.2px;
	position: relative;
	padding-bottom: 1px;
	/* font-size: calc(var(--label-font-size) - 1px); */
	font-size: 8;

	/* Allow wrapping to multiple lines */
	white-space: normal;
	word-wrap: break-word;
	overflow-wrap: break-word;
	max-width: 140px;
	line-height: 1.2;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	/* Limit to 2 lines */
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ЗАПАЗЕНИ оригинални мъжки/женски цветове */
.user-name.male,
.main-label.male {
	color: var(--accent-blue) !important;
	background: linear-gradient(90deg, #3b82f6, #60a5fa) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
}

.user-name.female,
.main-label.female {
	color: var(--accent-indigo) !important;
	background: linear-gradient(90deg, #e879f9, #d946ef) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
}





.sub-label {
	font-size: var(--sub-label-font-size);
	color: rgba(140, 160, 200, 0.85);
	/* Allow wrapping to multiple lines */
	white-space: normal;
	word-wrap: break-word;
	overflow-wrap: break-word;
	max-width: 140px;
	opacity: 0.85;
	letter-spacing: 0.1px;
	line-height: 1.2;
}

.last-message,
.last-message.truncate-text {
	font-size: var(--sub-label-font-size);
	color: rgba(140, 160, 200, 0.85);
	/* Allow text on 2 lines */
	white-space: normal !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	opacity: 0.85;
	letter-spacing: 0.1px;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
	line-height: 1.2;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
}




/* ==================== CATEGORY GROUPS ==================== */
.category-group {
	position: relative;
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.02) 0%, transparent 100%);
	border-radius: 8px;
	padding: 4px 0;
	box-shadow: 0 1px 8px rgba(59, 130, 246, 0.05);
}

.category-group+.category-group {
	margin-top: 16px;
}

.category-label {
	font-size: var(--category-font-size);
	color: var(--text-secondary);
	padding: 8px 12px;
	position: relative;
	letter-spacing: 0.5px;

	/* Restore background gradient from old code */
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.1),
			transparent);
	border-radius: 4px;

	animation: fadeInUp 0.2s ease forwards;
	opacity: 0;
}

.category-label::after {
	content: '';
	position: absolute;
	bottom: 4px;
	left: 12px;
	right: 12px;
	height: 1px;
	background: linear-gradient(90deg, var(--accent-blue), transparent);
}

/* ==================== USER AVATARS & INDICATORS ==================== */
.user-avatar {
	width: var(--avatar-size);
	height: var(--avatar-size);
	position: relative;
	flex-shrink: 0;
	margin-right: 2px;
}

.user-avatar img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid rgba(59, 130, 246, 0.25);
	box-shadow:
		0 1px 6px rgba(59, 130, 246, 0.12),
		0 0 10px rgba(59, 130, 246, 0.08),
		inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}

/* Status Indicators */
.online-indicator,
.offline-indicator,
.away-indicator {
	position: absolute;
	bottom: 0;
	right: 0;
	width: var(--indicator-size);
	height: var(--indicator-size);
	border-radius: 50%;
	border: var(--indicator-border);
}

.online-indicator {
	background-color: #44b700;
	box-shadow: 0 0 3px #44b700;
	transform: scale(1.05);
}

.away-indicator {
	background-color: #ff9800;
	box-shadow: 0 0 3px #ff9800;
	transform: scale(1.05);
}

.offline-indicator {
	background-color: #bdbdbd;
	box-shadow: 0 0 2px #bdbdbd;
	transform: scale(1.05);
}

/* ==================== HIDE OFFLINE STATUS ==================== */
.status-indicator.offline-indicator {
	display: none;
}

/* ==================== PREMIUM STYLES ==================== */
.category-group.premium {
	position: relative;
	padding-top: 4px;
}

.category-group.premium::before {
	content: '';
	position: absolute;
	top: 0;
	left: 8px;
	right: 8px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 215, 0, 0.1), transparent);
}

.premium-badge {
	padding: 2px 6px;
	font-size: 9px;
	background: var(--premium-gradient);
	border-radius: 4px;
	color: #000;
	font-weight: bold;
	box-shadow: var(--premium-shadow);
	text-shadow: 0 1px 2px rgba(255, 255, 255, 0.3);
	position: relative;
	overflow: hidden;
}

.premium-badge::after {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.3) 0%, transparent 70%);
	animation: premiumRotate 3s linear infinite;
}

.counter.lock-icon {
	background: transparent;
	color: var(--text-secondary);
	animation: none;
}



/* ==================== ANIMATIONS ==================== */
/* ==================== SIDEBAR ANIMATIONS - MOVED TO animations.css ==================== */


/* ==================== UTILITY CLASSES ==================== */
.truncate-text {
	white-space: normal;
	word-wrap: break-word;
	overflow-wrap: break-word;
	max-width: 160px;
	line-height: 1.2;
	display: inline-block;
}

.inbox {
	max-height: calc(100vh - 127px);
}

/* ==================== RESPONSIVE OPTIMIZATIONS ==================== */
@media (max-width: 375px) {
	:root {
		--button-padding: 8px 10px;
		--button-gap: 10px;
		--button-font-size: 9px;
		--avatar-size: 34px;
	}
}

@media (min-width: 768px) {
	:root {
		--button-padding: 12px 14px;
		--button-gap: 14px;
		--button-font-size: 11px;
		--avatar-size: 42px;
	}
}


/* ==================== CHAT ANIMATION VARIABLES - FOOTER MODEL ==================== */
:root {
	/* Footer-Style Animation Timing */
	--chat-glow-duration: 8s;
	--chat-scale-duration: 5.6s;
	--chat-accent-rgba: 59, 130, 246;
}

/* ==================== MAIN CHAT COMPONENTS - GPU ACCELERATED ==================== */
.chat-messages {
	flex: 1;
	overflow-y: auto;
	padding: 0px 16px 12px 16px;
	/* padding-bottom: calc(16px + var(--footer-safe-area));*/
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
	/* transition: opacity 0.3s ease; */
	/* 🚫 REMOVED: Conflicts with NavigationManager v6 fade animations */
	box-sizing: border-box;
	min-height: 0;
}

/* Стилове за чат изгледа */
.chat-view {
	overflow-y: auto;
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--bg-primary);
	z-index: var(--z-content);
}

/* ==================== CHAT HEADER - ULTRA PERFORMANCE WITH SINGLE HARMONY ANIMATION ==================== */
.chat-header {
	padding: 4px 12px;
	/* Further reduced for sidebar consistency */
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.05) 0%, rgba(18, 20, 28, 0.98) 100%);
	border-bottom: 1px solid rgba(59, 130, 246, 0.15);
	box-shadow: 0 2px 15px rgba(59, 130, 246, 0.1);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	/* Reduced gap for compactness */
	overflow: hidden;
	flex-shrink: 0;
}

.chat-header::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at center,
			rgba(43, 82, 120, 0.15) 0%,
			rgba(43, 82, 120, 0.1) 30%,
			rgba(43, 82, 120, 0.05) 60%,
			transparent 80%);
	z-index: 0;
	pointer-events: none;
}

.chat-header::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.3), transparent);
}

/* ==================== USER INFO & ACTIONS - GPU ACCELERATED ==================== */
.chat-user-info {
	display: flex;
	align-items: center;
	gap: 8px;
	position: relative;
	z-index: 2;
	opacity: 1;

	/* Subtle glow effect for professional look */
	filter:
		drop-shadow(0 0 2px rgba(var(--chat-accent-rgba), 0.15)) drop-shadow(0 1px 1px rgba(var(--chat-accent-rgba), 0.1));
	-webkit-filter:
		drop-shadow(0 0 2px rgba(var(--chat-accent-rgba), 0.15)) drop-shadow(0 1px 1px rgba(var(--chat-accent-rgba), 0.1));
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	will-change: auto;
}

.chat-user-info .user-avatar {
	position: relative;
	width: var(--avatar-size);
	height: var(--avatar-size);
	margin: 6px 0px 6px 0px;
	/* Reduced margin for compactness */
	display: flex;
	align-items: center;
	justify-content: center;
}

.chat-user-info .user-avatar img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid rgba(59, 130, 246, 0.1);
	display: block;
	margin: auto;
}

/* Channel emoji styling optimized for compactness */
.chat-user-info .user-avatar .channel-emoji {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	border-radius: 50%;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

.chat-user-info .status-indicator {
	position: absolute;
	bottom: -1px;
	right: -1px;
	width: 10px;
	height: 10px;
	border-width: 2px;
	border-radius: 50%;
	border: 2px solid var(--bg-primary);
}

.chat-user-info .status-indicator.online-indicator {
	background-color: #44b700;
}

.chat-user-info .status-indicator.away-indicator {
	background-color: #ff9800;
}

.chat-user-info .status-indicator.offline-indicator {
	background-color: #bdbdbd;
}

.chat-header .user-details {
	display: flex;
	flex-direction: column;
	gap: 1px;
	position: relative;
	z-index: 2;
}

.chat-header .user-name {
	font-size: var(--label-font-size);
	/* Synchronized with sidebar.css */
	font-weight: 500;
	color: var(--text-primary);
}

.chat-header .user-status {
	font-size: var(--sub-label-font-size);
	/* Synchronized with sidebar.css */
	color: var(--text-secondary);
}

.chat-header .action-button {
	width: 36px;
	height: 36px;
	font-size: 18px;
	opacity: 1;
	transform: translateY(0px);
	/* animation: fadeInDown 0.4s ease forwards 0.2s; */
}


/* ==================== ULTRA FAST & LOW CPU HIDING ANIMATIONS ==================== */

.chat-input.hiding {
	opacity: 0;
	transform: translate3d(0, 10px, 0);
	pointer-events: none;
}

.channel-tabs.hiding {
	opacity: 0;
	transform: translate3d(0, -10px, 0);
	pointer-events: none;
}

.chat-header.hiding {
	opacity: 0;
	transform: translate3d(0, -8px, 0);
	pointer-events: none;
	/* REMOVED: transition: opacity 0.05s ease-out, transform 0.05s ease-out; */
}

.activity-date.hiding {
	opacity: 0;
	transform: translate3d(0, -5px, 0);
	pointer-events: none;
	/* transition: opacity 0.05s ease-out, transform 0.05s ease-out; */
	/* 🚫 COMMENTED: conflicts with JS animations */
}

.message-wrapper.hiding {
	opacity: 0;
	transform: translate3d(-15px, 0, 0);
	pointer-events: none;
	/* transition: opacity 0.06s ease-out, transform 0.06s ease-out; */
	/* 🚫 COMMENTED: conflicts with JS animations */
}

.chat-categories.hiding {
	opacity: 0;
	transform: translate3d(0, -15px, 0);
	pointer-events: none;
	/* transition: opacity 0.08s ease-out, transform 0.08s ease-out; */
	/* 🚫 COMMENTED: conflicts with JS animations */
}



/* ==================== ULTRA FAST & LOW CPU SHOWING ANIMATIONS ==================== */

.chat-header {
	display: flex;
	opacity: 1;
	transform: translate3d(0, 0, 0);
	/* REMOVED: transition: opacity 0.12s ease-out, transform 0.12s ease-out; */
}

.activity-date {
	display: block;
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition: opacity 0.10s ease-out, transform 0.10s ease-out;
	animation: fadeInUp 0.25s ease forwards;
}

.message-wrapper {
	display: block;
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition: opacity 0.12s ease-out, transform 0.12s ease-out;
	animation: fadeInUp 0.25s ease forwards;
}

.chat-categories {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition: opacity 0.18s ease-out, transform 0.18s ease-out;
}



/* Специфични стилове за channel-tabs */
.channel-tabs {
	display: flex;
	padding: 4px;
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.03) 0%, var(--bg-secondary) 100%);
	border-bottom: 1px solid rgba(59, 130, 246, 0.12);
	box-shadow: 0 1px 10px rgba(59, 130, 246, 0.08);
	width: 100%;
	flex-shrink: 0;
}

/* Специфични стилове за chat-input */
.chat-input {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	position: relative;
	margin: 0;
	padding: 12px 8px 16px 8px;
	margin-bottom: var(--chat-input-base-margin);
	background: linear-gradient(90deg,
			rgba(30, 41, 59, 0.4) 0%,
			rgba(18, 20, 28, 0.98) 50%,
			rgba(30, 41, 59, 0.4) 100%);
	border-top: 1px solid rgba(59, 130, 246, 0.12);
	box-shadow: 0 -1px 10px rgba(59, 130, 246, 0.05);
	z-index: var(--z-header);
	display: flex;
	flex-direction: column;
	gap: 0px;
	box-sizing: border-box;
	flex-shrink: 0;
	flex-grow: 0;
	flex-basis: auto;
	isolation: isolate;
	contain: layout style;
	will-change: transform;
	-webkit-perspective: 1000px;
	perspective: 1000px;
}

/* New Chat Input Container */
.chat-input-container {
	display: flex;
	align-items: stretch;
	gap: 12px;
	width: 100%;
	height: 100%;
	min-height: 60px;
}

.left-section {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
	height: 100%;
}

.input-tools {
	display: flex;
	justify-content: flex-start;
	/* Align all buttons to left */
	align-items: center;
	height: 22px;
	gap: 30px;
	/* Restored original gap */
	flex-shrink: 0;
}

.input-tools button {
	width: 18px;
	height: 18px;
	border: none;
	border-radius: 3px;
	background: transparent;
	color: var(--text-secondary);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	/* Compact emoji size */
	line-height: 1;
	transition: none;
	padding: 0;
	margin: 0;
	opacity: 0.4;
}

.input-tools button:nth-child(2) {
	transform: translateY(-2px);
	/* Move photo icon 2px up */
}

.right-section {
	flex-shrink: 0;
	display: flex;
	align-items: stretch;
	height: 100%;
}

/* Send Button - Same Style as Tool Buttons but Full Height */
.chat-input .send-button {
	width: 80px;
	/* Increased width for better proportion */
	height: 100% !important;
	min-height: 60px;
	border: none;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.1);
	color: var(--text-secondary);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	transition: all 0.2s ease;
	flex-direction: column;
	gap: 2px;
	flex: 1;
}

.chat-input .send-button:hover {
	background: rgba(255, 255, 255, 0.15);
	transform: scale(1.02);
}

.chat-input .send-button:active {
	transform: scale(0.98);
}

.chat-input .send-button .send-text {
	font-size: 10px;
	font-weight: 500;
}

/* Когато chat-categories са показани, добавяме още clear space */
.activity-view:has(.chat-categories:not([style*="display: none"])) .chat-input {
	margin-bottom: var(--chat-input-extended-margin);
}

/* Fallback без :has() - за по-стари браузъри */
.chat-categories:not([style*="display: none"])~.activity-container .chat-input,
.activity-view.has-categories .chat-input {
	margin-bottom: var(--chat-input-extended-margin);
}

.chat-input::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.3), transparent);
}

.chat-input .input-wrapper {
	display: flex;
	gap: 6px;
	align-items: center;
	background: linear-gradient(135deg, rgba(30, 41, 59, 0.8) 0%, rgba(51, 65, 85, 0.6) 100%);
	border: 1px solid rgba(148, 163, 184, 0.3);
	border-radius: 12px;
	padding: 6px 8px;
	min-height: 40px;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	/* transition: all 0.3s ease; */
	/* 🚫 REMOVED: Conflicts with NavigationManager v6 fade animations */
}

.chat-input .input-wrapper:focus-within {
	background: linear-gradient(135deg, rgba(30, 41, 59, 0.9) 0%, rgba(59, 130, 246, 0.15) 100%);
	border-color: rgba(59, 130, 246, 0.5);
	box-shadow:
		inset 0 1px 3px rgba(0, 0, 0, 0.15),
		0 0 0 2px rgba(59, 130, 246, 0.25),
		0 2px 12px rgba(59, 130, 246, 0.15),
		0 0 20px rgba(59, 130, 246, 0.08);
}

.chat-input .actions-wrapper {
	display: flex;
	align-items: center;
	gap: 4px;
	width: 100%;
}

.chat-input .attachment-button,
.chat-input .record-button {
	height: 34px;
	width: 28px;
	border-radius: 8px;
	background: rgba(59, 130, 246, 0.1);
	border: 1px solid rgba(59, 130, 246, 0.15);
	/* transition: all 0.3s ease; */
	/* 🚫 REMOVED: Conflicts with NavigationManager v6 fade animations */
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.chat-input .attachment-button:hover,
.chat-input .record-button:hover {
	background: rgba(59, 130, 246, 0.2);
	border-color: rgba(59, 130, 246, 0.25);
	transform: translateY(-1px);
}

.chat-input .attachment-button:active,
.chat-input .record-button:active {
	transform: translateY(1px);
}



.chat-input .message-input {
	min-height: 28px;
	padding: 6px 10px;
	font-size: 10px;
	line-height: 1.4;
}

.chat-input .message-input::placeholder {
	font-size: 9px;
	background: linear-gradient(45deg, var(--text-secondary) 0%, rgba(148, 163, 184, 0.8) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	opacity: 0.8;
}

/* Chat Input Error State */
.chat-input.error .message-input {
	border-color: var(--error-color, #ff4444) !important;
	background-color: rgba(255, 68, 68, 0.1);
	box-shadow: 0 0 0 2px rgba(255, 68, 68, 0.25);
}

/* Send Button Styling - Gradient Style */
.chat-input .submit-button,
.chat-input .send-button {
	padding: 8px 14px;
	height: 34px;
	font-size: 10px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.3) 0%, rgba(79, 70, 229, 0.25) 100%);
	border: 1px solid rgba(99, 102, 241, 0.4);
	color: var(--text-primary);
	display: flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	/* transition: all 0.3s ease; */
	/* 🚫 REMOVED: Conflicts with NavigationManager v6 fade animations */

}

.chat-input .submit-button .send-text,
.chat-input .send-button .send-text {
	font-size: 9px;
	font-weight: 500;
}

.chat-input .submit-button .send-icon,
.chat-input .send-button .send-icon {
	font-size: 10px;
}

.chat-input .submit-button:hover,
.chat-input .send-button:hover {
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.4) 0%, rgba(79, 70, 229, 0.35) 100%);
	border-color: rgba(99, 102, 241, 0.6);
	box-shadow:
		0 2px 8px rgba(59, 130, 246, 0.25),
		0 0 16px rgba(59, 130, 246, 0.12),
		inset 0 1px 2px rgba(255, 255, 255, 0.1);
	transform: translateY(-1px);
	-webkit-transform: translate3d(0, -1px, 0);
}


/* ==================== CHANNEL TABS - GPU ACCELERATED ==================== */
.channel-tab {
	flex: 1;
	min-height: 24px;
	border-radius: 6px;
	font-size: 9px;
	color: var(--text-secondary);
	background: transparent;
	border: none !important;
	cursor: pointer;
	transition: all 0.2s ease;
	position: relative;
	margin: 0 2px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	opacity: 1;
}

/* Добавяме нова анимация за изчезване нагоре */
/* fadeOutUp, fadeInDown - moved to animations.css */

.channel-tab.active {
	color: var(--accent-blue);
	background: rgba(59, 130, 246, 0.1);
	font-weight: 500;
}

.channel-tab.active::before {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 50%;
	transform: translateX(-50%);
	width: 20px;
	height: 2px;
	background: var(--accent-blue);
	border-radius: 2px;
}

/* Добавяме ripple ефект при клик */
.channel-tab::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at center,
			rgba(59, 130, 246, 0.2) 0%,
			transparent 50%);
	opacity: 0;
	transform: scale(0.5);
	/* transition: all 0.3s ease; */
	/* 🚫 REMOVED: Conflicts with NavigationManager v6 fade animations */
}


/* ==================== PHOTO GRID - ULTRA PERFORMANCE ==================== */
.photos-grid {
	display: flex;
	flex-direction: column;
	gap: 36px;
	padding: 20px;
	max-width: 100%;
	box-sizing: border-box;
}

.photo-item {
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: transparent;
	max-width: 600px;
	margin: 0 auto;
	width: 100%;
	opacity: 0;
	transform: translateY(20px);
	animation: fadeInUp 0.25s ease forwards;
	animation-delay: calc(var(--photo-index, 0) * 0.1s);
}

/* ==================== PHOTO COMPONENTS - GPU OPTIMIZED ==================== */
.photo-header {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 14px;
}

.photo-header .user-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid rgba(59, 130, 246, 0.25);
	box-shadow:
		0 1px 6px rgba(59, 130, 246, 0.1),
		0 0 10px rgba(59, 130, 246, 0.06),
		inset 0 1px 2px rgba(59, 130, 246, 0.1),
		inset 0 -8px 12px -8px rgba(59, 130, 246, 0.08),
		inset 0 0 0 1px rgba(0, 0, 0, 0.3);
	filter: brightness(1.03) contrast(1.02) saturate(1.05);
	transition: all 0.3s ease;
}

.photo-container {
	position: relative;
	width: 100%;
	border-radius: 12px;
	overflow: hidden;
	background: var(--bg-secondary);
	border: 1px solid rgba(59, 130, 246, 0.25);
	box-shadow:
		0 1px 6px rgba(59, 130, 246, 0.1),
		0 0 10px rgba(59, 130, 246, 0.06),
		inset 0 1px 2px rgba(59, 130, 246, 0.1),
		inset 0 -30px 40px -30px rgba(59, 130, 246, 0.08);
	filter: brightness(1.03) contrast(1.02) saturate(1.05);
	transition: all 0.3s ease;
}

.photo-container img {
	width: 100%;
	height: auto;
	display: block;
}

/* ==================== PREMIUM EFFECTS - GPU OPTIMIZED ==================== */
.feature-icon.premium-icon {
	position: relative;
	z-index: 2;
}

.feature-icon.premium-icon::before {
	content: '';
	position: absolute;
	inset: -8px;
	background: radial-gradient(circle at center,
			rgba(43, 82, 120, 0.2) 0%,
			rgba(43, 82, 120, 0.15) 30%,
			rgba(43, 82, 120, 0.1) 50%,
			transparent 70%);
	z-index: -1;
	filter: blur(2px);
}

/* Стилове за user details */
.premium-title {
	font-size: 9px;
	font-weight: 500;
	color: var(--text-primary);
	position: relative;
}

.premium-title::before {
	content: '';
	position: absolute;
	inset: -4px -8px;
	background: radial-gradient(circle at center,
			rgba(43, 82, 120, 0.15) 0%,
			rgba(43, 82, 120, 0.1) 40%,
			transparent 70%);
	z-index: -1;
	opacity: 0.5;
}

.premium-feature {
	font-size: 7px;
	color: var(--text-secondary);
	position: relative;
}

/* Анимации */
/* fadeInUp, slideInRight, zoomIn, gradientMove - moved to animations.css */


/* ==================== CENTRALIZED MESSAGES STYLES ==================== */
/* ==================== OPTIMIZED MESSAGE COMPONENTS - ACTIVITY STYLE ==================== */

/* Стилизираме съобщенията като activity items */
.message {
	max-width: 80%;
	padding: 8px 10px 16px 10px;
	position: relative;
	border-left: 2px solid transparent;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	background: linear-gradient(90deg, rgba(18, 20, 28, 0.95) 0%, transparent 100%);
	border: 1px solid transparent;
	opacity: 1;
	font-size: 12px;
	line-height: 1.3;
}

/* Photo message - simplified styling without sent/received classes */
.photo-message {
	padding: 8px 10px 16px 10px;
	position: relative;
	animation: fadeInUp 0.25s ease forwards;
}

.photo-message img.chat-image {
	border-radius: 12px;
	max-width: 100px;
	width: 100%;
	height: auto;
	object-fit: cover;
	display: block;
	box-shadow:
		0 1px 6px rgba(59, 130, 246, 0.1),
		0 0 10px rgba(59, 130, 246, 0.06),
		inset 0 1px 2px rgba(59, 130, 246, 0.1),
		inset 0 -20px 30px -20px rgba(59, 130, 246, 0.08);
	transition: all 0.3s ease;
}

/* Full screen photos when content-type is 'photos' */
.photo-message[data-content-type="photos"] img.chat-image {
	max-width: 100%;
	max-height: 400px;
}

/* Compact photos when content-type is 'all' */
.photo-message[data-content-type="all"] img.chat-image {
	max-width: 100px;
}

/* Различни анимации за получени и изпратени съобщения */
.message.received {
	align-self: flex-start;
	border-radius: 12px;
	border-bottom-left-radius: 4px;
	background: linear-gradient(90deg, rgba(59, 130, 246, 0.1), transparent);
}

.message.sent {
	align-self: flex-end;
	border-radius: 12px;
	border-bottom-right-radius: 4px;
	background: linear-gradient(90deg, rgba(59, 130, 246, 0.2), rgba(59, 130, 246, 0.1));
	color: var(--text-primary);
	text-align: right;
}

/* ==================== АНИМАЦИИ САМО ЗА ПЪРВОНАЧАЛНО ЗАРЕЖДАНЕ ==================== */
/* Тези анимации се прилагат САМО при първоначално зареждане на страницата,
   НЕ при добавяне на нови съобщения (за да няма премигване) */

.message.initial-load {
	opacity: 0;
	animation: fadeIn 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* Анимация за снимки САМО при първоначално зареждане */
.message.initial-load img.chat-image {
	animation: imageLoad 0.3s ease forwards;
}

/* Добавяме клас за анимация при изчезване */
.message.removing {
	animation: fadeOut 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;

	/* Text-Safe Remove Animation */
	will-change: opacity;
}

/* ==================== MESSAGE ANIMATIONS - MOVED TO animations.css ==================== */

.message.received.removing {
	animation: fadeOutLeft 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.message.sent.removing {
	animation: fadeOutRight 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* ==================== MESSAGE HOVER EFFECTS - GPU OPTIMIZED ==================== */
.message::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background: linear-gradient(to bottom, transparent, var(--accent-blue), transparent);
	opacity: 0;
	/* transition: opacity 0.3s ease; */
	/* 🚫 REMOVED: Conflicts with NavigationManager v6 fade animations */
}

/* Hover ефекти САМО за текстови съобщения (без снимки) */




/* ==================== MESSAGE IMAGES - GPU OPTIMIZED ==================== */
/* Стилове за снимки в чата - FULL SCREEN МАКСИМАЛНИ РАЗМЕРИ */
.message img.chat-image {
	width: 100%;
	max-width: 100%;
	height: auto;
	min-height: 200px;
	max-height: 400px;
	border-radius: 12px;
	margin: 5px 0;
	/* transition: all 0.3s ease; */
	/* 🚫 REMOVED: Conflicts with NavigationManager v6 fade animations */
	position: relative;
	cursor: pointer;
	object-fit: cover;
}




/* Image Container - Subtle popup effect */
.message .image-container {
	width: 100%;
	max-width: 100%;
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
	/* transition: box-shadow 0.3s ease, transform 0.3s ease; */
	/* 🚫 REMOVED: Conflicts with NavigationManager v6 fade animations */
	padding-bottom: 5px;
}

/* .message .image-container:hover - Премахнат hover ефект */

/* .message .image-container:hover - Премахнат hover ефект */

/* @keyframes shine - Премахната анимация, тъй като не се използва */

/* Анимация при зареждане на снимки - САМО за initial-load клас */

/* imageLoad - moved to animations.css */

/* ==================== RESPONSIVE FULL SCREEN IMAGES ==================== */
/* Мобилни устройства - максимални размери */
@media (max-width: 480px) {
	.message img.chat-image {
		max-height: 300px;
		min-height: 150px;
	}

	.message {
		max-width: 95%;
		font-size: 13px;
		/* По-голям текст на мобилни */
	}

	.message-text {
		font-size: 13px;
	}
}

/* Таблети - средни размери */
@media (min-width: 481px) and (max-width: 768px) {
	.message img.chat-image {
		max-height: 350px;
		min-height: 180px;
	}

	.message {
		max-width: 85%;
		font-size: 12px;
	}

	.message-text {
		font-size: 12px;
	}
}

/* Десктоп - максимални размери */
@media (min-width: 769px) {
	.message img.chat-image {
		max-height: 450px;
		min-height: 220px;
	}

	.message {
		max-width: 80%;
		font-size: 12px;
	}

	.message-text {
		font-size: 12px;
	}
}

/* ==================== MESSAGE WRAPPERS & AVATARS - GPU OPTIMIZED ==================== */
/* Добавяме стилове за wrapper и аватари */
.message-wrapper {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 6px 0;
	width: 100%;
	overflow: visible;
}

/* Добавяме класове за видимост */
.message-wrapper.hidden {
	display: none !important;
}

.message-wrapper.visible {
	display: flex !important;
}

.message-avatar {
	top: 4px;
	margin-top: 4px;
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	border-radius: 50%;
	overflow: visible;
	position: relative;
}

.message-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	overflow: hidden;
	border: 3px solid rgba(59, 130, 246, 0.25);
	box-shadow:
		0 1px 6px rgba(59, 130, 246, 0.12),
		0 0 10px rgba(59, 130, 246, 0.08),
		inset 0 0 0 1px rgba(0, 0, 0, 0.3);
}

/* По-малки статус индикатори САМО за message аватарите в чата */
.message-avatar .status-indicator {
	width: 9px;
	height: 9px;
	border: 1px solid var(--bg-primary);
	z-index: 10;
	position: absolute;
	bottom: 0px;
	right: 0px;
	border-radius: 50%;
}

/* ==================== MESSAGE LAYOUT OPTIMIZATIONS ==================== */
/* Коригираме подравняването за изпратени съобщения */
.message-wrapper:has(.message.sent) {
	flex-direction: row-reverse;
}

/* Скриваме аватара за изпратени съобщения */
.message.sent+.message-avatar {
	display: none;
}

/* Увеличаваме максималната ширина на съобщенията за FULL SCREEN снимки */
.message {
	max-width: 90%;
}

/* Стил за текста на съобщенията */
.message-text {
	font-size: 12px;
	line-height: 1.4;
	word-wrap: break-word;
	overflow-wrap: break-word;
	margin: 2px 0 4px 0;
}

/* ==================== MESSAGE TIME STYLING - BALANCED OVERLAY ==================== */
.message-time {
	position: absolute;
	bottom: 3px;
	right: 5px;
	font-size: 7px;
	color: var(--text-secondary);
	opacity: 0.6;
	background: rgba(0, 0, 0, 0.08);
	padding: 1px 3px;
	border-radius: 4px;
	letter-spacing: 0.1px;
	backdrop-filter: blur(1px);
	-webkit-backdrop-filter: blur(1px);
	z-index: 1;
	line-height: 1.1;
}

.message-time::before {
	content: '';
	/* Премахнахме иконата за повече компактност */
}

/* Hover ефект за по-добра видимост при нужда - САМО за текстови съобщения */
.message:not(:has(.image-container)):hover .message-time {
	opacity: 0.7;
	background: rgba(0, 0, 0, 0.15);
	transition: all 0.2s ease;
}

/* Времето е сега overlay - не е нужно допълнително padding */

/* ==================== CENTRALIZED TYPOGRAPHY STYLES ==================== */
/* Интегрирани стилове от typography.css за централизиран контрол */

/* Message Author */
.message-author {
	font-size: 11px;
	font-weight: 600;
}

/* Gender-based Username Styling */
.male {
	color: var(--accent-blue) !important;
	background: linear-gradient(90deg, #3b82f6, #60a5fa) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
}

.female {
	color: var(--accent-indigo) !important;
	background: linear-gradient(90deg, #e879f9, #d946ef) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
}





/* Enhanced Username Styling */
.username {
	color: var(--accent-blue);
	text-decoration: none;
	font-weight: 500;
	background: linear-gradient(90deg, var(--accent-blue), #63b3ed);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	position: relative;
	display: inline-block;
}

.username:hover {
	text-decoration: underline;
}

.username::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, var(--accent-blue), transparent);
	transform: scaleX(0);
	transition: transform 0.3s ease;
	transform-origin: left;
}

.username:hover::after {
	transform: scaleX(1);
}

.username::before {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 100%;
	height: 1px;
	background: var(--accent-blue);
	transform: scaleX(0);
	transition: transform 0.3s ease;
	transform-origin: right;
}

.username:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}

/* Username в съобщенията - увеличен размер за по-добра видимост */
.message-header .username {
	font-size: calc(var(--label-font-size) + 3px);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 600;
}

/* ==================== END CENTRALIZED TYPOGRAPHY STYLES ==================== */

/* ==================== CENTRALIZED ACTIVITY STYLES ==================== */
/* Интегрирани стилове от activity.css за централизиран контрол */

/* Base Layout */
.activity-view {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: var(--bg-primary);
	z-index: var(--z-sidebar);
	transform: translateX(100%);
}

.activity-view.show {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

/* View което не може да се slide-ва назад */
.activity-view.no-slide-back {
	z-index: 0;
}

/* Активно състояние - само това се контролира от CSS */
.activity-view.show {
	transform: translateX(0);
	/* transition: transform 250ms ease; */
	/* 🚫 COMMENTED: conflicts with JS navigation animations */
	display: grid;
	grid-template-rows: auto 0fr 1fr;
	grid-gap: 0;
	grid-template-areas:
		"header"
		"categories"
		"content";
}

/* Динамично показване на categories когато са активни */
.activity-view.show:has(.chat-categories:not([style*="display: none"])) {
	grid-template-rows: auto auto 1fr;
}

/* Fallback за браузъри без :has() поддръжка */
.activity-view.show.has-visible-categories {
	grid-template-rows: auto auto 1fr;
}

/* ВАЖНО - това е за SubView v ViewManager JS */
.activity-main>.activity-view {
	position: absolute;
}

/* Main Content */
.activity-main {
	background: var(--bg-primary);
	height: var(--activity-main-height);
	overflow-y: hidden;
	padding: 0;
	margin: 0;
	position: relative;
	display: flex;
	flex-direction: column;
	animation: fadeIn 0.3s ease-out;
	box-sizing: border-box;
	min-height: 0;
	contain: layout style paint;
}

.activity-main.removing {
	animation: fadeOut 0.3s ease-out forwards;
}

/* Main Container Ambient Background */
.activity-main::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 200px;
	background: linear-gradient(to bottom, rgba(59, 130, 246, 0.03), transparent);
	pointer-events: none;
	z-index: 1;
}

/* Main Container Falling Light Ribbon Animation - Footer Model */
/*
.activity-main::after {
	content: '';
	position: absolute;
	top: -20px;
	right: 0;
	width: 3px;
	height: calc(100% + 40px);
	background: linear-gradient(to bottom,
			transparent 0%,
			rgba(var(--footer-accent-rgba), 0.05) 10%,
			rgba(var(--footer-accent-rgba), 0.15) 20%,
			rgba(var(--footer-accent-rgba), 0.3) 30%,
			rgba(var(--footer-accent-rgba), 0.5) 40%,
			rgba(var(--footer-accent-rgba), 0.7) 50%,
			rgba(var(--footer-accent-rgba), 0.5) 60%,
			rgba(var(--footer-accent-rgba), 0.3) 70%,
			rgba(var(--footer-accent-rgba), 0.15) 80%,
			rgba(var(--footer-accent-rgba), 0.05) 90%,
			transparent 100%);
	pointer-events: none;
	z-index: 10;
	border-radius: 2px;

	/-- Initial hidden state before animation --/
	opacity: 0;
	transform: translate3d(0, -100%, 0);
	-webkit-transform: translate3d(0, -100%, 0);

	/-- Footer-Style Animation with Same Timing --/
	animation:
		mainContainerRibbonFlow var(--footer-glow-duration) ease-in-out infinite -2s,
		mainContainerRibbonGlow var(--footer-scale-duration) ease-in-out infinite -1s;
	animation-delay: 0s, 0s;
	animation-fill-mode: both, both;
}
*/

/* Activity Items */
.activity-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* Header */
.activity-header {
	background: linear-gradient(90deg,
			var(--bg-secondary) 0%,
			rgba(18, 20, 28, 0.98) 100%);
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	position: relative;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 72px;
	height: 49px;
	position: relative;
	overflow: hidden;
	grid-area: header;
	flex-shrink: 0;
	z-index: var(--z-sidebar);
	width: 100vw;
	margin-left: calc(-1 * env(safe-area-inset-left));
	padding-left: max(16px, env(safe-area-inset-left));
	padding-right: max(16px, env(safe-area-inset-right));
}

/* Основен градиент за фона */
.activity-header::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: linear-gradient(90deg,
			transparent,
			rgba(59, 130, 246, 0.5),
			transparent);
}

/* Долна линия с анимация */
.activity-header::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg,
			transparent,
			rgba(59, 130, 246, 0.3),
			transparent);
}

/* Горен блясък */
.activity-title {
	display: flex;
	align-items: center;
	gap: 13px;
	position: relative;
	z-index: 2;
	opacity: 1;
	transform: scale(1);
	transform-origin: center;
	/* animation: zoomIn 0.25s ease forwards; */
	font-size: 12px;
}

.activity-title::before {
	content: '';
	position: absolute;
	inset: -20px -30px;
	background: radial-gradient(circle at center,
			rgba(43, 82, 120, 0.2) 0%,
			rgba(43, 82, 120, 0.15) 20%,
			rgba(43, 82, 120, 0.1) 40%,
			transparent 70%);
	z-index: -1;
	filter: blur(3px);
}

.activity-title span {
	font-size: 24px;
	filter: drop-shadow(0 2px 4px rgba(255, 215, 0, 0.2));
	position: relative;
	z-index: 2;
	line-height: 1;
	display: flex;
	align-items: center;
	height: 24px;
}

.activity-title img {
	position: relative;
	z-index: 2;
	height: 24px;
	width: auto;
	display: block;
	vertical-align: middle;
}

/* BG Logo - специфично позициониране */
.activity-title img[src*="chatnetwork_logotype_bg_bright"] {
	top: 2px;
}

/* EN Logo - без позициониране */
.activity-title img[src*="chatnetwork_logotype_bright"] {
	top: -2px;
}

.header-buttons {
	position: relative;
	z-index: 2;
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
}

/* Container */
.activity-container {
	display: grid;
	grid-template-columns: 38% 1fr;
	grid-gap: 0;
	height: 100%;
	overflow: hidden;
	box-sizing: border-box;
	min-height: 0;
	grid-area: content;
}

.activity-item {
	padding: 8px 12px;
	font-size: 10px;
	color: var(--text-primary);
	position: relative;
	/* border-left removed - using ::before hover effect instead */
	transition: all 0.3s ease;
	background: linear-gradient(90deg,
			rgba(18, 20, 28, 0.95) 0%,
			transparent 100%);
	border: 1px solid transparent;
	position: relative;
	overflow: hidden;
	opacity: 1;
	transform: translateY(0);
	animation: fadeInUp 0.25s ease forwards;
}

/* ДЕАКТИВИРАНО: Синята линия по default - използвай .blue-line клас за активиране
.activity-item::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background: linear-gradient(to bottom,
			transparent,
			var(--accent-blue),
			transparent);
	opacity: 1;
	transition: opacity 0.3s ease;
}
*/

/*
.activity-item:hover {
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.05),
			transparent);
	border-color: rgba(59, 130, 246, 0.1);
	transform: translateX(4px);
}
	*/


/* 🚨 PRIORITY: friend-declined клас е по-силен от unread за background */
.activity-item.friend-declined {
	background: linear-gradient(90deg,
			rgba(255, 90, 90, 0.1),
			transparent) !important;
	position: relative;
}

/* 🚨 PRIORITY: friend-accepted клас е по-силен от unread за background */
.activity-item.friend-accepted {
	background: linear-gradient(90deg,
			rgba(34, 197, 94, 0.1),
			transparent) !important;
	position: relative;
}

/* 🎯 ШАРЕНИ ЕФЕКТИ САМО ПРИ read=0: Friend request статуси */

/* 🟢 ЗЕЛЕНИ ЕФЕКТИ: САМО при read=0 И accepted */
.activity-item.friend-accepted-unread {
	background: linear-gradient(90deg,
			rgba(34, 197, 94, 0.18),
			transparent) !important;
	position: relative;
	border-left: 3px solid rgba(34, 197, 94, 0.7);
	animation: gentle-glow-green 2s ease-in-out infinite;
}

/* 🔴 ЧЕРВЕНИ ЕФЕКТИ: САМО при read=0 И declined */
.activity-item.friend-declined-unread {
	background: linear-gradient(90deg,
			rgba(239, 68, 68, 0.15),
			transparent) !important;
	position: relative;
	border-left: 3px solid rgba(239, 68, 68, 0.7);
	animation: gentle-glow-red 2s ease-in-out infinite;
}

/* 🟡 ЖЪЛТИ ЕФЕКТИ: САМО при read=0 И cancelled */
.activity-item.friend-cancelled-unread {
	background: linear-gradient(90deg,
			rgba(251, 191, 36, 0.15),
			transparent) !important;
	position: relative;
	border-left: 3px solid rgba(251, 191, 36, 0.7);
	animation: gentle-glow-yellow 2s ease-in-out infinite;
}

/* 🔵 СИНИ ЕФЕКТИ: САМО при read=0 И pending */
.activity-item.friend-pending-unread {
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.15),
			transparent) !important;
	position: relative;
	border-left: 3px solid rgba(59, 130, 246, 0.7);
	animation: gentle-glow-blue 2s ease-in-out infinite;
}

/* Override with brighter blue line for unread items */
/* ДЕАКТИВИРАНО: Unread синята линия - използвай .blue-line клас за активиране
.activity-item.unread::before {
	background: linear-gradient(to bottom,
			transparent,
			#3b82f6,
			transparent) !important;
	opacity: 1;
}
*/


.activity-item.unread::after {
	content: '•';
	position: absolute;
	right: 8px;
	top: 8px !important;
	transform: translate3d(0, -50%, 0) !important;
	-webkit-transform: translate3d(0, -50%, 0) !important;
	color: #ff3b3b;
	font-size: 16px;
	animation: softPulse 2s infinite;
}


/*
.activity-item.unread:hover {
	background: linear-gradient(90deg,
			rgba(255, 59, 59, 0.05),
			transparent);
}
*/

/* Подобряваме activity-comment */
.activity-comment {
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.05),
			transparent);
	padding: 8px 12px;
	border-radius: 8px;
	margin-top: 4px;
	position: relative;
	/* border-left removed - using ::before hover effect instead */
}

.activity-comment::before {
	content: '"';
	position: absolute;
	left: 8px;
	top: -4px;
	font-size: 20px;
	color: var(--accent-blue);
	opacity: 0.3;
}

/* Стилове за датите - БЕЗ ПРЕМИГВАНЕ */
.activity-date {
	position: relative;
	overflow: hidden;
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.1),
			transparent 70%);
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	/* border-left removed - using ::before hover effect instead */
	padding: 6px 12px;
	font-size: 8px;
	color: var(--accent-blue);
	font-weight: 500;
	letter-spacing: 0.3px;
	border-radius: 4px;
	margin: 12px 0 6px;
	min-height: 24px;
	max-height: 24px;
	opacity: 1;
	transform: none;
	/* Премахнати анимации за избягване на премигване */
}

.activity-date::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 40px;
	right: 8px;
	height: 1px;
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.2),
			transparent 80%);
}

/* Подобряваме activity-time */
.activity-time {
	font-size: 12px;
	color: var(--text-secondary);
	margin-top: 12px;
	/* Increased space above the time to better separate from buttons above */
	margin-bottom: 12px;
	/* Space below for proper separation from buttons below */
	opacity: 0.7;
	/* More subtle for better visual hierarchy */
	line-height: 1.2;
	/* Tighter line height */
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 2px 6px;
	background: rgba(59, 130, 246, 0.1);
	border-radius: 10px;
}

.activity-time::before {
	content: '⌚';
	font-size: 8px;
	opacity: 0.7;
}

/* Добавяме стилове за снимки в активностите */
.activity-item-with-image {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.activity-item {
	border-radius: 8px;
	margin: 8px 0;
}

.activity-image {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	margin-top: 0;
	border: 1px solid rgba(59, 130, 246, 0.25);
	box-shadow:
		0 1px 6px rgba(59, 130, 246, 0.1),
		0 0 10px rgba(59, 130, 246, 0.06),
		inset 0 1px 2px rgba(59, 130, 246, 0.1),
		inset 0 -8px 12px -8px rgba(59, 130, 246, 0.08),
		inset 0 0 0 1px rgba(0, 0, 0, 0.3);
	filter: brightness(1.03) contrast(1.02) saturate(1.05);
	transition: all 0.3s ease;
	position: relative;
}

.activity-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*
.activity-item:hover .activity-image {
	border-color: rgba(59, 130, 246, 0.3);
	transform: scale(1.05);
}
*/


.activity-image::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(45deg,
			transparent,
			rgba(59, 130, 246, 0.1),
			transparent);
	transform: translateX(-100%);
	transition: transform 0.3s ease;
}

.activity-item:hover .activity-image::after {
	transform: translateX(100%);
}

/* Стилове за grid със снимки */
.activity-photo-grid {
	margin: 8px 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4px;
	border-radius: 8px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.activity-photo-grid img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	transition: all 0.3s ease;
	border: 1px solid rgba(59, 130, 246, 0.25);
	box-shadow:
		0 1px 6px rgba(59, 130, 246, 0.1),
		0 0 10px rgba(59, 130, 246, 0.06),
		inset 0 1px 2px rgba(59, 130, 246, 0.1),
		inset 0 -15px 20px -15px rgba(59, 130, 246, 0.08);
	filter: brightness(1.03) contrast(1.02) saturate(1.05);
}

.activity-photo-grid img:hover {
	transform: scale(1.05);
	filter: brightness(1.1);
}

.activity-photo-grid::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(45deg,
			transparent 40%,
			rgba(59, 130, 246, 0.1) 45%,
			rgba(59, 130, 246, 0.2) 50%,
			rgba(59, 130, 246, 0.1) 55%,
			transparent 60%);
	transform: translateX(-100%);
	transition: transform 0.3s ease;
	z-index: 2;
	pointer-events: none;
}

.activity-photo-grid:hover::before {
	transform: translateX(100%);
}

/* Стилове за коментари */
.activity-comment {
	font-size: 10px;
	color: var(--text-primary);
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.05),
			transparent);
	padding: 6px 8px;
	border-radius: var(--radius-sm);
	margin: 4px 0;
	border-left: 2px solid var(--accent-blue);
	border: 1px solid rgba(59, 130, 246, 0.1);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	position: relative;
	overflow: hidden;
}

.activity-comment::before {
	content: '"';
	position: absolute;
	top: 0;
	left: 8px;
	font-size: 24px;
	color: rgba(59, 130, 246, 0.2);
	opacity: 0.5;
}

/* Добавяме ефект на typing за коментарите */
.activity-comment::after {
	content: '|';
	position: absolute;
	right: 8px;
	top: 3px;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 12px;
	animation: typing 1s infinite;
	opacity: 0.5;
}

/* typing - moved to animations.css */

.grid {
	display: grid;
}

/* Добавете тези нови стилове */
.activity-header-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	line-height: 1.2;
}

.activity-header-content .username {
	margin: 0;
	padding: 0;
}

.activity-header-content .activity-text {
	font-size: 10px;
	color: var(--text-secondary);
	white-space: normal;
}


.activity-buttons button {
	padding: 4px 12px;
	border-radius: 4px;
	font-size: 10px;
	border: none;
	cursor: pointer;
	transition: all 0.2s ease;
}



/* По-дискретни бутони за отказ и премахване */

/* 123123123
.decline-request,
.activity-buttons button.decline-request {
	background: rgba(255, 255, 255, 0.1);
	color: var(--text-primary);
}
*/
/*
.decline-request:hover,
.activity-buttons button.decline-request:hover {
	background: rgba(255, 90, 90, 0.2);
	color: #ff5a5a;
}
	*/

/* Още по-дискретни стилове за отказ от покана и премахване на приятел */
.cancel-request,
.remove-friend,
.activity-buttons button.cancel-request,
.activity-buttons button.remove-friend {
	background: transparent;
	color: var(--text-secondary, rgba(255, 255, 255, 0.6));
	font-size: 9px;
	padding: 3px 10px;
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.cancel-request:hover,
.remove-friend:hover,
.activity-buttons button.cancel-request:hover,
.activity-buttons button.remove-friend:hover {
	background: rgba(255, 90, 90, 0.1);
	color: rgba(255, 90, 90, 0.8);
	border-color: rgba(255, 90, 90, 0.2);
}

/* ==================== END CENTRALIZED ACTIVITY STYLES ==================== */

/* ==================== CENTRALIZED NAVIGATION STYLES ==================== */
/* Интегрирани стилове от navigations.css за централизиран контрол */

/*

/* Навигационни бутони */
.footer-nav-button {
	position: relative;
	/* transition: transform 0.2s ease, opacity 0.2s ease; */
	/* 🚫 COMMENTED: conflicts with JS navigation animations */
}

.footer-nav-button:active {
	transform: scale(0.95);
}

/* Активен навигационен бутон */
.footer-nav-button.active {
	color: var(--primary-color, #4285f4);
	font-weight: 500;
}

/* Анимации за преход между страниците */
.content-transition-enter {
	opacity: 0;
	transform: translateX(20px);
}

.content-transition-enter-active {
	opacity: 1;
	transform: translateX(0);
	/* transition: opacity 300ms, transform 300ms; */
	/* 🚫 COMMENTED: conflicts with JS navigation animations */
}

.content-transition-exit {
	opacity: 1;
	transform: translateX(0);
}

.content-transition-exit-active {
	opacity: 0;
	transform: translateX(-20px);
	/* transition: opacity 300ms, transform 300ms; */
	/* 🚫 COMMENTED: conflicts with JS navigation animations */
}

/* Забрана на събития по време на зареждане */
.loading-in-progress {
	pointer-events: none;
}

.fade-in {
	animation: fadeInUp 0.25s ease forwards;
}



/* Стилове за бек бутон */
.back-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 5px 10px;
	border-radius: 50px;
	background-color: rgba(0, 0, 0, 0.05);
	color: var(--text-color, #333);
	font-size: 14px;
	cursor: pointer;
	user-select: none;
	transition: background-color 0.2s ease;
}

.back-button:hover {
	background-color: rgba(0, 0, 0, 0.1);
}

.back-button::before {
	content: '←';
	margin-right: 5px;
	font-weight: bold;
}

/* Navigation Animation Keyframes */


/* levelPulse, gradientShift, sparkle, cosmicNavigatorFlow, textGlow - moved to animations.css */

/* ==================== END CENTRALIZED NAVIGATION STYLES ==================== */

/* ==================== CENTRALIZED COUNTER STYLES ==================== */
/* Интегрирани стилове от counter.css за централизиран контрол */

.counter {
	background: rgba(255, 59, 59, 0.15);
	color: #ff3b3b;
	padding: 2px 6px;
	border-radius: 10px;
	font-size: 8px;
	min-width: 16px;
	height: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: auto;
	font-weight: 540;
	animation: softPulse 2s infinite;
	position: absolute;
	right: 16px;
	top: 50% !important;
	transform: translate3d(0, -50%, 0) !important;
	-webkit-transform: translate3d(0, -50%, 0) !important;
	margin: 0;
	/* Visibility подход вместо display: none/block */
	visibility: visible;
}

/* Counter скриване с visibility вместо display */
.counter.hidden,
.counter[data-count="0"] {
	visibility: hidden;
}

/* Counter показване */
.counter.visible,
.counter:not([data-count="0"]) {
	visibility: visible;
}

/* Pulse анимация за counter */
/* softPulse, counterFadeIn, counterFadeOut, counterUpdate - moved to animations.css */

/* Counter анимационни класове */
.counter.counter-fade-in {
	animation: counterFadeIn 0.4s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}

.counter.counter-fade-out {
	animation: counterFadeOut 0.4s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}

.counter.counter-update {
	animation: counterUpdate 0.6s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}

/* ==================== END CENTRALIZED COUNTER STYLES ==================== */

/* ==================== CENTRALIZED ELEMENTS STYLES ==================== */
/* Интегрирани стилове от elements.css за централизиран контрол */

/* Close Button Global Style */
.close-button {
	position: relative;
	width: 32px;
	height: 32px;
	background: rgba(59, 130, 246, 0.1);
	border: 1px solid rgba(59, 130, 246, 0.2);
	border-radius: 50%;
	color: var(--text-secondary);
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	z-index: var(--z-tooltip);
	line-height: 1;
	box-sizing: border-box;
}

.close-button::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: radial-gradient(circle at center,
			rgba(59, 130, 246, 0.2) 0%,
			transparent 50%);
	opacity: 0;
	transform: scale(0.5);
	transition: all 0.3s ease;
}

.close-button:active {
	transform: rotate(90deg) scale(0.95);
}

/*

.close-button:hover {
	background: rgba(59, 130, 246, 0.2);
	transform: rotate(90deg) scale(1.1);
	color: var(--accent-blue);
}



.close-button:hover::after {
	opacity: 1;
	transform: scale(2);
}
*/




/* Dark theme variation */
[data-theme="dark"] .close-button {
	background: rgba(0, 0, 0, 0.2);
	border-color: rgba(255, 255, 255, 0.05);
}

/* Light theme variation */
[data-theme="light"] .close-button {
	background: rgba(0, 0, 0, 0.05);
	border-color: rgba(0, 0, 0, 0.1);
}

/* Глобален стил за more options бутона */
.more-options-button,
.action-button {
	background: transparent;
	border: none;
	color: var(--text-secondary);
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	cursor: pointer;
	transition: all 0.3s ease;
	position: relative;
	font-size: 18px;
}

/*
.more-options-button:hover,
.action-button:hover {
	background: rgba(59, 130, 246, 0.1);
	color: var(--accent-blue);
	transform: scale(1.1);
}
*/

.more-options-button::after,
.action-button::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: radial-gradient(circle at center,
			rgba(59, 130, 246, 0.2) 0%,
			transparent 50%);
	opacity: 0;
	transform: scale(0.5);
	transition: all 0.3s ease;
}

.more-options-button:hover::after,
.action-button:hover::after {
	opacity: 1;
	transform: scale(2);
}

/* Добавяме ripple ефект при клик */
.more-options-button:active::after,
.action-button:active::after {
	background: radial-gradient(circle at center,
			rgba(59, 130, 246, 0.3) 0%,
			transparent 50%);
	transform: scale(1);
	transition: transform 0.1s ease;
}

/* Добавяме стил за disabled състояние */
.more-options-button:disabled,
.action-button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Добавяме стил за фокус */

/*
.more-options-button:focus,
.action-button:focus {
	outline: none;
	box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.3);
}
*/


/* Добавяме стил за активно състояние */
.more-options-button.active,
.action-button.active {
	background: rgba(59, 130, 246, 0.2);
	color: var(--accent-blue);
}

/* Header buttons container */
.header-buttons {
	display: flex;
	gap: 25px;
	padding: 4px;
	margin-right: 8px;
}



/* Circle Button Style for Activity Header */
.circle-button {
	width: 32px;
	height: 32px;
	background: rgba(59, 130, 246, 0.1);
	border: 1px solid rgba(59, 130, 246, 0.2);
	border-radius: 50%;
	color: var(--text-secondary);
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	margin-left: 0;
	position: relative;
}

.circle-button:hover {
	background: rgba(59, 130, 246, 0.2);
	transform: scale(1.1);
	color: var(--accent-blue);
}

.circle-button:active {
	transform: scale(0.95);
}

.circle-button::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: radial-gradient(circle at center,
			rgba(59, 130, 246, 0.2) 0%,
			transparent 50%);
	opacity: 0;
	transform: scale(0.5);
	transition: all 0.3s ease;
}

.circle-button:hover::after {
	opacity: 1;
	transform: scale(2);
}

/* Dark theme variation */
[data-theme="dark"] .circle-button {
	background: rgba(0, 0, 0, 0.2);
	border-color: rgba(255, 255, 255, 0.05);
}

/* Light theme variation */
[data-theme="light"] .circle-button {
	background: rgba(0, 0, 0, 0.05);
	border-color: rgba(0, 0, 0, 0.1);
}

/* Active state */
.circle-button.active {
	background: rgba(59, 130, 246, 0.2);
	color: var(--accent-blue);
}

/* Disabled state */
.circle-button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Focus state */
.circle-button:focus {
	outline: none;
	box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.3);
}

/* Button Label Style */
.circle-button .button-label {
	position: absolute;
	left: -65px;
	top: 50% !important;
	transform: translate3d(0, -50%, 0) !important;
	-webkit-transform: translate3d(0, -50%, 0) !important;
	background: rgba(59, 130, 246, 0.1);
	color: var(--text-primary);
	font-size: 10px;
	padding: 4px 8px;
	border-radius: 4px;
	white-space: nowrap;
	opacity: 1;
	pointer-events: none;
	font-weight: 500;
	z-index: 100;
	border: 1px solid rgba(59, 130, 246, 0.2);
}

.circle-button:hover .button-label {
	background: rgba(59, 130, 246, 0.2);
}

/* Button Icon Style */
.circle-button .button-icon {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ==================== END CENTRALIZED ELEMENTS STYLES ==================== */

/* ==================== CENTRALIZED FOOTER STYLES ==================== */
/* Интегрирани стилове от footer.css за централизиран контрол */

/* Footer CSS Variables */
:root {
	/* Responsive Dimensions */
	/* --footer-height: clamp(58px, 15vw, 64px); */
	--footer-button-height: clamp(50px, 12vw, 56px);
	--footer-padding: clamp(4px, 1.5vw, 6px) 0;
	--footer-icon-size: clamp(12px, 3.5vw, 16px);
	--footer-text-size: clamp(6px, 1.8vw, 8px);
	--footer-z-index: 10001;

	/* Colors */
	--footer-bg-start: rgba(13, 15, 21, 0.98);
	--footer-bg-end: rgba(18, 20, 28, 0.95);
	--footer-border: rgba(255, 255, 255, 0.08);
	--footer-text-primary: rgba(255, 255, 255, 0.7);
	--footer-text-secondary: rgba(255, 255, 255, 0.5);
	--footer-accent: #3b82f6;
	--footer-accent-rgba: 59, 130, 246;

	/* Animation Timing - Footer Model */
	--footer-transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	--footer-glow-duration: 8s;
	--footer-scale-duration: 5.6s;
	--footer-particle-duration: 10s;

	/* Mobile Safe Area */
	--footer-touch-target: 44px;
	--footer-safe-area: env(safe-area-inset-bottom, 0px);

	/* Chat Input Height */
	--chat-input-height: 60px;
}


/* Main Footer Container */
.global-footer {
	position: fixed !important;
	bottom: 0 !important;
	left: 0;
	right: 0;
	z-index: var(--footer-z-index) !important;

	width: 100%;
	height: calc(var(--footer-height) + var(--footer-safe-area));
	padding: var(--footer-padding);
	padding-bottom: calc(4px + var(--footer-safe-area));

	display: flex;
	justify-content: space-evenly;
	align-items: flex-start;
	overflow: hidden;

	background: linear-gradient(to top, var(--footer-bg-start) 0%, var(--footer-bg-end) 100%);
	border-top: 1px solid var(--footer-border);

	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);

	box-shadow:
		0 -1px 3px rgba(0, 0, 0, 0.12),
		0 -2px 8px rgba(0, 0, 0, 0.08);

	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	will-change: transform;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;

	contain: layout style paint;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	user-select: none;
}

.global-footer[style*="position"] {
	position: fixed !important;
	bottom: 0 !important;
}

/* Ambient Background */
.global-footer::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at center,
			rgba(43, 82, 120, 0.04) 0%,
			rgba(43, 82, 120, 0.02) 40%,
			transparent 70%);
	opacity: 0.8;
	pointer-events: none;
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	z-index: 1;
}

/* Purple Particle Float Effect */
.global-footer::after {
	content: '';
	position: absolute;
	bottom: -12px;
	left: 0;
	width: 100%;
	height: 12px;
	background: transparent;
	pointer-events: none;
	z-index: 5;
	animation: footerParticleFloat var(--footer-particle-duration) ease-in-out infinite;
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
}

/* Clean Icon Buttons */
.global-footer .footer-nav-button {
	position: relative;
	flex: 1;
	max-width: none;
	min-width: var(--footer-touch-target);
	height: var(--footer-button-height);
	margin: 0 2px;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 3px;

	background: transparent;
	border: none !important;
	border-radius: 8px;
	color: var(--footer-text-primary);
	font-size: var(--footer-text-size);
	cursor: pointer;
	overflow: hidden;

	opacity: 1;
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	/* animation: footerSlideUp 0.5s ease forwards; */
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Добавяне на светлинен ефект в background */
.global-footer .footer-nav-button::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at center,
			rgba(59, 130, 246, 0.08) 0%,
			transparent 70%);
	opacity: 0;
	transition: opacity 0.3s ease;
	border-radius: 8px;
	z-index: -1;
}

/* Icon & Label Styling */
.global-footer .footer-nav-button span:first-child {
	font-size: var(--footer-icon-size);
	margin-bottom: 3px;
	color: rgba(90, 120, 160, 0.75);
	line-height: 1;
	transition: var(--footer-transition);
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);

	/* Балансирани монохромни емоджи */
	filter: grayscale(1) brightness(0.85) opacity(0.8);
	-webkit-filter: grayscale(1) brightness(0.85) opacity(0.8);
}

.global-footer .footer-nav-button .nav-label {
	font-size: var(--footer-text-size);
	color: rgba(130, 150, 190, 0.7);
	font-weight: 500;
	line-height: 1.1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
	transition: var(--footer-transition);
}

/* Hover States - Disabled */

/* Active State - Clean Glow */
.global-footer .footer-nav-button.active {
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.12) 0%,
			rgba(59, 130, 246, 0.05) 100%);
	border: 1px solid rgba(59, 130, 246, 0.2);
	transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	position: relative;
	box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25);
}

.global-footer .footer-nav-button.active::before {
	opacity: 1;
	background: radial-gradient(circle at center,
			rgba(59, 130, 246, 0.15) 0%,
			transparent 70%);
}

/* Footer-Style Animations - Ultra Smooth */
.global-footer .footer-nav-button.active span:first-child {
	color: rgba(100, 180, 255, 1);
	position: relative;
	z-index: 1;

	/* Footer Animation Model - Offset Timing */
	/* animation:
		footerIconGlow var(--footer-glow-duration) ease-in-out infinite -4s,
		footerIconScale var(--footer-scale-duration) ease-in-out infinite; */

	/* Цветни активни иконки - премахваме grayscale за пълен цвят */
	filter:
		brightness(1.15) drop-shadow(0 0 8px rgba(59, 130, 246, 0.6)) drop-shadow(0 0 15px rgba(59, 130, 246, 0.3)) drop-shadow(0 1px 4px rgba(59, 130, 246, 0.4));
	-webkit-filter:
		brightness(1.15) drop-shadow(0 0 8px rgba(59, 130, 246, 0.6)) drop-shadow(0 0 15px rgba(59, 130, 246, 0.3)) drop-shadow(0 1px 4px rgba(59, 130, 246, 0.4));
}

.global-footer .footer-nav-button.active .nav-label {
	color: rgba(100, 180, 255, 1);
	font-weight: 600;
	text-shadow: 0 0 8px rgba(59, 130, 246, 0.4);
}

/* Online Button - Label Color */
.global-footer .footer-nav-button[data-action="search"] .nav-label {
	color: rgba(100, 200, 130, 0.85);
}

/* Footer Counter Positioning - Minimal Style */
.global-footer .footer-nav-button .counter {
	position: absolute;
	right: 7px;
	top: 4px !important;
	transform: none !important;
	-webkit-transform: none !important;
	font-size: 9px;
}

/* Online Button - Badge as Icon */
.global-footer .footer-nav-button[data-action="search"] .online-badge,
.activity-title .online-badge {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	background: rgba(68, 183, 0, 0.15);
	border: 1px solid rgba(68, 183, 0, 0.3);
	border-radius: 10px;
	font-size: 5px;
	font-weight: 600;
	color: rgba(100, 180, 255, 1);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
	margin-top: -3px;
	margin-bottom: 2px;
	line-height: 1;
	animation: onlineBadgeGlow 3s ease-in-out infinite;
	will-change: box-shadow;
	transform: translateZ(0);
	filter: none !important;
	-webkit-filter: none !important;
}

/* Main Header - Larger Badge */
.activity-title .online-badge {
	min-width: 27px;
	height: 27px;
	font-size: 11px;
	border-radius: 14px;
	padding: 0 6px;
	margin-top: 0;
	margin-bottom: 0;
}

@keyframes onlineBadgeGlow {

	0%,
	100% {
		box-shadow: 0 0 4px rgba(68, 183, 0, 0.3);
	}

	50% {
		box-shadow: 0 0 8px rgba(68, 183, 0, 0.5), 0 0 12px rgba(68, 183, 0, 0.2);
	}
}

/* Chat Categories Counter Positioning - Елегантно решение */
.chat-categories .category-button {
	position: relative;
	height: 27px;
	/* Нужно за absolute позициониране на counter */
}

.chat-categories .category-button .counter {
	position: absolute;
	right: 8px;
	top: 50% !important;
	transform: translate3d(0, -50%, 0) !important;
	-webkit-transform: translate3d(0, -50%, 0) !important;
	font-size: 8px;
}

/* User Avatar */
.global-footer .footer-nav-button .user-avatar {
	width: calc(var(--footer-icon-size) + 4px);
	height: calc(var(--footer-icon-size) + 4px);
	border-radius: 50%;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	transition: var(--footer-transition);
	border: none;
}

.global-footer .footer-nav-button .user-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	margin-bottom: 3px;
}

.global-footer .footer-nav-button.active .user-avatar {
	border: none;
	box-shadow: 0 0 12px rgba(var(--footer-accent-rgba), 0.5);
}

/* Notification Badges */
.global-footer .footer-nav-button[data-action="notifications"] span:first-child::after,
.global-footer .footer-nav-button[data-action="messages"] span:first-child::after {
	top: -2px;
	right: -3px;
	min-width: 10px;
	height: 10px;
	font-size: 6px;
	border-radius: 5px;
}

/* Footer Animation Keyframes */
/* footerSlideUp, footerParticleFloat, footerIconGlow, footerIconScale - moved to animations.css */





/* ==================== CENTRALIZED INPUTS STYLES ==================== */
/* Интегрирани стилове от inputs.css за централизиран контрол */

button {
	letter-spacing: 0.5px;
}

/* Base Input Styles */
input,
textarea {
	width: 100%;
	padding: 8px 12px;
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.1) 0%,
			rgba(18, 20, 28, 0.98) 100%);
	border: 1px solid rgba(59, 130, 246, 0.2);
	border-radius: 8px;

	color: var(--text-primary);
	font-size: 12px;
	letter-spacing: 0.3px;
	transition: all 0.3s ease;
	border-radius: 8px;
	cursor: pointer;
}

/* Input Focus State - Blue Border */
input:focus,
textarea:focus {
	box-shadow:
		0 0 0 4px rgba(59, 130, 246, 0.1),
		0 0 20px rgba(59, 130, 246, 0.1);
	outline: none;
	border-color: var(--accent-blue) !important;
	background: rgba(59, 130, 246, 0.15);
	position: relative;
	z-index: 1;
}

/* Премахваме hover ефекта когато елементът не е на фокус */
input:not(:focus):hover,
textarea:not(:focus):hover {
	box-shadow: none;
	border-color: rgba(59, 130, 246, 0.2);
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.1) 0%,
			rgba(18, 20, 28, 0.98) 100%);
}


/* Автоматично премахване на hover ефекта при преминаване към следващо поле */
.input-wrapper input:not(:focus),
.input-wrapper textarea:not(:focus) {
	transition: all 0.3s ease;
}

.input-wrapper input:focus+input:not(:focus),
.input-wrapper textarea:focus+textarea:not(:focus) {
	box-shadow: none;
	border-color: rgba(59, 130, 246, 0.2);
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.1) 0%,
			rgba(18, 20, 28, 0.98) 100%);
}

/* Radio Inputs */
input[type="radio"] {
	display: none;
}

/* Labels */
label {
	display: block;
	margin-bottom: 8px;
	color: var(--text-secondary);
	font-size: 12px;
	font-weight: 500;
}

/* Input Groups */
.input-group {
	margin-bottom: 20px;
}

/* Range Inputs */
input[type="range"] {
	-webkit-appearance: none;
	width: 100%;
	height: 4px;
	background: rgba(59, 130, 246, 0.2);
	border-radius: 2px;
	outline: none;
}

input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 16px;
	height: 16px;
	background: var(--accent-blue);
	border-radius: 50%;
	cursor: pointer;
	transition: all 0.2s ease;
}

/* Readonly State */
input[readonly] {
	cursor: pointer;
}

/* Disabled State */
input:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

input[type="radio"]:checked+.gender-checkbox {
	background: var(--accent-blue);
	border-color: var(--accent-blue);
}

input[type="radio"]:checked+.gender-checkbox::after {
	content: '✓';
	color: white;
	font-size: 12px;
}

/* Custom Radio & Checkbox Container */
fieldset {
	display: flex;
	gap: 16px;
	border: none;
	padding: 0;
	margin: 0;
}

fieldset[data-layout="vertical"] {
	flex-direction: column;
}

/* Label Wrapper */
label:has(input[type="checkbox"]),
label:has(input[type="radio"]) {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	margin: 0;
	font-size: 14px;
	/* color: var(--text-primary); */
}

/* Hide default inputs */
input[type="checkbox"],
input[type="radio"] {
	display: none;
}

/* Custom checkbox/radio style using pseudo-element */
input[type="checkbox"]+span,
input[type="radio"]+span {
	width: 20px;
	height: 20px;
	border: 1px solid rgba(59, 130, 246, 0.3);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
}

input[type="checkbox"]+span {
	border-radius: 6px;
}

input[type="radio"]+span {
	border-radius: 6px;
}

/* Checked states */
input[type="checkbox"]:checked+span,
input[type="radio"]:checked+span {
	background: var(--accent-blue);
	border-color: var(--accent-blue);
}

input[type="checkbox"]:checked+span::after,
input[type="radio"]:checked+span::after {
	content: '✓';
	color: white;
	font-size: 12px;
}

/* Submit Button */
.submit-button {
	width: 100%;
	padding: 12px;
	background: linear-gradient(90deg,
			var(--accent-blue) 0%,
			rgba(59, 130, 246, 0.8) 100%);
	border: none;
	border-radius: 8px;
	color: white;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.submit-button.disabled {
	opacity: 0.4;
	cursor: not-allowed;
	background: linear-gradient(90deg,
			rgba(107, 114, 128, 0.7) 0%,
			rgba(75, 85, 99, 0.6) 100%);
	pointer-events: none;
	filter: grayscale(0.3);
}

/* Специален стил за чат бутона */
.submit-button.chat-submit {
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.9) 0%,
			rgba(59, 130, 246, 0.8) 100%);
	padding: 8px 16px;
	font-size: 13px;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	position: relative;
	overflow: hidden;
}

.submit-button.chat-submit::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg,
			rgba(255, 255, 255, 0.1) 0%,
			transparent 100%);
	opacity: 1;
}

.submit-button.chat-submit span {
	position: relative;
	z-index: 1;
}

.submit-button.chat-submit span:first-child {
	font-size: 15px;
	transition: transform 0.3s ease;
}

.submit-button.chat-submit:hover {
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 1) 0%,
			rgba(59, 130, 246, 0.9) 100%);
	transform: translateY(-1px);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.submit-button.chat-submit:hover span:first-child {
	transform: translateX(2px);
}

.submit-button.chat-submit:active {
	transform: translateY(1px);
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.85) 0%,
			rgba(59, 130, 246, 0.75) 100%);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.submit-button.chat-submit:active span:first-child {
	transform: translateX(0);
}

/* Добавяме стилове за бутоните на заявките */
.activity-buttons {
	display: flex;
	gap: 8px;
	margin-top: 8px;
}

/* 123123123
.accept-request,
.decline-request {
	padding: 4px 12px;
	border-radius: 4px;
	font-size: 11px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.accept-request {
	background: var(--accent-blue);
	color: white;
	border: none;
}

.accept-request:hover {
	background: var(--accent-blue-hover);
	transform: translateY(-1px);
}
	*/

/* 123123123
.decline-request {
	background: transparent;
	color: var(--text-secondary);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.decline-request:hover {
	background: rgba(255, 255, 255, 0.05);
	transform: translateY(-1px);
}
*/
/* Autocomplete Override Styles */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	-webkit-text-fill-color: var(--text-primary) !important;
	-webkit-box-shadow: 0 0 0 1000px rgba(18, 20, 28, 0.98) inset !important;
	background: linear-gradient(90deg, rgba(59, 130, 246, 0.1) 0%, rgba(18, 20, 28, 0.98) 100%) !important;
	border: 1px solid rgba(59, 130, 246, 0.2) !important;
	border-radius: 8px !important;
	transition: background-color 5000s ease-in-out 0s !important;
}

/* Force proper text styling */
input:-webkit-autofill::first-line {
	font-size: 12px !important;
	letter-spacing: 0.3px !important;
}

/* Register Button */
.register-button {
	width: 100%;
	padding: 6px;
	background: linear-gradient(90deg,
			rgba(59, 130, 246, 0.4) 0%,
			rgba(59, 130, 246, 0.2) 100%);
	border: 1px solid rgba(59, 130, 246, 0.3);
	border-radius: 8px;
	color: white;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

/* Resend Code Button */
button.resend-code {
	background: none;
	border: none;
	color: var(--text-secondary);
	font-size: 14px;
	padding: 8px 12px;
	cursor: pointer;
	transition: all 0.3s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	justify-content: center;
	margin-top: 12px;
}

button.resend-code:hover:not(.disabled) {
	color: var(--accent-blue);
	transform: translateX(4px);
}

button.resend-code.disabled {
	opacity: 0.6;
	cursor: not-allowed;
	pointer-events: none;
	color: var(--text-secondary);
}

button.resend-code.loading {
	opacity: 0.7;
	cursor: wait;
	pointer-events: none;
}

/* Запазваме иконката и при disabled състояние */
button.resend-code::before {
	content: '🔄';
	font-size: 16px;
	opacity: 0.8;
}

button.resend-code.loading::before {
	content: '⌛';
}

/* ==================== PREMIUM SEND BUTTON - ULTRA GRADIENT STYLE ==================== */
/* Send Button Styling - Gradient Style with Ultra Effects */
.chat-input .submit-button.premium-send,
.chat-input .send-button.premium-send {
	padding: 8px 14px;
	height: 34px;
	font-size: 10px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.3) 0%, rgba(79, 70, 229, 0.25) 100%);
	border: 1px solid rgba(99, 102, 241, 0.4);
	color: var(--text-primary);
	display: flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	transition: all 0.3s ease;
}

.chat-input .submit-button.premium-send .send-text,
.chat-input .send-button.premium-send .send-text {
	font-size: 9px;
	font-weight: 500;
}

.chat-input .submit-button.premium-send .send-icon,
.chat-input .send-button.premium-send .send-icon {
	font-size: 10px;
}

.chat-input .submit-button.premium-send:hover,
.chat-input .send-button.premium-send:hover {
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.4) 0%, rgba(79, 70, 229, 0.35) 100%);
	border-color: rgba(99, 102, 241, 0.6);
	box-shadow:
		0 2px 8px rgba(59, 130, 246, 0.25),
		0 0 16px rgba(59, 130, 246, 0.12),
		inset 0 1px 2px rgba(255, 255, 255, 0.1);
	transform: translateY(-1px);
	-webkit-transform: translate3d(0, -1px, 0);
}



/* ==================== END CENTRALIZED INPUTS STYLES ==================== */

/* ==================== CENTRALIZED INBOX STYLES ==================== */
/* Интегрирани стилове от inbox.css за централизиран контрол */

/* Стилове за категории бар */
.chat-categories {
	display: flex;
	gap: 2px;
	padding: 8px;
	background: var(--bg-secondary);
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	opacity: 1;
	/* max-height: 48px; */
	/* Височина на категориите + padding */
	overflow: hidden;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	grid-area: categories;
	flex-shrink: 0;
	min-height: 0;
}

.chat-categories[style*="display: none"] {
	opacity: 0;
	max-height: 0;
	min-height: 0;
	height: 0;
	padding: 0;
	margin: 0;
	border: none;
	animation: slideUpFade 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* slideUpFade - moved to animations.css */

/*
.chat-categories .category-button {
	flex: 1;
	font-size: 11px;
	padding: 6px 12px;
	min-height: 32px;
}
*/
/* Стилове за празно състояние */
.premium-blocked-indicator,
.empty-state {
	padding: 24px 16px;
	text-align: center;
	color: var(--text-secondary);
	font-size: 13px;
	border: 1px dashed rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	/* margin: 16px 16px 36px 16px; */
	background: rgba(0, 0, 0, 0.2);
}

/* Стилове за празен чат */
.activity-main.empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--bg-primary);
	min-height: 100%;
	padding: 20px;
	animation: fadeIn 0.3s ease-out;
}

.empty-chat-illustration {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 100%;
	text-align: center;
	opacity: 0.7;
	transform: scale(0.9);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	margin-top: -63px;
	animation: floatAnimation 3s ease-in-out infinite;
}

.empty-chat-illustration img {
	animation: pulseScale 2s ease-in-out infinite;
	transition: transform 0.3s ease;
	width: 90%;
}

.empty-chat-illustration:hover {
	opacity: 1;
	transform: scale(1);
}

.empty-chat-illustration:hover img {
	transform: scale(1.05);
}

.empty-chat-text {
	margin-top: 16px;
	color: var(--text-secondary);
	font-size: 13px;
	text-align: center;
	animation: slideUp 0.5s ease-out forwards;
	transform: translateY(10px);
}

/* Error state specific styles */
/*
.empty-chat-illustration[data-state="error"] {
	animation: slideUp 0.4s ease-out;
}
*/
.empty-chat-illustration[data-state="error"] img {
	filter: drop-shadow(0 4px 8px rgba(239, 68, 68, 0.2));
}

.empty-chat-illustration[data-state="error"] .register-button {
	transition: all 0.3s ease;
	margin-top: 1.5rem;
	background: linear-gradient(135deg, #EF4444, #DC2626);
	border: none;
	box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}

.empty-chat-illustration[data-state="error"] .register-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(239, 68, 68, 0.4);
	background: linear-gradient(135deg, #DC2626, #B91C1C);
}

.empty-chat-illustration[data-state="error"] .register-button:active {
	transform: translateY(0);
	box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
}

/* Network error specific styles */
.empty-chat-illustration[data-error-type="network"] img {
	filter: drop-shadow(0 4px 8px rgba(245, 158, 11, 0.2));
}

.empty-chat-illustration[data-error-type="network"] .register-button {
	background: linear-gradient(135deg, #F59E0B, #D97706);
	box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}

.empty-chat-illustration[data-error-type="network"] .register-button:hover {
	background: linear-gradient(135deg, #D97706, #B45309);
	box-shadow: 0 6px 16px rgba(245, 158, 11, 0.4);
}

/* Server error specific styles */
.empty-chat-illustration[data-error-type="server"] .register-button {
	background: linear-gradient(135deg, #EF4444, #DC2626);
	box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}

/* Timeout error specific styles */
.empty-chat-illustration[data-error-type="timeout"] .register-button {
	background: linear-gradient(135deg, #8B5CF6, #7C3AED);
	box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

.empty-chat-illustration[data-error-type="timeout"] .register-button:hover {
	background: linear-gradient(135deg, #7C3AED, #6D28D9);
	box-shadow: 0 6px 16px rgba(139, 92, 246, 0.4);
}

/* fadeIn, floatAnimation, pulseScale, slideUp - moved to animations.css */

/* Dropdown меню */
.dropdown-wrapper {
	position: relative;
}

.dropdown-menu {
	position: absolute;
	top: 100%;
	right: 0;
	min-width: 200px;
	background: var(--bg-secondary);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	padding: 4px;
	margin-top: 4px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
	display: none;
	z-index: var(--z-dropdown);
}

.dropdown-wrapper:hover .dropdown-menu,
.dropdown-menu.show {
	display: block;
}

.dropdown-item {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 8px 12px;
	border: none;
	background: transparent;
	color: var(--text-primary);
	font-size: 13px;
	text-align: left;
	border-radius: 4px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.dropdown-item:hover {
	background: rgba(59, 130, 246, 0.1);
}

.dropdown-item.danger {
	color: #ef4444;
}

.dropdown-item.danger:hover {
	background: rgba(239, 68, 68, 0.1);
}

.dropdown-divider {
	height: 1px;
	background: rgba(255, 255, 255, 0.1);
	margin: 4px 0;
}

.dropdown-item .icon {
	font-size: 16px;
	opacity: 0.7;
}

.typing-indicator {
	padding: 8px 12px;
	background: rgba(59, 130, 246, 0.1);
	border-radius: 16px;
	margin: 4px 0;
	display: inline-flex;
	align-items: center;
	gap: 2px;
}

.typing-indicator span {
	width: 4px;
	height: 4px;
	background: var(--accent-blue);
	border-radius: 50%;
	display: inline-block;
	animation: typing 1s infinite;
}

.typing-indicator span:nth-child(2) {
	animation-delay: 0.2s;
}

.typing-indicator span:nth-child(3) {
	animation-delay: 0.4s;
}

/* typing - moved to animations.css */

/* ==================== END CENTRALIZED INBOX STYLES ==================== */



/* ==================== END FOOTER OVERLAP PROTECTION ==================== */




/* ==================== MAIN CONTAINER RIBBON ANIMATIONS - MOVED TO animations.css ==================== */



/* ==================== END PROFILE VIEW FOOTER SPACING ==================== */

/* Webkit scrollbar */
::-webkit-scrollbar {
	scroll-behavior: auto !important;
}



/* ==================== CHAT COMPONENTS - СВЕТЛИННИ ЕФЕКТИ ==================== */

/* Chat Header - Намалени ефекти за емоджи/аватари */
.chat-user-info .user-avatar {
	filter: drop-shadow(0 0 4px rgba(59, 130, 246, 0.2));
	transform: scale(1.025);
	transition: transform 0.3s ease;
}

/* Message Avatar - Премахнати дублиращи стилове (вече са дефинирани по-горе) */






/* Received Messages - Намалени ефекти */
.message-wrapper .message {
	box-shadow: 0 1px 3px rgba(59, 130, 246, 0.03);
	border: 1px solid rgba(59, 130, 246, 0.025);
}

/* Message Time - Намалени ефекти */
.message-wrapper .message-time {
	filter: drop-shadow(0 0 2px rgba(59, 130, 246, 0.2));
	color: rgba(59, 130, 246, 0.7);
	transition: filter 0.3s ease;
}

/* Message Text - Намалени ефекти */
.message-wrapper .message-text {
	filter: drop-shadow(0 0 1px rgba(59, 130, 246, 0.075));
	transition: filter 0.3s ease;
}

/* ================================================================== */
/* 🔔 CHAT NOTIFICATION BUBBLES SYSTEM                               */
/* ================================================================== */

/* Container за всички chat notifications */
.chat-notification-container {
	position: fixed;
	top: 20px;
	right: 7px;
	z-index: var(--z-tooltip);
	pointer-events: none;
	max-width: 220px;
	width: 100%;
}

/* Base chat notification bubble стилове - Match sidebar category-button дизайн */
.chat-notification-bubble {
	position: relative;
	width: 100%;
	height: auto;
	padding: 6px 8px;
	margin-bottom: 6px;

	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	text-align: left;

	/* Твърд фон за по-добра видимост */
	background: linear-gradient(90deg,
			rgba(26, 29, 40, 0.92),
			rgba(35, 45, 65, 0.88));
	backdrop-filter: blur(8px);
	border: 1px solid rgba(59, 130, 246, 0.2);
	border-left: 2px solid var(--accent-blue, #3b82f6);
	border-radius: 4px;

	color: var(--text-primary, #f3f4f6);
	font-size: 9px;
	cursor: pointer;

	/* Copy sidebar box-shadow effects */
	box-shadow:
		0 1px 2px rgba(59, 130, 246, 0.1),
		0 2px 8px rgba(0, 0, 0, 0.15),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);

	/* Entry/exit animations */
	pointer-events: all;
	transform: translateX(400px);
	opacity: 0;
	transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	overflow: hidden;
}

/* Copy sidebar glow effects - GPU optimized */
.chat-notification-bubble::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at center,
			rgba(59, 130, 246, 0.08) 0%,
			transparent 70%);
	opacity: 0;
	transform: scale(0.5);
	-webkit-transform: scale(0.5);
	transition: all 0.3s ease;
	pointer-events: none;
	border-radius: 4px;
}

/* Notification show анимация */
.chat-notification-bubble.show {
	transform: translateX(0);
	opacity: 1;
}

/* Notification show state - activate glow */
.chat-notification-bubble.show::after {
	opacity: 1;
	transform: scale(1);
	-webkit-transform: scale(1);
}

/* Notification hide анимация */
.chat-notification-bubble.hide {
	transform: translateX(400px);
	opacity: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
	max-height: 0;
}

/* 📱 SWIPE TO DISMISS ANIMATIONS & INTERACTIONS */

/* Enable smooth swipe transitions */
.chat-notification-bubble {
	transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),
		opacity 0.3s ease-out,
		background 0.2s ease-out;
	will-change: transform;
	touch-action: pan-x;
	cursor: grab;
}

/* Active swipe state */
.chat-notification-bubble.swiping {
	transition: none;
	cursor: grabbing;
	z-index: var(--z-footer);
}

/* Swipe dismiss animation (right slide) */
.chat-notification-bubble.swipe-dismiss {
	transform: translateX(400px) scale(0.8);
	opacity: 0;
	transition: transform 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53),
		opacity 0.4s ease-out,
		scale 0.4s ease-out;
}

/* Visual feedback за active swipe */
.chat-notification-bubble.swipe-active {
	background: linear-gradient(90deg,
			rgba(239, 68, 68, 0.1),
			rgba(239, 68, 68, 0.2)) !important;
	border-left: 2px solid rgba(239, 68, 68, 0.6) !important;
	box-shadow: 0 4px 20px rgba(239, 68, 68, 0.2) !important;
}

/* Swipe indicator arrow */
.chat-notification-bubble.swipe-indicator::after {
	content: '→';
	position: absolute;
	right: 8px;
	top: 50% !important;
	transform: translate3d(0, -50%, 0) !important;
	-webkit-transform: translate3d(0, -50%, 0) !important;
	font-size: 16px;
	color: rgba(239, 68, 68, 0.8);
	animation: swipeArrowPulse 0.6s ease-in-out infinite alternate;
	z-index: 5;
}

/* swipeArrowPulse - moved to animations.css */

/* Header на notification - match sidebar layout */
.chat-notification-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 6px;
	width: 100%;
	position: relative;
	z-index: 2;
}

/* Avatar в notification - Match app design */
.chat-notification-avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 2px solid var(--accent-blue, #3b82f6);
	object-fit: cover;
	background: var(--bg-secondary, #1a1d28);
	flex-shrink: 0;
}

/* Default avatar fallback */
.chat-notification-avatar.default,
.chat-notification-avatar[src*="default-avatar"] {
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(59, 130, 246, 0.3));
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: 500;
	color: var(--accent-blue, #3b82f6);
}

/* Error state за липсващи avatars */
.chat-notification-avatar[src=""],
.chat-notification-avatar:not([src]) {
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(59, 130, 246, 0.3));
	border: 2px solid rgba(59, 130, 246, 0.5);
}

/* User info секция */
.chat-notification-user-info {
	flex: 1;
	min-width: 0;
}

/* Username стил - Match category дизайн */
.chat-notification-username {
	font-weight: 500;
	font-size: var(--category-font-size, 9px);
	margin: 0 0 2px 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: var(--accent-blue, #3b82f6);
	background: linear-gradient(90deg, var(--accent-blue, #3b82f6), #60a5fa);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

/* 🚻 GENDER-BASED USERNAME STYLING - Uses global .male/.female classes */

/* Timestamp стил - Match category дизайн */
.chat-notification-timestamp {
	font-size: var(--category-font-size, 9px);
	color: var(--text-secondary, #9ca3af);
	margin: 0;
}

/* Message съдържание - Match category дизайн */
.chat-notification-message {
	font-size: var(--category-font-size, 9px);
	line-height: 1.4;
	margin: 4px 0 0 0;
	word-wrap: break-word;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--text-primary, #f3f4f6);
	position: relative;
	z-index: 2;
}

/* Close бутон - Match category дизайн */
.chat-notification-close {
	position: absolute;
	top: 4px;
	right: 8px;
	background: rgba(59, 130, 246, 0.1);
	border: 1px solid rgba(59, 130, 246, 0.2);
	border-radius: 50%;
	color: var(--text-secondary, #9ca3af);
	width: 20px;
	height: 20px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	transition: all 0.2s ease;
	z-index: 3;
}

.chat-notification-close:hover {
	background: rgba(59, 130, 246, 0.2);
	color: var(--accent-blue, #3b82f6);
	transform: scale(1.1);
}

/* Hover effect на цялата notification - Copy exact sidebar hover */
.chat-notification-bubble:hover:not(.swiping):not(.swipe-active) {
	/* Enhanced твърд hover фон */
	background: linear-gradient(90deg,
			rgba(30, 35, 50, 0.95),
			rgba(40, 50, 70, 0.90));
	backdrop-filter: blur(10px);
	border: 1px solid rgba(59, 130, 246, 0.2);
	border-left: 2px solid var(--accent-blue, #3b82f6);

	/* Enhanced shadows like active sidebar buttons */
	box-shadow:
		0 1px 2px rgba(59, 130, 246, 0.1),
		0 2px 8px rgba(0, 0, 0, 0.15),
		0 4px 16px rgba(59, 130, 246, 0.15),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);

	/* Subtle transform like sidebar */
	transform: translateX(-4px) translateZ(0);
}

/* Hover state - enhance glow */
.chat-notification-bubble:hover:not(.swiping):not(.swipe-active)::after {
	opacity: 1;
	transform: scale(1.1);
	-webkit-transform: scale(1.1);
}

/* Channel notifications - използвай същия стил като base */
.chat-notification-bubble.channel {
	/* Използва същия стил като base - no override needed */
}

/* Direct message notifications - твърд фон за по-добра видимост */
.chat-notification-bubble.direct {
	background: linear-gradient(90deg, rgba(28, 32, 44, 0.93), rgba(38, 48, 68, 0.89));
	backdrop-filter: blur(8px);
	border-left: 2px solid rgba(59, 130, 246, 0.9);
}

.chat-notification-bubble.direct:hover {
	background: linear-gradient(90deg, rgba(32, 38, 52, 0.96), rgba(42, 52, 72, 0.92));
	backdrop-filter: blur(10px);
}

/* Pulse анимация за нови notifications - Match category glow */
/* notificationPulse - moved to animations.css */

.chat-notification-bubble.pulse {
	animation: notificationPulse 2s ease-in-out 3;
}

/* Progress bar за auto-hide - Match category accent */
.chat-notification-progress {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--accent-blue, #3b82f6), transparent);
	border-radius: 0 0 4px 4px;
	transition: width linear;
}

/* Mobile responsive */
@media (max-width: 768px) {
	.notification-container {
		top: 10px;
		right: 10px;
		left: 10px;
		max-width: none;
	}

	.chat-notification-bubble {
		margin-bottom: 8px;
	}

	.chat-notification-message {
		-webkit-line-clamp: 2;
	}
}

/* Dark mode автоматично работи чрез CSS variables */

/* Звукова notification визуализация - Match category accent */
.chat-notification-bubble.sound-wave::before {
	content: '';
	position: absolute;
	top: -2px;
	right: -2px;
	width: 12px;
	height: 12px;
	background: var(--accent-blue, #3b82f6);
	border-radius: 50%;
	animation: soundWave 1s ease-out;
}

/* soundWave - moved to animations.css */

/* ==================== HEADER ICON STYLES (LEGACY - UNUSED) ==================== */

/* Base Header Button Icon */
.header-button-icon {
	width: 11px !important;
	height: 11px !important;
	border: 1.5px solid currentColor;
	border-radius: 50%;
	position: relative;
	transition: all 0.3s ease;
}

/* Refresh Icon Specific */
.refresh-icon {
	border-top-color: transparent;
	color: #64b5f6;
}

.refresh-icon::before {
	content: '';
	position: absolute;
	top: -2px;
	right: -1px;
	width: 0;
	height: 0;
	border-left: 3px solid currentColor;
	border-top: 2px solid transparent;
	border-bottom: 2px solid transparent;
	transition: all 0.3s ease;
}

.close-button:hover .refresh-icon {
	color: #42a5f5;
	transform: rotate(180deg);
}

/* Search Icon Specific */
.search-icon {
	color: #81c784;
}

.search-icon::after {
	content: '';
	position: absolute;
	bottom: -4px;
	right: -4px;
	width: 5px;
	height: 1.5px;
	background: currentColor;
	transform: rotate(45deg);
	border-radius: 1px;
	transition: all 0.3s ease;
}

.close-button:hover .search-icon {
	color: #66bb6a;
	transform: scale(1.1);
}

/* ==================== FLOATING ACTION BUTTON ==================== */
.floating-action-btn {
	/* Position and z-index will be set via JavaScript */
	background: linear-gradient(135deg, #ff6b6b, #ff8e53);
	color: white;
	padding: 10px 16px;
	border-radius: 20px;
	box-shadow: 0 4px 20px rgba(255, 107, 107, 0.4), 0 2px 8px rgba(0, 0, 0, 0.2);
	cursor: pointer;
	font-size: 9px;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 6px;
	backdrop-filter: blur(10px);
	border: 2px solid rgba(255, 255, 255, 0.3);
	/* Initial state - will be set by JavaScript animation */
	opacity: 0;
	white-space: nowrap;
	max-width: 200px;
	position: relative;
	overflow: hidden;
}

/* Removed pulse animation - no attention effects needed */

/* Removed shimmer, hover and active effects - clean minimal design */

.floating-action-btn .icon {
	width: 14px;
	height: 14px;
	background: currentColor;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 14l-7 7m0 0l-7-7m7 7V3'/%3E%3C/svg%3E") no-repeat center;
	mask-size: contain;
}

.floating-action-btn .count {
	background: rgba(255, 255, 255, 0.2);
	padding: 2px 8px;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 600;
	min-width: 20px;
	text-align: center;
}

/* ==================== FLOATING ACTION BUTTON VARIANTS ==================== */

/* New Messages Variant (Orange) - Default */
.floating-action-btn.new-messages {
	background: linear-gradient(135deg, #ff6b6b, #ff8e53);
	box-shadow: 0 4px 20px rgba(255, 107, 107, 0.4), 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Removed hover and active effects for clean design */

.floating-action-btn.new-messages .icon {
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 14l-7 7m0 0l-7-7m7 7V3'/%3E%3C/svg%3E") no-repeat center;
}

/* Mark All Read Variant - Unified with Social Buttons Style */
.floating-action-btn.mark-all-read {
	background: linear-gradient(90deg, rgba(34, 197, 94, 0.15) 0%, rgba(18, 20, 28, 0.95) 100%);
	border: 1px solid rgba(34, 197, 94, 0.3);
	box-shadow: 0 0 15px rgba(34, 197, 94, 0.3);
}

/* Removed hover and active effects for clean design */

.floating-action-btn.mark-all-read .icon {
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E") no-repeat center;
}

/* Guest Continue Variant - Solid green gradient (high visibility) */
/* OLD BLUE: background: linear-gradient(90deg, rgba(59, 130, 246, 0.9) 0%, rgba(37, 99, 235, 0.95) 100%); */
/* OLD BLUE: border: 2px solid rgba(59, 130, 246, 0.8); */
/* OLD BLUE: box-shadow: 0 0 30px rgba(59, 130, 246, 0.6); */
.floating-action-btn.guest-continue {
	background: linear-gradient(90deg, rgba(34, 197, 94, 0.9) 0%, rgba(22, 163, 74, 0.95) 100%);
	border: 2px solid rgba(34, 197, 94, 0.8);
	box-shadow: 0 0 30px rgba(34, 197, 94, 0.6);
	padding: 9px 36px;
	border-radius: 40px;
	font-size: 18px;
	gap: 12px;
}

.floating-action-btn.guest-continue .icon {
	width: 28px;
	height: 28px;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13 7l5 5m0 0l-5 5m5-5H6'/%3E%3C/svg%3E") no-repeat center;
}

/* ==================== STARTUP SPLASH SCREEN ==================== */
/* Пълноекранен startup screen с елегантен дизайн */

/* Body reset за пълен екран */
body:has(.startup-splash-screen),
html:has(.startup-splash-screen),
.startup-splash-screen-active {
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	width: 100vw !important;
	height: 100vh !important;
}

/* Блокира взаимодействие с всички елементи под splash screen */
body.startup-splash-screen-active * {
	pointer-events: none !important;
}

/* Разрешава взаимодействие само за splash screen елементите */
body.startup-splash-screen-active .startup-splash-screen,
body.startup-splash-screen-active .startup-splash-screen * {
	pointer-events: all !important;
}

/* Възстановява pointer-events когато splash screen е скрит */
body:not(.startup-splash-screen-active) {
	pointer-events: auto !important;
}

body:not(.startup-splash-screen-active) * {
	pointer-events: inherit !important;
}

/* 1. ОСНОВЕН КОНТЕЙНЕР - пълен екран с background */
.startup-splash-screen {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	z-index: 99999 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	box-sizing: border-box !important;
	pointer-events: all !important;

	/* Начални стойности и transition за плавно скриване */
	opacity: 1;
	transform: scale(1);
	transition: opacity 0.3s ease-out, transform 0.3s ease-out;

	/* Background градиент за цял екран */
	background: radial-gradient(circle at center,
			#1a1c28 0%,
			color-mix(in srgb, #1a1c28 90%, #0d0e12) 30%,
			#0d0e12 100%) !important;

	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

/* Error splash screen е скрит по подразбиране */
#error-splash-screen {
	display: none !important;
}

/* 2. СЪДЪРЖАНИЕ КОНТЕЙНЕР - с advanced timing */
.splash-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	position: relative;

	/* Advanced staggered появяване */
	animation: contentFadeIn 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Geometric accent elements */
.splash-content::before {
	content: '';
	position: absolute;
	top: 20%;
	left: 15%;
	width: 2px;
	height: 60px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), transparent);
	transform: rotate(45deg);
}

.splash-content::after {
	content: '';
	position: absolute;
	bottom: 25%;
	right: 20%;
	width: 40px;
	height: 2px;
	background: linear-gradient(to right, rgba(255, 255, 255, 0.08), transparent);
}

/* 3. ЛОГО КОНТЕЙНЕР - с advanced timing */
.splash-logo {
	width: 200px;
	height: 200px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 32px;
	margin-top: -60px;
	position: relative;

	/* Staggered появяване - първо логото */
	animation: logoPulse 4s ease-in-out infinite;
}

/* Minimal grid pattern зад логото */
.splash-logo::before {
	content: '';
	position: absolute;
	width: 120%;
	height: 120%;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
	background-size: 20px 20px;
	background-position: -10px -10px;
	z-index: -1;
	border-radius: 50%;
	opacity: 0;
	animation: gridFade 6s ease-in-out infinite;
}

.splash-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
	filter: brightness(1.1);
}

/* 4. ТЕКСТ КОНТЕЙНЕР - без премигване */
.splash-text {
	color: rgba(255, 255, 255, 0.6);
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-size: 16px;
	font-weight: 400;
	text-align: center;
	letter-spacing: 0.3px;
	margin-bottom: 32px;

	/* Само staggered появяване без премигване */
	opacity: 0;
	animation: textAppear 0.6s ease-out forwards;
	animation-delay: 0.3s;
}

/* 5. МОДЕРЕН LOADING INDICATOR */
.splash-loading {
	display: flex;
	justify-content: center;
	align-items: center;
}

.loading-dots {
	display: flex;
	gap: 8px;
	align-items: center;
}

.loading-dots .dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.4);
	animation: dotPulse 1.4s ease-in-out infinite both;
}

.loading-dots .dot:nth-child(1) {
	animation-delay: -0.4s;
}

.loading-dots .dot:nth-child(2) {
	animation-delay: -0.2s;
}

.loading-dots .dot:nth-child(3) {
	animation-delay: 0s;
}

/* Staggered появяване на dots - започва след текста */
.loading-dots {
	animation: dotsAppear 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	animation-delay: 0.8s;
	animation-fill-mode: both;
}

/* logoPulse, contentFadeIn, gridFade, textAppear, dotPulse, logoPulse(duplicate), dotsAppear - moved to animations.css */

/* Анимация за скриване */
.startup-splash-screen.hiding {
	opacity: 0 !important;
	transform: scale(0.95) !important;
	pointer-events: none !important;
}

/* Removed pulse animations - clean minimal design */
/* Removed pulse animations - clean minimal design */

/* ========================================
   📊 PAYMENT HISTORY TABLE
   ======================================== */

.history-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 12px;
}

.history-table th,
.history-table td {
	padding: 10px 8px;
	text-align: left;
	border-bottom: 1px solid rgba(59, 130, 246, 0.1);
	font-size: 13px;
}

.history-table th {
	background: rgba(59, 130, 246, 0.05);
	font-weight: 600;
	color: var(--accent-blue);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.history-table td {
	color: var(--text-secondary);
}

.history-table tbody tr:hover {
	background: rgba(59, 130, 246, 0.03);
}

.user-info,
.product-info {
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 13px;
	color: var(--text-secondary);
	font-weight: 500;
}

.monospace {
	font-family: 'Courier New', monospace;
	font-size: 11px;
	letter-spacing: 0.5px;
}

.status-completed {
	color: var(--success-color);
}

.status-pending {
	color: var(--warning-color);
}

.status-failed,
.status-cancelled {
	color: var(--error-color);
}

.status-refunded {
	color: var(--info-color);
}

@media (max-width: 480px) {

	.history-table th,
	.history-table td {
		padding: 8px 6px;
		font-size: 12px;
	}

	.user-info,
	.product-info {
		font-size: 12px;
	}

	.monospace {
		font-size: 10px;
	}
}

/* ==================== UNREAD MESSAGES (Same as Notifications) ==================== */
/* Messages използват ДИРЕКТНО .activity-item.unread стиловете от notifications (ред 2088) */
/* .message-wrapper.unread препраща към .activity-item.unread CSS */

.message-wrapper.unread::after {
	content: '•';
	position: absolute;
	right: 8px;
	top: 8px !important;
	transform: translate3d(0, -50%, 0) !important;
	-webkit-transform: translate3d(0, -50%, 0) !important;
	color: #ff3b3b;
	font-size: 16px;
	animation: softPulse 2s infinite;
}

/* ==================== UNREAD MESSAGES (Same as Notifications) ==================== */
/* Messages използват ДИРЕКТНО .activity-item.unread стиловете от notifications (ред 2088-2168) */
/* БЕЗ дублиране - препращаме към същите стилове */



.message-wrapper.unread::after {
	content: '•';
	position: absolute;
	right: 8px;
	top: 8px !important;
	transform: translate3d(0, -50%, 0) !important;
	-webkit-transform: translate3d(0, -50%, 0) !important;
	color: #ff3b3b;
	font-size: 16px;
	animation: softPulse 2s infinite;
}

/* New Messages Separator */
.new-messages-separator {
	position: relative;
	width: fit-content;
	/* Padding от краищата на контейнера */
	margin: 20px auto;
	padding: 5px 0px;
	color: #5865f2;
	font-size: 10px;
	/* Още по-малък текст */
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	z-index: 10;
	animation: separatorSlide 0.3s ease-out;
}

.new-messages-separator::before,
.new-messages-separator::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 80px;
	/* Ограничена дължина на линиите */
	max-width: 25vw;
	/* Не повече от 25% от viewport */
	height: 1px;
	/* Обърнат gradient: дебела част към текста, тънка навън */
	background: linear-gradient(90deg, #5865f2, transparent);
}

.new-messages-separator::before {
	right: 100%;
	margin-right: 12px;
	/* Обърнат gradient за лявата страна */
	background: linear-gradient(90deg, transparent, #5865f2);
}

.new-messages-separator::after {
	left: 100%;
	margin-left: 12px;
	/* Нормален gradient за дясната страна */
	background: linear-gradient(90deg, #5865f2, transparent);
}

@keyframes separatorSlide {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ! app-interface2.css ! */
/**
 * @fileoverview Loading Indicators CSS - Централизирани стилове за loading системата
 * @version 2.0.0
 * @author Deyan Ivanov
 * @description Стилове за main-spinner, container-spinner и loading-container
 */

/* ==================== MAIN SPINNER (GLOBAL) - 2025 MOBILE STANDARDS ==================== */

/* Глобален индикатор за зареждане с модерни анимации */
/* ==================== MAIN SPINNER - MOVED TO animations.css ==================== */
/* 🎯 All main spinner styles moved to @animations.css for centralization */
/* 📋 See: animations.css lines 1775+ for main spinner CSS */

/* ==================== SEARCH ACTIVITY STYLES ==================== */

.activity-view.search-activity.slide-layout {
	background: var(--bg-primary);
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	display: flex;
	flex-direction: column;
	z-index: 1000;
}

.activity-view.search-activity.slide-layout .activity-container {
	flex: 1;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr;
	height: 100%;
}

.activity-view.search-activity.slide-layout .activity-title h2 {
	font-size: 14px;
	font-weight: 500;
}

.activity-view.search-activity.slide-layout .activity-main {
	height: 100%;
	flex: 1;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	background: var(--bg-primary);
}

.activity-view.search-activity.slide-layout .search-results-content {
	flex: 1;
	overflow-y: auto;
	padding: 16px;
}

.activity-view.search-activity.slide-layout .search-results-grid {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 12px;
	padding-bottom: calc(12px + var(--footer-safe-area));
	background: var(--bg-primary);
}

.activity-view.search-activity.slide-layout .search-results-grid.grid-view {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 28px;
	box-sizing: border-box;
}

.activity-view.search-activity.slide-layout .search-results-grid .col.card:first-child {
	margin-top: 54px;
}

@media (min-width: 768px) {
	.activity-view.search-activity.slide-layout .search-results-grid.grid-view {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.activity-view.search-activity.slide-layout .search-results-grid.grid-view {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1440px) {
	.activity-view.search-activity.slide-layout .search-results-grid.grid-view {
		grid-template-columns: repeat(4, 1fr);
	}
}

.activity-view.search-activity.slide-layout .search_result {
	background: var(--bg-secondary);
	border-radius: 12px;
	overflow: hidden;
	position: relative;
	opacity: 0;
	transform: translateY(10px);
	animation: fadeInUp 0.5s ease forwards;
	display: flex;
	flex-direction: row;
	height: auto;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	max-width: 100%;
}

.activity-view.search-activity.slide-layout .search_result:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

.activity-view.search-activity.slide-layout .search_result.vip_background {
	background: linear-gradient(135deg, var(--bg-secondary), rgba(218, 165, 32, 0.2));
	box-shadow: 0 4px 15px rgba(218, 165, 32, 0.3);
}

.activity-view.search-activity.slide-layout .profile_img {
	width: 45%;
	min-width: 180px;
	max-width: 45%;
	height: auto;
	min-height: 260px;
	max-height: 280px;
	position: relative;
	overflow: hidden;
	flex-shrink: 0;
}

.activity-view.search-activity.slide-layout .profile_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.activity-view.search-activity.slide-layout .search_result:hover .profile_img img {
	/*transform: scale(1.05);*/
}

.activity-view.search-activity.slide-layout .profile_info {
	padding: 14px;
	display: flex;
	flex-direction: column;
	background: var(--bg-secondary);
	position: relative;
	flex: 1;
	min-width: 0;
	justify-content: flex-start;
	overflow: hidden;
}

.activity-view.search-activity.slide-layout .user-header {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.activity-view.search-activity.slide-layout .user-name-row {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.activity-view.search-activity.slide-layout .user-name-age {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 1;
}

.activity-view.search-activity.slide-layout .male-nickname,
.activity-view.search-activity.slide-layout .female-nickname,
.activity-view.search-activity.slide-layout .male,
.activity-view.search-activity.slide-layout .female {
	font-size: 0.95em;
	font-weight: 600;
	color: var(--text-primary);
	line-height: 1.2;
	max-width: 85%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.activity-view.search-activity.slide-layout .female,
.activity-view.search-activity.slide-layout .female-nickname {
	color: #ff69b4;
}

.activity-view.search-activity.slide-layout .male,
.activity-view.search-activity.slide-layout .male-nickname {
	color: #3498db;
}

.activity-view.search-activity.slide-layout .user-age {
	font-size: 1em;
	font-weight: 500;
	color: var(--text-primary);
	background: rgba(59, 130, 246, 0.2);
	padding: 4px 12px;
	border-radius: 12px;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 45px;
}

.activity-view.search-activity.slide-layout .last-login {
	font-size: 0.65em;
	color: var(--text-secondary);
	opacity: 0.65;
	white-space: nowrap;
}

.activity-view.search-activity.slide-layout .user-location {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--text-secondary);
	font-size: 0.9em;
}

.activity-view.search-activity.slide-layout .user-location::before {
	content: '📍';
	font-size: 1em;
}

.activity-view.search-activity.slide-layout .user-stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;
	margin-top: 10px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	overflow: hidden;
}

.activity-view.search-activity.slide-layout .stat-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 8px;
	background: var(--bg-secondary);
}

.activity-view.search-activity.slide-layout .stat-item.stat-city {
	/* City takes only left column, aligns with AGE */
}

.activity-view.search-activity.slide-layout .stat-item.stat-empty {
	/* Empty placeholder cell - visible but no content */
}

.activity-view.search-activity.slide-layout .stat-item.stat-small {
	padding: 6px;
}

.activity-view.search-activity.slide-layout .stat-label {
	font-size: 0.6em;
	color: var(--text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.activity-view.search-activity.slide-layout .stat-value {
	font-size: 0.85em;
	font-weight: 500;
	color: var(--text-primary);
}

.activity-view.search-activity.slide-layout .stat-value.male {
	color: #3498db;
	font-weight: 700;
}

.activity-view.search-activity.slide-layout .stat-value.female {
	color: #ff69b4;
	font-weight: 700;
}

.activity-view.search-activity.slide-layout .stat-full-width {
	grid-column: 1 / -1;
}

.activity-view.search-activity.slide-layout .empty-state-message {
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px 20px;
	text-align: center;
	min-height: 300px;
	gap: 16px;
}

.activity-view.search-activity.slide-layout .empty-state-message.visible {
	display: flex;
}

.activity-view.search-activity.slide-layout .no-results-icon {
	font-size: 48px;
	margin-bottom: 16px;
}

.activity-view.search-activity.slide-layout .empty-state-message h3 {
	font-size: 1.5em;
	font-weight: 500;
	color: var(--text-primary);
	margin-bottom: 8px;
}

.activity-view.search-activity.slide-layout .empty-state-message p {
	color: var(--text-secondary);
	max-width: 80%;
	margin-bottom: 20px;
}

.activity-view.search-activity.slide-layout .try-again-btn {
	margin-top: 16px;
}

.activity-view.search-activity.slide-layout .col.card {
	width: 100%;
	box-sizing: border-box;
	max-width: 100%;
	overflow: hidden;
}

.activity-view.search-activity.slide-layout .loading-more {
	display: none;
}

.activity-view.search-activity.slide-layout .loading-more.visible {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
	gap: 12px;
}

.activity-view.search-activity.slide-layout .spinner {
	width: 40px;
	height: 40px;
	border: 4px solid rgba(255, 255, 255, 0.1);
	border-left-color: #3498db;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

.activity-view.search-activity.slide-layout .loading {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px;
	gap: 20px;
	min-height: 300px;
}

.activity-view.search-activity.slide-layout .search-results-end-message {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: calc(76px + var(--footer-safe-area));
	grid-column: 1 / -1;
	/* Съобщението да заема цялата ширина на grid layout */
}

.activity-view.search-activity.slide-layout .end-message-content {
	text-align: center;
	padding: 10px 20px;
	border-radius: 20px;
	background: var(--bg-secondary);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	opacity: 0.7;
}

.activity-view.search-activity.slide-layout .end-message-content p {
	color: var(--text-secondary);
	font-size: 0.9em;
}

/* Missing gradientMove animation for search header */
/* gradientMove, fadeInUp, spin - moved to animations.css */

/* ! search.css ! */

