

/* Start:/local/templates/ds_platform/css/styles.css?177486533113886*/
/* DS IT Platform — единая дизайн-система */
/* Брендбук DS identity 2023, DS_color.pdf — все цвета палитры */

/* ========== DESIGN TOKENS ========== */
:root {
	/* Modern tech palette with restrained green accent */
	--ds-primary: #8fd45b;
	--ds-primary-hover: #7ec54b;
	--ds-primary-soft: #a7de7a;
	--ds-primary-muted: rgba(143, 212, 91, 0.16);
	--ds-primary-border: rgba(143, 212, 91, 0.3);
	--ds-primary-border-active: rgba(143, 212, 91, 0.5);
	--ds-primary-subtle: rgba(143, 212, 91, 0.08);
	--ds-primary-focus: rgba(143, 212, 91, 0.22);
	--ds-primary-pulse: rgba(143, 212, 91, 0.55);
	--ds-accent: #4da3ff;
	--ds-accent-hover: #338ff2;
	--ds-accent-muted: rgba(77, 163, 255, 0.15);
	--ds-accent-border: rgba(77, 163, 255, 0.35);
	--ds-neutral: #1f2937;
	--ds-neutral-dark: #111827;
	--ds-primary-text: #07130a;
	--ds-accent-text: #ffffff;

	--ds-bg-page: #0b1220;
	--ds-bg-card: #101a2d;
	--ds-header-bg: #0b1220;
	--ds-sidebar-bg: #0e1728;
	--ds-sidebar-hover: rgba(255, 255, 255, 0.06);
	--ds-sidebar-active: rgba(143, 212, 91, 0.14);

	/* Текст */
	--ds-text: #e6edf8;
	--ds-text-muted: #9fb0cb;
	--ds-text-tertiary: #7386a6;
	--ds-text-inverse: #ffffff;

	--ds-border: #24324a;
	--ds-border-light: #1a273b;
	--ds-bg-tertiary: #0f1a2d;
	--ds-radius: 10px;
	--ds-radius-lg: 14px;
	--ds-radius-xl: 18px;
	--ds-radius-2xl: 22px;
	--ds-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.18);
	--ds-shadow: 0 8px 26px rgba(0, 0, 0, 0.28), 0 2px 8px rgba(0, 0, 0, 0.14);
	--ds-shadow-lg: 0 16px 42px rgba(0, 0, 0, 0.34), 0 4px 12px rgba(0, 0, 0, 0.16);
	--ds-shadow-xl: 0 24px 60px rgba(0, 0, 0, 0.4);
	/* Статусы (бейджи) — DS_color + семантика */
	--ds-status-success: var(--ds-primary);
	--ds-status-success-bg: var(--ds-primary-muted);
	--ds-status-warning: var(--ds-accent);
	--ds-status-warning-bg: var(--ds-accent-muted);
	--ds-status-danger: var(--ds-accent);
	--ds-status-danger-bg: var(--ds-accent-muted);
	--ds-status-info: var(--ds-accent);
	--ds-status-info-bg: var(--ds-accent-muted);
	/* Шкала отступов для полного использования пространства */
	--ds-space-1: 4px;
	--ds-space-2: 8px;
	--ds-space-3: 12px;
	--ds-space-4: 16px;
	--ds-space-5: 20px;
	--ds-space-6: 24px;
	--ds-space-8: 32px;
	--ds-space-10: 40px;
	--ds-space-12: 48px;
	--ds-space-16: 64px;
	/* Длительности и кривые анимаций (единый источник для styles + animations) */
	--ds-duration: 280ms;
	--ds-duration-instant: 120ms;
	--ds-duration-fast: 200ms;
	--ds-duration-slow: 400ms;
	--ds-ease-out: cubic-bezier(0.33, 1, 0.68, 1);
	--ds-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
	--ds-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

	/* Совместимость с существующими файлами */
	--color-primary: var(--ds-primary);
	--color-primary-dark: var(--ds-primary-hover);
	--text-primary: var(--ds-text);
	--text-secondary: var(--ds-text-muted);
	--text-tertiary: var(--ds-text-tertiary);
	--text-inverse: var(--ds-text-inverse);
	--border-color: var(--ds-border);
	--border-color-light: var(--ds-border-light);
	--card-border: var(--ds-border);
	--bg-primary: var(--ds-bg-card);
	--bg-tertiary: var(--ds-bg-tertiary);
	--shadow-md: var(--ds-shadow);
	--shadow-lg: var(--ds-shadow-lg);
}

/* ========== BASE ========== */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: 'Manrope', 'PT Root UI', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ds-text);
	background: radial-gradient(1200px 540px at 82% -120px, rgba(143, 212, 91, 0.14) 0%, transparent 58%), var(--ds-bg-page);
	-webkit-font-smoothing: antialiased;
}

a {
	color: var(--ds-accent);
	text-decoration: none;
	transition: color 0.2s ease;
}

a:hover {
	color: var(--ds-accent-hover);
}

.ds-wrapper {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

/* ========== HEADER ========== */
.ds-header {
	background: rgba(11, 18, 32, 0.88);
	backdrop-filter: blur(10px);
	color: var(--ds-text-inverse);
	height: 56px;
	padding: 0 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
	position: sticky;
	top: 0;
	z-index: 1000;
	transition: box-shadow 0.35s var(--ds-ease-out), background 0.3s ease;
}

.ds-header.ds-header--scrolled {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.ds-header__left {
	display: flex;
	align-items: center;
	gap: 16px;
}

.ds-header__right {
	display: flex;
	align-items: center;
	gap: 12px;
}

/* Кабинет ФК: Профиль партнера, копирование реф.ссылки, статус, счетчик */
.ds-header-fc {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-right: 16px;
	padding-right: 16px;
	border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.ds-header-fc__profile {
	color: var(--ds-text-inverse);
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	transition: opacity 0.2s;
}
.ds-header-fc__profile:hover {
	opacity: 0.9;
}

.ds-header-fc__copy-ref {
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	font-size: 13px;
	font-weight: 500;
	color: var(--ds-header-bg);
	background: var(--ds-primary);
	border: none;
	border-radius: var(--ds-radius);
	cursor: pointer;
	transition: background 0.2s, transform 0.1s;
}
.ds-header-fc__copy-ref:hover {
	background: var(--ds-primary-hover);
}
.ds-header-fc__copy-ref:active {
	transform: scale(0.98);
}

.ds-header-fc__status {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.9);
}

.ds-header-fc__countdown {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.75);
}

@media (max-width: 900px) {
	.ds-header-fc {
		gap: 10px;
		margin-right: 10px;
		padding-right: 10px;
	}
	.ds-header-fc__profile { font-size: 13px; }
	.ds-header-fc__copy-ref { padding: 5px 10px; font-size: 12px; }
	.ds-header-fc__status,
	.ds-header-fc__countdown { font-size: 12px; }
}

.ds-logo__link {
	color: var(--ds-text-inverse);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: opacity 0.2s;
}

.ds-logo__link:hover {
	opacity: 0.9;
}

/* Кнопка мобильного меню */
.ds-mobile-menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: transparent;
	border: none;
	color: var(--ds-text-inverse);
	border-radius: var(--ds-radius);
	cursor: pointer;
	transition: background 0.2s;
}

.ds-mobile-menu-toggle:hover {
	background: var(--ds-sidebar-hover);
}

/* ========== LAYOUT ========== */
.ds-container {
	display: flex;
	flex: 1;
	overflow: hidden;
}

.ds-main {
	flex: 1;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: transparent;
	min-width: 0;
}

/* Контент на всю доступную ширину, с комфортными отступами */
.ds-content {
	flex: 1;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding: var(--ds-space-8) var(--ds-space-10) var(--ds-space-12);
	overflow-y: auto;
	overflow-x: hidden;
	position: relative;
	background: transparent;
	transition: padding var(--ds-duration) var(--ds-ease-out);
}

@media (min-width: 1400px) {
	.ds-content {
		padding: var(--ds-space-8) 56px var(--ds-space-16);
	}
}

@media (min-width: 1600px) {
	.ds-content {
		padding: var(--ds-space-10) 64px 80px;
	}
}

.ds-content::before {
	content: '';
	position: fixed;
	inset: 0;
	top: 56px;
	left: 260px;
	right: 0;
	bottom: 0;
	background-image: radial-gradient(ellipse 80% 45% at 60% 0%, rgba(143, 212, 91, 0.12) 0%, transparent 56%);
	pointer-events: none;
	z-index: 0;
}

.ds-content--compact {
	padding: 24px 32px 40px;
}

/* ========== SIDEBAR ========== */
.ds-sidebar {
	width: 260px;
	background: var(--ds-sidebar-bg);
	color: var(--ds-text-inverse);
	overflow-y: auto;
	overflow-x: hidden;
	flex-shrink: 0;
	border-right: 1px solid var(--ds-border);
}

.ds-sidebar::-webkit-scrollbar {
	width: 6px;
}

.ds-sidebar::-webkit-scrollbar-track {
	background: transparent;
}

.ds-sidebar::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.15);
	border-radius: 3px;
}

.ds-sidebar::-webkit-scrollbar-thumb:hover {
	background: rgba(255, 255, 255, 0.25);
}

/* Навигация */
.ds-nav {
	padding: 12px 0;
}

.ds-nav__section {
	margin-bottom: 20px;
}

.ds-nav__title {
	padding: 6px 16px 8px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.45);
}

.ds-nav__list {
	list-style: none;
}

.ds-nav__item {
	margin: 0 8px 2px;
}

.ds-nav__link {
	display: flex;
	align-items: center;
	padding: 10px 14px;
	color: var(--ds-text-muted);
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	border-radius: var(--ds-radius);
	transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease, padding-left 0.2s ease, border-left-color 0.2s ease, box-shadow 0.2s ease;
	border-left: 3px solid transparent;
}

.ds-nav__link:hover {
	background: var(--ds-sidebar-hover);
	color: var(--ds-text-inverse);
	padding-left: 18px;
	border-left-color: var(--ds-primary);
	box-shadow: inset 0 0 0 1px rgba(143, 212, 91, 0.16);
}

.ds-nav__link--active {
	background: var(--ds-sidebar-active);
	color: var(--ds-text);
	box-shadow: inset 0 0 0 1px var(--ds-primary-border-active);
	border-left-color: var(--ds-primary);
}

.ds-nav__icon {
	margin-right: 12px;
	font-size: 18px;
	width: 22px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.9;
}

.ds-nav__text {
	flex: 1;
}

/* ========== CARDS & GRID ========== */
.ds-cards-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: var(--ds-space-4);
	margin-top: var(--ds-space-5);
}

@media (min-width: 1200px) {
	.ds-cards-grid {
		gap: var(--ds-space-5);
		margin-top: var(--ds-space-6);
	}
}

@media (min-width: 1600px) {
	.ds-cards-grid {
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
		gap: var(--ds-space-6);
	}
}

.ds-card {
	background: var(--ds-bg-card);
	border-radius: var(--ds-radius-lg);
	padding: var(--ds-space-6);
	box-shadow: var(--ds-shadow-sm);
	border: 1px solid var(--ds-border);
	transition: transform 0.28s cubic-bezier(0.33, 1, 0.68, 1), box-shadow 0.28s ease, border-color 0.2s ease;
}

.ds-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--ds-shadow-lg);
	border-color: var(--ds-primary-border);
}

.ds-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.ds-card__title {
	font-size: 13px;
	font-weight: 500;
	color: var(--ds-text-muted);
	margin: 0;
}

.ds-card__icon {
	opacity: 0.7;
}

.ds-card__value {
	font-size: 26px;
	font-weight: 600;
	color: var(--ds-text);
	margin-bottom: 6px;
	letter-spacing: -0.02em;
}

.ds-card__change {
	display: flex;
	align-items: center;
	font-size: 12px;
	color: var(--ds-text-muted);
	gap: 4px;
}

.ds-card__change--positive {
	color: var(--ds-text);
}

.ds-card__change--negative {
	color: var(--ds-accent);
}

.ds-card__arrow {
	flex-shrink: 0;
}

/* ========== STATUS BADGES ========== */
.ds-status {
	display: inline-flex;
	align-items: center;
	padding: 5px 10px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 500;
}

.ds-status--success {
	background: var(--ds-primary-muted);
	color: var(--ds-primary-text);
}

.ds-status--warning,
.ds-status--info {
	background: var(--ds-accent-muted);
	color: var(--ds-accent);
}

.ds-status-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	margin-right: 6px;
}

.ds-status-dot--green { background: var(--ds-primary); }
.ds-status-dot--orange { background: var(--ds-accent); }

/* ========== PAGE SHELL ========== */
.dashboard-page {
	width: 100%;
	max-width: 100%;
	margin: 0;
	position: relative;
	z-index: 1;
}

.dashboard-page-title {
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 20px;
	color: var(--ds-text);
}

/* ========== UTILITIES ========== */
.ds-text-center { text-align: center; }
.ds-mt-16 { margin-top: 16px; }
.ds-mb-16 { margin-bottom: 16px; }
.ds-mt-24 { margin-top: 24px; }
.ds-mb-24 { margin-bottom: 24px; }

/* Уважение к настройке «Уменьшить движение» */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* ========== RESPONSIVE ========== */
@media (max-width: 768px) {
	.ds-mobile-menu-toggle {
		display: flex;
	}

	.ds-header {
		padding: 0 16px;
		height: 52px;
	}

	.ds-logo__link {
		font-size: 15px;
	}

	.ds-container {
		flex-direction: column;
	}

	.ds-sidebar {
		width: 100%;
		max-width: 320px;
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		z-index: 999;
		box-shadow: var(--ds-shadow-lg);
		border-right: none;
		transform: translateX(-100%);
		transition: transform 0.3s var(--ds-ease-out);
		overflow-y: auto;
	}

	.ds-sidebar--open {
		transform: translateX(0);
	}

	.ds-nav__link {
		padding: 12px 16px;
		font-size: 15px;
	}

	.ds-content {
		padding: 20px 16px 80px;
	}

	.ds-content::before {
		left: 0;
	}

	.ds-cards-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.ds-card {
		padding: 16px;
		border-radius: var(--ds-radius);
	}

	.ds-card__value {
		font-size: 22px;
	}
}

@media (max-width: 480px) {
	.ds-header {
		padding: 0 12px;
		height: 48px;
	}

	.ds-logo__link {
		font-size: 14px;
	}

	.ds-sidebar {
		top: 48px;
	}

	.ds-sidebar--open {
		max-height: calc(100vh - 48px);
	}

	.ds-content {
		padding: 12px;
		padding-bottom: 72px;
	}

	.ds-card__value {
		font-size: 20px;
	}

	.ds-nav__link {
		padding: 10px 14px;
		font-size: 14px;
	}
}

#panel {
	position: relative;
	z-index: 10000;
}

/* End */


/* Start:/local/templates/ds_platform/css/animations.css?17705004095631*/
/* DS Platform — анимации и переходы (токены в styles.css) */

