/**
 * Личный кабинет — общий слой: оболочка, скелетон, ховеры по токенам.
 * tokens.css + dashboard-sidebar.css
 */

/* --- Shell --- */
.dashboard-header-main-wrap:not(.agency-form),
.dashboard-content-wrap:not(.agency-form) {
	background-color: var(--color-white);
}

.dashboard-header-wrap,
.header_paid_services .header_paid_services_row {
	padding: var(--dashboard-header-padding, 35px 40px 0 38px);
}

.dashboard-content-inner-wrap {
	min-height: 500px;
	padding: var(--dashboard-content-padding, 25px 27px 35px 38px);
}

.dashboard-content-wrap .dashboard-content-block {
	border: 1px solid var(--border-default);
	border-radius: var(--radius-md);
	box-shadow: none;
	padding: var(--dashboard-card-padding, 30px);
}

.dashboard-content-wrap .dashboard-content-block.activities-list-wrap {
	border: none;
	box-shadow: none;
	padding: 0;
}

.dashboard-content-wrap .btn:not(.btn-slim),
.dashboard-content-wrap .pages-btn,
.dashboard-header-wrap .btn:not(.btn-slim),
.header_paid_services .btn:not(.btn-slim) {
	min-height: var(--but-card-height, 40px);
	border-radius: var(--radius);
}

.section-board .horizontal-tab-content > .tab-pane.active {
	min-height: 280px;
}

/* --- Modals: базовый стандарт ЛК ---
   Padding задаётся в файлах конкретных модалок: часть кладёт его на
   .modal-content, часть — на header/body/footer. */
body.houzez-dashboard .modal-content {
	border: none;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-modal);
}

body.houzez-dashboard .modal-header,
body.houzez-dashboard .modal-footer {
	border: none;
}

body.houzez-dashboard .modal-title {
	font-family: var(--font-family);
	font-size: var(--text-2xl);
	font-weight: var(--weight-bold);
	line-height: var(--leading-heading);
	color: var(--color-heading);
}

body.houzez-dashboard .modal-content .close:focus-visible {
	outline: none;
	box-shadow: var(--shadow-primary);
}

/* --- Skeleton primitives --- */
.hr-dash-skel {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	padding: 4px 0;
}

.hr-dash-skel__card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px 18px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-md);
	background: var(--color-white);
}

.hr-dash-skel__row {
	display: flex;
	align-items: center;
	gap: 12px;
}

.hr-dash-skel__avatar {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--color-blend);
}