/* ========== KEYFRAMES ========== */
@keyframes ds-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes ds-fade-in-up {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes ds-fade-in-down {
	from {
		opacity: 0;
		transform: translateY(-12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes ds-scale-in {
	from {
		opacity: 0;
		transform: scale(0.96);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes ds-slide-in-right {
	from {
		opacity: 0;
		transform: translateX(12px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes ds-progress-fill {
	from { transform: scaleX(0); }
	to { transform: scaleX(1); }
}

@keyframes ds-shimmer {
	0% { background-position: -200% 0; }
	100% { background-position: 200% 0; }
}

@keyframes ds-pulse-soft {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.85; }
}

@keyframes ds-row-in {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ========== ANIMATION CLASSES ========== */
.ds-animate-fade-in {
	animation: ds-fade-in var(--ds-duration) var(--ds-ease-out) forwards;
}

.ds-animate-fade-in-up {
	animation: ds-fade-in-up var(--ds-duration-slow) var(--ds-ease-out) forwards;
}

.ds-animate-scale-in {
	animation: ds-scale-in var(--ds-duration) var(--ds-ease-spring) forwards;
}

/* Stagger children (add .ds-stagger to parent, then delay on children) */
.ds-stagger > * {
	opacity: 0;
	animation: ds-fade-in-up var(--ds-duration-slow) var(--ds-ease-out) forwards;
}

.ds-stagger > *:nth-child(1) { animation-delay: 0ms; }
.ds-stagger > *:nth-child(2) { animation-delay: 50ms; }
.ds-stagger > *:nth-child(3) { animation-delay: 100ms; }
.ds-stagger > *:nth-child(4) { animation-delay: 150ms; }
.ds-stagger > *:nth-child(5) { animation-delay: 200ms; }
.ds-stagger > *:nth-child(6) { animation-delay: 250ms; }
.ds-stagger > *:nth-child(7) { animation-delay: 300ms; }
.ds-stagger > *:nth-child(8) { animation-delay: 350ms; }
.ds-stagger > *:nth-child(9) { animation-delay: 400ms; }
.ds-stagger > *:nth-child(10) { animation-delay: 450ms; }
.ds-stagger > *:nth-child(n+11) { animation-delay: 500ms; }

/* Page content entrance */
.ds-page-enter {
	animation: ds-fade-in-up var(--ds-duration-slow) var(--ds-ease-out) forwards;
}

/* Table row hover lift */
.ds-table-row-hover td {
	transition: background-color var(--ds-duration-fast) var(--ds-ease-out),
	            box-shadow var(--ds-duration-fast) var(--ds-ease-out);
}

/* Card hover lift */
.ds-card-lift {
	transition: transform var(--ds-duration) var(--ds-ease-out),
	            box-shadow var(--ds-duration) var(--ds-ease-out),
	            border-color var(--ds-duration-fast);
}

.ds-card-lift:hover {
	transform: translateY(-4px);
}

/* Staggered table rows (add .ds-table-stagger to tbody) */
.ds-table-stagger tr {
	opacity: 0;
	animation: ds-row-in var(--ds-duration) var(--ds-ease-out) forwards;
}

.ds-table-stagger tr:nth-child(1) { animation-delay: 0.02s; }
.ds-table-stagger tr:nth-child(2) { animation-delay: 0.04s; }
.ds-table-stagger tr:nth-child(3) { animation-delay: 0.06s; }
.ds-table-stagger tr:nth-child(4) { animation-delay: 0.08s; }
.ds-table-stagger tr:nth-child(5) { animation-delay: 0.10s; }
.ds-table-stagger tr:nth-child(6) { animation-delay: 0.12s; }
.ds-table-stagger tr:nth-child(7) { animation-delay: 0.14s; }
.ds-table-stagger tr:nth-child(8) { animation-delay: 0.16s; }
.ds-table-stagger tr:nth-child(9) { animation-delay: 0.18s; }
.ds-table-stagger tr:nth-child(10) { animation-delay: 0.20s; }
.ds-table-stagger tr:nth-child(n+11) { animation-delay: 0.22s; }

/* Progress bar fill animation (use .ds-progress-animate on the fill element) */
.ds-progress-animate {
	transform-origin: left;
	animation: ds-progress-fill 1.2s var(--ds-ease-out) forwards;
}

/* Page wrapper: плавное появление контента */
.ds-page-wrap {
	opacity: 0;
	animation: ds-fade-in-up 0.5s var(--ds-ease-out) forwards;
}

/* Сайдбар: каскадное появление пунктов меню */
.ds-nav__item {
	opacity: 0;
	animation: ds-slide-in-right 0.4s var(--ds-ease-out) forwards;
}
.ds-nav__item:nth-child(1) { animation-delay: 0.02s; }
.ds-nav__item:nth-child(2) { animation-delay: 0.04s; }
.ds-nav__item:nth-child(3) { animation-delay: 0.06s; }
.ds-nav__item:nth-child(4) { animation-delay: 0.08s; }
.ds-nav__item:nth-child(5) { animation-delay: 0.10s; }
.ds-nav__item:nth-child(6) { animation-delay: 0.12s; }
.ds-nav__item:nth-child(7) { animation-delay: 0.14s; }
.ds-nav__item:nth-child(8) { animation-delay: 0.16s; }
.ds-nav__item:nth-child(9) { animation-delay: 0.18s; }
.ds-nav__item:nth-child(10) { animation-delay: 0.20s; }
.ds-nav__item:nth-child(n+11) { animation-delay: 0.22s; }

/* Секция с отступом и лёгким появлением */
.ds-section {
	animation: ds-fade-in 0.4s var(--ds-ease-out) forwards;
}

/* Информационные блоки — лёгкий подъём при наведении */
.ds-info-block {
	transition: transform var(--ds-duration) var(--ds-ease-out),
	            box-shadow var(--ds-duration) var(--ds-ease-out);
}

.ds-info-block:hover {
	transform: translateY(-2px);
	box-shadow: var(--ds-shadow-lg);
}

/* Числа в карточках — опциональная анимация появления */
.ds-number-reveal {
	opacity: 0;
	transform: translateY(8px);
	animation: ds-fade-in-up 0.5s var(--ds-ease-out) forwards;
}

/* End */


/* Start:/local/templates/ds_platform/css/components.css?17748653317205*/
/* DS IT Platform — кнопки, формы, таблицы, бейджи */

/* ========== BUTTONS ========== */
.ds-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 18px;
	font-size: 14px;
	font-weight: 500;
	border-radius: var(--ds-radius);
	border: 1px solid transparent;
	cursor: pointer;
	transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.2s cubic-bezier(0.33, 1, 0.68, 1);
	text-decoration: none;
	font-family: inherit;
}

.ds-btn--primary {
	background: linear-gradient(180deg, var(--ds-primary-soft) 0%, var(--ds-primary) 100%);
	color: var(--ds-primary-text);
	border-color: var(--ds-primary-border);
}

.ds-btn--primary:hover {
	background: linear-gradient(180deg, var(--ds-primary) 0%, var(--ds-primary-hover) 100%);
	box-shadow: 0 10px 24px rgba(143, 212, 91, 0.28);
	transform: translateY(-2px);
}

.ds-btn--primary:active {
	transform: translateY(0);
}

.ds-btn:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--ds-primary-muted);
}

.ds-btn--primary:focus-visible {
	box-shadow: 0 0 0 3px var(--ds-primary-muted), 0 4px 14px var(--ds-primary-muted);
}

.ds-btn--secondary {
	background: rgba(255, 255, 255, 0.02);
	color: var(--ds-text);
	border: 1px solid var(--ds-border);
}

.ds-btn--secondary:hover {
	background: rgba(255, 255, 255, 0.05);
	border-color: var(--ds-primary-border);
}

.ds-btn--accent {
	background: linear-gradient(180deg, #5ab0ff 0%, var(--ds-accent) 100%);
	color: var(--ds-accent-text);
	border-color: var(--ds-accent-border);
}

.ds-btn--accent:hover {
	background: var(--ds-accent-hover);
	color: var(--ds-accent-text);
}

.ds-btn--success {
	background: var(--ds-primary);
	color: var(--ds-primary-text);
}

.ds-btn--success:hover {
	background: var(--ds-primary-hover);
}

.ds-btn--danger,
.ds-btn--warning {
	background: var(--ds-accent);
	color: var(--ds-accent-text);
}

.ds-btn--danger:hover,
.ds-btn--warning:hover {
	background: var(--ds-accent-hover);
}

.ds-btn--small {
	padding: 8px 14px;
	font-size: 13px;
	border-radius: 8px;
}

/* ========== FORMS ========== */
.ds-form-group {
	margin-bottom: 18px;
}

.ds-form-label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 500;
	color: var(--ds-text-muted);
}

.ds-form-input,
.ds-form-select {
	width: 100%;
	padding: 10px 14px;
	font-size: 14px;
	border: 1px solid var(--ds-border);
	border-radius: var(--ds-radius);
	background: rgba(255, 255, 255, 0.01);
	color: var(--ds-text);
	transition: border-color 0.2s ease, box-shadow 0.25s ease, transform 0.2s ease;
	font-family: inherit;
}

.ds-form-input::placeholder {
	color: var(--ds-text-tertiary);
}

.ds-form-input:hover,
.ds-form-select:hover {
	border-color: #355075;
}

.ds-form-input:focus,
.ds-form-select:focus {
	outline: none;
	border-color: var(--ds-primary);
	box-shadow: 0 0 0 3px var(--ds-primary-muted);
	transform: translateY(-1px);
}

.ds-form-textarea {
	min-height: 100px;
	resize: vertical;
}

/* ========== TABLES (base) ========== */
.ds-table {
	width: 100%;
	border-collapse: collapse;
	background: transparent;
	font-size: 14px;
}

.ds-table thead {
	background: rgba(255, 255, 255, 0.02);
}

.ds-table th {
	padding: 12px 16px;
	text-align: left;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ds-text-muted);
	border-bottom: 1px solid var(--ds-border);
}

.ds-table td {
	padding: 12px 16px;
	border-bottom: 1px solid var(--ds-border);
	color: var(--ds-text);
}

.ds-table tbody tr:hover {
	background: rgba(143, 212, 91, 0.08);
}

.ds-table tbody tr:last-child td {
	border-bottom: none;
}

/* ========== BADGES ========== */
.ds-badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	font-size: 12px;
	font-weight: 500;
	border-radius: 8px;
}

.ds-badge--primary {
	background: var(--ds-primary-muted);
	color: var(--ds-primary-soft);
}

.ds-badge--success {
	background: rgba(143, 212, 91, 0.14);
	color: var(--ds-primary-soft);
}

.ds-badge--warning {
	background: rgba(255, 185, 72, 0.18);
	color: #ffcf88;
}

.ds-badge--danger {
	background: rgba(255, 121, 89, 0.18);
	color: #ffaf9b;
}

/* ========== ALERTS ========== */
.ds-alert {
	padding: 12px 16px;
	border-radius: var(--ds-radius);
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.ds-alert--info {
	background: rgba(77, 163, 255, 0.12);
	color: #9dcaff;
	border: 1px solid rgba(77, 163, 255, 0.32);
}

.ds-alert--success {
	background: rgba(143, 212, 91, 0.12);
	color: #bce99a;
	border: 1px solid rgba(143, 212, 91, 0.3);
}

.ds-alert--warning {
	background: rgba(255, 185, 72, 0.14);
	color: #ffcf88;
	border: 1px solid rgba(255, 185, 72, 0.36);
}

.ds-alert--danger {
	background: rgba(255, 121, 89, 0.14);
	color: #ffb3a1;
	border: 1px solid rgba(255, 121, 89, 0.36);
}

/* ========== SPINNER ========== */
.ds-spinner {
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 2px solid var(--ds-border);
	border-top-color: var(--ds-primary);
	border-radius: 50%;
	animation: ds-spin 0.6s linear infinite;
}

@keyframes ds-spin {
	to { transform: rotate(360deg); }
}

/* ========== MODAL ========== */
.ds-modal {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(15, 23, 42, 0.5);
	z-index: 10000;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.ds-modal--active {
	display: flex;
}

.ds-modal__content {
	background: var(--ds-bg-card);
	border-radius: var(--ds-radius-lg);
	padding: 24px;
	max-width: 480px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: var(--ds-shadow-xl);
	border: 1px solid var(--ds-border);
}

.ds-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.ds-modal__title {
	font-size: 18px;
	font-weight: 600;
	color: var(--ds-text);
}

.ds-modal__close {
	background: none;
	border: none;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--ds-radius);
	color: var(--ds-text-muted);
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}

.ds-modal__close:hover {
	background: var(--ds-border-light);
	color: var(--ds-text);
}

.ds-modal__content--wide {
	max-width: 560px;
}

.ds-form-message {
	font-size: 14px;
	padding: 8px 12px;
	border-radius: var(--ds-radius);
}
.ds-form-message--success {
	background: var(--ds-primary-muted, rgba(193, 229, 107, 0.15));
	color: var(--ds-primary);
}
.ds-form-message--error {
	background: rgba(220, 53, 69, 0.08);
	color: #c92a2a;
}

/* ========== TOAST ========== */
.ds-toast {
	position: fixed;
	bottom: 20px;
	right: 20px;
	padding: 12px 18px;
	border-radius: var(--ds-radius);
	box-shadow: var(--ds-shadow-lg);
	z-index: 10001;
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.25s, transform 0.25s;
	max-width: 360px;
	font-size: 14px;
	font-weight: 500;
}

.ds-toast--show {
	opacity: 1;
	transform: translateY(0);
}

.ds-toast--info { background: #0369a1; color: #fff; }
.ds-toast--success { background: #059669; color: #fff; }
.ds-toast--warning { background: #d97706; color: #fff; }
.ds-toast--danger { background: #dc2626; color: #fff; }

/* End */


/* Start:/local/templates/ds_platform/css/feedback.css?17712687201543*/
/* DS IT Platform — микроанимации и feedback */

/* ========== PRESS / TAP FEEDBACK ========== */
.ds-feedback-press {
	transform: scale(0.98);
	opacity: 0.9;
	transition: transform 0.15s ease-out, opacity 0.15s ease-out;
}

/* ========== TOAST ENTRANCE ========== */
@keyframes ds-feedback-in {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.ds-feedback-in {
	animation: ds-feedback-in 0.25s var(--ds-ease-out, ease-out) forwards;
}

.ds-toast--visible {
	opacity: 1;
	transform: translateY(0);
}

/* ========== BUTTON LOADING STATE ========== */
.ds-btn.ds-loading,
button.ds-loading,
[type="submit"].ds-loading {
	position: relative;
	pointer-events: none;
	opacity: 0.85;
}

.ds-btn.ds-loading::after,
button.ds-loading::after,
[type="submit"].ds-loading::after {
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	width: 20px;
	height: 20px;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: ds-spin 0.7s linear infinite;
}

@keyframes ds-spin {
	to { transform: rotate(360deg); }
}

/* ========== FOCUS RING (улучшенный feedback) ========== */
.ds-btn:focus-visible,
.ds-nav__link:focus-visible,
.ds-user-menu__trigger:focus-visible {
	outline: 2px solid var(--ds-primary, #3b82f6);
	outline-offset: 2px;
}

/* ========== SUCCESS / ERROR INLINE FEEDBACK ========== */
.ds-feedback-success {
	color: var(--ds-success, #059669);
}

.ds-feedback-error {
	color: var(--ds-danger, #dc2626);
}

/* End */


/* Start:/local/templates/ds_platform/css/user-menu.css?17723188916025*/
/* DS IT Platform - Меню пользователя в header */

.ds-user-login {
	display: inline-flex;
	align-items: center;
	padding: 8px 20px;
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.1);
	transition: all 0.3s ease;
}

.ds-user-login:hover {
	background: rgba(255, 255, 255, 0.2);
	transform: translateY(-1px);
}

/* Меню пользователя */
.ds-user-menu {
	position: relative;
}

.ds-user-menu__trigger {
	display: flex;
	align-items: center;
	gap: 12px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 6px 12px;
	border-radius: 8px;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	color: #fff;
	position: relative;
	overflow: hidden;
}

.ds-user-menu__trigger::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	transform: translate(-50%, -50%);
	transition: width 0.6s ease, height 0.6s ease;
}

.ds-user-menu__trigger:hover {
	background: rgba(255, 255, 255, 0.15);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.ds-user-menu__trigger:hover::before {
	width: 300px;
	height: 300px;
}

.ds-user-menu__avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	border: 2px solid rgba(255, 255, 255, 0.3);
	transition: border-color 0.3s ease;
}

.ds-user-menu__trigger:hover .ds-user-menu__avatar {
	border-color: rgba(255, 255, 255, 0.5);
}

.ds-user-menu__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ds-user-menu__avatar-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #64748b 0%, #475569 100%);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
}

.ds-user-menu__info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
}

.ds-user-menu__name {
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	line-height: 1.2;
}

.ds-user-menu__position {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.2;
	margin-top: 2px;
}

.ds-user-menu__arrow {
	transition: transform 0.3s ease;
	margin-left: 4px;
	flex-shrink: 0;
}

.ds-user-menu--open .ds-user-menu__arrow {
	transform: rotate(180deg);
}

/* Выпадающее меню */
.ds-user-menu__dropdown {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	width: 280px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px) scale(0.95);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 1000;
	overflow: hidden;
	backdrop-filter: blur(10px);
}

.ds-user-menu--open .ds-user-menu__dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
}

.ds-user-menu__header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px;
	background: linear-gradient(135deg, #64748b 0%, #475569 100%);
	color: #fff;
}

.ds-user-menu__header-avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	border: 2px solid rgba(255, 255, 255, 0.3);
}

.ds-user-menu__header-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ds-user-menu__header-info {
	flex: 1;
	min-width: 0;
}

.ds-user-menu__header-name {
	font-size: 15px;
	font-weight: 600;
	margin-bottom: 4px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ds-user-menu__header-email {
	font-size: 12px;
	opacity: 0.9;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ds-user-menu__divider {
	height: 1px;
	background: #e9ecef;
	margin: 8px 0;
}

.ds-user-menu__list {
	list-style: none;
	margin: 0;
	padding: 8px 0;
}

.ds-user-menu__item {
	margin: 0;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.ds-user-menu__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	color: #495057;
	text-decoration: none;
	font-size: 14px;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	border-radius: 8px;
	margin: 2px 8px;
}

.ds-user-menu__link::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%) scaleY(0);
	width: 3px;
	height: 0;
	background: linear-gradient(180deg, #64748b 0%, #475569 100%);
	border-radius: 0 3px 3px 0;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.ds-user-menu__link:hover {
	background: linear-gradient(90deg, rgba(100, 116, 139, 0.1) 0%, rgba(71, 85, 105, 0.05) 100%);
	color: #475569;
	transform: translateX(4px);
	box-shadow: 0 2px 8px rgba(100, 116, 139, 0.15);
}

.ds-user-menu__link:hover::before {
	transform: translateY(-50%) scaleY(1);
	height: 60%;
}

.ds-user-menu__link svg {
	flex-shrink: 0;
	color: #6c757d;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	transform: scale(1);
}

.ds-user-menu__link:hover svg {
	color: #475569;
	transform: scale(1.1);
}

.ds-user-menu__link--danger {
	color: #ef4444;
}

.ds-user-menu__link--danger:hover {
	background-color: #fee2e2;
	color: #dc2626;
}

.ds-user-menu__link--danger svg {
	color: #ef4444;
}

.ds-user-menu__link span {
	flex: 1;
}

/* Адаптивность */
@media (max-width: 768px) {
	.ds-user-menu__info {
		display: none;
	}

	.ds-user-menu__dropdown {
		right: -10px;
		width: 260px;
	}
}

/* Анимация появления */
@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Кнопка лога роли (отладка) */
.ds-debug-log-trigger {
	margin-left: 8px;
	padding: 4px 10px;
	font-size: 11px;
	color: rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 6px;
	cursor: pointer;
}
.ds-debug-log-trigger:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.15);
}

/* End */


/* Start:/local/templates/ds_platform/css/mobile-menu.css?1770500409930*/
/* DS IT Platform - Мобильное меню */

.ds-mobile-menu-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
	border-radius: 8px;
	color: #fff;
	transition: all 0.2s ease;
	margin-right: 16px;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
}

.ds-mobile-menu-toggle:hover {
	background: rgba(255, 255, 255, 0.1);
}

.ds-mobile-menu-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(4px);
	z-index: 998;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.ds-mobile-menu-overlay--show {
	display: block;
	opacity: 1;
}

/* Адаптивность: основные стили сайдбара на 768px в styles.css и app-mobile.css */
@media (max-width: 768px) {
	.ds-mobile-menu-toggle {
		display: flex;
	}

	.ds-container {
		margin-left: 0;
	}
}

/* End */


/* Start:/local/templates/ds_platform/css/auth.css?177100503218741*/
/* DS IT Platform — страница авторизации (без компонентов, визуальный редизайн) */

.ds-auth-page {
	min-height: 100vh;
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
	position: relative;
	overflow: hidden;
}

/* Левая панель — визуал */
.ds-auth-visual {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 48px;
	z-index: 2;
}

.ds-auth-visual__content {
	position: relative;
	z-index: 3;
	text-align: center;
	max-width: 380px;
}

.ds-auth-visual__logo {
	margin-bottom: 24px;
	animation: authLogoFloat 4s ease-in-out infinite;
}

.ds-auth-visual__title {
	font-size: 36px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 12px;
	letter-spacing: -0.02em;
}

.ds-auth-visual__subtitle {
	font-size: 16px;
	color: rgba(255, 255, 255, 0.7);
	margin: 0;
	line-height: 1.5;
}

.ds-auth-visual__shapes {
	position: absolute;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
}

.ds-auth-shape {
	position: absolute;
	border-radius: 50%;
	opacity: 0.15;
}

.ds-auth-shape--1 {
	width: 400px;
	height: 400px;
	top: -100px;
	right: -100px;
	background: radial-gradient(circle, #C1E56B 0%, transparent 70%);
	animation: authShape1 20s ease-in-out infinite;
}

.ds-auth-shape--2 {
	width: 300px;
	height: 300px;
	bottom: 10%;
	left: -50px;
	background: radial-gradient(circle, #8BC34A 0%, transparent 70%);
	animation: authShape2 15s ease-in-out infinite;
}

.ds-auth-shape--3 {
	width: 200px;
	height: 200px;
	top: 40%;
	left: 20%;
	background: radial-gradient(circle, rgba(255,255,255,0.3) 0%, transparent 70%);
	animation: authShape3 12s ease-in-out infinite;
}

@keyframes authLogoFloat {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}

@keyframes authShape1 {
	0%, 100% { transform: scale(1) translate(0, 0); }
	50% { transform: scale(1.1) translate(-20px, 20px); }
}

@keyframes authShape2 {
	0%, 100% { transform: scale(1) translate(0, 0); }
	50% { transform: scale(1.05) translate(15px, -15px); }
}

@keyframes authShape3 {
	0%, 100% { opacity: 0.15; transform: scale(1); }
	50% { opacity: 0.25; transform: scale(1.2); }
}

/* Правая панель — форма */
.ds-auth-main {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 48px;
	background: #f8fafc;
}

.ds-auth-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	overflow: hidden;
}

.ds-auth-bg__orb {
	position: absolute;
	border-radius: 50%;
	animation: orbFloat 25s ease-in-out infinite;
	will-change: transform;
}

.ds-auth-bg__orb--1 {
	width: 400px;
	height: 400px;
	top: -150px;
	right: -100px;
	background: radial-gradient(circle, rgba(193, 229, 107, 0.12) 0%, transparent 70%);
	animation-delay: 0s;
}

.ds-auth-bg__orb--2 {
	width: 350px;
	height: 350px;
	bottom: -100px;
	left: -100px;
	background: radial-gradient(circle, rgba(139, 195, 74, 0.1) 0%, transparent 70%);
	animation-delay: 6s;
}

.ds-auth-bg__orb--3 {
	width: 250px;
	height: 250px;
	top: 50%;
	left: 10%;
	background: radial-gradient(circle, rgba(193, 229, 107, 0.08) 0%, transparent 70%);
	animation-delay: 12s;
}

@keyframes orbFloat {
	0%, 100% { transform: translate(0, 0) scale(1); }
	33% { transform: translate(30px, -25px) scale(1.05); }
	66% { transform: translate(-20px, 20px) scale(0.98); }
}

.ds-auth-container {
	position: relative;
	width: 100%;
	max-width: 420px;
	z-index: 10;
}

.ds-auth-wrapper {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 4px 24px rgba(15, 23, 42, 0.08), 0 1px 3px rgba(15, 23, 42, 0.04);
	border: 1px solid rgba(15, 23, 42, 0.06);
	overflow: hidden;
	position: relative;
}

/* Переключатель вкладок */
.ds-auth-tabs {
	display: flex;
	border-bottom: 1px solid var(--ds-border);
}

.ds-auth-tab {
	flex: 1;
	padding: 16px 20px;
	background: none;
	border: none;
	font-size: 14px;
	font-weight: 600;
	color: var(--ds-text-muted);
	cursor: pointer;
	transition: color 0.2s, border-color 0.2s;
	position: relative;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	text-align: center;
	text-decoration: none;
	display: block;
}

.ds-auth-tab--active {
	color: var(--ds-text);
	border-bottom-color: var(--ds-primary);
}

.ds-auth-tab:hover:not(.ds-auth-tab--active) {
	color: var(--ds-text);
}

a.ds-auth-tab {
	cursor: pointer;
}

/* Форма */
.ds-auth-form {
	display: none;
	padding: 32px 28px;
}

.ds-auth-form--active {
	display: block;
}

.ds-auth-form__header {
	text-align: center;
	margin-bottom: 28px;
}

.ds-auth-form__title {
	font-size: 22px;
	font-weight: 700;
	color: var(--ds-text);
	margin: 0 0 6px;
}

.ds-auth-form__subtitle {
	font-size: 14px;
	color: var(--ds-text-muted);
	margin: 0;
	font-weight: 400;
}

/* Стили для форм Bitrix */
.ds-auth-form form {
	margin: 0;
}

/* Группы полей формы */
.ds-form-group {
	margin-bottom: 22px;
}

.ds-form-label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #495057;
	margin-bottom: 10px;
}

.ds-form-label .required {
	color: #ef4444;
	margin-left: 4px;
}

/* Чекбоксы */
.ds-checkbox {
	display: flex;
	align-items: center;
	cursor: pointer;
	font-size: 14px;
	color: #495057;
}

.ds-checkbox input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin-right: 10px;
	cursor: pointer;
	accent-color: var(--ds-primary, #C1E56B);
}

.ds-checkbox span {
	user-select: none;
}

.ds-auth-form .bx-auth-form {
	margin: 0;
}

/* Обертка для полей ввода с иконками */
.ds-form-input-wrapper {
	position: relative;
	display: flex;
	align-items: center;
}

.ds-form-input-icon {
	position: absolute;
	left: 16px;
	width: 20px;
	height: 20px;
	color: var(--ds-primary);
	pointer-events: none;
	z-index: 2;
	transition: color 0.3s ease;
}

.ds-form-password-toggle {
	position: absolute;
	right: 16px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px;
	color: var(--ds-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	z-index: 2;
	border-radius: 6px;
}

.ds-form-password-toggle:hover {
	color: #515D73;
	background: rgba(166, 162, 159, 0.1);
}

.ds-form-password-icon {
	width: 20px;
	height: 20px;
}

.ds-form-password-toggle[aria-label="Скрыть пароль"] .ds-form-password-icon {
	display: none;
}

.ds-form-password-toggle[aria-label="Скрыть пароль"]::after {
	content: '';
	width: 20px;
	height: 20px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M2.5 2.5L17.5 17.5M8.75 8.75C8.25 9.25 8 9.91667 8 10.625C8 12.075 9.2 13.25 10.625 13.25C11.3333 13.25 12 13 12.5 12.5M5.83333 5.83333C4.25 7.04167 3.125 8.75 2.5 10.625C2.5 10.625 4.16667 15 10 15C11.3333 15 12.5 14.5833 13.5417 14.0417M13.5417 13.5417L5.83333 5.83333M1.66667 10.625C1.66667 10.625 4.16667 5 10 5C11.6667 5 13.125 5.5 14.375 6.25' stroke='%23A6A29F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.ds-auth-form .bx-auth-form input[type="text"],
.ds-auth-form .bx-auth-form input[type="email"],
.ds-auth-form .bx-auth-form input[type="password"],
.ds-auth-form .bx-auth-form input[type="tel"],
.ds-auth-form form input[type="text"],
.ds-auth-form form input[type="email"],
.ds-auth-form form input[type="password"],
.ds-auth-form form input[type="tel"] {
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	width: 100%;
	padding: 16px 20px;
	padding-left: 48px;
	padding-right: 48px;
	font-size: 15px;
	border: 2px solid #e9ecef;
	border-radius: 12px;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	background-color: #fff;
	margin-bottom: 0;
	font-family: inherit;
	position: relative;
}

/* Поля без иконок (например, CAPTCHA) */
.ds-auth-form input:not(.ds-form-input-wrapper input) {
	padding-left: 20px;
	padding-right: 20px;
}

.ds-auth-form .ds-form-input-wrapper:has(input[type="password"]) input {
	padding-right: 56px;
}

.ds-auth-form .bx-auth-form input:focus,
.ds-auth-form form input:focus {
	outline: none;
	border-color: var(--ds-primary);
	box-shadow: 0 0 0 3px var(--ds-primary-focus);
	background-color: #fff;
}

.ds-auth-form .bx-auth-form input:hover:not(:focus),
.ds-auth-form form input:hover:not(:focus) {
	border-color: var(--ds-neutral-dark);
	background-color: #fff;
}

.ds-auth-form .bx-auth-form input:invalid:not(:placeholder-shown),
.ds-auth-form form input:invalid:not(:placeholder-shown) {
	border-color: #ef4444;
	animation: shake 0.4s ease;
	background-color: #fef2f2;
}

.ds-auth-form--error input:focus {
	border-color: #ef4444;
	box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.1);
}

.ds-auth-form .bx-auth-form label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #495057;
	margin-bottom: 10px;
	position: relative;
}

.ds-auth-form .bx-auth-form .bx-auth-label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #495057;
	margin-bottom: 10px;
}

/* Подсказки при наведении */
.ds-auth-form .bx-auth-form input[type="text"]:hover,
.ds-auth-form .bx-auth-form input[type="email"]:hover,
.ds-auth-form .bx-auth-form input[type="password"]:hover,
.ds-auth-form .bx-auth-form input[type="tel"]:hover {
	cursor: text;
}

.ds-auth-form .bx-auth-form input[type="text"][data-tooltip]:hover::after,
.ds-auth-form .bx-auth-form input[type="email"][data-tooltip]:hover::after,
.ds-auth-form .bx-auth-form input[type="password"][data-tooltip]:hover::after,
.ds-auth-form form input[type="text"][data-tooltip]:hover::after,
.ds-auth-form form input[type="email"][data-tooltip]:hover::after,
.ds-auth-form form input[type="password"][data-tooltip]:hover::after,
.ds-auth-form form input[type="tel"][data-tooltip]:hover::after {
	content: attr(data-tooltip);
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	background: #212529;
	color: #fff;
	padding: 8px 12px;
	border-radius: 8px;
	font-size: 12px;
	white-space: nowrap;
	margin-bottom: 8px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease, transform 0.3s ease;
	z-index: 1000;
}

.ds-auth-form .bx-auth-form input[data-tooltip]:hover::after,
.ds-auth-form form input[data-tooltip]:hover::after {
	opacity: 1;
	transform: translateX(-50%) translateY(-5px);
}

.ds-auth-form .bx-auth-form input[data-tooltip]:hover::before,
.ds-auth-form form input[data-tooltip]:hover::before {
	content: '';
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: #212529;
	margin-bottom: 3px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
	z-index: 1000;
}

.ds-auth-form .bx-auth-form input[data-tooltip]:hover::before,
.ds-auth-form form input[data-tooltip]:hover::before {
	opacity: 1;
}

.ds-auth-form .bx-auth-form .errortext,
.ds-auth-form .errortext {
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
	color: #991b1b;
	padding: 14px 18px;
	border-radius: 12px;
	margin-bottom: 22px;
	font-size: 14px;
	border-left: 4px solid #ef4444;
	display: block;
	box-shadow: 0 4px 12px rgba(239, 68, 68, 0.15);
	animation: slideInLeft 0.3s ease;
}

/* Улучшенное отображение ошибок авторизации */
.ds-auth-error {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
	border: 2px solid #ef4444;
	border-radius: 12px;
	padding: 16px 20px;
	margin-bottom: 24px;
	box-shadow: 0 4px 16px rgba(239, 68, 68, 0.2);
	animation: slideInDown 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
}

.ds-auth-error::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 100%;
	background: #ef4444;
}

.ds-auth-error__icon {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	color: #dc2626;
	animation: shake 0.5s ease;
}

.ds-auth-error__content {
	flex: 1;
}

.ds-auth-error__title {
	font-size: 15px;
	font-weight: 600;
	color: #991b1b;
	margin-bottom: 4px;
}

.ds-auth-error__message {
	font-size: 14px;
	color: #7f1d1d;
	line-height: 1.5;
}

/* Сообщение об успешном подтверждении */
.ds-auth-success {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);
	border: 2px solid #10b981;
	border-radius: 12px;
	padding: 16px 20px;
	margin-bottom: 24px;
	box-shadow: 0 4px 16px rgba(16, 185, 129, 0.2);
	animation: slideInDown 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
}

.ds-auth-success::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 100%;
	background: #10b981;
}

.ds-auth-success__icon {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	color: #059669;
}

.ds-auth-success__content {
	flex: 1;
}

.ds-auth-success__title {
	font-size: 15px;
	font-weight: 600;
	color: #065f46;
	margin-bottom: 4px;
}

.ds-auth-success__message {
	font-size: 14px;
	color: #047857;
	line-height: 1.5;
}

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

@keyframes shake {
	0%, 100% {
		transform: rotate(0deg);
	}
	10%, 30%, 50%, 70%, 90% {
		transform: rotate(-5deg);
	}
	20%, 40%, 60%, 80% {
		transform: rotate(5deg);
	}
}

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

.ds-auth-form .bx-auth-form .notetext,
.ds-auth-form .notetext {
	background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
	color: #1e40af;
	padding: 14px 18px;
	border-radius: 12px;
	margin-bottom: 22px;
	font-size: 14px;
	border-left: 4px solid #3b82f6;
	display: block;
	box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
}

.ds-auth-form .bx-auth-form input[type="submit"],
.ds-auth-form .bx-auth-form button[type="submit"],
.ds-auth-form form input[type="submit"],
.ds-auth-form form button[type="submit"],
.ds-btn {
	width: 100%;
	padding: 14px 24px;
	font-size: 15px;
	font-weight: 600;
	color: var(--ds-primary-text);
	background: var(--ds-primary);
	border: none;
	border-radius: 10px;
	cursor: pointer;
	transition: background 0.2s, box-shadow 0.2s;
	margin-top: 8px;
	font-family: inherit;
	box-shadow: 0 2px 8px rgba(193, 229, 107, 0.3);
	position: relative;
}

.ds-auth-form .bx-auth-form input[type="submit"]:hover,
.ds-auth-form .bx-auth-form button[type="submit"]:hover,
.ds-auth-form form input[type="submit"]:hover,
.ds-auth-form form button[type="submit"]:hover,
.ds-btn:hover {
	background: var(--ds-primary-hover);
	box-shadow: 0 4px 12px rgba(193, 229, 107, 0.4);
}


.ds-auth-form .bx-auth-form .bx-auth-secure {
	margin-top: 20px;
	font-size: 12px;
	color: #adb5bd;
	text-align: center;
}

.ds-auth-form .bx-auth-form .bx-auth-secure-icon {
	display: inline-block;
	margin-right: 6px;
}

/* Футер формы */
.ds-auth-form__footer {
	margin-top: 28px;
	text-align: center;
}

.ds-auth-link {
	color: var(--ds-accent);
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	transition: color 0.2s;
}

.ds-auth-link:hover {
	color: var(--ds-accent-hover);
}

.ds-auth-text {
	font-size: 14px;
	color: #6c757d;
	margin: 0;
}

.ds-auth-text .ds-auth-link {
	margin-left: 6px;
}

/* Адаптивность */
@media (max-width: 1024px) {
	.ds-auth-page {
		grid-template-columns: 1fr;
	}

	.ds-auth-visual {
		padding: 32px 24px;
		min-height: 200px;
	}

	.ds-auth-visual__title {
		font-size: 28px;
	}

	.ds-auth-visual__subtitle {
		font-size: 14px;
	}
}

@media (max-width: 768px) {
	.ds-auth-page {
		min-height: 100vh;
	}

	.ds-auth-visual {
		min-height: 160px;
		padding: 24px 20px;
	}

	.ds-auth-visual__logo svg {
		width: 48px;
		height: 48px;
	}

	.ds-auth-visual__title {
		font-size: 24px;
	}

	.ds-auth-main {
		padding: 24px 20px;
	}

	.ds-auth-form {
		padding: 28px 24px;
	}

	.ds-auth-form__title {
		font-size: 20px;
	}

	.ds-auth-tab {
		padding: 16px 18px;
		font-size: 14px;
	}

	.ds-auth-bg__orb {
		opacity: 0.6;
	}
}

/* Сообщения об ошибках полей */
.ds-field-error {
	color: #ef4444;
	font-size: 12px;
	margin-top: 6px;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	display: block;
	animation: slideInDown 0.3s ease;
	line-height: 1.4;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	width: 100%;
	order: 10; /* Размещаем после всех элементов в flex контейнере */
}

.ds-field-error::before {
	content: '⚠ ';
	margin-right: 4px;
}

/* Убеждаемся, что сообщение об ошибке не перекрывает поле */
.ds-form-group {
	display: flex;
	flex-direction: column;
}

.ds-form-group .ds-form-input-wrapper {
	order: 1;
}

.ds-form-group .ds-field-error {
	order: 2;
}

/* Валидация в реальном времени */
.ds-auth-form input.valid {
	border-color: #6b9a7a;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%2310b981' d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	padding-right: 45px;
}

/* Класс invalid удален - используем inline стили через JavaScript */

@keyframes shake {
	0%, 100% {
		transform: translateX(0);
	}
	10%, 30%, 50%, 70%, 90% {
		transform: translateX(-8px);
	}
	20%, 40%, 60%, 80% {
		transform: translateX(8px);
	}
}

/* Индикатор загрузки */
.ds-auth-form .loading {
	position: relative;
	pointer-events: none;
	opacity: 0.7;
}

.ds-auth-form .loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 24px;
	height: 24px;
	margin: -12px 0 0 -12px;
	border: 3px solid rgba(255, 255, 255, 0.3);
	border-top-color: #fff;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

/* Дополнительные декоративные элементы */
.ds-auth-wrapper::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(circle, rgba(166, 162, 159, 0.2) 0%, transparent 70%);
	animation: rotate 30s linear infinite;
	pointer-events: none;
}

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

/* End */


/* Start:/local/templates/ds_platform/css/pages.css?17748653316655*/
/* Общие стили страниц — полное использование пространства */

.ds-page {
	width: 100%;
	max-width: 100%;
	background-color: var(--ds-bg-page);
	min-height: calc(100vh - 56px);
}

.ds-page__header {
	margin-bottom: 28px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--ds-border);
	animation: ds-fade-in-up 0.4s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

.ds-page__title {
	font-size: 28px;
	font-weight: 600;
	color: var(--ds-text);
	margin: 0;
	letter-spacing: -0.03em;
	line-height: 1.25;
}
/* Убираем курсор и обводку при фокусе (заголовок не должен вести себя как поле ввода) */
.ds-page__title:focus {
	outline: none;
	caret-color: transparent;
}

.ds-page__subtitle {
	font-size: 14px;
	font-weight: 500;
	color: var(--ds-text-muted);
	margin-top: 6px;
	margin-bottom: 0;
}

.ds-page__header-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

/* Админ-страницы: акцент шапки для «мощного» вида */
.ds-page--admin .ds-page__header {
	border-bottom-width: 2px;
	border-left: 4px solid var(--ds-primary);
	padding-left: 20px;
}

.ds-page--admin .ds-page__title {
	font-weight: 700;
}

@media (min-width: 1200px) {
	.ds-page__title {
		font-size: 30px;
	}
}

.ds-page__content {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0.01) 100%), var(--ds-bg-card);
	border-radius: var(--ds-radius-xl);
	padding: var(--ds-space-6) var(--ds-space-8);
	box-shadow: var(--ds-shadow-lg);
	border: 1px solid var(--ds-border);
	animation: ds-fade-in-up 0.45s cubic-bezier(0.33, 1, 0.68, 1) 0.05s both;
	position: relative;
	z-index: 1;
	width: 100%;
}

@media (min-width: 1200px) {
	.ds-page__content {
		padding: var(--ds-space-8) var(--ds-space-10);
	}
}

@media (min-width: 1600px) {
	.ds-page__content {
		padding: 36px 48px;
	}
}

/* Фильтры */
.ds-filters {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0.01) 100%), var(--ds-bg-card);
	border-radius: var(--ds-radius-xl);
	padding: 24px;
	margin-bottom: 24px;
	border: 1px solid var(--ds-border);
	transition: box-shadow 0.28s ease, border-color 0.2s ease;
	animation: ds-fade-in-up 0.4s cubic-bezier(0.33, 1, 0.68, 1) 0.03s both;
}

.ds-filters:hover {
	box-shadow: var(--ds-shadow);
	border-color: var(--ds-primary-border);
}

.ds-filters__form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ds-filters__row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
	align-items: end;
}

.ds-filters__group {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ds-filters__label {
	font-size: 12px;
	font-weight: 600;
	color: var(--ds-text-muted);
}

.ds-filters__input,
.ds-filters__select {
	width: 100%;
	padding: 10px 14px;
	font-size: 14px;
	border: 1px solid var(--ds-border);
	border-radius: var(--ds-radius);
	background: rgba(255, 255, 255, 0.01);
	color: var(--ds-text);
	transition: border-color 0.2s ease, box-shadow 0.25s ease, transform 0.2s ease;
	font-family: inherit;
}

.ds-filters__input:focus,
.ds-filters__select:focus {
	outline: none;
	border-color: var(--ds-primary);
	box-shadow: 0 0 0 3px var(--ds-primary-muted);
}

.ds-filters__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.ds-filters__clear {
	font-size: 13px;
	color: var(--ds-primary);
	text-decoration: none;
	font-weight: 500;
	transition: color 0.2s ease, opacity 0.2s ease;
}

.ds-filters__clear:hover {
	color: var(--ds-primary-hover, var(--ds-primary));
	opacity: 0.9;
}

/* Таблицы */
.ds-table-wrapper {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.015) 0%, rgba(255, 255, 255, 0.005) 100%), var(--ds-bg-card);
	border-radius: var(--ds-radius-xl);
	border: 1px solid var(--ds-border);
	overflow: hidden;
	box-shadow: var(--ds-shadow-lg);
	animation: ds-fade-in-up 0.5s cubic-bezier(0.33, 1, 0.68, 1) 0.08s both;
}

.ds-table thead {
	background: rgba(255, 255, 255, 0.02);
	transition: background 0.2s ease;
}

.ds-table th {
	padding: 18px 22px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--ds-text-muted);
	border-bottom: 1px solid var(--ds-border);
}

.ds-table td {
	padding: 18px 22px;
	border-bottom: 1px solid var(--ds-border-light);
	font-size: 14px;
	color: var(--ds-text);
	transition: background-color 0.2s ease;
	line-height: 1.5;
}

.ds-table tbody tr {
	transition: background-color 0.2s ease, box-shadow 0.25s ease, transform 0.2s ease;
}

.ds-table tbody tr:hover {
	background: rgba(143, 212, 91, 0.07);
	box-shadow: inset 0 0 0 1px rgba(143, 212, 91, 0.14);
}

.ds-table tbody tr:last-child td {
	border-bottom: none;
}

/* HL-таблица: мета и пустое состояние */
.ds-hl-table-wrapper { margin-top: 0; }
.ds-hl-table-meta {
	margin-bottom: 16px;
	padding: 12px 16px;
	background: var(--ds-bg-tertiary);
	border-radius: var(--ds-radius);
	font-size: 13px;
	color: var(--ds-text-muted);
}
.ds-hl-table-empty {
	text-align: center;
	padding: 48px 24px;
	color: var(--ds-text-muted);
	font-size: 15px;
}
.ds-table-scroll { overflow-x: auto; }
.ds-table-scroll .ds-table { min-width: 100%; }

/* Пагинация */
.ds-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--ds-border-light);
}
.ds-pagination__pages { display: flex; align-items: center; gap: 6px; }
.ds-pagination__dots { padding: 0 6px; color: var(--ds-text-muted); }
.ds-pagination .ds-btn { text-decoration: none; padding: 8px 14px; }
.ds-pagination__current { cursor: default; }

/* Карточки */
.ds-card {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.015) 0%, rgba(255, 255, 255, 0.005) 100%), var(--ds-bg-card);
	border-radius: var(--ds-radius-lg);
	padding: 20px;
	border: 1px solid var(--ds-border);
	transition: box-shadow 0.2s, border-color 0.2s;
}

.ds-card:hover {
	box-shadow: var(--ds-shadow-lg);
	border-color: var(--ds-primary-border);
}

/* Статусы */
.ds-status {
	padding: 5px 10px;
	border-radius: 8px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	display: inline-block;
	white-space: nowrap;
}

@media (max-width: 768px) {
	.ds-page__title {
		font-size: 22px;
	}

	.ds-page__content {
		padding: 20px;
	}

	.ds-filters__row {
		grid-template-columns: 1fr;
	}

	.ds-table-wrapper {
		overflow-x: auto;
	}

	.ds-table {
		min-width: 700px;
	}
}

/* End */


/* Start:/local/templates/ds_platform/css/ds-platform.css?17725228146461*/
/**
 * Единый дизайн платформы: обёртки страниц, отступы, карточки.
 * Адаптация под все разрешения: 320px → 480px → 768px → 1200px → 1600px.
 * Плавные переходы между страницами.
 */
.ds-platform .ds-main {
	min-height: calc(100vh - 56px);
	background: var(--ds-bg-page);
	transition: opacity var(--ds-duration) var(--ds-ease-out), transform var(--ds-duration) var(--ds-ease-out);
}

/* Появление контента при загрузке страницы */
.ds-platform .ds-main .ds-content {
	animation: ds-page-enter 0.4s var(--ds-ease-out) forwards;
}

@keyframes ds-page-enter {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Выход при переходе по ссылке */
body.ds-page-exit .ds-main {
	opacity: 0;
	transform: translateY(-6px);
}

/* Общая обёртка контента страницы (mobile-first) */
.ds-platform .ds-page-wrap {
	max-width: 100%;
	margin: 0 auto;
	padding: 16px 12px 32px;
	box-sizing: border-box;
}

/* Единый блок страницы */
.ds-platform .ds-page {
	width: 100%;
	max-width: 100%;
	background: transparent;
	min-height: auto;
}

/* Шапка страницы */
.ds-platform .ds-page__header {
	margin-bottom: 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--ds-border);
	background: transparent;
}