.hr-dash-skel__lines {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.hr-dash-skel__line {
	display: block;
	height: 10px;
	width: 100%;
	border-radius: var(--radius);
	background: var(--color-blend);
	position: relative;
	overflow: hidden;
}

.hr-dash-skel__line--short {
	width: 42%;
}

.hr-dash-skel__line--mid {
	width: 68%;
}

.hr-dash-skel--chart {
	height: 100%;
	min-height: 180px;
	justify-content: flex-end;
	gap: 8px;
	padding: 16px 8px 8px;
}

.hr-dash-skel--chart .hr-dash-skel__line--chart {
	height: auto;
	flex: 1;
	width: 100%;
	border-radius: var(--radius-sm);
}

.hr-dash-skel__avatar,
.hr-dash-skel__line {
	background-image: linear-gradient(
		90deg,
		var(--color-blend) 0%,
		#e9ecef 35%,
		#ffffff 50%,
		#e9ecef 65%,
		var(--color-blend) 100%
	);
	background-size: 200% 100%;
	background-repeat: no-repeat;
	animation: hr-dash-shimmer 1.2s ease-in-out infinite;
}

@keyframes hr-dash-shimmer {
	0% {
		background-position: 100% 0;
	}
	100% {
		background-position: -100% 0;
	}
}

/* Board: skeleton in flow so tab height does not collapse */
.section-board .tab-pane > .preloader-wrap {
	position: relative;
	top: auto;
	bottom: auto;
	left: auto;
	right: auto;
	height: auto;
	min-height: 280px;
	width: 100%;
	margin: 0;
	padding: 12px 0 0;
	align-items: stretch;
	justify-content: flex-start;
	background: transparent;
}

.section-board .tab-pane > .preloader-wrap.hidden {
	display: none;
}

.section-board .tab-pane > .preloader-wrap img.preloader,
.section-board .tab-pane > .preloader-wrap > span.preloader {
	display: none;
}

/* Statistics: overlay inside reserved canvas height */
.canvas-wrap .preloader-wrap,
.chart-container-wrap .preloader-wrap {
	position: absolute;
	inset: 0;
	height: auto;
	min-height: 0;
	background: var(--color-white);
	align-items: stretch;
	justify-content: flex-start;
	z-index: 2;
}

.canvas-wrap .preloader-wrap.hidden,
.chart-container-wrap .preloader-wrap.hidden {
	display: none;
}

.canvas-wrap .preloader-wrap > span.preloader,
.chart-container-wrap .preloader-wrap > span.preloader {
	display: none;
}

/* JS-injected PNG wrap without skeleton markup */
.dashboard-content-wrap .preloader-wrap:not(:has(.hr-dash-skel)) img.preloader {
	opacity: 0;
	width: 0;
	height: 0;
	position: absolute;
}

.dashboard-content-wrap .preloader-wrap:not(:has(.hr-dash-skel))::after {
	content: '';
	display: block;
	width: 100%;
	min-height: 72px;
	border-radius: var(--radius-md);
	background-image: linear-gradient(
		90deg,
		var(--color-blend) 0%,
		#e9ecef 35%,
		#ffffff 50%,
		#e9ecef 65%,
		var(--color-blend) 100%
	);
	background-size: 200% 100%;
	animation: hr-dash-shimmer 1.2s ease-in-out infinite;
}

.dashboard-content-wrap .preloader-wrap:has(.hr-dash-skel)::after {
	display: none;
	animation: none;
}

/* Form search: hide GIF, shimmer bar */
.dashboard-content-wrap .d_add .preloader,
.dashboard-content-wrap .d_add_dop .preloader,
.dashboard-content-wrap .workplace_wrap .preloader,
.dashboard-content-wrap .work_place_result_wrap .preloader {
	min-height: 8px;
	overflow: hidden;
}

.dashboard-content-wrap .d_add .preloader img,
.dashboard-content-wrap .d_add_dop .preloader img,
.dashboard-content-wrap .workplace_wrap .preloader img,
.dashboard-content-wrap .work_place_result_wrap .preloader img {
	display: none;
}

.dashboard-content-wrap .d_add .preloader::after,
.dashboard-content-wrap .d_add_dop .preloader::after,
.dashboard-content-wrap .workplace_wrap .preloader::after,
.dashboard-content-wrap .work_place_result_wrap .preloader::after {
	content: '';
	display: block;
	height: 8px;
	width: 120px;
	max-width: 100%;
	border-radius: var(--radius);
	background-image: linear-gradient(
		90deg,
		var(--color-blend) 0%,
		#e9ecef 35%,
		#ffffff 50%,
		#e9ecef 65%,
		var(--color-blend) 100%
	);
	background-size: 200% 100%;
	animation: hr-dash-shimmer 1.2s ease-in-out infinite;
}

/* --- Micro-interactions --- */
.dashboard-content-wrap .btn,
.dashboard-content-wrap .pages-btn,
.dashboard-content-wrap .nav-link,
.dashboard-header-wrap .btn,
.cont_link_chapter.dashboard .link_chapter_a,
.dashboard-mobile-edit-menu-wrap .dropdown-toggle {
	transition:
		background var(--transition),
		border-color var(--transition),
		box-shadow var(--transition),
		color var(--transition),
		transform var(--transition);
}

.dashboard-content-wrap .btn:focus-visible,
.dashboard-content-wrap .pages-btn:focus-visible,
.dashboard-content-wrap .nav-link:focus-visible,
.dashboard-header-wrap .btn:focus-visible,
.dashboard-content-wrap .form-control:focus-visible,
.dashboard-mobile-edit-menu-wrap .dropdown-toggle:focus-visible,
.section-board .subscribe-tg-and-filer-wrap select:focus-visible {
	outline: none;
	box-shadow: var(--shadow-primary);
}

.dashboard-content-wrap .btn:active,
.dashboard-content-wrap .pages-btn:active,
.cont_link_chapter.dashboard .link_chapter_a:active {
	transform: scale(0.98);
}

@media (hover: hover) {
	.dashboard-content-wrap .btn-primary:hover,
	.dashboard-header-wrap .btn-primary:hover {
		background-color: var(--hover-button);
		border-color: var(--hover-button);
	}

	.section-board .nav-tabs .nav-link:hover {
		color: var(--color-heading);
		background: transparent;
	}

	.dashboard-content-wrap a.dashboard-content-block:hover,
	.promo_body:hover,
	.your_b_c_b:hover {
		border-color: var(--color-purple);
	}
}

/* Board tabs */
.section-board .nav-tabs .nav-link {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	border: none;
	color: var(--color-muted);
}

.section-board .nav-tabs .nav-link.active {
	color: var(--color-heading);
}

/* Board mobile tab select */
.section-board .subscribe-tg-and-filer-wrap select {
	min-height: 44px;
	transition: border-color var(--transition), box-shadow var(--transition);
}

/* Mobile horizontal nav */
.cont_link_chapter.dashboard .link_chapter {
	height: auto;
	min-height: 44px;
	margin-top: 8px;
	padding-top: 0;
	scroll-padding-inline: 15px;
}

.cont_link_chapter.dashboard .link_chapter_a {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
}

@media (hover: hover) {
	.cont_link_chapter.dashboard .link_chapter_a:hover {
		background: var(--color-gray);
		color: var(--color-heading);
		border-color: var(--color-gray);
	}
}

/* Mobile edit-property menu */
.dashboard-mobile-edit-menu-wrap .bootstrap-select > .dropdown-toggle {
	min-height: 44px;
	display: flex;
	align-items: center;
}

@media (max-width: 991.98px) {
	.dashboard-content-wrap:not(.agency-form) {
		overflow-x: clip;
	}

	.dashboard-header-wrap,
	.header_paid_services .header_paid_services_row {
		padding: 20px 30px;
	}

	.dashboard-content-inner-wrap {
		padding: 20px 30px 35px;
	}
}

@media (max-width: 767.98px) {
	.dashboard-header-wrap,
	.header_paid_services .header_paid_services_row {
		padding: 15px;
	}

	.dashboard-content-inner-wrap {
		padding: 15px;
	}

	.dashboard-content-wrap .dashboard-content-block {
		padding: 16px;
	}

	.dashboard-content-wrap .dashboard-content-block.activities-list-wrap {
		padding: 0;
	}

	.section-board .nav-tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.section-board .nav-tabs::-webkit-scrollbar {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dashboard-content-wrap .btn,
	.dashboard-content-wrap .pages-btn,
	.dashboard-content-wrap .nav-link,
	.dashboard-header-wrap .btn,
	.cont_link_chapter.dashboard .link_chapter_a,
	.hr-dash-skel__avatar,
	.hr-dash-skel__line,
	.dashboard-content-wrap .preloader-wrap:not(:has(.hr-dash-skel))::after,
	.dashboard-content-wrap .d_add .preloader::after,
	.dashboard-content-wrap .d_add_dop .preloader::after,
	.dashboard-content-wrap .workplace_wrap .preloader::after,
	.dashboard-content-wrap .work_place_result_wrap .preloader::after {
		transition: none;
		animation: none;
	}

	.hr-dash-skel__avatar,
	.hr-dash-skel__line,
	.dashboard-content-wrap .preloader-wrap:not(:has(.hr-dash-skel))::after,
	.dashboard-content-wrap .d_add .preloader::after,
	.dashboard-content-wrap .d_add_dop .preloader::after,
	.dashboard-content-wrap .workplace_wrap .preloader::after,
	.dashboard-content-wrap .work_place_result_wrap .preloader::after {
		background-image: none;
		background-color: var(--color-blend);
	}

	.dashboard-content-wrap .btn:active,
	.dashboard-content-wrap .pages-btn:active,
	.cont_link_chapter.dashboard .link_chapter_a:active {
		transform: none;
	}
}