.ds-platform .ds-page__title {
	font-size: 20px;
	font-weight: 700;
	color: var(--ds-text);
	margin: 0;
	letter-spacing: -0.02em;
	line-height: 1.3;
	word-break: break-word;
}

.ds-platform .ds-page__subtitle {
	font-size: 13px;
	font-weight: 500;
	color: var(--ds-text-muted);
	margin: 6px 0 0 0;
	line-height: 1.4;
}

/* Шапка с действиями (клиенты, контракты): колонка на узких экранах */
.ds-platform .ds-page__header .ds-clients-header__left {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ds-platform .ds-page__header .ds-clients-header__actions {
	flex-shrink: 0;
}

/* Контент-блок: карточка платформы */
.ds-platform .ds-page__content {
	background: var(--ds-bg-card);
	border-radius: 10px;
	padding: 16px;
	border: 1px solid var(--ds-border);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* Секции внутри контента */
.ds-platform .ds-page__section {
	margin-bottom: 20px;
}

.ds-platform .ds-page__section:last-child {
	margin-bottom: 0;
}

/* Панели фильтров: скрыты по умолчанию, показываются по кнопке «Фильтр» */
.ds-platform .ds-filters-panel--hidden {
	display: none !important;
}

.ds-platform .ds-filters-toggle-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* Кнопки в шапке страницы */
.ds-platform .ds-page__header-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-top: 10px;
}

/* ========== 480px: крупный телефон / узкий планшет ========== */
@media (min-width: 480px) {
	.ds-platform .ds-page-wrap {
		padding: 20px 16px 36px;
	}
	.ds-platform .ds-page__header {
		margin-bottom: 22px;
		padding-bottom: 18px;
	}
	.ds-platform .ds-page__title {
		font-size: 22px;
	}
	.ds-platform .ds-page__subtitle {
		font-size: 13px;
		margin-top: 8px;
	}
	.ds-platform .ds-page__content {
		padding: 20px;
		border-radius: 12px;
	}
	.ds-platform .ds-page__section {
		margin-bottom: 22px;
	}
	.ds-platform .ds-page__header-actions {
		gap: 10px;
		margin-top: 12px;
	}
}

/* ========== 768px: планшет ========== */
@media (min-width: 768px) {
	.ds-platform .ds-page-wrap {
		padding: 24px 20px 40px;
		max-width: 1920px;
	}
	.ds-platform .ds-page__header {
		margin-bottom: 24px;
		padding-bottom: 20px;
	}
	.ds-platform .ds-page__header .ds-clients-header__left {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	.ds-platform .ds-page__title {
		font-size: 24px;
	}
	.ds-platform .ds-page__subtitle {
		font-size: 14px;
		margin-top: 8px;
		max-width: 60ch;
	}
	.ds-platform .ds-page__content {
		padding: 24px;
	}
}

/* ========== 992px: маленький десктоп ========== */
@media (min-width: 992px) {
	.ds-platform .ds-page-wrap {
		padding: 28px 24px 44px;
	}
	.ds-platform .ds-page__content {
		padding: 26px 28px;
	}
}

/* ========== 1200px: десктоп ========== */
@media (min-width: 1200px) {
	.ds-platform .ds-page-wrap {
		padding: 32px 32px 48px;
	}
	.ds-platform .ds-page__title {
		font-size: 26px;
	}
	.ds-platform .ds-page__subtitle {
		margin-top: 8px;
	}
	.ds-platform .ds-page__content {
		padding: 28px 32px;
	}
	.ds-platform .ds-page__section {
		margin-bottom: 24px;
	}
}

/* ========== 1400px: широкий десктоп ========== */
@media (min-width: 1400px) {
	.ds-platform .ds-page-wrap {
		padding: 36px 40px 56px;
	}
	.ds-platform .ds-page__content {
		padding: 32px 40px;
	}
}

/* ========== 1600px: большой монитор ========== */
@media (min-width: 1600px) {
	.ds-platform .ds-page-wrap {
		padding: 40px 48px 64px;
	}
	.ds-platform .ds-page__header {
		margin-bottom: 28px;
		padding-bottom: 24px;
	}
	.ds-platform .ds-page__title {
		font-size: 28px;
	}
	.ds-platform .ds-page__subtitle {
		font-size: 15px;
	}
	.ds-platform .ds-page__content {
		padding: 36px 48px;
		border-radius: 14px;
	}
}

/* ========== Узкие экраны: улучшение касаний и переносов ========== */
@media (max-width: 767px) {
	.ds-platform .ds-page__title.ds-clients-header__title {
		padding-right: 36px; /* место под кнопку справки */
	}
	.ds-platform .ds-page__header-actions .ds-btn {
		min-height: 44px;
		min-width: 44px;
		padding: 10px 16px;
	}
}

@media (max-width: 479px) {
	.ds-platform .ds-page-wrap {
		padding-left: 12px;
		padding-right: 12px;
	}
	.ds-platform .ds-page__content {
		padding: 14px 12px;
		border-radius: 8px;
	}
	.ds-platform .ds-page__title {
		font-size: 18px;
	}
	.ds-platform .ds-page__subtitle {
		font-size: 12px;
		margin-top: 4px;
	}
}

/* На узких экранах — горизонтальный скролл для таблиц внутри контента */
@media (max-width: 768px) {
	.ds-platform .ds-page__content {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* End */


/* Start:/local/templates/ds_platform/css/pages-enhanced.css?177252410549699*/
/* Улучшенные стили для новых страниц */

/* Общие стили для всех таблиц на новых страницах */
.ds-contract-manager-table-wrapper,
.ds-partners-table-wrapper,
.ds-transactions-table-wrapper,
.ds-commissions-table-wrapper,
.ds-clients-table-wrapper,
.ds-clients-general-table-wrapper,
.ds-qualifications-table-wrapper,
.ds-pool-table-wrapper,
.ds-other-accruals-table-wrapper,
.ds-currencies-table-wrapper,
.ds-payout-register-table-wrapper,
.ds-partner-statuses-table-wrapper,
.ds-document-acceptance-table-wrapper {
	background: var(--ds-bg-card);
	border-radius: var(--ds-radius-lg);
	box-shadow: var(--ds-shadow-sm);
	border: 1px solid var(--ds-border);
	overflow: hidden;
	position: relative;
	margin-bottom: 32px;
	animation: ds-fade-in-up 0.5s cubic-bezier(0.33, 1, 0.68, 1) 0.06s both;
}

/* Админ-страницы: контент на всю ширину, без лишнего отступа сверху */
.ds-page-wrap.ds-page--admin {
	padding-top: 0;
}
.ds-page--admin .ds-page__content {
	max-width: 100%;
}
/* Таблица контрактов: фиксированная раскладка по ширине контейнера — без горизонтальной прокрутки */
.ds-page--admin .ds-hl-table-wrapper {
	overflow: hidden;
	max-width: 100%;
}
.ds-page--admin .ds-table-scroll {
	overflow: visible;
	max-width: 100%;
}
.ds-page--admin .ds-hl-table {
	table-layout: fixed;
	width: 100%;
}
/* Ширины колонок в % — таблица всегда вписывается в контейнер */
.ds-page--admin .ds-hl-table th:first-child,
.ds-page--admin .ds-hl-table td:first-child { width: 6%; }
/* Таблицы без колонки «Действия»: первая колонка данных — пошире */
.ds-page--admin .ds-hl-table th:first-child:not(.ds-hl-table__th-actions),
.ds-page--admin .ds-hl-table td:first-child:not(.ds-hl-table__td-actions) { width: 12%; min-width: 80px; }
.ds-page--admin .ds-hl-table th:nth-child(2),
.ds-page--admin .ds-hl-table td:nth-child(2) { width: 11%; }
.ds-page--admin .ds-hl-table th:nth-child(3),
.ds-page--admin .ds-hl-table td:nth-child(3) { width: 7%; }
.ds-page--admin .ds-hl-table th:nth-child(4),
.ds-page--admin .ds-hl-table td:nth-child(4) { width: 11%; }
.ds-page--admin .ds-hl-table th:nth-child(5),
.ds-page--admin .ds-hl-table td:nth-child(5) { width: 11%; }
.ds-page--admin .ds-hl-table th:nth-child(6),
.ds-page--admin .ds-hl-table td:nth-child(6) { width: 9%; white-space: nowrap; }
.ds-page--admin .ds-hl-table th:nth-child(7),
.ds-page--admin .ds-hl-table td:nth-child(7) { width: 4%; white-space: nowrap; }
.ds-page--admin .ds-hl-table th:nth-child(8),
.ds-page--admin .ds-hl-table td:nth-child(8) { width: 6%; }
.ds-page--admin .ds-hl-table th:nth-child(9),
.ds-page--admin .ds-hl-table td:nth-child(9) { width: 12%; }
.ds-page--admin .ds-hl-table th:nth-child(10),
.ds-page--admin .ds-hl-table td:nth-child(10) { width: 13%; }
.ds-page--admin .ds-hl-table th:nth-child(11),
.ds-page--admin .ds-hl-table td:nth-child(11) { width: 10%; }
.ds-page--admin .ds-hl-table th:nth-child(12),
.ds-page--admin .ds-hl-table td:nth-child(12) { width: 10%; min-width: 0; }
.ds-page--admin .ds-hl-table th:nth-child(13),
.ds-page--admin .ds-hl-table td:nth-child(13) { width: 10%; min-width: 0; }
.ds-page--admin .ds-hl-table th,
.ds-page--admin .ds-hl-table td { padding: 10px 12px; font-size: 13px; box-sizing: border-box; }
.ds-page--admin .ds-hl-table th {
	font-size: 10px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ds-page--admin .ds-hl-table td {
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.ds-page--admin .ds-hl-table td:first-child { white-space: nowrap; }
.ds-contract-manager-table-wrapper {
	overflow: visible;
	max-width: 100%;
}
.ds-contract-manager-table {
	table-layout: auto;
	min-width: 0;
}
.ds-contract-manager-table th:nth-child(1),
.ds-contract-manager-table td:nth-child(1) { width: 1%; white-space: nowrap; }
.ds-contract-manager-table th:nth-child(2),
.ds-contract-manager-table td:nth-child(2) { min-width: 70px; }
.ds-contract-manager-table th:nth-child(3),
.ds-contract-manager-table td:nth-child(3) { min-width: 80px; }
.ds-contract-manager-table th:nth-child(4),
.ds-contract-manager-table td:nth-child(4) { min-width: 120px; }
.ds-contract-manager-table th:nth-child(5),
.ds-contract-manager-table td:nth-child(5) { min-width: 120px; }
.ds-contract-manager-table th:nth-child(6),
.ds-contract-manager-table td:nth-child(6) { min-width: 100px; white-space: nowrap; }
.ds-contract-manager-table th:nth-child(7),
.ds-contract-manager-table td:nth-child(7) { width: 1%; white-space: nowrap; }
.ds-contract-manager-table th:nth-child(8),
.ds-contract-manager-table td:nth-child(8) { min-width: 70px; }
.ds-contract-manager-table th:nth-child(9),
.ds-contract-manager-table td:nth-child(9) { min-width: 100px; }

.ds-contract-manager-table-wrapper tbody,
.ds-partners-table-wrapper tbody,
.ds-transactions-table-wrapper tbody,
.ds-commissions-table-wrapper tbody,
.ds-clients-table-wrapper tbody,
.ds-clients-general-table-wrapper tbody,
.ds-qualifications-table-wrapper tbody,
.ds-pool-table-wrapper tbody,
.ds-other-accruals-table-wrapper tbody,
.ds-currencies-table-wrapper tbody,
.ds-payout-register-table-wrapper tbody,
.ds-partner-statuses-table-wrapper tbody,
.ds-document-acceptance-table-wrapper tbody {
	transition: background-color 0.2s ease;
}

.ds-contract-manager-table-wrapper::before,
.ds-partners-table-wrapper::before,
.ds-transactions-table-wrapper::before,
.ds-commissions-table-wrapper::before,
.ds-clients-table-wrapper::before,
.ds-clients-general-table-wrapper::before,
.ds-qualifications-table-wrapper::before,
.ds-pool-table-wrapper::before,
.ds-other-accruals-table-wrapper::before,
.ds-currencies-table-wrapper::before,
.ds-payout-register-table-wrapper::before,
.ds-partner-statuses-table-wrapper::before,
.ds-document-acceptance-table-wrapper::before {
	content: none;
}

.ds-contract-manager-table,
.ds-partners-table,
.ds-transactions-table,
.ds-commissions-table,
.ds-clients-table,
.ds-clients-general-table,
.ds-qualifications-table,
.ds-pool-table,
.ds-other-accruals-table,
.ds-currencies-table,
.ds-payout-register-table,
.ds-partner-statuses-table,
.ds-document-acceptance-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--ds-bg-card);
	table-layout: fixed;
	min-width: 800px;
}

.ds-contract-manager-table thead,
.ds-partners-table thead,
.ds-transactions-table thead,
.ds-commissions-table thead,
.ds-clients-table thead,
.ds-clients-general-table thead,
.ds-qualifications-table thead,
.ds-pool-table thead,
.ds-other-accruals-table thead,
.ds-currencies-table thead,
.ds-payout-register-table thead,
.ds-partner-statuses-table thead,
.ds-document-acceptance-table thead {
	background: var(--ds-border-light);
	position: sticky;
	top: 0;
	z-index: 10;
}

.ds-contract-manager-table th,
.ds-partners-table th,
.ds-transactions-table th,
.ds-commissions-table th,
.ds-clients-table th,
.ds-clients-general-table th,
.ds-qualifications-table th,
.ds-pool-table th,
.ds-other-accruals-table th,
.ds-currencies-table th,
.ds-payout-register-table th,
.ds-partner-statuses-table th,
.ds-document-acceptance-table th {
	padding: 18px 20px;
	text-align: left;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--text-primary);
	border-bottom: 1px solid var(--ds-border);
	white-space: nowrap;
	position: relative;
	vertical-align: middle;
}

.ds-contract-manager-table th:not(:last-child)::after,
.ds-partners-table th:not(:last-child)::after,
.ds-transactions-table th:not(:last-child)::after,
.ds-commissions-table th:not(:last-child)::after,
.ds-clients-table th:not(:last-child)::after,
.ds-clients-general-table th:not(:last-child)::after,
.ds-qualifications-table th:not(:last-child)::after,
.ds-pool-table th:not(:last-child)::after,
.ds-other-accruals-table th:not(:last-child)::after,
.ds-currencies-table th:not(:last-child)::after,
.ds-payout-register-table th:not(:last-child)::after,
.ds-partner-statuses-table th:not(:last-child)::after,
.ds-document-acceptance-table th:not(:last-child)::after {
	content: '';
	position: absolute;
	right: 0;
	top: 20%;
	height: 60%;
	width: 1px;
	background: var(--ds-border);
}

.ds-contract-manager-table td,
.ds-partners-table td,
.ds-transactions-table td,
.ds-commissions-table td,
.ds-clients-table td,
.ds-clients-general-table td,
.ds-qualifications-table td,
.ds-pool-table td,
.ds-other-accruals-table td,
.ds-currencies-table td,
.ds-payout-register-table td,
.ds-partner-statuses-table td,
.ds-document-acceptance-table td {
	padding: 16px 20px;
	border-bottom: 1px solid var(--border-color-light);
	font-size: 14px;
	color: var(--text-primary);
	vertical-align: top;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.ds-contract-manager-table tbody tr,
.ds-partners-table tbody tr,
.ds-transactions-table tbody tr,
.ds-commissions-table tbody tr,
.ds-clients-table tbody tr,
.ds-clients-general-table tbody tr,
.ds-qualifications-table tbody tr,
.ds-pool-table tbody tr,
.ds-other-accruals-table tbody tr,
.ds-currencies-table tbody tr,
.ds-payout-register-table tbody tr,
.ds-partner-statuses-table tbody tr,
.ds-document-acceptance-table tbody tr {
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	background: var(--ds-bg-card);
	border-left: 4px solid transparent;
}

.ds-contract-manager-table tbody tr:hover,
.ds-partners-table tbody tr:hover,
.ds-transactions-table tbody tr:hover,
.ds-commissions-table tbody tr:hover,
.ds-clients-table tbody tr:hover,
.ds-clients-general-table tbody tr:hover,
.ds-qualifications-table tbody tr:hover,
.ds-pool-table tbody tr:hover,
.ds-other-accruals-table tbody tr:hover,
.ds-currencies-table tbody tr:hover,
.ds-payout-register-table tbody tr:hover,
.ds-partner-statuses-table tbody tr:hover,
.ds-document-acceptance-table tbody tr:hover {
	background: var(--ds-bg-tertiary);
}

.ds-contract-manager-table tbody tr:last-child td,
.ds-partners-table tbody tr:last-child td,
.ds-transactions-table tbody tr:last-child td,
.ds-commissions-table tbody tr:last-child td,
.ds-clients-table tbody tr:last-child td,
.ds-clients-general-table tbody tr:last-child td,
.ds-qualifications-table tbody tr:last-child td,
.ds-pool-table tbody tr:last-child td,
.ds-other-accruals-table tbody tr:last-child td,
.ds-currencies-table tbody tr:last-child td,
.ds-payout-register-table tbody tr:last-child td,
.ds-partner-statuses-table tbody tr:last-child td,
.ds-document-acceptance-table tbody tr:last-child td {
	border-bottom: none;
}

/* История перестановок и доступность отчетов */
.ds-partner-rearrangements-table-wrapper,
.ds-report-availability-table-wrapper {
	background: var(--ds-bg-card);
	border-radius: var(--ds-radius-lg);
	box-shadow: var(--ds-shadow-sm);
	border: 1px solid var(--ds-border);
	overflow: hidden;
	position: relative;
	margin-bottom: 32px;
}

.ds-partner-rearrangements-table-wrapper::before,
.ds-report-availability-table-wrapper::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--ds-primary) 0%, var(--ds-primary-hover) 100%);
	z-index: 1;
}

.ds-partner-rearrangements-table,
.ds-report-availability-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--ds-bg-card);
	table-layout: fixed;
	min-width: 800px;
}

.ds-partner-rearrangements-table thead,
.ds-report-availability-table thead {
	background: var(--ds-border-light);
	position: sticky;
	top: 0;
	z-index: 10;
}

.ds-partner-rearrangements-table th,
.ds-report-availability-table th {
	padding: 18px 20px;
	text-align: left;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--text-primary);
	border-bottom: 1px solid var(--ds-border);
	white-space: nowrap;
	position: relative;
	vertical-align: middle;
}

.ds-partner-rearrangements-table th:not(:last-child)::after,
.ds-report-availability-table th:not(:last-child)::after {
	content: '';
	position: absolute;
	right: 0;
	top: 20%;
	height: 60%;
	width: 1px;
	background: var(--ds-border);
}

.ds-partner-rearrangements-table td,
.ds-report-availability-table td {
	padding: 16px 20px;
	border-bottom: 1px solid var(--border-color-light);
	font-size: 14px;
	color: var(--text-primary);
	vertical-align: top;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.ds-partner-rearrangements-table tbody tr,
.ds-report-availability-table tbody tr {
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	background: var(--ds-bg-card);
	border-left: 4px solid transparent;
}

.ds-partner-rearrangements-table tbody tr:nth-child(even),
.ds-report-availability-table tbody tr:nth-child(even) {
	background: var(--ds-primary-subtle);
}

.ds-partner-rearrangements-table tbody tr:hover,
.ds-report-availability-table tbody tr:hover {
	background: var(--ds-primary-muted) !important;
}

.ds-partner-rearrangements-table tbody tr:last-child td,
.ds-report-availability-table tbody tr:last-child td {
	border-bottom: none;
}

.ds-report-availability-table__access {
	padding: 6px 12px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	display: inline-block;
	white-space: nowrap;
}

.ds-report-availability-table__access--полный-доступ {
	background: linear-gradient(135deg, #4caf50 0%, #45a049 100%);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(76, 175, 80, 0.3);
}

.ds-report-availability-table__access--ограниченный-доступ {
	background: linear-gradient(135deg, #ff9800 0%, #f57c00 100%);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(255, 152, 0, 0.3);
}

/* Стили для фильтров */
.ds-contract-manager-filters,
.ds-partners-filters,
.ds-transactions-filters,
.ds-commissions-filters,
.ds-clients-filters,
.ds-clients-general-filters,
.ds-qualifications-filters,
.ds-pool-filters,
.ds-other-accruals-filters,
.ds-currencies-filters,
.ds-payout-register-report-bar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 20px;
	padding: 16px 20px;
	background: var(--ds-bg-card);
	border-radius: var(--ds-radius-lg);
	border: 1px solid var(--ds-border-light);
}

.ds-payout-register-report-bar__period {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ds-payout-register-report-bar__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--text-primary);
	white-space: nowrap;
}

.ds-payout-register-report-bar__select {
	padding: 8px 12px;
	font-size: 14px;
	border: 1px solid var(--ds-border);
	border-radius: 8px;
	background: var(--ds-bg-card);
	min-width: 160px;
}

.ds-payout-register-report-bar__status {
	font-size: 13px;
	color: var(--ds-text-muted);
}

.ds-payout-register-table__col-check {
	width: 44px;
	text-align: center;
	vertical-align: middle;
}

.ds-payout-register-table__report {
	white-space: nowrap;
}

.ds-payout-register-filters,
.ds-document-acceptance-filters {
	background: var(--ds-bg-card);
	border-radius: var(--ds-radius-xl);
	padding: 24px;
	margin-bottom: 24px;
	box-shadow: var(--ds-shadow);
	border: 1px solid var(--ds-border);
}

.ds-contract-manager-filters__form,
.ds-partners-filters__form,
.ds-transactions-filters__form,
.ds-commissions-filters__form,
.ds-clients-filters__form,
.ds-clients-general-filters__form,
.ds-qualifications-filters__form,
.ds-pool-filters__form,
.ds-other-accruals-filters__form,
.ds-currencies-filters__form,
.ds-payout-register-filters__form,
.ds-document-acceptance-filters__form {
	display: flex;
	flex-direction: column;
	gap: 24px;
	position: relative;
	z-index: 1;
}

.ds-contract-manager-filters__row,
.ds-partners-filters__row,
.ds-transactions-filters__row,
.ds-commissions-filters__row,
.ds-clients-filters__row,
.ds-clients-general-filters__row,
.ds-qualifications-filters__row,
.ds-pool-filters__row,
.ds-other-accruals-filters__row,
.ds-currencies-filters__row,
.ds-payout-register-filters__row,
.ds-document-acceptance-filters__row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px;
	align-items: end;
}

.ds-contract-manager-filters__group,
.ds-partners-filters__group,
.ds-transactions-filters__group,
.ds-commissions-filters__group,
.ds-clients-filters__group,
.ds-clients-general-filters__group,
.ds-qualifications-filters__group,
.ds-pool-filters__group,
.ds-other-accruals-filters__group,
.ds-currencies-filters__group,
.ds-payout-register-filters__group,
.ds-document-acceptance-filters__group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ds-contract-manager-filters__label,
.ds-partners-filters__label,
.ds-transactions-filters__label,
.ds-commissions-filters__label,
.ds-clients-filters__label,
.ds-clients-general-filters__label,
.ds-qualifications-filters__label,
.ds-pool-filters__label,
.ds-other-accruals-filters__label,
.ds-currencies-filters__label,
.ds-payout-register-filters__label,
.ds-document-acceptance-filters__label {
	font-size: 13px;
	font-weight: 700;
	color: var(--text-primary);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	display: flex;
	align-items: center;
	gap: 8px;
	position: relative;
	z-index: 1;
}

.ds-contract-manager-filters__label::before,
.ds-partners-filters__label::before,
.ds-transactions-filters__label::before,
.ds-commissions-filters__label::before,
.ds-clients-filters__label::before,
.ds-clients-general-filters__label::before,
.ds-qualifications-filters__label::before,
.ds-pool-filters__label::before,
.ds-other-accruals-filters__label::before,
.ds-currencies-filters__label::before,
.ds-payout-register-filters__label::before,
.ds-document-acceptance-filters__label::before {
	content: '';
	width: 4px;
	height: 16px;
	background: linear-gradient(135deg, var(--ds-primary) 0%, var(--ds-primary-hover) 100%);
	color: var(--ds-primary-text);
	border-radius: 2px;
}

.ds-contract-manager-filters__input,
.ds-contract-manager-filters__select,
.ds-partners-filters__input,
.ds-partners-filters__select,
.ds-transactions-filters__input,
.ds-transactions-filters__select,
.ds-commissions-filters__input,
.ds-commissions-filters__select,
.ds-clients-filters__input,
.ds-clients-filters__select,
.ds-clients-general-filters__input,
.ds-clients-general-filters__select,
.ds-qualifications-filters__input,
.ds-qualifications-filters__select,
.ds-pool-filters__input,
.ds-pool-filters__select,
.ds-other-accruals-filters__input,
.ds-other-accruals-filters__select,
.ds-currencies-filters__input,
.ds-currencies-filters__select,
.ds-payout-register-filters__input,
.ds-payout-register-filters__select,
.ds-document-acceptance-filters__input,
.ds-document-acceptance-filters__select {
	width: 100%;
	padding: 12px 16px;
	font-size: 14px;
	border: 2px solid var(--ds-border);
	border-radius: 12px;
	background: var(--ds-bg-card);
	color: var(--text-primary);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	font-family: inherit;
	box-shadow: var(--ds-shadow-sm);
	position: relative;
	z-index: 1;
}

.ds-contract-manager-filters__input::placeholder,
.ds-partners-filters__input::placeholder,
.ds-transactions-filters__input::placeholder,
.ds-commissions-filters__input::placeholder,
.ds-clients-filters__input::placeholder,
.ds-clients-general-filters__input::placeholder {
	color: var(--text-tertiary);
	opacity: 0.6;
}

.ds-contract-manager-filters__input:focus,
.ds-contract-manager-filters__input:hover,
.ds-contract-manager-filters__select:hover,
.ds-partners-filters__input:hover,
.ds-partners-filters__select:hover,
.ds-transactions-filters__input:hover,
.ds-transactions-filters__select:hover,
.ds-commissions-filters__input:hover,
.ds-commissions-filters__select:hover,
.ds-clients-filters__input:hover,
.ds-clients-filters__select:hover,
.ds-clients-general-filters__input:hover,
.ds-clients-general-filters__select:hover,
.ds-qualifications-filters__input:hover,
.ds-qualifications-filters__select:hover,
.ds-pool-filters__input:hover,
.ds-pool-filters__select:hover,
.ds-other-accruals-filters__input:hover,
.ds-other-accruals-filters__select:hover,
.ds-currencies-filters__input:hover,
.ds-currencies-filters__select:hover,
.ds-payout-register-filters__input:hover,
.ds-payout-register-filters__select:hover,
.ds-document-acceptance-filters__input:hover,
.ds-document-acceptance-filters__select:hover {
	border-color: var(--ds-primary);
	box-shadow: 0 2px 8px var(--ds-primary-muted);
	transform: translateY(-1px);
	background: var(--ds-bg-card);
}

.ds-contract-manager-filters__select:focus,
.ds-partners-filters__input:focus,
.ds-partners-filters__select:focus,
.ds-transactions-filters__input:focus,
.ds-transactions-filters__select:focus,
.ds-commissions-filters__input:focus,
.ds-commissions-filters__select:focus,
.ds-clients-filters__input:focus,
.ds-clients-filters__select:focus,
.ds-clients-general-filters__input:focus,
.ds-clients-general-filters__select:focus,
.ds-qualifications-filters__input:focus,
.ds-qualifications-filters__select:focus,
.ds-pool-filters__input:focus,
.ds-pool-filters__select:focus,
.ds-other-accruals-filters__input:focus,
.ds-other-accruals-filters__select:focus,
.ds-currencies-filters__input:focus,
.ds-currencies-filters__select:focus,
.ds-payout-register-filters__input:focus,
.ds-payout-register-filters__select:focus,
.ds-document-acceptance-filters__input:focus,
.ds-document-acceptance-filters__select:focus {
	outline: none;
	border-color: var(--ds-primary);
	box-shadow: 0 0 0 4px var(--ds-primary-muted);
	background: var(--ds-bg-card);
	transform: translateY(-2px);
}

.ds-contract-manager-filters__actions,
.ds-partners-filters__actions,
.ds-transactions-filters__actions,
.ds-commissions-filters__actions,
.ds-clients-filters__actions,
.ds-clients-general-filters__actions,
.ds-qualifications-filters__actions,
.ds-pool-filters__actions,
.ds-other-accruals-filters__actions,
.ds-currencies-filters__actions,
.ds-payout-register-filters__actions,
.ds-document-acceptance-filters__actions {
	display: flex;
	gap: 16px;
	margin-top: 8px;
	position: relative;
	z-index: 1;
	padding-top: 16px;
	border-top: 2px solid var(--ds-border);
}

.ds-contract-manager-filters__actions .ds-btn,
.ds-partners-filters__actions .ds-btn,
.ds-transactions-filters__actions .ds-btn,
.ds-commissions-filters__actions .ds-btn,
.ds-clients-filters__actions .ds-btn,
.ds-clients-general-filters__actions .ds-btn,
.ds-qualifications-filters__actions .ds-btn,
.ds-pool-filters__actions .ds-btn,
.ds-other-accruals-filters__actions .ds-btn,
.ds-currencies-filters__actions .ds-btn,
.ds-payout-register-filters__actions .ds-btn,
.ds-document-acceptance-filters__actions .ds-btn {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.ds-contract-manager-filters__actions .ds-btn:hover,
.ds-partners-filters__actions .ds-btn:hover,
.ds-transactions-filters__actions .ds-btn:hover,
.ds-commissions-filters__actions .ds-btn:hover,
.ds-clients-filters__actions .ds-btn:hover,
.ds-clients-general-filters__actions .ds-btn:hover,
.ds-qualifications-filters__actions .ds-btn:hover,
.ds-pool-filters__actions .ds-btn:hover,
.ds-other-accruals-filters__actions .ds-btn:hover,
.ds-currencies-filters__actions .ds-btn:hover,
.ds-payout-register-filters__actions .ds-btn:hover,
.ds-document-acceptance-filters__actions .ds-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

/* Статусы - единый стиль для всех таблиц */
.ds-contract-manager-table__status,
.ds-partners-table__status,
.ds-transactions-table__status,
.ds-commissions-table__status,
.ds-clients-table__status,
.ds-clients-general-table__status,
.ds-other-accruals-table__status,
.ds-payout-register-table__status,
.ds-partner-statuses-table__status,
.ds-document-acceptance-table__status {
	padding: 6px 12px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	display: inline-block;
	white-space: nowrap;
}

/* Активные статусы — зелёный (бренд) */
.ds-contract-manager-table__status--активирован,
.ds-partners-table__status--активный,
.ds-transactions-table__status--завершена,
.ds-commissions-table__status--начислена,
.ds-clients-table__status--активный,
.ds-clients-general-table__status--активный,
.ds-other-accruals-table__status--начислено,
.ds-payout-register-table__status--выплачено,
.ds-partner-statuses-table__status--активный,
.ds-document-acceptance-table__status--одобрен {
	background: linear-gradient(135deg, var(--ds-primary) 0%, var(--ds-primary-hover) 100%);
	color: var(--ds-primary-text);
	box-shadow: 0 2px 8px var(--ds-primary-muted);
}

/* Неактивные статусы — серый */
.ds-partners-table__status--неактивный,
.ds-clients-table__status--неактивный,
.ds-clients-general-table__status--неактивный,
.ds-partner-statuses-table__status--неактивный {
	background: linear-gradient(135deg, var(--ds-text-muted) 0%, var(--ds-text-tertiary) 100%);
	color: var(--ds-text-inverse);
	box-shadow: 0 2px 8px rgba(100, 116, 139, 0.25);
}

/* В обработке/проверке - оранжевый */
.ds-contract-manager-table__status--комплайнс,
.ds-transactions-table__status--в-обработке,
.ds-commissions-table__status--выплачена,
.ds-other-accruals-table__status--выплачено,
.ds-payout-register-table__status--в-обработке,
.ds-document-acceptance-table__status--на-проверке {
	background: linear-gradient(135deg, #ff9800 0%, #f57c00 100%);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(255, 152, 0, 0.3);
}

/* Терминирован/отклонен - красный */
.ds-partner-statuses-table__status--терминирован,
.ds-document-acceptance-table__status--отклонен {
	background: linear-gradient(135deg, #f44336 0%, #d32f2f 100%);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(244, 67, 54, 0.3);
}

/* Сбор документов - синий */
.ds-contract-manager-table__status--сбор-документов {
	background: linear-gradient(135deg, #2196f3 0%, #1976d2 100%);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(33, 150, 243, 0.3);
}

/* Страница комиссий — форма просмотра контракта */
/* Комиссии: фильтр в одну строку */
.ds-commissions-page .ds-commissions-filters__form {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px 16px;
}
.ds-commissions-page .ds-commissions-filters__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px 16px;
	flex: 1 1 auto;
	min-width: 0;
	grid-template-columns: unset;
}
.ds-commissions-page .ds-commissions-filters__group {
	flex: 0 1 auto;
	min-width: 100px;
	max-width: 160px;
}
.ds-commissions-page .ds-commissions-filters__group .ds-commissions-filters__input {
	min-width: 0;
}
.ds-commissions-page .ds-commissions-filters__actions {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
	flex-shrink: 0;
}

.ds-commissions-detail { margin-bottom: 32px; }
.ds-commissions-detail__back { margin-bottom: 20px; }
.ds-commissions-form {
	background: var(--ds-bg-card);
	border-radius: var(--ds-radius-lg);
	padding: 24px;
	border: 1px solid var(--ds-border);
	box-shadow: var(--ds-shadow-sm);
}
.ds-commissions-form__title {
	margin: 0 0 20px 0;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--text-primary);
}
.ds-commissions-form__subtitle {
	margin: 24px 0 12px 0;
	font-size: 1rem;
	font-weight: 600;
	color: var(--text-primary);
}
.ds-commissions-form__grid {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 10px 24px;
	margin: 0;
	font-size: 14px;
}
.ds-commissions-form__grid dt {
	margin: 0;
	font-weight: 600;
	color: var(--ds-text-muted);
}
.ds-commissions-form__grid dd { margin: 0; color: var(--text-primary); }
.ds-commissions-table__link {
	color: var(--ds-primary);
	text-decoration: none;
	font-weight: 500;
}
.ds-commissions-table__link:hover { text-decoration: underline; }
.ds-commissions-table--distribution { margin-top: 12px; }
.ds-pagination__link {
	display: inline-block;
	padding: 8px 14px;
	color: var(--ds-primary);
	text-decoration: none;
	border-radius: 8px;
}
.ds-pagination__link:hover { background: var(--ds-border-light); }
.ds-pagination__info { color: var(--ds-text-muted); font-size: 14px; }

/* Бейджи типов транзакций */
.ds-transactions-table__type-badge {
	padding: 6px 12px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	display: inline-block;
	white-space: nowrap;
}

.ds-transactions-table__type-badge--начисление {
	background: linear-gradient(135deg, #4caf50 0%, #45a049 100%);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(76, 175, 80, 0.3);
}

.ds-transactions-table__type-badge--выплата {
	background: linear-gradient(135deg, #2196f3 0%, #1976d2 100%);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(33, 150, 243, 0.3);
}

/* Карточки отчетов */
.ds-reports-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 24px;
}

.ds-reports-card {
	background: var(--ds-bg-card);
	border-radius: var(--ds-radius-xl);
	padding: 24px;
	box-shadow: var(--ds-shadow);
	border: 1px solid var(--ds-border);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ds-reports-card:hover {
	box-shadow: var(--ds-shadow-lg);
	transform: translateY(-4px);
	border-color: var(--ds-primary);
}

.ds-reports-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 16px;
	border-bottom: 2px solid var(--border-color-light);
}

.ds-reports-card__name {
	font-size: 18px;
	font-weight: 700;
	color: var(--text-primary);
	margin: 0;
	flex: 1;
}

.ds-reports-card__status {
	padding: 6px 12px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	white-space: nowrap;
}

.ds-reports-card__status--готов {
	background: linear-gradient(135deg, #4caf50 0%, #45a049 100%);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(76, 175, 80, 0.3);
}

.ds-reports-card__status--в-обработке {
	background: linear-gradient(135deg, #ff9800 0%, #f57c00 100%);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(255, 152, 0, 0.3);
}

.ds-reports-card__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
}

.ds-reports-card__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

.ds-reports-card__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--text-secondary);
}

.ds-reports-card__value {
	font-size: 14px;
	font-weight: 500;
	color: var(--text-primary);
}

.ds-reports-card__actions {
	display: flex;
	gap: 12px;
	padding-top: 16px;
	border-top: 2px solid var(--border-color-light);
}

/* Плашки выбора отчёта — карточки-ссылки */
a.ds-reports-card {
	text-decoration: none;
	color: inherit;
	display: block;
}
a.ds-reports-card:hover {
	text-decoration: none;
	color: inherit;
}
.ds-reports-card__desc {
	margin: 0;
	font-size: 14px;
	color: var(--text-secondary);
}
.ds-reports-card--active {
	border-color: var(--ds-primary);
	box-shadow: 0 0 0 2px rgba(var(--ds-primary-rgb, 33, 150, 243), 0.2);
}
/* Пагинация отчётов */
.ds-reports-pagination {
	margin-top: 20px;
	padding: 12px 0;
}
.ds-reports-pagination__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.ds-reports-pagination__link {
	display: inline-block;
	padding: 8px 16px;
	border-radius: var(--ds-radius);
	background: var(--ds-bg-secondary);
	color: var(--ds-primary);
	text-decoration: none;
	font-weight: 500;
}
.ds-reports-pagination__link:hover { background: var(--ds-border); }
.ds-reports-pagination__link--disabled { color: var(--text-secondary); cursor: default; }
.ds-reports-pagination__info {
	font-size: 14px;
	color: var(--text-secondary);
}
.ds-reports-placeholder {
	padding: 40px 24px;
	text-align: center;
	background: var(--ds-bg-card);
	border-radius: var(--ds-radius-lg);
	border: 1px dashed var(--ds-border);
}
.ds-reports-placeholder__text { margin: 0; color: var(--text-secondary); }

/* Страница отчётов: преамбула, фильтры, таблица */
.ds-reports-intro {
	margin-bottom: 24px;
	padding: 20px 24px;
	background: var(--ds-bg-card);
	border-radius: var(--ds-radius-xl);
	border: 1px solid var(--ds-border);
}
.ds-reports-intro__title {
	font-size: 16px;
	font-weight: 600;
	margin: 0 0 8px;
	color: var(--text-primary);
}
.ds-reports-intro__title + .ds-reports-intro__title { margin-top: 16px; }
.ds-reports-intro__text,
.ds-reports-intro__doc { margin: 0 0 12px; font-size: 14px; color: var(--text-secondary); }
.ds-reports-intro__list { margin: 0 0 12px; padding-left: 20px; }
.ds-reports-intro__doc a { color: var(--ds-primary); }
.ds-reports-filters {
	margin-bottom: 20px;
	padding: 16px 20px;
	background: var(--ds-bg-card);
	border-radius: var(--ds-radius-lg);
	border: 1px solid var(--ds-border);
}
.ds-reports-filters__form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px; }
.ds-reports-filters__row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.ds-reports-filters__group { display: flex; flex-direction: column; gap: 6px; }
.ds-reports-filters__label { font-size: 13px; font-weight: 600; color: var(--text-secondary); }
.ds-reports-filters__select,
.ds-reports-filters__input { padding: 8px 12px; border-radius: var(--ds-radius); border: 1px solid var(--ds-border); min-width: 180px; }
.ds-reports-export { margin-bottom: 16px; }
.ds-reports-export__bar { display: flex; align-items: center; gap: 12px; }
.ds-reports-export__btn { text-decoration: none; }
.ds-reports-table-section { margin-top: 16px; }
.ds-reports-table-wrapper {
	overflow-x: auto;
	background: var(--ds-bg-card);
	border-radius: var(--ds-radius-lg);
	border: 1px solid var(--ds-border);
}
.ds-reports-table {
	width: 100%;
	min-width: 1400px;
	border-collapse: collapse;
	font-size: 13px;
}
.ds-reports-table th,
.ds-reports-table td {
	padding: 10px 12px;
	text-align: left;
	border-bottom: 1px solid var(--ds-border);
}
.ds-reports-table th { background: var(--ds-bg-secondary); font-weight: 600; color: var(--text-secondary); white-space: nowrap; }
.ds-reports-table td.ds-reports-table__num { text-align: right; white-space: nowrap; }
.ds-reports-table__fio a { color: var(--ds-text, #111); text-decoration: none; }
.ds-reports-table__fio a:hover { text-decoration: underline; color: var(--ds-primary); }
.ds-reports-table__empty { text-align: center; color: var(--text-secondary); padding: 32px; }

/* Улучшенные стили для кнопок в таблицах */
.ds-btn--small {
	padding: 8px 16px;
	font-size: 13px;
	font-weight: 500;
	border-radius: 12px;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.ds-btn--small:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* Кнопки действий в таблицах */
.ds-contract-manager-table__actions,
.ds-currencies-table__actions,
.ds-other-accruals-table__actions,
.ds-payout-register-table__actions,
.ds-document-acceptance-table__actions {
	display: flex;
	gap: 8px;
	align-items: center;
}

/* Теги продуктов в таблице клиентов */
.ds-clients-general-table__products {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.ds-clients-general-table__product-tag {
	padding: 4px 10px;
	border-radius: 12px;
	font-size: 11px;
	font-weight: 500;
	background: var(--ds-primary-muted);
	color: var(--text-primary);
	border: 1px solid var(--ds-primary-border);
	white-space: nowrap;
}

/* Ссылки на файлы */
.ds-document-acceptance-table__file-link {
	color: var(--ds-text);
	text-decoration: none;
	font-weight: 500;
	transition: all 0.2s ease;
}

.ds-document-acceptance-table__file-link:hover {
	color: var(--ds-text);
	text-decoration: underline;
}

/* Заголовки и фон страниц заданы в pages.css (.ds-page__header, .ds-page__title, .ds-page) */

/* === HL-блоки: стили админ-страниц (по макетам) === */
.ds-hl-table-wrapper {
	background: var(--ds-bg-card);
	border-radius: var(--ds-radius-lg);
	box-shadow: var(--ds-shadow-sm);
	border: 1px solid var(--ds-border);
	overflow: hidden;
	margin-bottom: 24px;
}

.ds-hl-table-meta--admin {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding: 12px 20px;
	background: var(--ds-border-light);
	border-bottom: 1px solid var(--ds-border);
	font-size: 14px;
}

.ds-hl-table-meta__nav {
	display: flex;
	align-items: center;
	gap: 8px;
}

.ds-hl-table-meta__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 28px;
	background: var(--ds-bg-card);
	border: 1px solid var(--ds-border);
	border-radius: var(--ds-radius);
	color: var(--ds-text);
	text-decoration: none;
	font-weight: 600;
	transition: all 0.2s ease;
}

.ds-hl-table-meta__arrow:hover:not(.ds-hl-table-meta__arrow--disabled) {
	background: var(--ds-primary);
	color: var(--ds-primary-text);
	border-color: var(--ds-primary);
}

.ds-hl-table-meta__arrow--disabled {
	opacity: 0.4;
	cursor: not-allowed;
	pointer-events: none;
}

/* Иконка редактирования в таблице — только иконка, акцентный цвет */
.ds-hl-table__th-actions {
	width: 48px;
	text-align: center;
}
.ds-hl-table__td-actions {
	text-align: center;
	vertical-align: middle;
}
.ds-hl-table__actions-inline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}
.ds-hl-table__edit-icon,
.ds-hl-table__history-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 8px;
	transition: color 0.2s ease, background 0.2s ease, transform 0.15s ease;
}
.ds-hl-table__edit-icon svg,
.ds-hl-table__history-icon svg {
	display: block;
}
.ds-hl-table__edit-icon {
	color: #0ea5e9;
	background: rgba(14, 165, 233, 0.1);
}
.ds-hl-table__edit-icon:hover {
	color: #0284c7;
	background: rgba(14, 165, 233, 0.2);
	transform: scale(1.08);
}
.ds-hl-table__history-icon {
	color: var(--ds-text-muted, #64748b);
	background: rgba(100, 116, 139, 0.1);
}
.ds-hl-table__history-icon:hover {
	color: var(--ds-text, #334155);
	background: rgba(100, 116, 139, 0.2);
	transform: scale(1.08);
}

.ds-hl-table-meta__page {
	font-weight: 600;
	color: var(--ds-text);
}

.ds-hl-table-meta__total {
	color: var(--ds-text-muted);
	font-weight: 500;
}

/* Чередование строк в HL-таблицах */
.ds-hl-table tbody tr:nth-child(even) {
	background: var(--ds-primary-subtle);
}

.ds-hl-table tbody tr:nth-child(odd) {
	background: var(--ds-bg-card);
}

.ds-hl-table tbody tr:hover {
	background: var(--ds-primary-muted) !important;
}

.ds-hl-table thead {
	background: var(--ds-border-light);
}

.ds-hl-table th {
	padding: 14px 20px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ds-text-muted);
	border-bottom: 2px solid var(--ds-border);
}

.ds-hl-table td {
	padding: 14px 20px;
	font-size: 14px;
	border-bottom: 1px solid var(--ds-border-light);
}

/* Заголовок страницы админа: светлая подложка — тёмный шрифт для читаемости */
.ds-page--admin .ds-page__header {
	background: linear-gradient(135deg, var(--ds-primary) 0%, var(--ds-primary-hover) 100%);
	border-radius: var(--ds-radius-lg);
	padding: 20px 24px;
	margin-top: 0;
	margin-bottom: 20px;
	border: none;
}

.ds-page--admin .ds-page__title {
	color: #1a2e1a;
	font-size: 24px;
	font-weight: 700;
}

.ds-page--admin .ds-page__subtitle {
	color: rgba(26, 46, 26, 0.85);
	margin-top: 4px;
}

/* Кнопки в заголовке админ-страницы — тёмный текст на светлой подложке */
.ds-page__header-actions {
	display: flex;
	gap: 12px;
	margin-top: 16px;
	flex-wrap: wrap;
}

.ds-page__header-actions .ds-btn--primary {
	background: rgba(255, 255, 255, 0.95);
	color: var(--ds-text);
	border: none;
}

.ds-page__header-actions .ds-btn--primary:hover {
	background: #fff;
	color: var(--ds-text);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.ds-page__header-actions .ds-btn--secondary {
	background: rgba(255, 255, 255, 0.35);
	color: #1a2e1a;
	border: 1px solid rgba(26, 46, 26, 0.4);
}

.ds-page__header-actions .ds-btn--secondary:hover {
	background: rgba(255, 255, 255, 0.5);
	color: #0d1a0d;
	border-color: rgba(26, 46, 26, 0.6);
}

/* Очистить фильтры — ссылка в блоке фильтров */
.ds-filters__clear {
	color: var(--ds-text);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	transition: color 0.2s ease;
	margin-left: auto;
}

.ds-filters__clear:hover {
	color: var(--ds-text);
	text-decoration: underline;
}

.ds-filters__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

/* Фильтр даты рождения — одно поле с выбором типа */
.ds-birth-filter__row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.ds-birth-filter__type {
	min-width: 140px;
}

.ds-birth-filter__inputs {
	display: none;
	align-items: center;
	gap: 8px;
}

.ds-birth-filter__inputs[style*="inline-flex"] {
	display: inline-flex;
}

.ds-birth-filter__inputs input,
.ds-birth-filter__inputs select {
	transition: opacity 0.2s;
}

.ds-birth-filter__inputs input:disabled,
.ds-birth-filter__inputs select:disabled {
	opacity: 0.4;
	pointer-events: none;
}

.ds-birth-filter__sep {
	color: var(--ds-text-muted);
	font-weight: 500;
}

.ds-birth-filter__inputs--range input {
	min-width: 130px;
}

.ds-birth-filter__inputs--date input {
	min-width: 140px;
}

.ds-birth-filter__inputs--year input {
	width: 80px;
}

.ds-birth-filter__inputs--month select {
	min-width: 100px;
}

/* Фильтр даты (контракты) — как дата рождения */
.ds-date-filter__row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.ds-date-filter__type {
	min-width: 140px;
}

.ds-date-filter__inputs {
	display: none;
	align-items: center;
	gap: 8px;
}

.ds-date-filter__inputs[style*="inline-flex"] {
	display: inline-flex;
}

.ds-date-filter__inputs input,
.ds-date-filter__inputs select {
	transition: opacity 0.2s;
}

.ds-date-filter__inputs input:disabled,
.ds-date-filter__inputs select:disabled {
	opacity: 0.4;
	pointer-events: none;
}

.ds-date-filter__sep {
	color: var(--ds-text-muted);
	font-weight: 500;
}

.ds-date-filter__inputs[data-type="range"] input {
	min-width: 130px;
}

.ds-date-filter__inputs[data-type="date"] input {
	min-width: 140px;
}

.ds-date-filter__inputs[data-type="year"] input {
	width: 80px;
}

.ds-date-filter__inputs[data-type="month"] input,
.ds-date-filter__inputs[data-type="month"] select {
	min-width: 80px;
}

/* Обновить данные — кнопка с иконкой */
.ds-btn--refresh {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* Таблицы: уменьшение шрифта при 1024–1400px, чтобы данные не переносились */
@media (min-width: 1024px) and (max-width: 1400px) {
	.ds-contract-manager-table th,
	.ds-partners-table th,
	.ds-transactions-table th,
	.ds-commissions-table th,
	.ds-clients-table th,
	.ds-clients-general-table th,
	.ds-qualifications-table th,
	.ds-pool-table th,
	.ds-other-accruals-table th,
	.ds-currencies-table th,
	.ds-payout-register-table th,
	.ds-partner-statuses-table th,
	.ds-document-acceptance-table th {
		font-size: 9px;
		padding: 12px 14px;
	}
	.ds-contract-manager-table td,
	.ds-partners-table td,
	.ds-transactions-table td,
	.ds-commissions-table td,
	.ds-clients-table td,
	.ds-clients-general-table td,
	.ds-qualifications-table td,
	.ds-pool-table td,
	.ds-other-accruals-table td,
	.ds-currencies-table td,
	.ds-payout-register-table td,
	.ds-partner-statuses-table td,
	.ds-document-acceptance-table td {
		font-size: 12px;
		padding: 12px 14px;
	}
	.ds-hl-table th {
		font-size: 9px;
		padding: 12px 14px;
	}
	.ds-hl-table td {
		font-size: 12px;
		padding: 12px 14px;
	}
	.ds-hl-table-meta--admin {
		font-size: 12px;
		padding: 10px 16px;
	}
	.ds-partner-rearrangements-table th,
	.ds-report-availability-table th {
		font-size: 9px;
		padding: 12px 14px;
	}
	.ds-partner-rearrangements-table td,
	.ds-report-availability-table td {
		font-size: 12px;
		padding: 12px 14px;
	}
}

/* 1200–1400px: ещё меньше шрифт в таблицах */
@media (min-width: 1200px) and (max-width: 1400px) {
	.ds-contract-manager-table th,
	.ds-partners-table th,
	.ds-transactions-table th,
	.ds-commissions-table th,
	.ds-clients-table th,
	.ds-clients-general-table th,
	.ds-qualifications-table th,
	.ds-pool-table th,
	.ds-other-accruals-table th,
	.ds-currencies-table th,
	.ds-payout-register-table th,
	.ds-partner-statuses-table th,
	.ds-document-acceptance-table th {
		font-size: 8px;
		padding: 10px 12px;
	}
	.ds-contract-manager-table td,
	.ds-partners-table td,
	.ds-transactions-table td,
	.ds-commissions-table td,
	.ds-clients-table td,
	.ds-clients-general-table td,
	.ds-qualifications-table td,
	.ds-pool-table td,
	.ds-other-accruals-table td,
	.ds-currencies-table td,
	.ds-payout-register-table td,
	.ds-partner-statuses-table td,
	.ds-document-acceptance-table td {
		font-size: 11px;
		padding: 10px 12px;
	}
	.ds-hl-table th {
		font-size: 8px;
		padding: 10px 12px;
	}
	.ds-hl-table td {
		font-size: 11px;
		padding: 10px 12px;
	}
	.ds-hl-table-meta--admin {
		font-size: 11px;
		padding: 8px 14px;
	}
	.ds-partner-rearrangements-table th,
	.ds-report-availability-table th {
		font-size: 8px;
		padding: 10px 12px;
	}
	.ds-partner-rearrangements-table td,
	.ds-report-availability-table td {
		font-size: 11px;
		padding: 10px 12px;
	}
}

/* Адаптивность: 992px — уменьшаем отступы и шрифты в таблице менеджера контрактов */
@media (max-width: 992px) {
	.ds-page--admin .ds-hl-table th {
		font-size: 10px;
		padding: 12px 14px;
	}
	.ds-page--admin .ds-hl-table td {
		font-size: 13px;
		padding: 12px 14px;
	}
	.ds-contract-manager-table th {
		font-size: 10px;
		padding: 12px 14px;
	}
	.ds-contract-manager-table td {
		font-size: 13px;
		padding: 12px 14px;
	}
}

/* 768px — горизонтальная прокрутка таблицы, ещё меньше шрифты */
@media (max-width: 768px) {
	.ds-contract-manager-filters__row,
	.ds-partners-filters__row,
	.ds-transactions-filters__row,
	.ds-commissions-filters__row,
	.ds-clients-general-filters__row,
	.ds-payout-register-filters__row,
	.ds-document-acceptance-filters__row {
		grid-template-columns: 1fr;
	}
	.ds-commissions-page .ds-commissions-filters__form {
		flex-direction: column;
		align-items: stretch;
	}
	.ds-commissions-page .ds-commissions-filters__row {
		display: grid;
		grid-template-columns: 1fr;
	}
	.ds-commissions-page .ds-commissions-filters__group {
		min-width: 0;
		max-width: none;
	}
	
	.ds-reports-list {
		grid-template-columns: 1fr;
	}
	
	.ds-page--admin .ds-hl-table-wrapper {
		overflow: hidden;
	}
	.ds-page--admin .ds-table-scroll {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.ds-page--admin .ds-hl-table {
		min-width: 800px;
		table-layout: fixed;
	}
	.ds-page--admin .ds-hl-table th {
		font-size: 9px;
		padding: 10px 12px;
	}
	.ds-page--admin .ds-hl-table td {
		font-size: 12px;
		padding: 10px 12px;
	}
	.ds-contract-manager-table-wrapper {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.ds-contract-manager-table {
		min-width: 800px;
		table-layout: fixed;
	}
	.ds-contract-manager-table th {
		font-size: 9px;
		padding: 10px 12px;
	}
	.ds-contract-manager-table td {
		font-size: 12px;
		padding: 10px 12px;
	}
	
	.ds-partners-table-wrapper,
	.ds-transactions-table-wrapper,
	.ds-commissions-table-wrapper,
	.ds-clients-general-table-wrapper,
	.ds-pool-table-wrapper,
	.ds-other-accruals-table-wrapper,
	.ds-currencies-table-wrapper,
	.ds-payout-register-table-wrapper,
	.ds-partner-statuses-table-wrapper,
	.ds-document-acceptance-table-wrapper {
		overflow-x: auto;
	}
	
	.ds-partners-table,
	.ds-transactions-table,
	.ds-commissions-table,
	.ds-clients-general-table,
	.ds-pool-table,
	.ds-other-accruals-table,
	.ds-currencies-table,
	.ds-payout-register-table,
	.ds-partner-statuses-table,
	.ds-document-acceptance-table {
		min-width: 800px;
	}
}

/* 480px — компактнее таблица менеджера контрактов */
@media (max-width: 480px) {
	.ds-page--admin .ds-hl-table th {
		font-size: 8px;
		padding: 8px 10px;
	}
	.ds-page--admin .ds-hl-table td {
		font-size: 11px;
		padding: 8px 10px;
	}
	.ds-contract-manager-table th {
		font-size: 8px;
		padding: 8px 10px;
	}
	.ds-contract-manager-table td {
		font-size: 11px;
		padding: 8px 10px;
	}
}

/* End */


/* Start:/local/templates/ds_platform/css/cards-enhanced.css?177099832013981*/
/* Улучшенные стили для страниц с карточками */

/* Квалификации */
.ds-qualifications-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 24px;
}

.ds-qualifications-card {
	background: #fff;
	border-radius: 20px;
	padding: 28px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
	border: 1px solid var(--card-border);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ds-qualifications-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.ds-qualifications-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 40px var(--ds-primary-focus), 0 4px 12px rgba(0, 0, 0, 0.1);
	border-color: var(--color-primary);
}

.ds-qualifications-card:hover::before {
	transform: scaleX(1);
}

.ds-qualifications-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 2px solid var(--border-color-light);
}

.ds-qualifications-card__name {
	font-size: 24px;
	font-weight: 700;
	color: var(--text-primary);
	margin: 0;
	letter-spacing: -0.5px;
}

.ds-qualifications-card__level {
	padding: 6px 14px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	background: linear-gradient(135deg, var(--ds-primary-focus) 0%, var(--ds-primary-muted) 100%);
	color: var(--ds-text);
	border: 1px solid var(--ds-primary-border);
	white-space: nowrap;
}

.ds-qualifications-card__body {
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex: 1;
}

.ds-qualifications-card__row {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ds-qualifications-card__label {
	font-size: 12px;
	font-weight: 600;
	color: var(--text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.ds-qualifications-card__value {
	font-size: 14px;
	font-weight: 500;
	color: var(--text-primary);
	line-height: 1.6;
}

/* Продукты */
.ds-products-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 24px;
}

.ds-products-card {
	background: #fff;
	border-radius: 20px;
	padding: 28px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
	border: 1px solid var(--card-border);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ds-products-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.ds-products-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 40px var(--ds-primary-focus), 0 4px 12px rgba(0, 0, 0, 0.1);
	border-color: var(--color-primary);
}

.ds-products-card:hover::before {
	transform: scaleX(1);
}

.ds-products-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 2px solid var(--border-color-light);
}

.ds-products-card__name {
	font-size: 20px;
	font-weight: 700;
	color: var(--text-primary);
	margin: 0;
	letter-spacing: -0.3px;
	flex: 1;
}

.ds-products-card__status {
	padding: 6px 12px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	white-space: nowrap;
}

.ds-products-card__status--активный {
	background: linear-gradient(135deg, #4caf50 0%, #45a049 100%);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(76, 175, 80, 0.3);
}

.ds-products-card__body {
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex: 1;
}

.ds-products-card__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

.ds-products-card__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--text-secondary);
}

.ds-products-card__value {
	font-size: 14px;
	font-weight: 500;
	color: var(--text-primary);
}

.ds-products-card__actions {
	padding-top: 16px;
	border-top: 2px solid var(--border-color-light);
}

/* Конкурсы */
.ds-contests-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ds-contests-card {
	background: #fff;
	border-radius: 20px;
	padding: 28px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
	border: 1px solid var(--card-border);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ds-contests-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.ds-contests-card:hover {
	transform: translateX(8px);
	box-shadow: 0 12px 40px var(--ds-primary-focus), 0 4px 12px rgba(0, 0, 0, 0.1);
	border-color: var(--color-primary);
}

.ds-contests-card:hover::before {
	transform: scaleX(1);
}

.ds-contests-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 2px solid var(--border-color-light);
}

.ds-contests-card__name {
	font-size: 22px;
	font-weight: 700;
	color: var(--text-primary);
	margin: 0;
	letter-spacing: -0.3px;
	flex: 1;
}

.ds-contests-card__status {
	padding: 6px 12px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	white-space: nowrap;
}

.ds-contests-card__status--активный {
	background: linear-gradient(135deg, #4caf50 0%, #45a049 100%);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(76, 175, 80, 0.3);
}

.ds-contests-card__status--запланировано {
	background: linear-gradient(135deg, #ff9800 0%, #f57c00 100%);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(255, 152, 0, 0.3);
}

.ds-contests-card__body {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 20px;
}

.ds-contests-card__row {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ds-contests-card__label {
	font-size: 12px;
	font-weight: 600;
	color: var(--text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.ds-contests-card__value {
	font-size: 14px;
	font-weight: 500;
	color: var(--text-primary);
}

.ds-contests-card__actions {
	display: flex;
	gap: 12px;
	padding-top: 16px;
	border-top: 2px solid var(--border-color-light);
}

/* Коммуникация */
.ds-communication-channels {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
}

.ds-communication-channel {
	background: #fff;
	border-radius: 20px;
	padding: 32px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
	border: 1px solid var(--card-border);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	position: relative;
	overflow: hidden;
}

.ds-communication-channel::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.ds-communication-channel:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 40px var(--ds-primary-focus), 0 4px 12px rgba(0, 0, 0, 0.1);
	border-color: var(--color-primary);
}

.ds-communication-channel:hover::before {
	transform: scaleX(1);
}

.ds-communication-channel__icon {
	font-size: 48px;
	line-height: 1;
	margin-bottom: 8px;
}

.ds-communication-channel__name {
	font-size: 20px;
	font-weight: 700;
	color: var(--text-primary);
	margin: 0;
}

.ds-communication-channel__description {
	font-size: 14px;
	color: var(--text-secondary);
	margin: 0;
	line-height: 1.6;
}

/* Инсмарт */
.ds-insmart-content {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.ds-insmart-section {
	background: #fff;
	border-radius: 20px;
	padding: 32px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
	border: 1px solid var(--card-border);
}

.ds-insmart-section__title {
	font-size: 24px;
	font-weight: 700;
	color: var(--text-primary);
	margin: 0 0 20px 0;
	padding-bottom: 16px;
	border-bottom: 2px solid var(--border-color-light);
}

.ds-insmart-section__text {
	font-size: 16px;
	color: var(--text-secondary);
	line-height: 1.8;
	margin: 0;
}

.ds-insmart-products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 20px;
	margin-top: 24px;
}

.ds-insmart-product-card {
	background: linear-gradient(135deg, var(--ds-primary-subtle) 0%, var(--ds-primary-subtle) 100%);
	border-radius: 16px;
	padding: 24px;
	border: 2px solid var(--ds-primary-focus);
	transition: all 0.3s ease;
}

.ds-insmart-product-card:hover {
	border-color: var(--color-primary);
	background: linear-gradient(135deg, var(--ds-primary-muted) 0%, var(--ds-primary-subtle) 100%);
	transform: translateY(-4px);
	box-shadow: 0 8px 24px var(--ds-primary-border);
}

.ds-insmart-product-card__name {
	font-size: 18px;
	font-weight: 700;
	color: var(--text-primary);
	margin: 0 0 8px 0;
}

.ds-insmart-product-card__description {
	font-size: 14px;
	color: var(--text-secondary);
	margin: 0;
	line-height: 1.6;
}

/* Помощь/Инструкции */
.ds-help-content {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.ds-help-section {
	background: #fff;
	border-radius: 20px;
	padding: 32px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
	border: 1px solid var(--card-border);
}

.ds-help-section__title {
	font-size: 24px;
	font-weight: 700;
	color: var(--text-primary);
	margin: 0 0 24px 0;
	padding-bottom: 16px;
	border-bottom: 2px solid var(--border-color-light);
}

.ds-help-section__text {
	font-size: 16px;
	color: var(--text-secondary);
	line-height: 1.8;
	margin: 0 0 24px 0;
}

.ds-help-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 20px;
	margin-top: 24px;
}

.ds-help-item {
	background: linear-gradient(135deg, var(--ds-primary-subtle) 0%, var(--ds-primary-subtle) 100%);
	border-radius: 16px;
	padding: 24px;
	border: 2px solid var(--ds-primary-focus);
	transition: all 0.3s ease;
}

.ds-help-item:hover {
	border-color: var(--color-primary);
	background: linear-gradient(135deg, var(--ds-primary-muted) 0%, var(--ds-primary-subtle) 100%);
	transform: translateY(-4px);
	box-shadow: 0 8px 24px var(--ds-primary-border);
}

.ds-help-item__title {
	font-size: 18px;
	font-weight: 700;
	color: var(--text-primary);
	margin: 0 0 8px 0;
}

.ds-help-item__text {
	font-size: 14px;
	color: var(--text-secondary);
	margin: 0;
	line-height: 1.6;
}

.ds-help-links {
	list-style: none;
	padding: 0;
	margin: 24px 0 0 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ds-help-link {
	color: var(--ds-text);
	text-decoration: none;
	font-weight: 500;
	font-size: 16px;
	transition: all 0.2s ease;
	padding: 8px 0;
	border-bottom: 2px solid transparent;
}

.ds-help-link:hover {
	color: var(--ds-text);
	border-bottom-color: var(--color-primary);
}

/* Реквизиты партнеров */
.ds-partner-details-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
	gap: 24px;
}

.ds-partner-details-card {
	background: #fff;
	border-radius: 20px;
	padding: 28px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
	border: 1px solid var(--card-border);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ds-partner-details-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.ds-partner-details-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 40px var(--ds-primary-focus), 0 4px 12px rgba(0, 0, 0, 0.1);
	border-color: var(--color-primary);
}

.ds-partner-details-card:hover::before {
	transform: scaleX(1);
}

.ds-partner-details-card__header {
	padding-bottom: 16px;
	border-bottom: 2px solid var(--border-color-light);
}

.ds-partner-details-card__name {
	font-size: 22px;
	font-weight: 700;
	color: var(--text-primary);
	margin: 0;
	letter-spacing: -0.3px;
}

.ds-partner-details-card__body {
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex: 1;
}

.ds-partner-details-card__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 12px;
	background: var(--ds-primary-subtle);
	border-radius: 12px;
	border: 1px solid var(--ds-primary-focus);
}

.ds-partner-details-card__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--text-secondary);
}

.ds-partner-details-card__value {
	font-size: 14px;
	font-weight: 500;
	color: var(--text-primary);
	font-family: 'Courier New', monospace;
}

.ds-partner-details-card__actions {
	padding-top: 16px;
	border-top: 2px solid var(--border-color-light);
}

/* Адаптивность */
@media (max-width: 768px) {
	.ds-qualifications-grid,
	.ds-products-grid,
	.ds-communication-channels,
	.ds-insmart-products,
	.ds-help-list,
	.ds-partner-details-list {
		grid-template-columns: 1fr;
	}
	
	.ds-contests-card__body {
		grid-template-columns: 1fr;
	}
}

/* End */


/* Start:/local/templates/ds_platform/css/forms-enhanced.css?17709983206361*/
/* Улучшенные стили для форм */

/* Общие стили форм */
.ds-leave-case-form,
.ds-contract-upload-form,
.ds-transaction-import-form,
.ds-csv-import-form {
	background: #fff;
	border-radius: 20px;
	padding: 32px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
	border: 1px solid var(--card-border);
}

.ds-leave-case-form__form,
.ds-contract-upload-form__form,
.ds-transaction-import-form__form,
.ds-csv-import-form__form {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.ds-leave-case-form__section,
.ds-contract-upload-form__section,
.ds-transaction-import-form__section,
.ds-csv-import-form__section {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 24px;
	background: var(--ds-primary-subtle);
	border-radius: 16px;
	border: 1px solid var(--ds-primary-focus);
}

.ds-leave-case-form__section-title,
.ds-contract-upload-form__section-title,
.ds-transaction-import-form__section-title,
.ds-csv-import-form__section-title {
	font-size: 20px;
	font-weight: 700;
	color: var(--text-primary);
	margin: 0 0 8px 0;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--border-color-light);
}

.ds-leave-case-form__row,
.ds-contract-upload-form__row,
.ds-transaction-import-form__row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;
}

.ds-leave-case-form__group,
.ds-contract-upload-form__group,
.ds-transaction-import-form__group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ds-leave-case-form__label,
.ds-contract-upload-form__label,
.ds-transaction-import-form__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.ds-leave-case-form__input,
.ds-leave-case-form__select,
.ds-leave-case-form__textarea,
.ds-contract-upload-form__input,
.ds-contract-upload-form__select,
.ds-transaction-import-form__input,
.ds-transaction-import-form__select {
	width: 100%;
	padding: 12px 16px;
	font-size: 14px;
	border: 2px solid var(--border-color-strong);
	border-radius: 12px;
	background: #fff;
	color: var(--text-primary);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	font-family: inherit;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.ds-leave-case-form__input:hover,
.ds-leave-case-form__select:hover,
.ds-leave-case-form__textarea:hover,
.ds-contract-upload-form__input:hover,
.ds-contract-upload-form__select:hover,
.ds-transaction-import-form__input:hover,
.ds-transaction-import-form__select:hover {
	border-color: var(--color-primary);
	box-shadow: 0 2px 8px var(--ds-primary-border);
	transform: translateY(-1px);
}

.ds-leave-case-form__input:focus,
.ds-leave-case-form__select:focus,
.ds-leave-case-form__textarea:focus,
.ds-contract-upload-form__input:focus,
.ds-contract-upload-form__select:focus,
.ds-transaction-import-form__input:focus,
.ds-transaction-import-form__select:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 4px var(--ds-primary-focus), 0 4px 12px var(--ds-primary-border);
	background: #fff;
	transform: translateY(-1px);
}

.ds-leave-case-form__textarea {
	min-height: 120px;
	resize: vertical;
	font-family: inherit;
	line-height: 1.6;
}

.ds-leave-case-form__file,
.ds-contract-upload-form__file-input,
.ds-transaction-import-form__file-input,
.ds-csv-import-form__file-input {
	display: none;
}

.ds-contract-upload-form__file-upload,
.ds-transaction-import-form__file-upload,
.ds-csv-import-form__file-upload {
	position: relative;
	border: 3px dashed var(--border-color);
	border-radius: 16px;
	padding: 48px 24px;
	text-align: center;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	background: var(--ds-primary-subtle);
	cursor: pointer;
}

.ds-contract-upload-form__file-upload:hover,
.ds-transaction-import-form__file-upload:hover,
.ds-csv-import-form__file-upload:hover {
	border-color: var(--color-primary);
	background: var(--ds-primary-subtle);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px var(--ds-primary-focus);
}

.ds-contract-upload-form__file-upload.dragover,
.ds-transaction-import-form__file-upload.dragover,
.ds-csv-import-form__file-upload.dragover {
	border-color: var(--color-primary);
	background: var(--ds-primary-muted);
	box-shadow: 0 0 0 4px var(--ds-primary-focus);
}

.ds-contract-upload-form__file-label,
.ds-transaction-import-form__file-label {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	cursor: pointer;
	color: var(--text-primary);
}

.ds-contract-upload-form__file-label svg,
.ds-transaction-import-form__file-label svg {
	color: var(--ds-text);
	transition: transform 0.3s ease;
}

.ds-contract-upload-form__file-upload:hover .ds-contract-upload-form__file-label svg,
.ds-transaction-import-form__file-upload:hover .ds-transaction-import-form__file-label svg {
	transform: translateY(-4px);
}

.ds-contract-upload-form__file-label span,
.ds-transaction-import-form__file-label span {
	font-size: 16px;
	font-weight: 500;
}

.ds-csv-import-form__hint,
.ds-transaction-import-form__hint {
	font-size: 13px;
	color: var(--text-secondary);
	margin: 12px 0 0 0;
	text-align: center;
	line-height: 1.6;
}

.ds-transaction-import-form__group label {
	display: flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
	padding: 12px;
	background: var(--bg-primary);
	border-radius: 12px;
	border: 2px solid var(--border-color);
	transition: all 0.2s ease;
}

.ds-transaction-import-form__group label:hover {
	border-color: var(--color-primary);
	background: var(--ds-primary-subtle);
}

.ds-transaction-import-form__group input[type="checkbox"] {
	width: 20px;
	height: 20px;
	cursor: pointer;
	accent-color: var(--color-primary);
}

.ds-leave-case-form__actions,
.ds-contract-upload-form__actions,
.ds-transaction-import-form__actions,
.ds-csv-import-form__actions {
	display: flex;
	gap: 16px;
	padding-top: 24px;
	border-top: 2px solid var(--border-color-light);
}

/* Адаптивность */
@media (max-width: 768px) {
	.ds-leave-case-form,
	.ds-contract-upload-form,
	.ds-transaction-import-form {
		padding: 24px;
	}
	
	.ds-leave-case-form__row,
	.ds-contract-upload-form__row,
	.ds-transaction-import-form__row {
		grid-template-columns: 1fr;
	}
	
	.ds-leave-case-form__actions,
	.ds-contract-upload-form__actions,
	.ds-transaction-import-form__actions {
		flex-direction: column;
	}
}

/* End */


/* Start:/local/templates/ds_platform/css/infographics.css?17723167505062*/
/**
 * Инфографика: карточки показателей, прогресс, мини-блоки
 * Готово к подстановке цветов из брендбука
 */

.ds-infographics {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: var(--ds-space-4);
	margin-bottom: var(--ds-space-6);
}

.ds-infographic-card {
	background: var(--ds-bg-card);
	border-radius: var(--ds-radius-lg);
	border: 1px solid var(--ds-border);
	padding: var(--ds-space-4);
	text-align: center;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.ds-infographic-card:hover {
	box-shadow: var(--ds-shadow);
	border-color: var(--ds-primary-border);
}

.ds-infographic-card__icon {
	width: 40px;
	height: 40px;
	margin: 0 auto var(--ds-space-2);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--ds-radius);
	background: var(--ds-primary-muted);
	color: var(--ds-text);
	font-size: 20px;
	line-height: 1;
}

.ds-infographic-card__value {
	font-size: 24px;
	font-weight: 700;
	color: var(--ds-text);
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.ds-infographic-card__label {
	font-size: 12px;
	font-weight: 500;
	color: var(--ds-text-muted);
	margin-top: 2px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.ds-infographic-card__change {
	font-size: 11px;
	margin-top: 4px;
}

.ds-infographic-card__change--up {
	color: var(--ds-status-success);
}

.ds-infographic-card__change--down {
	color: var(--ds-status-danger);
}

/* Прогресс-бар инфографика */
.ds-infographic-progress {
	margin-bottom: var(--ds-space-4);
}

.ds-infographic-progress__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 6px;
}

.ds-infographic-progress__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--ds-text);
}

.ds-infographic-progress__value {
	font-size: 13px;
	font-weight: 600;
	color: var(--ds-text-muted);
}

.ds-infographic-progress__bar {
	height: 8px;
	background: var(--ds-border-light);
	border-radius: 4px;
	overflow: hidden;
}

.ds-infographic-progress__fill {
	height: 100%;
	background: linear-gradient(90deg, var(--ds-primary) 0%, var(--ds-primary-hover) 100%);
	border-radius: 4px;
	transition: width 0.4s var(--ds-ease-out);
}

/* Сетка крупных блоков (дашборд) */
.ds-infographics-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: var(--ds-space-5);
}

.ds-infographic-block {
	background: var(--ds-bg-card);
	border-radius: var(--ds-radius-xl);
	border: 1px solid var(--ds-border);
	padding: var(--ds-space-6);
	box-shadow: var(--ds-shadow-sm);
}

.ds-infographic-block__title {
	font-size: 14px;
	font-weight: 600;
	color: var(--ds-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: var(--ds-space-3);
}

.ds-infographic-block__main {
	font-size: 28px;
	font-weight: 700;
	color: var(--ds-text);
	letter-spacing: -0.03em;
}

.ds-infographic-block__sub {
	font-size: 13px;
	color: var(--ds-text-muted);
	margin-top: 4px;
}

/* Мини-диаграмма placeholder (под реальные данные из брендбука) */
.ds-infographic-chart {
	height: 120px;
	display: flex;
	align-items: flex-end;
	justify-content: space-around;
	gap: 4px;
	padding: var(--ds-space-3) 0;
}

.ds-infographic-chart__bar {
	flex: 1;
	min-width: 8px;
	max-width: 32px;
	background: var(--ds-primary);
	opacity: 0.85;
	border-radius: 4px 4px 0 0;
	transition: height 0.3s ease;
}

.ds-infographic-chart__bar:nth-child(odd) {
	opacity: 0.6;
}

/* Мобильная инфографика */
@media (max-width: 768px) {
	.ds-infographics {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--ds-space-3);
	}

	.ds-infographic-card__value {
		font-size: 20px;
	}

	.ds-infographics-grid {
		grid-template-columns: 1fr;
	}
}

/* Инфографика на дашборде: отступ от hero и goals */
.ds-dash-infographics {
	margin-bottom: 24px;
}

.ds-infographics--dash .ds-infographic-card {
	animation: ds-fade-in-up 0.5s var(--ds-ease-out) backwards;
}

.ds-infographics--dash .ds-infographic-card:nth-child(1) { animation-delay: 0.05s; }
.ds-infographics--dash .ds-infographic-card:nth-child(2) { animation-delay: 0.1s; }
.ds-infographics--dash .ds-infographic-card:nth-child(3) { animation-delay: 0.15s; }
.ds-infographics--dash .ds-infographic-card:nth-child(4) { animation-delay: 0.2s; }

/* Инфографика на странице финансов */
.ds-finance-report__infographics {
	margin-bottom: 28px;
}

.ds-infographics--finance .ds-infographic-card {
	animation: ds-fade-in-up 0.45s var(--ds-ease-out) backwards;
}

.ds-infographics--finance .ds-infographic-card:nth-child(1) { animation-delay: 0.03s; }
.ds-infographics--finance .ds-infographic-card:nth-child(2) { animation-delay: 0.08s; }
.ds-infographics--finance .ds-infographic-card:nth-child(3) { animation-delay: 0.13s; }
.ds-infographics--finance .ds-infographic-card:nth-child(4) { animation-delay: 0.18s; }

/* End */


/* Start:/local/templates/ds_platform/css/design-rebuild.css?177486709821539*/
/* DS Platform - Total redesign v3 (dark neo glass) */
/* Full dark style with restrained green branding accent */

:root {
  --ds-primary: #6fc94c;
  --ds-primary-hover: #62b842;
  --ds-primary-soft: #94de77;
  --ds-primary-muted: rgba(111, 201, 76, 0.16);
  --ds-primary-border: rgba(111, 201, 76, 0.32);

  --ds-accent: #7a72ff;
  --ds-accent-hover: #6a61f2;
  --ds-accent-muted: rgba(122, 114, 255, 0.14);

  --ds-bg-page: #0a111d;
  --ds-bg-card: #121d30;
  --ds-bg-elevated: #18253b;
  --ds-bg-tertiary: #0f1a2d;
  --ds-header-bg: rgba(10, 17, 29, 0.86);
  --ds-sidebar-bg: #0e182a;

  --ds-text: #e8f0fd;
  --ds-text-muted: #a5b6d3;
  --ds-text-tertiary: #7f92b2;
  --ds-border: #25344d;
  --ds-border-light: #1f2d45;

  --ds-shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.18);
  --ds-shadow: 0 14px 34px rgba(0, 0, 0, 0.3);
  --ds-shadow-lg: 0 24px 52px rgba(0, 0, 0, 0.38);
  --ds-shadow-xl: 0 32px 74px rgba(0, 0, 0, 0.45);
}

body.ds-platform {
  background:
    radial-gradient(980px 420px at 0% -120px, rgba(122, 114, 255, 0.12) 0%, transparent 55%),
    radial-gradient(1200px 520px at 100% 0%, rgba(111, 201, 76, 0.1) 0%, transparent 56%),
    var(--ds-bg-page);
  color: var(--ds-text);
}

.ds-header {
  height: 64px;
  background: var(--ds-header-bg);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--ds-border);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.ds-header__right {
  gap: 10px;
}

.ds-logo__link {
  color: var(--ds-text);
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ds-container {
  gap: 0;
}

.ds-sidebar {
  width: 272px;
  background: var(--ds-sidebar-bg);
  border-right: 1px solid var(--ds-border);
}

.ds-nav {
  padding: 18px 0;
}

.ds-nav__section {
  margin-bottom: 18px;
}

.ds-nav__title {
  color: var(--ds-text-tertiary);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 8px 18px;
}

.ds-nav__item {
  margin: 0 10px 4px;
}

.ds-nav__link {
  color: var(--ds-text-muted);
  background: transparent;
  border-left: none;
  border: 1px solid transparent;
  border-radius: 12px;
  padding: 11px 13px;
}

.ds-nav__icon {
  width: 20px;
  height: 20px;
  margin-right: 10px;
  font-size: 16px;
  opacity: 0.82;
}

.ds-nav__link:hover {
  color: var(--ds-text);
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--ds-border);
  padding-left: 13px;
  box-shadow: var(--ds-shadow-sm);
}

.ds-nav__link--active {
  color: #d6f5c9;
  background: linear-gradient(180deg, rgba(111, 201, 76, 0.2) 0%, rgba(111, 201, 76, 0.12) 100%);
  border-color: var(--ds-primary-border);
  box-shadow: 0 8px 18px rgba(111, 201, 76, 0.15);
}

.ds-main {
  background: transparent;
}

.ds-content {
  padding: 28px 30px 40px;
  background: transparent;
}

.ds-content::before {
  top: 64px;
  left: 272px;
  background-image: radial-gradient(ellipse 70% 45% at 70% 0%, rgba(99, 91, 255, 0.08) 0%, transparent 62%);
}

.ds-page__header {
  border-bottom: 1px solid var(--ds-border);
  margin-bottom: 24px;
  padding-bottom: 16px;
}

.ds-page__title {
  color: var(--ds-text);
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.ds-page__subtitle {
  color: var(--ds-text-muted);
}

.ds-page__content,
.ds-filters,
.ds-table-wrapper,
.ds-card,
.ds-modal__content {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.018) 0%, rgba(255, 255, 255, 0.008) 100%), var(--ds-bg-card);
  backdrop-filter: blur(7px);
  border: 1px solid var(--ds-border);
  box-shadow: var(--ds-shadow);
  border-radius: 16px;
}

.ds-filters,
.ds-page__content {
  padding: 22px;
}

.ds-card {
  border-radius: 14px;
}

.ds-card:hover {
  transform: translateY(-3px);
  border-color: rgba(122, 114, 255, 0.26);
  box-shadow: var(--ds-shadow-lg);
}

.ds-btn {
  border-radius: 12px;
  border: 1px solid transparent;
  font-weight: 700;
}

.ds-btn--primary {
  color: #0f1f0d;
  background: linear-gradient(180deg, #7ed45c 0%, var(--ds-primary) 100%);
  border-color: rgba(111, 201, 76, 0.42);
}

.ds-btn--primary:hover {
  background: linear-gradient(180deg, #66c741 0%, var(--ds-primary-hover) 100%);
  box-shadow: 0 12px 22px rgba(97, 191, 62, 0.24);
}

.ds-btn--secondary {
  background: rgba(255, 255, 255, 0.03);
  border-color: var(--ds-border);
  color: var(--ds-text);
}

.ds-btn--secondary:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: #36506f;
}

.ds-btn--accent {
  color: #ffffff;
  background: linear-gradient(180deg, #746dff 0%, var(--ds-accent) 100%);
  border-color: rgba(99, 91, 255, 0.42);
}

.ds-form-input,
.ds-form-select,
.ds-filters__input,
.ds-filters__select {
  background: rgba(255, 255, 255, 0.015);
  color: var(--ds-text);
  border: 1px solid #304766;
  border-radius: 12px;
}

.ds-form-input::placeholder,
.ds-filters__input::placeholder {
  color: #7f92b2;
}

.ds-form-input:focus,
.ds-form-select:focus,
.ds-filters__input:focus,
.ds-filters__select:focus {
  border-color: rgba(122, 114, 255, 0.5);
  box-shadow: 0 0 0 4px rgba(122, 114, 255, 0.14);
}

.ds-table thead {
  background: rgba(255, 255, 255, 0.03);
}

.ds-table th {
  color: var(--ds-text-tertiary);
  border-bottom-color: var(--ds-border);
}

.ds-table td {
  color: var(--ds-text);
  border-bottom-color: var(--ds-border-light);
}

.ds-table tbody tr:hover {
  background: rgba(122, 114, 255, 0.08);
  box-shadow: inset 0 0 0 1px rgba(122, 114, 255, 0.16);
}

.ds-status--success,
.ds-badge--success {
  background: rgba(111, 201, 76, 0.15);
  color: #c6efb6;
}

.ds-status--warning,
.ds-status--info,
.ds-badge--warning {
  background: rgba(122, 114, 255, 0.15);
  color: #cbc8ff;
}

.ds-alert--success {
  background: rgba(111, 201, 76, 0.12);
  border-color: rgba(111, 201, 76, 0.34);
  color: #c6efb6;
}

.ds-alert--info {
  background: rgba(122, 114, 255, 0.12);
  border-color: rgba(122, 114, 255, 0.36);
  color: #cbc8ff;
}

.ds-header-fc__copy-ref {
  color: #0f1f0d;
  background: linear-gradient(180deg, #7ed45c 0%, var(--ds-primary) 100%);
  border: 1px solid rgba(111, 201, 76, 0.38);
  box-shadow: 0 8px 18px rgba(111, 201, 76, 0.2);
}

.ds-mobile-menu-toggle {
  color: var(--ds-text);
}

.ds-mobile-menu-toggle:hover {
  background: rgba(99, 91, 255, 0.08);
}

@media (max-width: 1024px) {
  .ds-sidebar {
    width: 84px;
    min-width: 84px;
  }

  .ds-nav__title,
  .ds-nav__text {
    display: none;
  }

  .ds-nav__link {
    justify-content: center;
    padding: 12px;
  }

  .ds-nav__icon {
    margin-right: 0;
  }

  .ds-content::before {
    left: 84px;
  }
}

@media (max-width: 768px) {
  .ds-header {
    height: auto;
    min-height: 56px;
  }

  .ds-sidebar {
    width: 100%;
    max-width: 320px;
    min-width: 0;
  }

  .ds-nav__title,
  .ds-nav__text {
    display: block;
  }

  .ds-nav__link {
    justify-content: flex-start;
    padding: 12px 14px;
  }

  .ds-nav__icon {
    margin-right: 10px;
  }

  .ds-content {
    padding: 14px 12px 76px;
  }

  .ds-content::before {
    left: 0;
    top: 56px;
  }

  .ds-page__title {
    font-size: 24px;
  }

  .ds-page__content,
  .ds-filters,
  .ds-table-wrapper,
  .ds-card,
  .ds-modal__content {
    border-radius: 14px;
    box-shadow: var(--ds-shadow-sm);
  }
}

/* =========================================================
   Full normalization layer for legacy/light page styles
   ========================================================= */

/* Shared aliases for legacy variables used in old files */
:root {
  --text-primary: var(--ds-text);
  --text-secondary: var(--ds-text-muted);
  --text-tertiary: var(--ds-text-tertiary);
  --border-color-light: var(--ds-border-light);
  --card-border: var(--ds-border);
  --ds-bg-subtle: var(--ds-bg-tertiary);
  --ds-primary-rgb: 111, 201, 76;
}

/* Generic legacy wrappers that forced white cards */
.ds-qualifications-card,
.ds-products-card,
.ds-contests-card,
.ds-communication-channel,
.ds-insmart-section,
.ds-help-section,
.ds-partner-details-card,
.ds-reports-card,
.ds-reports-intro,
.ds-reports-filters,
.ds-reports-table-wrapper,
.ds-clients-list,
.ds-clients-filters,
.ds-auth-wrapper,
.ds-auth-main {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.018) 0%, rgba(255, 255, 255, 0.008) 100%), var(--ds-bg-card) !important;
  border-color: var(--ds-border) !important;
  color: var(--ds-text) !important;
}

/* Generic text overrides in legacy modules */
.ds-clients-page,
.ds-clients-page *,
.ds-reports-intro,
.ds-reports-intro *,
.ds-products-grid,
.ds-products-grid *,
.ds-qualifications-grid,
.ds-qualifications-grid *,
.ds-contests-list,
.ds-contests-list *,
.ds-communication-channels,
.ds-communication-channels *,
.ds-insmart-content,
.ds-insmart-content *,
.ds-help-content,
.ds-help-content *,
.ds-partner-details-list,
.ds-partner-details-list * {
  color: inherit;
}

.ds-clients-page,
.ds-reports-intro,
.ds-products-card,
.ds-qualifications-card,
.ds-contests-card,
.ds-communication-channel,
.ds-insmart-section,
.ds-help-section,
.ds-partner-details-card {
  color: var(--ds-text);
}

/* Normalize explicit light borders/backgrounds from legacy pages */
.ds-clients-header,
.ds-clients-filters__section,
.ds-clients-filters__actions,
.ds-clients-pagination,
.ds-contests-card__header,
.ds-products-card__header,
.ds-qualifications-card__header,
.ds-partner-details-card__header,
.ds-reports-card__header,
.ds-reports-card__actions {
  border-color: var(--ds-border-light) !important;
}

/* Inputs/selects on old pages */
.ds-clients-filters__input,
.ds-clients-filters__select,
.ds-clients-filters__search-input,
.ds-reports-filters__input,
.ds-reports-filters__select,
.ds-payout-register-report-bar__select,
.ds-auth-form .bx-auth-form input[type="text"],
.ds-auth-form .bx-auth-form input[type="email"],
.ds-auth-form .bx-auth-form input[type="password"],
.ds-auth-form .bx-auth-form input[type="tel"],
.ds-auth-form form input[type="text"],
.ds-auth-form form input[type="email"],
.ds-auth-form form input[type="password"],
.ds-auth-form form input[type="tel"] {
  background: rgba(255, 255, 255, 0.015) !important;
  color: var(--ds-text) !important;
  border-color: #304766 !important;
}

.ds-clients-filters__input::placeholder,
.ds-clients-filters__search-input::placeholder,
.ds-auth-form .bx-auth-form input::placeholder,
.ds-auth-form form input::placeholder {
  color: var(--ds-text-tertiary) !important;
}

/* Legacy table headers/rows/cells */
.ds-contract-manager-table thead,
.ds-partners-table thead,
.ds-transactions-table thead,
.ds-commissions-table thead,
.ds-clients-table thead,
.ds-clients-general-table thead,
.ds-qualifications-table thead,
.ds-pool-table thead,
.ds-other-accruals-table thead,
.ds-currencies-table thead,
.ds-payout-register-table thead,
.ds-partner-statuses-table thead,
.ds-document-acceptance-table thead,
.ds-partner-rearrangements-table thead,
.ds-report-availability-table thead,
.ds-reports-table thead {
  background: rgba(255, 255, 255, 0.03) !important;
}

.ds-contract-manager-table th,
.ds-partners-table th,
.ds-transactions-table th,
.ds-commissions-table th,
.ds-clients-table th,
.ds-clients-general-table th,
.ds-qualifications-table th,
.ds-pool-table th,
.ds-other-accruals-table th,
.ds-currencies-table th,
.ds-payout-register-table th,
.ds-partner-statuses-table th,
.ds-document-acceptance-table th,
.ds-partner-rearrangements-table th,
.ds-report-availability-table th,
.ds-reports-table th {
  color: var(--ds-text-tertiary) !important;
  border-bottom-color: var(--ds-border) !important;
}

.ds-contract-manager-table td,
.ds-partners-table td,
.ds-transactions-table td,
.ds-commissions-table td,
.ds-clients-table td,
.ds-clients-general-table td,
.ds-qualifications-table td,
.ds-pool-table td,
.ds-other-accruals-table td,
.ds-currencies-table td,
.ds-payout-register-table td,
.ds-partner-statuses-table td,
.ds-document-acceptance-table td,
.ds-partner-rearrangements-table td,
.ds-report-availability-table td,
.ds-reports-table td {
  color: var(--ds-text) !important;
  border-bottom-color: var(--ds-border-light) !important;
  background: transparent !important;
}

.ds-contract-manager-table tbody tr,
.ds-partners-table tbody tr,
.ds-transactions-table tbody tr,
.ds-commissions-table tbody tr,
.ds-clients-table tbody tr,
.ds-clients-general-table tbody tr,
.ds-qualifications-table tbody tr,
.ds-pool-table tbody tr,
.ds-other-accruals-table tbody tr,
.ds-currencies-table tbody tr,
.ds-payout-register-table tbody tr,
.ds-partner-statuses-table tbody tr,
.ds-document-acceptance-table tbody tr,
.ds-partner-rearrangements-table tbody tr,
.ds-report-availability-table tbody tr {
  background: transparent !important;
}

.ds-contract-manager-table tbody tr:hover,
.ds-partners-table tbody tr:hover,
.ds-transactions-table tbody tr:hover,
.ds-commissions-table tbody tr:hover,
.ds-clients-table tbody tr:hover,
.ds-clients-general-table tbody tr:hover,
.ds-qualifications-table tbody tr:hover,
.ds-pool-table tbody tr:hover,
.ds-other-accruals-table tbody tr:hover,
.ds-currencies-table tbody tr:hover,
.ds-payout-register-table tbody tr:hover,
.ds-partner-statuses-table tbody tr:hover,
.ds-document-acceptance-table tbody tr:hover,
.ds-partner-rearrangements-table tbody tr:hover,
.ds-report-availability-table tbody tr:hover {
  background: rgba(122, 114, 255, 0.08) !important;
}

/* Dashboard normalization: align custom --dash-* with dark tokens */
.ds-dashboard {
  --dash-bg: transparent;
  --dash-surface: var(--ds-bg-card);
  --dash-hero-bg: linear-gradient(160deg, #121d31 0%, #1a2a44 52%, #223555 100%);
  --dash-hero-text: var(--ds-text);
  --dash-hero-muted: rgba(232, 240, 253, 0.78);
  --dash-accent: var(--ds-accent);
  --dash-green: var(--ds-primary);
  --dash-orange: #f59e0b;
  --dash-blue: var(--ds-accent);
  --dash-text: var(--ds-text);
  --dash-text-muted: var(--ds-text-muted);
  --dash-border: var(--ds-border);
}

/* Auth page normalization to dark */
.ds-auth-page {
  background: linear-gradient(145deg, #0a111d 0%, #111d31 52%, #0b1628 100%) !important;
}

.ds-auth-main {
  background: transparent !important;
}

.ds-auth-form .bx-auth-form .errortext,
.ds-auth-form .errortext,
.ds-auth-error {
  background: rgba(239, 68, 68, 0.16) !important;
  border-color: rgba(239, 68, 68, 0.46) !important;
  color: #ffc7c7 !important;
}

.ds-auth-success {
  background: rgba(111, 201, 76, 0.16) !important;
  border-color: rgba(111, 201, 76, 0.42) !important;
  color: #c6efb6 !important;
}

/* Finance/Contracts/Calculator/Structure normalization */
.ds-finance-report,
.ds-contracts-page,
.ds-calculator-page,
.ds-structure-page {
  color: var(--ds-text) !important;
}

.ds-finance-report__header,
.ds-clients-header,
.ds-calculator-header {
  border-bottom-color: var(--ds-border-light) !important;
}

.ds-finance-report__title,
.ds-calculator-header__title,
.ds-finance-card__title,
.ds-contracts-table th,
.ds-calculator-history__title {
  color: var(--ds-text) !important;
}

.ds-finance-report__period-label,
.ds-finance-report__rates-label,
.ds-finance-card__label,
.ds-contracts-table__meta,
.ds-calculator-disclaimer,
.ds-calculator-info,
.ds-calculator-form__label,
.ds-calculator-results__label,
.ds-calculator-history__table th {
  color: var(--ds-text-muted) !important;
}

.ds-finance-card,
.ds-finance-section,
.ds-finance-table-wrapper,
.ds-contracts-table-wrapper,
.ds-contract-card,
.ds-calculator-form,
.ds-calculator-results,
.ds-calculator-history,
.ds-calculator-history__table,
.ds-calculator-history__table-wrapper,
.ds-structure-table-wrapper,
.ds-structure-table {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.018) 0%, rgba(255, 255, 255, 0.008) 100%), var(--ds-bg-card) !important;
  border-color: var(--ds-border) !important;
  color: var(--ds-text) !important;
}

.ds-contract-card:hover,
.ds-finance-card:hover,
.ds-calculator-history__table tbody tr:hover {
  background: rgba(122, 114, 255, 0.08) !important;
}

.ds-contracts-table td,
.ds-calculator-history__table td,
.ds-finance-table td,
.ds-finance-card__value,
.ds-calculator-results__value {
  color: var(--ds-text) !important;
  border-bottom-color: var(--ds-border-light) !important;
}

.ds-contracts-table tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.01) !important;
}

.ds-contracts-table thead,
.ds-calculator-history__table thead,
.ds-structure-table thead,
.ds-structure-hierarchy-table thead {
  background: rgba(255, 255, 255, 0.03) !important;
}

.ds-calculator-form__comment {
  background: rgba(122, 114, 255, 0.12) !important;
  border-left-color: var(--ds-accent) !important;
  color: var(--ds-text) !important;
}

.ds-calculator-error {
  background: rgba(239, 68, 68, 0.16) !important;
  border-color: rgba(239, 68, 68, 0.4) !important;
  color: #ffc4c4 !important;
}

.ds-finance-report__period-select,
.ds-calculator-form__select,
.ds-calculator-form__input,
.ds-structure-filters__input,
.ds-structure-filters__select {
  background: rgba(255, 255, 255, 0.015) !important;
  border-color: #304766 !important;
  color: var(--ds-text) !important;
  box-shadow: none !important;
}

.ds-finance-report__period-select:focus,
.ds-calculator-form__select:focus,
.ds-calculator-form__input:focus,
.ds-structure-filters__input:focus,
.ds-structure-filters__select:focus {
  border-color: var(--ds-primary) !important;
  box-shadow: 0 0 0 3px rgba(var(--ds-primary-rgb), 0.2) !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

/* User menu dropdown normalization */
.ds-user-menu__dropdown {
  background: var(--ds-bg-elevated) !important;
  border: 1px solid var(--ds-border) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.45) !important;
}

.ds-user-menu__divider {
  background: var(--ds-border-light) !important;
}

.ds-user-menu__link {
  color: var(--ds-text) !important;
}

.ds-user-menu__link svg {
  color: var(--ds-text-muted) !important;
}

.ds-user-menu__link:hover {
  background: rgba(122, 114, 255, 0.12) !important;
  color: var(--ds-text) !important;
  box-shadow: none !important;
}

.ds-user-menu__link:hover svg {
  color: var(--ds-accent) !important;
}

.ds-user-menu__link--danger {
  color: #ff9b9b !important;
}

.ds-user-menu__link--danger:hover {
  background: rgba(239, 68, 68, 0.14) !important;
  color: #ffc7c7 !important;
}

/* Dropdown/select normalization across all pages */
select.ds-form-select,
select.ds-filters__select,
select.ds-clients-filters__select,
select.ds-reports-filters__select,
select.ds-finance-report__period-select,
select.ds-payout-register-report-bar__select,
select.ds-calculator-form__select,
select.ds-structure-filters__select {
  background-color: #15233a !important;
  color: var(--ds-text) !important;
  border-color: #304766 !important;
  color-scheme: dark;
}

select.ds-form-select option,
select.ds-filters__select option,
select.ds-clients-filters__select option,
select.ds-reports-filters__select option,
select.ds-finance-report__period-select option,
select.ds-payout-register-report-bar__select option,
select.ds-calculator-form__select option,
select.ds-structure-filters__select option {
  background: #ffffff !important;
  color: #0f172a !important;
}

select.ds-form-select option:checked,
select.ds-filters__select option:checked,
select.ds-clients-filters__select option:checked,
select.ds-reports-filters__select option:checked,
select.ds-finance-report__period-select option:checked,
select.ds-payout-register-report-bar__select option:checked,
select.ds-calculator-form__select option:checked,
select.ds-structure-filters__select option:checked {
  background: #2c64c7 !important;
  color: #eaf0fb !important;
}

select.ds-form-select option:hover,
select.ds-filters__select option:hover,
select.ds-clients-filters__select option:hover,
select.ds-reports-filters__select option:hover,
select.ds-finance-report__period-select option:hover,
select.ds-payout-register-report-bar__select option:hover,
select.ds-calculator-form__select option:hover,
select.ds-structure-filters__select option:hover {
  background: #dbeafe !important;
  color: #0f172a !important;
}

/* Filter layout normalization without breaking page grids */
.ds-filters__row,
.ds-reports-filters__row,
.ds-contract-manager-filters__row,
.ds-partners-filters__row,
.ds-transactions-filters__row,
.ds-commissions-filters__row,
.ds-clients-general-filters__row,
.ds-qualifications-filters__row,
.ds-pool-filters__row,
.ds-other-accruals-filters__row,
.ds-currencies-filters__row,
.ds-payout-register-filters__row,
.ds-document-acceptance-filters__row,
.ds-structure-filters__row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end;
  gap: 12px;
}

.ds-filters__group,
.ds-reports-filters__group,
.ds-structure-filters__group {
  min-width: 180px;
  flex: 1 1 220px;
}

.ds-filters__actions,
.ds-reports-filters__actions,
.ds-structure-filters__actions {
  margin-left: 0 !important;
  flex: 0 0 auto;
  white-space: nowrap;
}

/* Clients page: force filters into horizontal rows */
.ds-clients-page .ds-clients-filters__search {
  width: 100%;
}

.ds-clients-page .ds-clients-filters__section {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ds-clients-page .ds-clients-filters__row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end;
  gap: 12px;
}

.ds-clients-page .ds-clients-filters__group {
  flex: 1 1 220px;
  min-width: 220px;
}

.ds-clients-page .ds-clients-filters__row--birth .ds-clients-filters__group {
  flex: 1 1 100%;
  min-width: 100%;
}

.ds-clients-page .ds-clients-filters__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}



/* End */
/* /local/templates/ds_platform/css/styles.css?177486533113886 */
/* /local/templates/ds_platform/css/animations.css?17705004095631 */
/* /local/templates/ds_platform/css/components.css?17748653317205 */
/* /local/templates/ds_platform/css/feedback.css?17712687201543 */
/* /local/templates/ds_platform/css/user-menu.css?17723188916025 */
/* /local/templates/ds_platform/css/mobile-menu.css?1770500409930 */
/* /local/templates/ds_platform/css/auth.css?177100503218741 */
/* /local/templates/ds_platform/css/pages.css?17748653316655 */
/* /local/templates/ds_platform/css/ds-platform.css?17725228146461 */
/* /local/templates/ds_platform/css/pages-enhanced.css?177252410549699 */
/* /local/templates/ds_platform/css/cards-enhanced.css?177099832013981 */
/* /local/templates/ds_platform/css/forms-enhanced.css?17709983206361 */
/* /local/templates/ds_platform/css/infographics.css?17723167505062 */
/* /local/templates/ds_platform/css/design-rebuild.css?177486709821539 */
