/**
 * Legacy fallback layer for browsers without @scope support.
 *
 * Purpose:
 * - Provide baseline layout for key pages when scoped blocks are ignored.
 * - Keep selectors explicit and page-rooted to avoid style leakage.
 *
 * Load order:
 * - This file must be loaded BEFORE scoped page files
 *   (s24-projects.css, s24-users.css, s24-forums.css, s24-payments.css).
 * - Modern browsers will continue using scoped blocks as the primary source.
 */

/* ============================================================
   Projects list / project page / project add
   Roots: .s24-prj-list, .s24-prj-page, .s24-prjadd-page
   ============================================================ */

.s24-prj-page .s24-prj-sidebar-layout.s24-sidebar-layout {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	column-gap: var(--s24-space-6);
	row-gap: var(--s24-space-4);
	align-items: start;
}

.s24-prj-page .s24-prj-sidebar-layout > .s24-prj-block--1 {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
}

.s24-prj-page .s24-prj-sidebar-layout > .s24-prj-block--2.span7 {
	grid-column: 2;
	grid-row: 1 / -1;
	width: auto;
	min-width: 0;
}

.s24-prj-page .s24-prj-sidebar-layout > .s24-prj-block--3 {
	grid-column: 1;
	grid-row: 2;
	min-width: 0;
}

.s24-prj-page .s24-dialog-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 720px;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	background: var(--s24-surface);
	z-index: 1050;
	transform: translateX(100%);
	transition: transform var(--s24-transition-base);
}

.s24-prj-page .s24-dialog-drawer--open {
	transform: translateX(0);
}

.s24-prj-page .s24-dialog-drawer__body {
	flex: 1 1 auto;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.s24-prj-page .s24-dialog-drawer__body > hr {
	display: none;
}

/* Offer card fallback (projects.offers) */
.s24-prj-page .ownlist.offer {
	background: var(--s24-surface);
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	padding: var(--s24-card-pad-y) var(--s24-card-pad-x);
	margin-bottom: var(--s24-space-4);
	box-shadow: var(--s24-shadow-card-soft);
}

.s24-prj-page [id$="shortoffer"] {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto auto;
	column-gap: var(--s24-space-3);
	row-gap: var(--s24-space-3);
	align-items: stretch;
}

.s24-prj-page [id$="shortoffer"] > .s24-offer-header-row {
	grid-column: 1;
	grid-row: 1;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: var(--s24-space-4);
	row-gap: var(--s24-space-1);
	align-items: start;
	min-width: 0;
}

.s24-prj-page [id$="shortoffer"] > .s24-offer-header-row .s24-person__avatar {
	grid-column: 1;
	grid-row: 1 / span 2;
	align-self: start;
}

.s24-prj-page [id$="shortoffer"] > .s24-offer-header-row .s24-person__avatar img {
	width: 84px;
	height: 84px;
}

.s24-prj-page [id$="shortoffer"] > .s24-offer-header-row .s24-person__body {
	grid-column: 2;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: var(--s24-space-1);
	min-width: 0;
}

.s24-prj-page [id$="shortoffer"] > .s24-offer-rail {
	grid-column: 2;
	grid-row: 1 / span 2;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: space-between;
	min-width: 0;
}

.s24-prj-page [id$="shortoffer"] > .s24-offer-rail > .offer_buttons {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: var(--s24-space-2);
	margin: 0;
	padding: 0;
	border: 0;
	float: none;
}

.s24-prj-page [id$="shortoffer"] > .s24-offer-rail .offer_buttons > .setperformer { order: 0; }
.s24-prj-page [id$="shortoffer"] > .s24-offer-rail .offer_buttons > .s24-btn--success:not(.setperformer) { order: 5; }
.s24-prj-page [id$="shortoffer"] > .s24-offer-rail .offer_buttons > .s24-btn--primary-outline { order: 10; }
.s24-prj-page [id$="shortoffer"] > .s24-offer-rail .offer_buttons > .s24-btn--danger-outline { order: 20; }
.s24-prj-page [id$="shortoffer"] > .s24-offer-rail .offer_buttons > .s24-btn--warning { order: 30; }
.s24-prj-page [id$="shortoffer"] > .s24-offer-rail .offer_buttons > .s24-btn--muted-outline { order: 40; }
.s24-prj-page [id$="shortoffer"] > .s24-offer-rail .offer_buttons > .s24-btn--chip-success:not(.setperformer) { order: 5; }
.s24-prj-page [id$="shortoffer"] > .s24-offer-rail .offer_buttons > .s24-btn--chip-primary { order: 10; }
.s24-prj-page [id$="shortoffer"] > .s24-offer-rail .offer_buttons > .s24-btn--chip-danger { order: 20; }
.s24-prj-page [id$="shortoffer"] > .s24-offer-rail .offer_buttons > .s24-btn--chip-warning { order: 30; }
.s24-prj-page [id$="shortoffer"] > .s24-offer-rail .offer_buttons > .s24-btn--chip-muted { order: 40; }

.s24-prj-page [id$="shortoffer"] > .s24-offer-rail > .messages_link {
	padding-top: var(--s24-space-3);
	text-align: right;
}

.s24-prj-page .s24-offer-below-avatar {
	grid-column: 1;
	grid-row: 2;
	min-width: 0;
	padding-left: calc(84px + var(--s24-space-6));
}

.s24-prj-page .s24-offer-meta-row,
.s24-prj-page .s24-offer-meta-row .offer_information {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s24-space-2) var(--s24-space-3);
	width: 100%;
	min-width: 0;
}

.s24-prj-page .s24-offer-below-avatar .offer_text {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.s24-prj-page .s24-prj-status {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--s24-space-3);
	margin: 0 0 var(--s24-space-5) 0;
	min-height: 40px;
}

.s24-prj-page .s24-status-pill {
	display: inline-flex;
	align-items: center;
	font-size: var(--s24-body);
	font-weight: 500;
	padding: 4px 14px;
	border-radius: var(--s24-radius-lg);
	line-height: 1.4;
}

.s24-prj-page .s24-status-pill--success {
	color: #15803d;
	background: rgba(0, 160, 0, 0.08);
}

.s24-prj-page .s24-status-pill--info {
	color: var(--s24-primary);
	background: var(--s24-primary-soft);
}

.s24-prj-page .s24-status-pill--danger {
	color: var(--s24-danger);
	background: #fdecec;
}

.s24-prj-page .s24-status-pill--muted {
	color: var(--s24-text-muted);
	background: rgba(15, 23, 42, 0.06);
}

.s24-prj-page .s24-status-pill--completed {
	color: var(--s24-text);
	background: rgba(15, 23, 42, 0.06);
}

.s24-prj-page .s24-prj-owner-well {
	gap: var(--s24-space-4);
	padding: var(--s24-space-4);
}

.s24-prj-page .s24-prj-owner-well .s24-person__avatar {
	width: 56px;
	height: 56px;
	flex: 0 0 56px;
}

.s24-prj-page .s24-prj-owner-well .s24-person__avatar img {
	width: 100%;
	height: 100%;
}

.s24-prj-page .s24-prj-owner-well .s24-person__name {
	font-size: var(--s24-caption);
}

.s24-prj-page .well.s24-well--center {
	font-size: var(--s24-label);
	line-height: 1.4;
	color: var(--s24-text-muted);
	padding: var(--s24-space-4);
}

.s24-prj-page .well.s24-well--center .s24-well-promo__title {
	font-size: var(--s24-body);
	font-weight: 600;
	margin-bottom: var(--s24-space-2);
	color: var(--s24-text);
}

.s24-prj-page .well.s24-well--center .s24-well-promo__lead {
	font-size: var(--s24-caption);
	line-height: 1.45;
	color: var(--s24-text-muted);
	margin-bottom: var(--s24-space-3);
}

.s24-prj-page .s24-prj-sidebar-layout > .s24-prj-block--1 > :last-child {
	margin-bottom: 0;
}

.s24-prj-page .s24-info-row {
	padding: var(--s24-space-3) 0;
}

.s24-prj-page .s24-offers-heading {
	font-size: var(--s24-heading-sm);
	margin: var(--s24-space-3) 0;
	line-height: 1.8;
}

.s24-prj-page .s24-add-offer-drawer-form__body {
	flex: 0 0 auto;
	padding: var(--s24-space-3) var(--s24-space-5);
}

.s24-prj-page .s24-add-offer-drawer-form__footer {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	gap: var(--s24-space-2);
	padding: var(--s24-space-3) var(--s24-space-5) var(--s24-space-4);
	border-top: 1px solid var(--s24-border);
	background: var(--s24-surface);
}

.s24-prj-page .s24-add-offer-drawer-form.s24-add-offer-drawer-form--body-hidden .s24-add-offer-drawer-form__footer {
	border-top-color: transparent;
	padding-top: var(--s24-space-2);
}

.s24-prj-page .s24-add-offer-drawer-form {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

.s24-prj-page .s24-add-offer-section[hidden],
.s24-prj-page .s24-add-offer-section.hidden {
	display: none !important;
}

.s24-prj-page .s24-add-offer-section {
	padding-bottom: var(--s24-space-4);
}

.s24-prj-page .s24-add-offer-section:last-of-type {
	padding-bottom: 0;
	border-bottom: none;
}

.s24-prj-page .s24-add-offer-section + .s24-add-offer-section {
	margin-top: var(--s24-space-3);
}

.s24-prj-page .s24-add-offer-section__title {
	margin: 0 0 var(--s24-space-2);
	padding-bottom: 0;
	border-bottom: none;
	font-size: var(--s24-body-sm);
	font-weight: 700;
	color: var(--s24-text);
	line-height: var(--s24-lh-tight);
}

.s24-prj-page .s24-add-offer-section__title--footer {
	display: block;
	border-bottom: none;
	margin: 0;
	flex: 0 0 auto;
}

.s24-prj-page .s24-add-offer-row {
	display: grid;
	grid-template-columns: minmax(8rem, 44%) 1fr;
	align-items: center;
	gap: var(--s24-space-3);
	padding: var(--s24-space-1) 0;
}

.s24-prj-page .s24-add-offer-row.hidden,
.s24-prj-page .s24-add-offer-row[hidden] {
	display: none;
}

.s24-prj-page .s24-add-offer-row__label {
	color: var(--s24-text-secondary);
	font-size: var(--s24-caption);
	font-weight: 500;
}

.s24-prj-page .s24-add-offer-row--strong .s24-add-offer-row__label {
	color: var(--s24-text);
	font-weight: 700;
}

.s24-prj-page .s24-add-offer-row--muted .s24-add-offer-row__label {
	color: var(--s24-text-muted);
}

.s24-prj-page .s24-add-offer-row__label .s24-dotted-link {
	color: inherit;
}

.s24-prj-page .s24-add-offer-readout {
	display: inline-flex;
	align-items: baseline;
	gap: var(--s24-space-1);
	color: var(--s24-text);
	font-variant-numeric: tabular-nums;
}

.s24-prj-page .s24-add-offer-row--strong .s24-add-offer-readout {
	font-weight: 700;
}

.s24-prj-page .s24-add-offer-row--muted .s24-add-offer-readout {
	color: var(--s24-text-muted);
}

.s24-prj-page .s24-add-offer-readout input.money-format,
.s24-prj-page .s24-add-offer-readout input[type="text"],
.s24-prj-page .s24-add-offer-readout input[type="number"],
.s24-prj-page .s24-add-offer-readout input[readonly],
.s24-prj-page .s24-add-offer-readout input:disabled {
	width: auto;
	max-width: none;
	min-width: 0;
	min-height: 0;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: inherit;
	font: inherit;
	font-variant-numeric: tabular-nums;
	opacity: 1;
	cursor: default;
	-webkit-text-fill-color: currentColor;
}

.s24-prj-page .s24-add-offer-readout__suffix {
	color: var(--s24-text-muted);
	font-size: var(--s24-caption);
}

.s24-prj-page .offerFormCostBlock .s24-input-money input[type="text"],
.s24-prj-page .offerFormCostBlock .s24-input-money input.money-format {
	text-align: left;
	padding-left: 1rem;
	padding-right: calc(var(--s24-space-3) + 3.25rem + var(--s24-space-4));
	font-variant-numeric: tabular-nums;
}

.s24-prj-page .s24-add-offer-row--strong .s24-add-offer-readout__suffix {
	color: var(--s24-text-muted);
	font-weight: 500;
}

.s24-prj-page input.s24-add-offer-inline-num {
	box-sizing: border-box;
	width: 3.75rem;
	max-width: 5rem;
	min-height: 2.75rem;
	padding: 0.45rem 0.35rem;
	text-align: center;
	appearance: textfield;
}

.s24-prj-page select.s24-add-offer-timetype {
	min-width: 7.5rem;
	max-width: 12rem;
}

.s24-prj-page .s24-add-offer-time-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s24-space-2);
}

.s24-prj-page .s24-add-offer-time-row__label {
	color: var(--s24-text-muted);
	font-size: var(--s24-caption);
}

.s24-prj-page .s24-add-offer-duration-row {
	display: flex;
	align-items: center;
	gap: var(--s24-space-2);
}

.s24-prj-page .s24-add-offer-duration-row__suffix {
	color: var(--s24-text-secondary);
	font-size: var(--s24-caption);
}

.s24-prj-page .s24-add-offer-drawer-form textarea.s24-add-offer-textarea {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	min-height: 5rem;
	overflow-y: hidden;
	resize: none;
}

.s24-prj-page .s24-add-offer-form__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--s24-space-3);
	flex: 0 0 auto;
	position: sticky;
	bottom: 0;
	z-index: 2;
	background: var(--s24-surface);
	margin: var(--s24-space-1) calc(-1 * var(--s24-space-5)) calc(-1 * var(--s24-space-4));
	padding: var(--s24-space-2) var(--s24-space-5) max(var(--s24-space-2), env(safe-area-inset-bottom, 0px));
	box-shadow: 0 -8px 20px rgba(0, 0, 0, 0.05);
}

.s24-prj-page .s24-add-offer-form__checks {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--s24-space-0);
}

@media (min-width: 768px) {
	.s24-prj-page .s24-add-offer-drawer-form {
		overflow: hidden;
	}

	.s24-prj-page .s24-add-offer-drawer-form__body {
		max-height: min(52vh, 24rem);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.s24-prj-page .s24-add-offer-drawer-form__footer {
		flex: 1 1 0;
		min-height: 0;
	}

	.s24-prj-page .s24-add-offer-drawer-form textarea.s24-add-offer-textarea {
		flex: 1 1 0;
		min-height: 6rem;
		max-height: none;
		overflow-y: auto;
		resize: vertical;
	}

	.s24-prj-page .s24-add-offer-form__actions {
		position: static;
		margin: 0;
		padding: 0;
		background: transparent;
		box-shadow: none;
	}
}

.s24-prj-page .s24-action-stack {
	margin-bottom: var(--s24-space-3);
}

.s24-prj-page .s24-info-row--title {
	padding-top: 0;
	padding-bottom: var(--s24-space-3);
}

.s24-prj-page .s24-info-row--title .s24-prj-itemtitle {
	margin: 0;
	padding-top: var(--s24-space-3);
	font-size: var(--s24-heading-sm);
	font-weight: 700;
	line-height: 1.3;
	color: var(--s24-text);
}

.s24-prj-page .s24-open-dialog {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	font-weight: 600;
	font-size: var(--s24-caption);
	color: var(--s24-primary);
	padding: var(--s24-space-2) var(--s24-space-3);
	border-radius: var(--s24-radius-sm);
	transition: background var(--s24-transition-fast);
}

.s24-prj-page .s24-dialog-overlay {
	position: fixed;
	inset: 0;
	background: var(--s24-overlay-dark);
	z-index: 1040;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--s24-transition-base);
}

.s24-prj-page .s24-dialog-overlay--active {
	opacity: 1;
	pointer-events: auto;
}

.s24-prj-page .s24-dialog-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--s24-space-3);
	min-width: 0;
	padding: var(--s24-space-4) var(--s24-space-5);
	border-bottom: 1px solid var(--s24-border);
	flex-shrink: 0;
}

.s24-prj-page .s24-dialog-drawer__close {
	background: none;
	border: none;
	font-size: 24px;
	cursor: pointer;
	color: var(--s24-text-muted);
	padding: var(--s24-space-1);
	line-height: 1;
	border-radius: var(--s24-radius-sm);
}

.s24-prj-page .s24-dialog-drawer__title-admin {
	display: none;
	flex: 1;
	min-width: 0;
	font-weight: 600;
	font-size: var(--s24-body-sm);
	color: var(--s24-ink);
}

.s24-prj-page .s24-dialog-drawer__title-admin.is-visible {
	display: block;
}

.s24-prj-page .s24-dialog-drawer--form .s24-dialog-drawer__form-title {
	margin: 0;
	font-size: var(--s24-heading-sm);
	font-weight: 700;
	line-height: var(--s24-lh-tight);
	color: var(--s24-text);
	flex: 1;
	min-width: 0;
}

.s24-prj-page .s24-dialog-drawer__body > [id^="projectsposts"] {
	flex: 1 0 auto;
}

.s24-prj-page .s24-dialog-drawer__body .projectsposts {
	padding: var(--s24-space-3) var(--s24-space-4);
	max-height: none;
	overflow: visible;
}

.s24-prj-page .s24-dialog-drawer__body .postform {
	position: sticky;
	bottom: 0;
	background: var(--s24-surface);
	border-top: 1px solid var(--s24-border);
	padding: var(--s24-space-3) var(--s24-space-4);
	z-index: 1;
	flex-shrink: 0;
}

.s24-prj-page .s24-dialog-drawer__body .postform br:first-child,
.s24-prj-page .s24-dialog-drawer__body .postform br {
	display: none;
}

.s24-prj-page .s24-dialog-drawer__body .postform > div {
	width: 100%;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s24-space-2);
	position: relative;
}

.s24-prj-page .s24-dialog-drawer__body .postform [id$="uploader"] {
	flex: 1;
	min-width: 0;
}

.s24-prj-page .s24-dialog-drawer__body .postform .filter_posts_dropdown,
.s24-prj-page .s24-dialog-drawer__body .postform [id$="uploadedfiles"] {
	flex: 0 0 100%;
}

.s24-prj-page .s24-dialog-drawer__body .postform .filter_posts_dropdown {
	right: var(--s24-space-2);
	top: 0;
}

.s24-prj-page .s24-dialog-drawer__body .postform .addposttext {
	flex: 0 0 100%;
	width: 100%;
	box-sizing: border-box;
	min-height: 90px;
	max-height: 160px;
	resize: vertical;
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-sm);
	background: var(--s24-surface-alt);
	padding: var(--s24-space-3);
	font-family: var(--s24-font-family);
	font-size: var(--s24-caption);
	line-height: var(--s24-lh-base);
	color: var(--s24-text);
	transition: background var(--s24-transition-fast), box-shadow var(--s24-transition-fast), border-color var(--s24-transition-fast);
	margin-bottom: var(--s24-space-2);
}

.s24-prj-page .s24-dialog-drawer__body .postform .addposttext:focus {
	outline: none;
	background: var(--s24-surface);
	border-color: var(--s24-border-focus);
	box-shadow: var(--s24-shadow-input-focus);
}

.s24-prj-page .postform.s24-postform--important-available .filter_posts_dropdown > .filter_posts_dropimg:not(.checked) {
	opacity: 1;
	color: var(--s24-star-color, #f5c518);
}

.s24-prj-page .postform.s24-postform--important-available .filter_posts_dropdown > .filter_posts_dropimg.checked {
	color: #166534;
}

.s24-prj-page .s24-dialog-drawer__body .postform .postformButton {
	background: var(--s24-primary);
	color: #fff;
	border: none;
	padding: var(--s24-space-2) var(--s24-space-5);
	font-size: var(--s24-caption);
	font-weight: 600;
	cursor: pointer;
	margin: 0 0 0 auto;
	min-width: 0;
	width: auto;
	float: none;
}

.s24-prj-page .projectsposts .filter_posts_dropdown,
.s24-prj-page .s24-dialog-drawer__body .filter_posts_dropdown {
	display: inline-block;
	width: 15px;
	margin: 8px 10px 4px 4px;
	padding-left: var(--s24-space-10);
	right: 7%;
	position: absolute;
}

.s24-prj-page .projectsposts .filter_posts_dropdown > .filter_posts_dropimg,
.s24-prj-page .s24-dialog-drawer__body .filter_posts_dropdown > .filter_posts_dropimg {
	opacity: 0.6;
	padding: 5px;
	border-radius: 50%;
	background-color: #eee;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	box-sizing: content-box;
	color: #4b5563;
	cursor: pointer;
}

.s24-prj-page .projectsposts .filter_posts_dropdown > .filter_posts_dropimg.checked,
.s24-prj-page .s24-dialog-drawer__body .filter_posts_dropdown > .filter_posts_dropimg.checked {
	opacity: 1;
	background-color: #afffaf;
	cursor: pointer;
	color: #166534;
}

.s24-prj-page .s24-dialog-drawer__body .postform .postformButton:hover {
	background: var(--s24-primary-hover);
}

.s24-prj-page .s24-dialog-drawer__body .postform .postformButton:disabled {
	background: var(--s24-primary-hover);
	opacity: 0.65;
	cursor: not-allowed;
	pointer-events: none;
}

.s24-prj-page .s24-dialog-drawer__body .dialog_users_avatars,
.s24-prj-page .s24-dialog-drawer__body .dialog_users_avatars > img {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	object-fit: cover;
}

.s24-prj-page .projectsposts .s24-dialog-cluster,
.s24-prj-page .s24-dialog-drawer__body .s24-dialog-cluster {
	position: relative;
	display: flex;
	align-items: flex-end;
	max-width: 81%;
	min-width: 0;
	flex: 0 1 auto;
}

.s24-prj-page .s24-dialog-drawer__body .dialog,
.s24-prj-page .projectsposts .s24-dialog-cluster > .dialog {
	max-width: 100%;
	min-width: 0;
	flex: 1 1 auto;
	padding: var(--s24-space-3);
	border-radius: var(--s24-radius-md);
	font-size: var(--s24-caption);
	line-height: var(--s24-lh-base);
	word-break: break-word;
	overflow-wrap: anywhere;
	position: relative;
	text-align: left;
}

.s24-prj-page .projectsposts .s24-dialog-cluster > .dialog {
	min-width: 90px;
}

.s24-prj-page .projectsposts .dialog_row,
.s24-prj-page .s24-dialog-drawer__body .dialog_row {
	display: flex;
	align-items: flex-end;
	gap: var(--s24-space-2);
	margin: 0 0 var(--s24-space-3) 0;
	padding: 0;
	position: relative;
}

.s24-prj-page .projectsposts .not_my_dialog_row,
.s24-prj-page .s24-dialog-drawer__body .not_my_dialog_row {
	flex-direction: row-reverse;
}

.s24-prj-page .projectsposts .dialog_row .dialog.my_message,
.s24-prj-page .projectsposts .dialog_row .dialog.not_my_message,
.s24-prj-page .s24-dialog-drawer__body .dialog_row .dialog {
	float: none;
}

.s24-prj-page .s24-dialog-post-date {
	font-size: 0.7rem;
	line-height: 1.25;
	color: var(--s24-text-muted);
	margin: -2px 0 var(--s24-space-1) 0;
	text-align: left;
}

.s24-prj-page .s24-dialog-drawer__body .my_message,
.s24-prj-page .projectsposts .dialog_row .dialog.my_message {
	background: var(--s24-surface-alt);
	border-bottom-left-radius: 4px;
}

.s24-prj-page .s24-dialog-drawer__body .not_my_message,
.s24-prj-page .projectsposts .dialog_row .dialog.not_my_message {
	background: var(--s24-primary-soft);
	border-bottom-right-radius: 4px;
}

.s24-prj-page .s24-dialog-drawer__body .admin_message,
.s24-prj-page .projectsposts .dialog_row .dialog.admin_message {
	background: var(--s24-surface);
	border: 1px solid var(--s24-border);
}

.s24-prj-page .s24-dialog-drawer__body .showmore {
	text-align: center;
	padding: var(--s24-space-3);
	color: var(--s24-primary);
	cursor: pointer;
	font-size: var(--s24-caption);
	font-weight: 600;
}

.s24-prj-page .s24-dialog-drawer__body .showmore:hover {
	text-decoration: underline;
}

.s24-prj-page .s24-dialog-drawer__body .unread {
	margin: var(--s24-space-2) 0;
}

.s24-prj-page .projectsposts .s24-dialog-cluster > .favourite_post,
.s24-prj-page .s24-dialog-drawer__body .s24-dialog-cluster > .favourite_post {
	position: absolute;
	top: 2px;
	margin: 0;
	z-index: 0;
	width: 10px;
	height: 10px;
}

.s24-prj-page .projectsposts .s24-dialog-cluster > .my_favourite_post,
.s24-prj-page .s24-dialog-drawer__body .s24-dialog-cluster > .my_favourite_post {
	right: calc(-1 * var(--s24-space-2) - 10px);
	left: auto;
}

.s24-prj-page .projectsposts .s24-dialog-cluster > .not_my_favourite_post,
.s24-prj-page .s24-dialog-drawer__body .s24-dialog-cluster > .not_my_favourite_post {
	left: calc(-1 * var(--s24-space-2) - 10px);
	right: auto;
}

.s24-prj-page .s24-dialog-source {
	display: none;
}

.s24-prj-page .ownlist.offer > .s24-dialog-source {
	grid-column: 1 / -1;
}

.s24-prj-page .status {
	box-sizing: border-box;
	margin: 15px 0 30px 0;
	display: block;
	text-align: right;
	float: right;
	width: 100%;
	margin-right: 5px;
	font-size: var(--s24-heading-sm);
}

.s24-prj-page #updatemarket {
	padding: var(--s24-space-4);
}

.s24-prj-page .producttabletitles {
	width: 100px;
	color: var(--s24-text-muted);
	font-size: var(--s24-caption);
	vertical-align: top;
}

.s24-prj-page .elected {
	background: url(../../../images/icons/default/star2.png) no-repeat;
	background-size: 17px;
	width: 17px;
	height: 17px;
	margin-left: var(--s24-space-2);
	position: absolute;
	cursor: pointer;
}

.s24-prj-page .elected.checked {
	background-position: -0.2px -16.3px;
}

.s24-prj-page .s24-landing-services {
	text-align: center;
	margin: var(--s24-section-gap) auto var(--s24-section-gap-sm) auto;
	display: inline-block;
	width: 100%;
}

.s24-prj-page .s24-prj-similar {
	text-align: center;
	margin: var(--s24-section-gap) 0 125px 0;
}

.s24-prj-page #alloffers[data-orderer-view="1"] .ownlist.offer.good:hover {
	border-color: var(--s24-success);
	box-shadow: var(--s24-shadow-card-soft);
}

.s24-prj-page .ownlist.offer.good {
	border-color: var(--s24-success);
	background: rgba(226, 255, 228, 0.8);
}

.s24-prj-page .ownlist.offer.bad {
	border-color: #f0c9c9;
	background: #fff8f8;
}

.s24-prj-page .ownlist.offer > [id^="shortoffer"] {
	grid-column: 1 / -1;
}

.s24-prj-page #alloffers[data-user-id]:not([data-user-id="0"]) .ownlist.offer[data-offer-dialog-open="1"] {
	cursor: pointer;
}

.s24-prj-page #alloffers[data-user-id]:not([data-user-id="0"]) .ownlist.offer[data-offer-dialog-open="0"] {
	cursor: default;
}

.s24-prj-page .projectsposts .online_status,
.s24-prj-page .s24-dialog-drawer__body .online_status {
	background-color: #fff;
	border-radius: 50%;
	height: 10px;
	position: relative;
	width: 10px;
	margin: 25px -30px -35px;
	float: right;
	display: none;
}

.s24-prj-page .projectsposts .online_status.big,
.s24-prj-page .s24-dialog-drawer__body .online_status.big {
	position: absolute;
	height: 14px;
	width: 14px;
	margin: -14px 0 0 55px;
}

.s24-prj-page .projectsposts .online_status::before,
.s24-prj-page .s24-dialog-drawer__body .online_status::before {
	content: "";
	border-radius: 50%;
	position: absolute;
	height: 6px;
	width: 6px;
	margin: 2px;
}

.s24-prj-page .projectsposts .online_status.offline::before,
.s24-prj-page .s24-dialog-drawer__body .online_status.offline::before {
	background-color: rgba(255, 0, 0, 0.8);
}

.s24-prj-page .projectsposts .online_status.online::before,
.s24-prj-page .s24-dialog-drawer__body .online_status.online::before {
	background-color: rgba(39, 208, 39, 0.8);
}

.s24-prj-page .projectsposts .online_status.big::before,
.s24-prj-page .s24-dialog-drawer__body .online_status.big::before {
	height: 9px;
	width: 9px;
	margin: 2.5px;
}

.s24-prj-page .projectsposts .favourite_post.checked,
.s24-prj-page .s24-dialog-drawer__body .favourite_post.checked {
	background-position: -0.2px -9.5px;
	display: block;
}

.s24-prj-page .projectsposts .filter_posts_dropdown-content,
.s24-prj-page .s24-dialog-drawer__body .filter_posts_dropdown-content {
	display: none;
	position: absolute;
	background-color: #f1f1f1;
	min-width: 85px;
	right: -10px;
	bottom: 25px;
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
	z-index: 1;
}

.s24-prj-page .projectsposts .filter_posts_dropdown-content a.checked:hover,
.s24-prj-page .s24-dialog-drawer__body .filter_posts_dropdown-content a.checked:hover {
	background-color: #ccc;
}

.s24-prj-page .projectsposts .filter_posts_dropdown > .filter_posts_dropimg .filter_posts_dropimg__icon,
.s24-prj-page .s24-dialog-drawer__body .filter_posts_dropdown > .filter_posts_dropimg .filter_posts_dropimg__icon {
	display: block;
	width: 18px;
	height: 18px;
}

.s24-prj-page .projectsposts .dropdown > ul > a,
.s24-prj-page .s24-dialog-drawer__body .dropdown > ul > a {
	margin: 0 5px;
}

.s24-prj-page .projectsposts .online_status_dialog,
.s24-prj-page .s24-dialog-drawer__body .online_status_dialog {
	display: none;
}

.s24-prj-page #s24DialogDrawer a.dialog_users_avatars.dialogavatar,
.s24-prj-page .projectsposts .my_dialog_row > a.dialog_users_avatars,
.s24-prj-page .projectsposts .not_my_dialog_row > a.dialog_users_avatars {
	display: inline-flex;
}

.s24-prj-page .projectsposts .offerowneravatar > .online_status::before,
.s24-prj-page .s24-dialog-drawer__body .offerowneravatar > .online_status::before {
	margin: 2.5px -4px;
}

.s24-prj-page .projectsposts #claimshowmemorelink,
.s24-prj-page .s24-dialog-drawer__body #claimshowmemorelink {
	display: none;
}

.s24-prj-page .projectsposts .s24-postdelete,
.s24-prj-page .s24-dialog-drawer__body .s24-postdelete {
	margin: -13px -8px;
	width: 13px;
	padding: var(--s24-space-1);
	float: right;
	cursor: pointer;
}

.s24-prj-page .projectsposts .s24-dialog-dndfiles,
.s24-prj-page .s24-dialog-drawer__body .s24-dialog-dndfiles {
	width: 90%;
	margin: auto;
}

.s24-prj-page .projectsposts .s24-dialog-postform-button,
.s24-prj-page .s24-dialog-drawer__body .s24-dialog-postform-button {
	margin: var(--s24-space-2) 0;
	min-width: 100px;
}

.s24-prj-page .projectsposts .alert.s24-alert--dialog-empty,
.s24-prj-page .projectsposts .alert.s24-alert--dialog-info,
.s24-prj-page .s24-dialog-drawer__body .alert.s24-alert--dialog-empty,
.s24-prj-page .s24-dialog-drawer__body .alert.s24-alert--dialog-info {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.s24-prj-page .s24-alert--dialog-empty {
	margin: var(--s24-space-8) auto var(--s24-space-6);
}

.s24-prj-page .s24-alert--dialog-info {
	font-size: var(--s24-body-sm);
	margin: var(--s24-space-5) auto;
}

.s24-prj-page [id$="shortoffer"] > .s24-offer-header-row > .offer_avatar_and_information_block.s24-person {
	display: contents;
}

.s24-prj-page [id$="shortoffer"] > .s24-offer-header-row > .s24-offer-chips-cluster {
	grid-column: 2;
	grid-row: 2;
	display: flex;
	flex-wrap: wrap;
	gap: var(--s24-space-2);
	min-width: 0;
	max-width: 100%;
	width: 100%;
}

.s24-prj-page [id$="shortoffer"] > .s24-offer-rail > .offer_buttons > a.s24-btn {
	width: auto;
}

.s24-prj-page [id$="shortoffer"] > .s24-offer-rail .offer_buttons > .setperformer.s24-btn--chip-success {
	border-color: var(--s24-success);
	color: #166534;
}

.s24-prj-page .offer_avatar_and_information_block .s24-person__namerow {
	display: flex;
	align-items: center;
	gap: var(--s24-space-2);
}

.s24-prj-page .s24-offer-meta-row .offer_information .s24-offer-meta-chip {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: var(--s24-space-2);
	width: max-content;
	max-width: 100%;
	min-width: 0;
	background: var(--s24-surface);
	border: 1px solid var(--s24-border);
	border-radius: 999px;
	padding: 4px 14px 4px 4px;
	white-space: nowrap;
	font-size: var(--s24-label);
	color: var(--s24-ink);
	font-variant-numeric: tabular-nums;
	box-sizing: border-box;
	box-shadow: var(--s24-shadow-card-soft);
	transition:
		background var(--s24-transition-fast),
		border-color var(--s24-transition-fast),
		box-shadow var(--s24-transition-fast),
		transform var(--s24-transition-fast);
}

.s24-prj-page .s24-offer-meta-row .offer_information .s24-offer-meta-chip strong {
	color: var(--s24-ink);
	font-weight: 700;
}

.s24-prj-page .s24-offer-meta-row .offer_information .s24-offer-meta-chip:hover {
	border-color: var(--s24-primary-muted);
	box-shadow: var(--s24-shadow-card);
}

.s24-prj-page .s24-offer-meta-row .offer_information .s24-offer-meta-chip--price::before {
	content: '';
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background-color: var(--s24-primary-soft);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 14px 14px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23035bb0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='4' width='22' height='16' rx='2' ry='2'/%3E%3Cline x1='1' y1='10' x2='23' y2='10'/%3E%3C/svg%3E");
}

.s24-prj-page .s24-offer-meta-row .offer_information .s24-offer-meta-chip--time::before {
	content: '';
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background-color: var(--s24-primary-soft);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 14px 14px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23035bb0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
}

.s24-prj-page .offer_avatar_and_information_block .s24-offer-date {
	color: var(--s24-text-muted);
	font-size: var(--s24-caption);
}

.s24-prj-page .s24-offer-text {
	font-size: var(--s24-caption);
	line-height: var(--s24-lh-relaxed);
	color: var(--s24-text);
}

.s24-prj-page .s24-offer-text.is-clamped .s24-offer-text__body {
	display: -webkit-box;
	-webkit-line-clamp: 5;
	line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.s24-prj-page .s24-offer-text.is-clamped.s24-offer-text--char-overflow .s24-offer-text__body {
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

.s24-prj-page .s24-offer-text__toggle {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: none;
	border: none;
	padding: 0;
	margin-top: var(--s24-space-1);
	color: var(--s24-primary, #2e6dd4);
	font: inherit;
	cursor: pointer;
}

.s24-prj-page .s24-offer-text__toggle[hidden] {
	display: none !important;
}

.s24-prj-page .s24-offer-text__toggle::after {
	content: '▾';
	display: inline-block;
	transition: transform 150ms ease;
	font-size: 10px;
}

.s24-prj-page .s24-offer-text.is-expanded .s24-offer-text__toggle::after {
	transform: rotate(180deg);
}

.s24-prj-page [id$="shortoffer"] > .s24-offer-header-row .s24-person__body > .label {
	margin-left: var(--s24-space-1);
}

.s24-prj-page .tab-content {
	padding: var(--s24-card-pad-y) var(--s24-card-pad-x);
	background: var(--s24-surface);
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	box-shadow: var(--s24-shadow-card);
	overflow: hidden;
}

.s24-prj-page #important_notifications {
	margin-top: var(--s24-space-6);
}

/* Пустой контейнер важных уведомлений (без дочерних div) не должен занимать место. */
.s24-prj-page #important_notifications:not(:has(> div)) {
	display: none;
	margin: 0;
	padding: 0;
}

.s24-prj-page .s24-notes-block {
	margin: var(--s24-space-5) 0;
	padding: var(--s24-card-pad-y) var(--s24-card-pad-x) var(--s24-space-2);
	border-radius: var(--s24-radius-md);
	border: 1px solid var(--s24-border);
	background: var(--s24-surface);
}

.s24-prj-page .s24-notes-block li {
	position: relative;
	margin-bottom: var(--s24-space-2);
	padding-right: var(--s24-space-6);
}

.s24-prj-page .s24-notes-block .deletenote {
	position: absolute;
	top: 0;
	right: 0;
}

.s24-prj-page .s24-offer-row--claim {
	background-color: var(--s24-warning);
}

.s24-prj-page .s24-dialog-post--warning {
	background-color: var(--s24-warning);
}

.s24-prj-page .s24-prj-review-display {
	margin: var(--s24-space-2);
	padding: var(--s24-space-2);
}

.s24-prj-list .s24-prj-card {
	display: grid;
	grid-template-columns: 48px 1fr auto;
	gap: 0 var(--s24-space-3);
}

.s24-prj-list .s24-prj-card__main {
	grid-column: 2;
	min-width: 0;
}

.s24-prj-list .s24-prj-card__side {
	grid-column: 3;
	grid-row: 1 / 3;
	text-align: right;
	white-space: nowrap;
}

/* Партнёрка — без колонки под аватар; иначе заголовок уезжает во 2-й трек */
.s24-prj-list.s24-partner-page .s24-prj-card {
	grid-template-columns: 1fr auto;
}

.s24-prj-list.s24-partner-page .s24-prj-card__main {
	grid-column: 1;
	min-width: 0;
}

.s24-prj-list.s24-partner-page .s24-prj-card__side {
	grid-column: 2;
	grid-row: 1 / 3;
}

.s24-prj-list .s24-prj-list__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.s24-prj-list .s24-filter-toggle {
	display: none;
	align-items: center;
	gap: var(--s24-space-2);
	background: transparent;
	border: 1.5px solid var(--s24-primary);
	border-radius: var(--s24-radius-sm);
	padding: var(--s24-space-2) var(--s24-space-3);
	font-size: var(--s24-caption);
	color: var(--s24-primary);
}

.s24-prj-list .s24-prj-search {
	margin-bottom: var(--s24-space-5);
}

.s24-prj-list .s24-prj-search input[type="text"] {
	font-size: 1rem;
	padding: 0.75rem 1rem;
	min-height: 48px;
	background-color: var(--s24-surface);
	border-color: var(--s24-border);
	margin: 0;
}

.s24-prj-list.s24-partner-page .s24-prj-search {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--s24-space-3);
}

.s24-prj-list.s24-partner-page .s24-prj-search input[type="text"],
.s24-prj-list.s24-partner-page .s24-prj-search input[type="search"] {
	flex: 1 1 12rem;
	min-width: 0;
	width: auto;
	max-width: none;
	min-height: 40px;
	padding: 0.5rem 0.75rem;
	font-size: var(--s24-caption);
	line-height: 1.45;
}

.s24-prj-list.s24-partner-page .s24-prj-search select {
	flex: 0 1 14rem;
	width: auto;
	min-width: min(14rem, 100%);
	max-width: 100%;
	min-height: 40px;
	align-self: stretch;
	box-sizing: border-box;
}

.s24-prj-list.s24-partner-page .s24-prj-search .schstring {
	width: auto;
	max-width: none;
}

.s24-prj-list.s24-partner-page .s24-prj-search .marginbottom10 {
	margin-bottom: 0;
}

.s24-prj-list .search-span {
	float: right;
}

.s24-prj-list .s24-filter-group {
	margin-bottom: var(--s24-space-3);
}

.s24-prj-list .s24-filter-group:last-child {
	margin-bottom: 0;
}

.s24-prj-list .prjlistfilter > .filterblock:last-child .block,
.s24-prj-list .prjlistfilter > .filterblock.block:last-child {
	margin-bottom: 0;
}

.s24-prj-list .filterblock .block > div,
.s24-prj-list div.select-search-block,
.s24-prj-list .input-select-search {
	width: 100%;
	box-sizing: border-box;
}

/* Legacy mirror of @scope (.s24-prj-list) filters/search inputs from s24-projects.css */
.s24-prj-list input[type="text"],
.s24-prj-list input[type="number"],
.s24-prj-list input[type="search"],
.s24-prj-list select {
	border: 1px solid transparent;
	border-radius: var(--s24-radius-sm);
	background-color: var(--s24-surface-alt);
	color: var(--s24-text);
	font-family: var(--s24-font-family);
	font-size: var(--s24-caption);
	line-height: 1.45;
	padding: 0.75rem 1rem;
	min-height: 48px;
	box-sizing: border-box;
	width: 100%;
	transition: border-color var(--s24-transition-fast), box-shadow var(--s24-transition-fast), background-color var(--s24-transition-fast);
}

.s24-prj-list select {
	padding-right: 36px;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
}

.s24-prj-list input[type="text"]:focus,
.s24-prj-list input[type="number"]:focus,
.s24-prj-list input[type="search"]:focus,
.s24-prj-list select:focus {
	outline: none;
	background-color: var(--s24-surface);
	border-color: var(--s24-border-focus);
	box-shadow: var(--s24-shadow-input-focus);
}

.s24-prj-list input::placeholder {
	color: var(--s24-text-soft);
}

.s24-prj-list .selected-options > div {
	display: flex;
	align-items: center;
	gap: var(--s24-space-2);
	padding: var(--s24-space-1) 0;
	font-size: var(--s24-caption);
	line-height: 1.3;
}

.s24-prj-list .selected-options > div > input[type="checkbox"] {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	accent-color: var(--s24-primary);
	cursor: pointer;
	margin: 0;
}

.s24-prj-list .s24-prj-card {
	padding: var(--s24-space-4);
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	background: var(--s24-surface);
	margin-bottom: var(--s24-space-3);
	align-items: start;
}

.s24-prj-list .s24-prj-card--bold,
.s24-prj-list .s24-prj-card--top {
	background: var(--s24-surface-alt);
	border-color: var(--s24-primary-light, var(--s24-border));
}

.s24-prj-list .s24-prj-card__avatar {
	grid-row: 1 / 3;
}

.s24-prj-list .s24-prj-card__avatar img {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
}

.s24-prj-list .s24-prj-card__title {
	display: block;
	font-size: var(--s24-body);
	font-weight: 600;
	color: var(--s24-primary);
	text-decoration: underline;
	text-underline-offset: 2px;
	margin-bottom: var(--s24-space-1);
	line-height: 1.4;
}

.s24-prj-list .s24-prj-card__title:hover {
	color: var(--s24-primary-hover);
}

.s24-prj-list .s24-prj-card__body {
	font-size: var(--s24-caption);
	color: var(--s24-text-secondary);
	line-height: 1.5;
}

.s24-prj-list .s24-prj-card__body > span {
	display: block;
}

.s24-prj-list .s24-prj-card__tags {
	font-size: 0.8125rem;
	color: var(--s24-text-muted);
	margin-top: var(--s24-space-1);
}

.s24-prj-list .s24-prj-card__tags a {
	color: var(--s24-primary);
}

.s24-prj-list .s24-prj-card__cost {
	font-size: var(--s24-heading-sm);
	font-weight: 700;
	color: var(--s24-ink);
	margin-bottom: var(--s24-space-2);
}

.s24-prj-list .s24-prj-card__meta {
	font-size: 0.8125rem;
	color: var(--s24-text-muted);
	line-height: 1.5;
}

.s24-prj-list .s24-prj-card__title--new {
	color: var(--s24-danger);
	text-decoration-color: var(--s24-danger);
}

.s24-prj-list .s24-prj-card__actions {
	grid-column: 1 / -1;
	padding-top: var(--s24-space-3);
}

.s24-prj-list .s24-prj-card__actions a {
	color: var(--s24-danger-soft);
	font-size: var(--s24-caption);
}

.s24-prj-list .s24-prj-card__actions a:hover {
	color: var(--s24-danger);
}

/* Карточки без аватара (market/useroffers и т.п.) — как в каноне. */
.s24-prj-list:not(.s24-partner-page) .s24-prj-card:not(:has(.s24-prj-card__avatar)) {
	grid-template-columns: 1fr auto;
}

.s24-prj-list:not(.s24-partner-page) .s24-prj-card:not(:has(.s24-prj-card__avatar)) > .s24-prj-card__main:first-child {
	grid-column: 1;
}

.s24-prj-list:not(.s24-partner-page) .s24-prj-card:not(:has(.s24-prj-card__avatar)) > .s24-prj-card__main:first-child + .s24-prj-card__side {
	grid-column: 2;
	grid-row: 1 / 3;
}

.s24-prj-list .s24-admin-mod-card {
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	background: var(--s24-surface);
	padding: var(--s24-space-4);
	margin-bottom: var(--s24-space-3);
}

.s24-prj-list .s24-admin-mod-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s24-space-2);
	justify-content: flex-end;
	align-items: center;
	margin-bottom: var(--s24-space-3);
}

.s24-prj-list .s24-admin-mod-card__actions:last-child {
	margin-bottom: 0;
}

.s24-prj-list .s24-admin-mod-card__body {
	font-size: var(--s24-caption);
	line-height: 1.55;
	color: var(--s24-text);
	word-break: break-word;
	overflow-wrap: anywhere;
}

.s24-prj-list .s24-admin-mod-card__payin-calc {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s24-space-2);
	min-height: 24px;
	margin-top: var(--s24-space-2);
	width: 100%;
	max-width: 280px;
}

.s24-prj-list .s24-prj-card__offer {
	grid-column: 1 / -1;
	border-top: 1px solid var(--s24-border);
	padding-top: var(--s24-space-4);
	margin-top: var(--s24-space-3);
	display: flex;
	gap: var(--s24-space-6);
}

.s24-prj-list .s24-prj-card__offer-text {
	flex: 1;
	font-size: var(--s24-caption);
	color: var(--s24-text);
	line-height: var(--s24-lh-relaxed);
	min-width: 0;
}

.s24-prj-list .s24-prj-card__offer-meta {
	font-size: var(--s24-caption);
	color: var(--s24-text-muted);
	line-height: 1.6;
	text-align: right;
	white-space: nowrap;
}

.s24-prjadd-page .s24-prjadd-page__stack {
	max-width: var(--s24-content-narrow);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.s24-prjadd-page .s24-tabs-content {
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.s24-prjadd-page .s24-tabs-content > .tab-pane {
	padding: 0;
	border: 0;
	background: transparent;
}

.s24-prjadd-page .s24-form-layout {
	margin-top: 0;
	margin-bottom: var(--s24-space-4);
}

.s24-prjadd-page .s24-prjadd .s24-form__body table > tbody > tr {
	grid-template-columns: 1fr;
	gap: var(--s24-space-1);
}

.s24-prjadd-page .s24-prjadd .s24-form__body > table > tbody {
	gap: var(--s24-space-5);
}

.s24-prjadd-page .s24-prjadd .s24-form__label {
	font-weight: 600;
	color: var(--s24-ink);
	font-size: var(--s24-caption);
}

.s24-prjadd-page .s24-prjadd #rtitle,
.s24-prjadd-page .s24-prjadd #formtext,
.s24-prjadd-page .s24-prjadd #htext {
	width: 100%;
}

.s24-prjadd-page .s24-prjadd #formtext {
	min-height: 190px;
}

.s24-prjadd-page .s24-prjadd__submit.s24-form-actions {
	margin: var(--s24-space-6) 0 3rem;
}

.s24-prjadd-page .s24-prjadd__submit.s24-form-actions.s24-form-actions--stack {
	margin-bottom: var(--s24-space-8);
}

.s24-prjadd-page .s24-prjadd .s24-form__body table > tbody > tr.s24-prjadd__pair {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
	gap: var(--s24-space-1) var(--s24-space-6);
	width: 100%;
	box-sizing: border-box;
}

.s24-prjadd-page .s24-prjadd__pair > td:nth-child(1) { grid-column: 1; grid-row: 1; }
.s24-prjadd-page .s24-prjadd__pair > td:nth-child(2) { grid-column: 1; grid-row: 2; }
.s24-prjadd-page .s24-prjadd__pair > td:nth-child(3) { grid-column: 2; grid-row: 1; }
.s24-prjadd-page .s24-prjadd__pair > td:nth-child(4) { grid-column: 2; grid-row: 2; }

.s24-prjadd-page .s24-prjadd .s24-form__body table > tbody > tr.s24-prjadd__triple {
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto auto;
	gap: var(--s24-space-1) var(--s24-space-4);
	width: 100%;
	box-sizing: border-box;
}

.s24-prjadd-page .s24-prjadd__triple > td:nth-child(1) { grid-column: 1; grid-row: 1; }
.s24-prjadd-page .s24-prjadd__triple > td:nth-child(2) { grid-column: 1; grid-row: 2; }
.s24-prjadd-page .s24-prjadd__triple > td:nth-child(3) { grid-column: 2; grid-row: 1; }
.s24-prjadd-page .s24-prjadd__triple > td:nth-child(4) { grid-column: 2; grid-row: 2; }
.s24-prjadd-page .s24-prjadd__triple > td:nth-child(5) { grid-column: 3; grid-row: 1; }
.s24-prjadd-page .s24-prjadd__triple > td:nth-child(6) { grid-column: 3; grid-row: 2; }

.s24-prjadd-page .s24-prjadd .s24-prjadd-tel-half {
	width: 100%;
	min-width: 0;
}

.s24-prjadd-page .s24-prjadd__authors-section {
	display: flex;
	flex-direction: column;
	gap: var(--s24-space-3);
}

.s24-prjadd-page .s24-prjadd__authors-section + .s24-prjadd__authors-section {
	margin-top: var(--s24-space-6);
	padding-top: var(--s24-space-6);
	border-top: 1px solid var(--s24-border);
}

.s24-prjadd-page .s24-prjadd-cancel {
	padding: 2px 6px;
	margin-left: 10px;
	cursor: pointer;
	color: var(--s24-text-muted);
}

.s24-prjadd-page .s24-prjadd-cancel:hover {
	color: var(--s24-danger);
}

.s24-prjadd-page .s24-prjadd-invite {
	padding: 7px 14px;
	border-radius: var(--s24-radius-sm);
	border: 1px solid var(--s24-border);
	background: var(--s24-surface-alt);
	color: var(--s24-text);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	line-height: 1.2;
	cursor: pointer;
}

.s24-prjadd-page .s24-prjadd-invite:hover {
	border-color: var(--s24-primary);
	color: var(--s24-primary);
}

.s24-prjadd-page .s24-prjadd-invites {
	margin-bottom: var(--s24-space-5);
}

.s24-prjadd-page .s24-prjadd-invites__label {
	margin: 0 0 var(--s24-space-2);
	display: block;
}

.s24-prjadd-page .s24-prjadd-invited__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s24-space-3);
}

.s24-prjadd-page .s24-prjadd-invited-chip {
	display: inline-flex;
	align-items: center;
	gap: var(--s24-space-2);
	padding: var(--s24-space-1) var(--s24-space-2) var(--s24-space-1) var(--s24-space-1);
	background: var(--s24-surface-alt);
	border: 1px solid var(--s24-border);
	border-radius: 9999px;
	max-width: 100%;
	box-sizing: border-box;
}

.s24-prjadd-page .s24-prjadd-invited-chip__avatar img {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.s24-prjadd-page .s24-prjadd-invited-chip__cancel.s24-btn {
	flex-shrink: 0;
	min-width: 1.75rem;
	min-height: 1.75rem;
	padding: 0;
	margin: 0;
	border-radius: 50%;
	font-size: 0.75rem;
	line-height: 1;
	color: var(--s24-text-muted);
	border: 0;
	background: transparent;
}

.s24-prjadd-page .s24-prjadd-preadd__header.s24-form__header {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

.s24-prjadd-page .s24-prjadd-preadd__header-title {
	font-size: var(--s24-heading-md);
	font-weight: 700;
	line-height: 1.3;
	color: var(--s24-ink);
}

.s24-prjadd-page .s24-prjadd-preadd__header-desc {
	margin: var(--s24-space-2) 0 0;
	font-weight: 400;
}

/* ============================================================
   Users pages
   Roots: .s24-user-page, .s24-users-list, .s24-user-profile
   ============================================================ */

.s24-user-page .s24-user-status-bar {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--s24-space-3);
	width: 100%;
	min-height: 40px;
	margin-bottom: var(--s24-space-3);
}

.s24-user-page .s24-user-status-group {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 10px;
	max-width: 100%;
}

.s24-user-page .s24-status {
	display: inline-flex;
	align-items: center;
	font-size: var(--s24-body);
	font-weight: 600;
	padding: 4px 14px;
	border-radius: var(--s24-radius-lg);
	line-height: 1.4;
}

.s24-user-page .s24-status--online {
	color: #15803d;
	background: rgba(0, 160, 0, 0.08);
}

.s24-user-page .s24-status--offline {
	color: #b91c1c;
	background: rgba(220, 38, 38, 0.06);
}

.s24-user-page .s24-status-lastvisit {
	color: var(--s24-text-muted);
	font-size: var(--s24-caption);
	text-align: left;
	line-height: 1.4;
}

.s24-user-page .s24-avatar-wrap {
	position: relative;
	width: 264px;
	height: 264px;
}

.s24-user-page .s24-avatar-img {
	position: absolute;
	z-index: 1;
	width: 264px;
	height: 264px;
	border-radius: var(--s24-radius-md);
}

.s24-user-page .thumbnail {
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	padding: var(--s24-space-1);
	background-color: var(--s24-surface);
	overflow: hidden;
	margin-bottom: var(--s24-space-4);
	display: inline-block;
}

.s24-user-page .thumbnail img {
	border-radius: var(--s24-radius-md);
	display: block;
}

.s24-user-page .s24-avatar-delete {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 10;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	border-radius: 50%;
	cursor: pointer;
	opacity: 0;
	transition: opacity var(--s24-transition-fast), background var(--s24-transition-fast);
}

.s24-user-page .s24-avatar-delete svg {
	stroke: #fff;
}

.s24-user-page .s24-avatar-wrap:hover .s24-avatar-delete {
	opacity: 1;
}

.s24-user-page .s24-avatar-delete:hover {
	background: var(--s24-danger);
}

.s24-user-page .s24-avatar-upload {
	position: absolute;
	bottom: -1px;
	left: 0;
	right: 0;
	z-index: 5;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	text-align: center;
	padding: var(--s24-space-3) var(--s24-space-2);
	cursor: pointer;
	border-radius: 0 0 var(--s24-radius-md) var(--s24-radius-md);
	opacity: 0;
	transition: opacity var(--s24-transition-fast);
}

.s24-user-page .s24-avatar-wrap:hover .s24-avatar-upload {
	opacity: 1;
}

.s24-user-page .s24-avatar-upload__text {
	font-size: var(--s24-caption);
	font-weight: 500;
}

.s24-user-page .s24-avatar-upload input[type="file"] {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
}

.s24-user-page .userpic {
	height: 263px;
	display: inline-block;
	position: relative;
	background-size: cover;
	width: 100%;
}

.s24-user-page .userpic__preview {
	position: absolute;
	z-index: 1;
}

.s24-user-page .userpicback {
	background-image: url('../../../datas/defaultav/student_avatar_default.png');
}

.s24-user-page .s24-action-stack {
	margin-bottom: var(--s24-space-5);
}

.s24-user-page .well-small {
	border-radius: var(--s24-radius-md);
}

.s24-user-page .s24-badge {
	display: inline-flex;
	align-items: center;
	gap: var(--s24-space-1);
	padding: 2px 10px;
	border-radius: 100px;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.5;
	white-space: nowrap;
	vertical-align: middle;
}

.s24-user-page .s24-badge--pro {
	background: linear-gradient(135deg, #fbbf24, #f59e0b);
	color: #78350f;
}

.s24-user-page .s24-rating-card {
	border-radius: var(--s24-radius-md);
	border-color: var(--s24-border);
	box-shadow: var(--s24-shadow-card);
}

.s24-user-page .s24-rating-card__total {
	font-size: 40px;
	font-weight: 800;
	line-height: 1.3;
	color: var(--s24-ink);
}

.s24-user-page .s24-rating-card__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1px 0;
	margin: 0;
	font-size: var(--s24-caption);
	color: var(--s24-text);
}

.s24-user-page .s24-rating-card__row + .s24-rating-card__row {
	margin-top: var(--s24-space-2);
}

.s24-user-page .s24-rating-card .center + .s24-rating-card__row {
	margin-top: var(--s24-space-2);
}

.s24-user-page .s24-works-stat {
	border-radius: var(--s24-radius-md);
	border-color: var(--s24-border);
	font-size: var(--s24-caption);
	line-height: var(--s24-lh-relaxed);
}

.s24-user-page .well.bonusblock {
	padding: var(--s24-space-4) var(--s24-space-6);
}

.s24-user-page .bonusblock h3 {
	font-size: 0.875rem;
	line-height: 1.5;
	margin-bottom: var(--s24-space-4);
}

.s24-user-page .s24-bonus-profile-progress__track {
	display: block;
	height: 16px;
}

.s24-user-page .s24-bonus-profile-progress__bar {
	line-height: 1.2;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
}

.s24-user-page .s24-bonus-profile-progress--hide-next .s24-bonus-profile-progress__bar > .next_fincome {
	display: none;
}

.s24-user-page .s24-bonus-profile-progress--hide-current .s24-bonus-profile-progress__bar > .curent_fincome {
	display: none;
}

/* Календарь (профиль и «мои заказы»): simplecalendar.css задаёт td как inline-block 25×25 — без переопределений сетка «сплющивается» */
.s24-user-page .calendar-container.well,
.s24-prj-list .calendar-container.well {
	padding: var(--s24-space-5) var(--s24-space-5) var(--s24-space-4);
	box-shadow: var(--s24-shadow-card-soft);
	border-color: var(--s24-border);
}

.s24-user-page .calendar-container .calendar,
.s24-prj-list .calendar-container .calendar {
	color: var(--s24-text-muted);
}

.s24-user-page .calendar-container .calendar header,
.s24-prj-list .calendar-container .calendar header {
	position: relative;
	padding: 0 var(--s24-space-6);
	margin-bottom: 10px;
}

.s24-user-page .calendar-container .calendar h2.month,
.s24-prj-list .calendar-container .calendar h2.month {
	font-family: var(--s24-font-family);
	font-size: var(--s24-heading-sm);
	font-weight: 700;
	line-height: var(--s24-lh-tight);
	color: var(--s24-text);
	margin: 0 0 var(--s24-space-1) 0;
	letter-spacing: -0.01em;
}

.s24-user-page .calendar-container .calendar .year,
.s24-prj-list .calendar-container .calendar .year {
	font-family: var(--s24-font-family);
	font-size: var(--s24-caption);
	font-weight: 300;
	line-height: var(--s24-lh-tight);
	margin: 0;
}

.s24-user-page .calendar-container .btn-prev,
.s24-user-page .calendar-container .btn-next,
.s24-prj-list .calendar-container .btn-prev,
.s24-prj-list .calendar-container .btn-next {
	width: 36px;
	height: 36px;
	line-height: 32px;
	margin-top: -18px;
	font-size: 1.125rem;
	font-weight: 300;
	color: var(--s24-border-strong);
}

.s24-user-page .calendar-container .btn-prev,
.s24-prj-list .calendar-container .btn-prev {
	left: var(--s24-space-1);
}

.s24-user-page .calendar-container .btn-next,
.s24-prj-list .calendar-container .btn-next {
	right: var(--s24-space-1);
}

.s24-user-page .calendar-container .calendar table,
.s24-prj-list .calendar-container .calendar table {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	table-layout: fixed;
	margin: 0;
	text-align: center;
}

.s24-user-page .calendar-container .calendar thead,
.s24-prj-list .calendar-container .calendar thead {
	font-weight: 700;
}

.s24-user-page .calendar-container .calendar thead td,
.s24-prj-list .calendar-container .calendar thead td {
	display: table-cell;
	height: auto;
	width: auto;
	min-width: 0;
	padding: 0 0 var(--s24-space-3) 0;
	border: none;
	border-radius: 0;
	font-size: var(--s24-label);
	font-weight: 700;
	line-height: var(--s24-lh-tight);
	vertical-align: bottom;
}

.s24-user-page .calendar-container .calendar tbody td,
.s24-prj-list .calendar-container .calendar tbody td {
	display: table-cell;
	box-sizing: border-box;
	width: 14.28%;
	min-height: 2rem;
	height: auto;
	padding: 6px;
	line-height: 1.25;
	font-size: var(--s24-body-sm);
	font-weight: 300;
	vertical-align: middle;
	border: 2px solid transparent;
	border-radius: 999px;
	position: relative;
}

.s24-user-page .calendar-container .calendar tbody td:not([disabled]):hover,
.s24-prj-list .calendar-container .calendar tbody td:not([disabled]):hover {
	/* без color-mix (@supports ниже — как в s24-users.css внутри @scope) */
	background: rgba(203, 209, 210, 0.35);
}

@supports (background: color-mix(in srgb, black 50%, white)) {
	.s24-user-page .calendar-container .calendar tbody td:not([disabled]):hover,
	.s24-prj-list .calendar-container .calendar tbody td:not([disabled]):hover {
		background: color-mix(in srgb, var(--s24-border) 55%, transparent);
	}
}

.s24-user-page .calendar-container .calendar tbody td[disabled],
.s24-prj-list .calendar-container .calendar tbody td[disabled] {
	border-color: transparent;
	border-radius: 0;
	background: transparent;
	color: transparent;
	pointer-events: none;
}

.s24-user-page .calendar-container .calendar tbody td.active,
.s24-prj-list .calendar-container .calendar tbody td.active {
	background: var(--s24-primary-soft);
}

.s24-user-page .calendar-container .current-day,
.s24-prj-list .calendar-container .current-day {
	background: var(--s24-surface-alt);
}

.s24-user-page .calendar-container .event:after,
.s24-prj-list .calendar-container .event:after {
	bottom: 7px;
}

.s24-user-page .calendar-container .event:before,
.s24-prj-list .calendar-container .event:before {
	top: 6px;
}

.s24-user-page .calendar-container .day-event[event-type="1"],
.s24-user-page .calendar-container .day-event[event-type="2"],
.s24-prj-list .calendar-container .day-event[event-type="1"],
.s24-prj-list .calendar-container .day-event[event-type="2"] {
	background-color: transparent;
}

.s24-user-page .s24-more-link {
	font-size: 12px;
	margin-top: 2px;
	color: var(--s24-primary);
}

.s24-user-page .s24-more-link--tight {
	margin-top: 5px;
}

.s24-user-page .s24-sidebar-more {
	text-align: right;
	margin-top: -20px;
	margin-bottom: var(--s24-space-3);
	line-height: 1.2;
}

.s24-user-page .s24-sidebar-more .s24-more-link {
	margin-top: 0;
	float: none;
	display: inline-block;
}

.s24-user-page .s24-info-row {
	padding: var(--s24-space-3) var(--s24-space-2);
}

.s24-user-page .tab-content {
	padding: var(--s24-card-pad-y) var(--s24-card-pad-x);
	background: var(--s24-surface);
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	box-shadow: var(--s24-shadow-card);
	overflow: hidden;
	margin-bottom: var(--s24-space-6);
}

.s24-user-page .s24-reviews-block {
	border-radius: var(--s24-radius-md);
	border: 1px solid var(--s24-border);
	background: var(--s24-surface);
	margin-top: var(--s24-space-5);
	padding: var(--s24-space-6) 30px var(--s24-space-2) 30px;
}

.s24-user-page .customform.ownreview {
	display: grid;
	grid-template-columns: 1fr auto;
	column-gap: var(--s24-space-3);
	row-gap: var(--s24-space-2);
	align-items: start;
	border-radius: var(--s24-radius-md);
	padding: var(--s24-space-4) var(--s24-space-6);
	margin-bottom: 0;
	box-shadow: var(--s24-shadow-card-soft);
}

.s24-user-page .customform.ownreview > .s24-person {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
}

.s24-user-page .customform.ownreview > .s24-review-actions {
	grid-column: 2;
	grid-row: 1;
}

.s24-user-page .customform.ownreview > .s24-review-content {
	grid-column: 1 / -1;
	grid-row: 2;
	padding-left: calc(48px + var(--s24-space-3));
}

.s24-user-page .answers {
	margin-left: var(--s24-space-10);
	margin-top: var(--s24-space-2);
	padding-bottom: var(--s24-space-2);
}

.s24-user-page .s24-reviews-add-form {
	margin-top: var(--s24-space-5);
	padding: var(--s24-card-pad-y) var(--s24-card-pad-x);
	background: var(--s24-surface);
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	box-shadow: var(--s24-shadow-card-soft);
}

.s24-user-page .s24-reviews-add-form + .s24-reviews-block {
	margin-top: var(--s24-space-4);
}

.s24-user-page .s24-reviews-add-form .s24-form-layout {
	max-width: none;
	margin: 0;
	padding: 0;
	box-shadow: none;
	border: none;
	background: transparent;
}

.s24-user-page .s24-reviews-add-form select,
.s24-user-page .s24-reviews-add-form textarea {
	width: 100%;
	box-sizing: border-box;
}

.s24-user-page .s24-reviews-add-form .s24-btn {
	border-radius: var(--s24-radius-md);
}

.s24-user-page .s24-review-actions {
	display: flex;
	gap: var(--s24-space-2);
	flex-shrink: 0;
}

.s24-user-page .s24-review-content {
	display: flex;
	flex-direction: column;
}

.s24-user-page .s24-review-date {
	color: var(--s24-text-soft);
	font-size: 0.75rem;
}

.s24-user-page .s24-review-project {
	font-size: 0.8125rem;
	color: var(--s24-text-muted);
	line-height: 1.4;
	margin: 0;
}

.s24-user-page .s24-review-project a {
	color: var(--s24-primary);
	text-decoration: none;
}

.s24-user-page .s24-review-project a:hover {
	text-decoration: underline;
}

.s24-user-page .s24-review-text {
	margin-top: 0;
	text-align: left;
	font-size: var(--s24-caption);
	line-height: 1.5;
	color: var(--s24-text);
}

.s24-user-page .s24-review-scores-detail {
	font-size: 0.75rem;
	color: var(--s24-text-muted);
	margin-top: 0;
}

.s24-user-page .s24-reply-icon {
	display: none;
}

.s24-user-page .s24-review-reply {
	border-radius: var(--s24-radius-md);
	padding: var(--s24-space-3) var(--s24-space-4);
	background: var(--s24-surface);
	border: 1px solid var(--s24-border);
}

.s24-user-page .s24-review-reply__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--s24-space-2);
	flex-wrap: wrap;
	margin-bottom: var(--s24-space-1);
}

.s24-user-page .reviews {
	margin-bottom: var(--s24-space-4);
}

.s24-user-page .customform.ownreview.good {
	background-color: rgba(226, 255, 228, 0.8);
	border: 1px solid rgba(0, 128, 0, 0.2);
}

.s24-user-page .customform.ownreview.bad {
	background-color: rgba(255, 238, 238, 0.8);
	border: 1px solid rgba(255, 0, 0, 0.2);
}

.s24-user-page .customform.ownreview.neutral {
	background-color: rgba(242, 242, 242, 0.8);
	border: 1px solid rgba(128, 128, 128, 0.2);
}

.s24-user-page .answers .s24-review-text blockquote {
	margin-left: 0;
	margin-right: 0;
	padding-left: var(--s24-space-3);
	border-left: 3px solid var(--s24-border);
}

.s24-user-page .well.usercat {
	padding: var(--s24-space-4) var(--s24-space-4) var(--s24-space-4) var(--s24-space-8);
	overflow: hidden;
}

/* Совпадает с .well.usercat ul / li в @scope (.s24-user-page) в s24-users.css */
.s24-user-page .well.usercat ul {
	margin: 0;
	padding-left: var(--s24-space-4);
	list-style-position: outside;
}

.s24-user-page .well.usercat li {
	font-size: var(--s24-caption);
	line-height: var(--s24-lh-relaxed);
}

.s24-user-page #tab_portfolio {
	padding: var(--s24-space-4) 0;
	overflow: visible;
}

.s24-user-page .b-upload__dnd_hover {
	background-color: var(--s24-primary-soft);
	outline: 1px dashed var(--s24-border-strong);
	outline-offset: 1px;
}

.s24-user-page .b-upload__files {
	text-align: left;
	font-size: var(--s24-caption);
	margin: 15px 0 0 -15px;
}

.s24-user-page #emailForm input[name="emailheader"] {
	width: 98%;
}

.s24-users-list .s24-users-invited-chip__cancel {
	margin: 0;
}

/* До открытия по клику — как .collapse в s24-base (форма телефона без класса collapse полагалась только на @scope в s24-users.css). */
.s24-user-profile .s24-profile-layout .s24-profile-email-change {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	height: 0;
	margin-bottom: 0;
	box-sizing: border-box;
}

.s24-user-profile .s24-profile-layout .s24-profile-email-change > .s24-profile-field {
	width: 100%;
	max-width: 100%;
	align-items: stretch;
}

.s24-user-profile .s24-profile-layout .s24-profile-email-change .s24-profile-field__value {
	width: 100%;
	max-width: 100%;
}

.s24-balance-page #fromBalanceTr {
	color: var(--s24-primary);
}

.s24-user-page .answers .s24-person__avatar img {
	width: 40px;
	height: 40px;
}

.s24-user-page #tab_notification .s24-notification-list {
	display: flex;
	flex-direction: column;
	gap: var(--s24-space-3);
}

.s24-user-page #tab_notification .s24-notification-item {
	padding: var(--s24-card-pad-y) var(--s24-card-pad-x);
	background: var(--s24-surface);
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	box-shadow: var(--s24-shadow-card-soft);
}

.s24-user-page #tab_notification .s24-notification-item--new {
	background: #fff7e6;
	border-color: #f2d49a;
}

.s24-user-page .s24-reviews-sort {
	display: flex;
	align-items: center;
	gap: var(--s24-space-3);
	margin-bottom: var(--s24-space-4);
	flex-wrap: wrap;
}

.s24-user-page .s24-reviews-sort__label {
	font-size: var(--s24-caption);
	color: var(--s24-text-muted);
	font-weight: 500;
	margin-right: var(--s24-space-1);
}

.s24-user-page .s24-reviews-sort__btn {
	font-size: var(--s24-caption);
	padding: 2px 6px;
	margin: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--s24-text-muted);
	text-decoration: none;
	text-underline-offset: 3px;
	cursor: pointer;
	font-weight: 500;
}

.s24-user-page .s24-reviews-sort__btn[data-filter="all"].active {
	color: var(--s24-ink);
	font-weight: 600;
}

.s24-user-page .s24-reviews-sort__btn[data-filter="positive"].active {
	color: #1f7a3d;
	font-weight: 600;
}

.s24-user-page .s24-reviews-sort__btn[data-filter="negative"].active {
	color: var(--s24-danger);
	font-weight: 600;
}

.s24-user-page #tab_notification .s24-notification-item__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--s24-space-1) var(--s24-space-4);
	margin-bottom: var(--s24-space-2);
}

.s24-user-page #tab_notification .s24-notification-item__title {
	flex: 1 1 12rem;
	min-width: 0;
	font-size: var(--s24-body-sm);
	font-weight: 600;
	line-height: var(--s24-lh-tight);
	color: var(--s24-text);
}

.s24-user-page #tab_notification .s24-notification-item__date {
	flex-shrink: 0;
	margin-left: auto;
	font-size: var(--s24-caption);
	line-height: var(--s24-lh-tight);
	color: var(--s24-text-muted);
	white-space: nowrap;
}

.s24-user-page #tab_notification .s24-notification-item__body {
	font-size: var(--s24-caption);
	line-height: var(--s24-lh-base);
	color: var(--s24-text-secondary);
	word-break: break-word;
}

.s24-user-page #tab_notification .s24-notification-item__body a {
	font-weight: 500;
}

.s24-user-page #tab_notification .s24-notification-item__body :first-child {
	margin-top: 0;
}

.s24-user-page #tab_notification .s24-notification-item__body :last-child {
	margin-bottom: 0;
}

.s24-user-page .b-upload_dnd {
	width: 100%;
	height: 100px;
	border: 5px dashed var(--s24-border-strong);
	margin: 25px 0 15px 0;
	box-sizing: border-box;
	text-align: center;
	font-size: var(--s24-heading-sm);
	visibility: visible;
	border-radius: var(--s24-radius-md);
}

.s24-user-page .b-upload__dnd {
	padding: 30px 0 40px 0;
	cursor: pointer;
}

.s24-user-page .js-file-tpl {
	float: left;
	width: 80px;
	margin: 20px 20px 0 0;
	opacity: 0.75;
}

.s24-user-page .js-file-tpl:hover {
	opacity: 1;
}

.s24-user-page .dnd_button {
	float: right;
	margin-top: var(--s24-space-2);
}

.s24-user-page .s24-admin-edit {
	margin-top: -25px;
	margin-bottom: 10px;
	position: absolute;
}

.s24-user-page .strikes .deletestrike {
	position: absolute;
}

.s24-user-page .strikes .deletestrike img {
	width: 14px;
	margin-top: 2px;
}

.s24-user-page .s24-sidebar-projects {
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--s24-space-2);
}

.s24-user-page .s24-sidebar-projects__item {
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--s24-space-1);
}

.s24-user-page .s24-sidebar-projects__meta {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--s24-space-2);
	margin: 0;
	font-size: var(--s24-label);
}

.s24-user-page .s24-sidebar-projects__cost {
	flex-shrink: 0;
	color: var(--s24-text-muted);
}

.s24-user-page .agrrement-info-text > div {
	margin: var(--s24-space-4) 0;
}

.s24-user-page [data-toggle="collapse"] {
	cursor: pointer;
}

.s24-user-page .s24-notes-block {
	margin: var(--s24-space-5) 0;
	padding: var(--s24-card-pad-y) var(--s24-card-pad-x) var(--s24-space-2);
	border-radius: var(--s24-radius-md);
	border: 1px solid var(--s24-border);
	background: var(--s24-surface);
}

.s24-user-page .s24-notes-block li {
	position: relative;
	margin-bottom: var(--s24-space-2);
	padding-right: var(--s24-space-6);
}

.s24-user-page .s24-notes-block .deletenote {
	position: absolute;
	top: 0;
	right: 0;
	margin-top: 0;
}

.s24-user-page .s24-notes-block .deletenote img {
	width: 14px;
}

.s24-user-page .modal#CUDIR .modal-body table.table .s24-cudir-label-cell {
	width: 150px;
}

.s24-user-page .modal#sbrPercent .modal-body table.table .s24-sbr-percent-label-cell {
	width: 75px;
}

.s24-users-list .s24-users-prj-card {
	position: relative;
	padding: var(--s24-space-4);
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	background: var(--s24-surface);
}

.s24-users-list .s24-users-prj-card__invite {
	position: absolute;
	top: var(--s24-space-3);
	right: var(--s24-space-3);
}

.s24-users-list .usersrowtext {
	font-size: var(--s24-caption);
	color: var(--s24-text-secondary);
	line-height: 1.55;
	margin: 0;
}

.s24-users-list .span3 > .well.prjlistfilter {
	padding: var(--s24-space-4) var(--s24-space-2);
}

.s24-users-list .span3 > .well.prjlistfilter .filterblock,
.s24-users-list .span3 > .well.prjlistfilter .block {
	margin-bottom: 0;
}

.s24-users-list .s24-usercat-tree {
	list-style: none;
	margin: 0;
	padding: 0;
}

.s24-users-list .s24-usercat-tree > li {
	margin: 0;
	padding: 0;
}

.s24-users-list .s24-usercat-link {
	display: block;
	padding: var(--s24-space-2) var(--s24-space-3);
	font-size: var(--s24-caption);
	color: var(--s24-text);
	text-decoration: none;
	border-radius: var(--s24-radius-sm);
}

.s24-users-list .s24-usercat-link:hover {
	background: var(--s24-surface-alt);
	color: var(--s24-primary);
	text-decoration: none;
}

.s24-users-list .s24-usercat-count {
	white-space: nowrap;
	font-weight: 500;
	color: var(--s24-text-muted);
}

.s24-users-list .s24-usercat-nested {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0 0 var(--s24-space-2) var(--s24-space-3);
}

.s24-users-list .s24-users-search-input {
	width: 100%;
	box-sizing: border-box;
}

.s24-users-list .s24-users-invite-well {
	text-align: center;
	padding: var(--s24-space-4);
	margin-bottom: var(--s24-space-4);
}

.s24-users-list .s24-users-invite-sep {
	height: 1px;
	background: var(--s24-border);
	margin: var(--s24-space-3) 0;
}

.s24-users-list #topinviteblock {
	margin-bottom: var(--s24-space-2);
}

.s24-users-list .s24-users-invite-hint {
	font-size: var(--s24-caption);
	color: var(--s24-text-muted);
}

.s24-users-list .s24-users-invite-help {
	font-size: var(--s24-caption);
	color: var(--s24-text-secondary);
	margin: 0 0 var(--s24-space-2);
	line-height: 1.5;
}

.s24-users-list .s24-users-invite-help:last-child {
	margin-bottom: 0;
}

.s24-users-list .s24-users-invited-chip {
	display: inline-flex;
	align-items: center;
	gap: var(--s24-space-2);
	margin: var(--s24-space-1);
	vertical-align: middle;
}

.s24-users-list .s24-users-invited-chip__avatar img {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.s24-user-profile .s24-profile-cats-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--s24-space-10);
}

.s24-user-profile .s24-profile-notifications {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--s24-space-10);
}

.s24-user-profile .s24-settings-section__title {
	font-weight: 700;
	font-size: var(--s24-heading-sm);
	margin-bottom: var(--s24-space-2);
	color: var(--s24-ink);
	line-height: 1.3;
}

.s24-user-profile .s24-settings-section__title--with-meta {
	display: flex;
	align-items: baseline;
	gap: var(--s24-space-2);
}

.s24-user-profile .s24-settings-section__hint {
	font-size: var(--s24-caption);
	color: var(--s24-text-muted);
	margin-bottom: var(--s24-space-3);
	line-height: var(--s24-lh-base);
}

.s24-user-profile .s24-settings-section__title + .s24-profile-field {
	margin-top: var(--s24-space-3);
}

.s24-user-profile .s24-settings-section > .s24-form-row {
	margin-bottom: var(--s24-space-3);
}

.s24-user-profile .s24-profile-field:has(.locselect) {
	width: 100%;
	max-width: 100%;
	align-items: stretch;
}

.s24-user-profile .s24-profile-field__value:has(.locselect) {
	width: 100%;
	max-width: 100%;
}

.s24-user-profile .s24-profile-field {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--s24-space-1);
	margin-bottom: var(--s24-space-3);
}

.s24-user-profile .s24-profile-field:last-child {
	margin-bottom: 0;
}

.s24-user-profile .s24-profile-field__hint {
	font-size: 0.8125rem;
	color: var(--s24-text-muted);
	margin-top: var(--s24-space-1);
	line-height: var(--s24-lh-base);
}

.s24-user-profile .s24-profile-field__value--action {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: var(--s24-space-2);
	max-width: 100%;
}

.s24-user-profile .s24-profile-field__value-main {
	min-width: 0;
}

.s24-user-profile .s24-profile-field__value--action .s24-edit-icon {
	margin-left: 0;
	flex-shrink: 0;
}

.s24-user-profile .s24-form__label:hover .s24-edit-icon {
	opacity: 0.8;
}

.s24-user-profile .s24-profile-field__link {
	color: var(--s24-primary);
	text-decoration: none;
	border-bottom: 1px dashed var(--s24-primary);
}

.s24-user-profile .s24-profile-field__link:hover {
	color: var(--s24-primary-hover);
	border-bottom-style: solid;
}

.s24-user-profile .s24-field-error {
	border-color: var(--s24-danger);
}

.s24-user-profile .s24-field-ok {
	border-color: var(--s24-success);
}

.s24-user-profile .s24-profile-field__value--birthdate {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s24-space-2);
}

.s24-user-profile .s24-profile-layout .s24-profile-field__value:has(textarea) {
	width: min(100%, 700px);
	max-width: 100%;
}

.s24-user-profile .s24-profile-layout .s24-profile-field__value textarea {
	width: 100%;
	max-width: 100%;
	min-height: 240px;
	resize: none;
	overflow-y: hidden;
}

.s24-user-profile .s24-profile-save-footer.s24-form-actions {
	margin-top: var(--s24-space-6);
	margin-bottom: var(--s24-space-6);
	padding: 0;
	border-top: 0;
	background: transparent;
	border-radius: 0;
}

.s24-user-profile .s24-profile-save-footer .s24-btn.disabled {
	opacity: 0.5;
	pointer-events: none;
}

.s24-user-profile .s24-profile-cats-header {
	margin-bottom: var(--s24-space-4);
}

.s24-user-profile .s24-profile-cats-search {
	width: 100%;
	max-width: 400px;
	box-sizing: border-box;
}

.s24-user-profile .s24-profile-cats-counter {
	font-size: var(--s24-caption);
	font-weight: 600;
	color: var(--s24-success);
}

.s24-user-profile .s24-profile-notifications .s24-notify-item__desc {
	margin-left: 30px;
	margin-top: 2px;
	font-size: 0.875rem;
	line-height: 1.35;
	color: var(--s24-text-muted);
	max-width: 260px;
}

.s24-user-profile .s24-form-row > .s24-profile-field {
	flex: 1;
	min-width: 0;
	align-items: stretch;
}

.s24-user-profile .s24-form-row > .s24-profile-field .s24-profile-field__value {
	width: 100%;
	max-width: 100%;
}

.s24-user-profile .s24-form-row--auto > .s24-profile-field {
	flex: 0 1 auto;
}

.s24-user-profile .s24-profile-field__value {
	font-size: var(--s24-caption);
	color: var(--s24-text);
	min-width: 0;
	width: fit-content;
	max-width: 100%;
}

.s24-user-profile .s24-profile-field__value input[type="text"],
.s24-user-profile .s24-profile-field__value input[type="email"],
.s24-user-profile .s24-profile-field__value input[type="password"],
.s24-user-profile .s24-profile-field__value select {
	max-width: 100%;
}

.s24-user-profile .s24-profile-layout :is(
	input[type="text"],
	input[type="email"],
	input[type="password"],
	input[type="tel"],
	select,
	textarea
) {
	border-radius: var(--s24-radius-sm);
	padding: 0.5rem 0.75rem;
	min-height: 40px;
	font-size: var(--s24-caption);
	max-width: 100%;
}

.s24-user-profile .s24-profile-layout :is(
	input[type="text"],
	input[type="email"],
	input[type="password"],
	input[type="tel"]
) {
	width: min(100%, 24rem);
}

.s24-user-profile .s24-profile-layout select {
	width: max-content;
	max-width: 100%;
}

.s24-user-profile .s24-profile-layout .s24-profile-field__value--birthdate select {
	width: auto;
	flex: 0 1 auto;
	max-width: 100%;
}

.s24-user-profile .s24-profile-layout .s24-form-row > .s24-profile-field .s24-profile-field__value select {
	width: 100%;
	max-width: 100%;
}

.s24-user-profile .s24-profile-layout :is(input[type="text"], select):where(select) {
	min-height: 40px;
	height: auto;
	padding: 6px 36px 6px 12px;
	line-height: 1.25;
}

.s24-user-profile .s24-profile-layout :is(input, select, textarea):focus {
	border-color: var(--s24-primary);
}

.s24-user-profile .s24-profile-layout .locselect {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s24-space-2);
}

.s24-user-profile .s24-profile-layout .locselect select {
	width: auto;
	min-width: 140px;
	flex: 1 1 0;
	margin-bottom: 0;
}

.s24-user-profile .s24-profile-notifications .s24-notify-col__title {
	margin: 0 0 var(--s24-space-3);
	font-size: var(--s24-heading-sm);
	font-weight: 700;
	line-height: 1.25;
	color: var(--s24-ink);
}

.s24-user-profile .s24-profile-notifications .s24-notify-col--root {
	min-width: 0;
	padding-bottom: 0;
}

.s24-user-profile .s24-profile-notifications .s24-notify-col__list {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.s24-user-profile .s24-profile-stack-8 {
	margin-top: var(--s24-space-2);
}

.s24-user-profile .s24-profile-inline-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.s24-user-profile .s24-profile-phone-change-link {
	font-size: 0.8125rem;
}

.s24-user-profile .confirmcode-btn {
	display: none;
}

.s24-user-profile .s24-input-icon-wrap {
	position: relative;
	display: flex;
	width: 100%;
}

.s24-user-profile .s24-pass-toggle {
	position: absolute;
	right: 8px;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1.1rem;
	color: var(--s24-text-muted);
	padding: 0 4px;
	z-index: 2;
}

.s24-user-profile .s24-pass-strength {
	height: 4px;
	background: var(--s24-border);
	border-radius: 2px;
	margin-top: var(--s24-space-2);
	overflow: hidden;
}

.s24-user-profile .s24-pass-strength__fill {
	height: 100%;
	width: 0;
	border-radius: 2px;
	transition: width 0.3s ease, background 0.3s ease;
}

.s24-user-profile .s24-profile-cats-list .s24-cat-col__title {
	margin: 0 0 var(--s24-space-2);
	font-size: var(--s24-heading-sm);
	font-weight: 700;
	line-height: 1.25;
	color: var(--s24-ink);
}

.s24-user-profile .s24-profile-cats-list .s24-cat-col--root {
	break-inside: auto;
	display: block;
	width: auto;
	margin-bottom: var(--s24-space-2);
}

.s24-user-profile .s24-profile-cats-list .s24-cat-item {
	margin-bottom: var(--s24-space-2);
}

.s24-user-profile .s24-profile-cats-list .s24-cat-children {
	margin-left: 0;
}

.s24-user-profile .s24-profile-cats-list .s24-cat-children.grey {
	opacity: 0.55;
}

/* ============================================================
   Payments / checkout
   Roots: .s24-balance-page, .s24-market-neworder-page,
          .s24-sbr-confirm-page, .s24-prjadd-page
   ============================================================ */

.s24-balance-page .s24-balance-page__title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--s24-space-2);
}

.s24-balance-page .s24-balance-page__header .s24-page-title.s24-balance-page__title-row {
	margin-bottom: 0;
}

.s24-balance-page .s24-balance-page__title-label {
	font-weight: inherit;
	color: inherit;
}

.s24-balance-page .s24-balance-page__hint {
	display: inline-block;
	font-size: var(--s24-caption);
	color: var(--s24-text-muted);
	font-weight: 500;
}

.s24-balance-page .s24-balance-page__header {
	margin-bottom: var(--s24-space-6);
}

.s24-balance-page .s24-balance-page__totals {
	display: flex;
	flex-direction: column;
	gap: var(--s24-space-2);
}

.s24-balance-page .s24-balance-page__value,
.s24-balance-page .s24-balance-page__curr {
	font-weight: 700;
	font-size: inherit;
	color: var(--s24-primary);
}

.s24-balance-page .s24-balance-page__bonus {
	margin: 0;
	line-height: 1.45;
}

.s24-balance-page .s24-balance-page__bonus-label {
	color: var(--s24-text-muted);
	font-weight: 500;
	margin-right: var(--s24-space-2);
}

.s24-balance-page .s24-balance-page__bonus-hint {
	display: inline-block;
	margin-left: var(--s24-space-2);
	font-size: var(--s24-caption);
	color: var(--s24-text-muted);
}

.s24-balance-page #payment_warning .warning,
.s24-balance-page .warning,
.s24-market-neworder-page #payment_warning .warning,
.s24-sbr-confirm-page #payment_warning .warning,
.s24-prjadd-page #payment_warning .warning {
	line-height: var(--s24-lh-base);
	padding: var(--s24-space-5) var(--s24-space-5) var(--s24-space-5)
		calc(var(--s24-space-8) + var(--s24-space-5));
	border-radius: var(--s24-radius-md);
	font-size: var(--s24-caption);
	color: var(--s24-warning-ink);
	background-color: var(--s24-warning);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23b45309' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
	background-position: var(--s24-space-4) 50%;
	background-repeat: no-repeat;
	background-size: 22px 22px;
	border: 1px solid #e8d48b;
	border-color: color-mix(in srgb, var(--s24-warning-ink) 24%, var(--s24-warning));
}

.s24-balance-page .s24-balance-history__table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 var(--s24-space-2);
	margin-bottom: 0;
}

/* Как в @scope (.s24-balance-page) в s24-payments.css: без вертикальных линий между колонками */
.s24-balance-page .s24-balance-history__table > tbody > tr > td {
	padding: var(--s24-space-3) var(--s24-space-4);
	vertical-align: top;
	background: var(--s24-surface);
	border-style: solid;
	border-color: var(--s24-border);
	border-width: 1px 0;
}

.s24-balance-page .s24-settings-section > h3 {
	font-weight: 700;
	font-size: var(--s24-heading-sm);
	margin: 0 0 var(--s24-space-3);
	color: var(--s24-ink);
	line-height: 1.3;
}

.s24-balance-page .s24-settings-section > h4 {
	font-weight: 700;
	font-size: var(--s24-body-sm);
	margin: 0 0 var(--s24-space-3);
	color: var(--s24-ink);
}

.s24-balance-page .s24-balance-history__amount {
	text-align: right;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.s24-balance-page .s24-balance-history__row > td:first-child {
	width: 7.75rem;
	border-left-width: 3px;
	border-left-style: solid;
	border-radius: var(--s24-radius-md) 0 0 var(--s24-radius-md);
}

.s24-balance-page .s24-balance-history__row--in > td:first-child {
	border-left-color: var(--s24-success);
}

.s24-balance-page .s24-balance-history__row--out > td:first-child {
	border-left-color: var(--s24-danger-soft);
}

.s24-balance-page .s24-balance-history__row > td:last-child {
	border-right-width: 1px;
	border-radius: 0 var(--s24-radius-md) var(--s24-radius-md) 0;
	text-align: right;
}

.s24-balance-page .s24-balance-history__pagination {
	margin-top: var(--s24-space-5);
	margin-bottom: 0;
}

.s24-balance-page .s24-balance-history__empty {
	margin-top: var(--s24-space-3);
	margin-bottom: 0;
}

.s24-balance-page .s24-balance-history__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s24-space-1);
	margin-bottom: var(--s24-space-0);
}

.s24-balance-page .s24-balance-history__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: var(--s24-radius-sm);
	background-color: var(--s24-surface-alt);
	border: 1px solid var(--s24-border);
	line-height: 0;
	opacity: 0.85;
	transition: opacity var(--s24-transition-fast), background-color var(--s24-transition-fast);
}

.s24-balance-page .s24-balance-history__action:hover {
	opacity: 1;
	background-color: var(--s24-surface);
}

.s24-balance-page .s24-balance-history__action--danger:hover {
	border-color: hsl(0 55% 82%);
}

.s24-balance-page .s24-balance-history__action.download-icon {
	width: 1.75rem;
	height: 1.75rem;
	margin: 0 0 0 var(--s24-space-2);
	vertical-align: middle;
	background-color: var(--s24-surface-alt);
	background-image: url(../../../images/icons/default/download-icon.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 14px;
	text-decoration: none;
	color: inherit;
}

.s24-balance-page .s24-balance-history__action.download-icon:hover {
	background-color: var(--s24-surface);
}

.s24-balance-page .s24-balance-history__date {
	display: block;
	font-size: var(--s24-caption);
	color: var(--s24-text-muted);
	line-height: 1.4;
	white-space: nowrap;
}

.s24-balance-page .s24-balance-history__desc {
	color: var(--s24-text);
	line-height: 1.55;
	min-width: 0;
	word-wrap: break-word;
	overflow-wrap: anywhere;
	max-width: none;
}

.s24-balance-page .s24-balance-history__inline-actions {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--s24-space-1);
	margin-left: var(--s24-space-2);
	vertical-align: middle;
}

.s24-balance-page .s24-balance-history__inline-actions .s24-balance-history__action.download-icon {
	margin-left: 0;
}

.s24-balance-page .s24-balance-history__amount-main {
	display: block;
	font-weight: 700;
}

.s24-balance-page .s24-balance-history__row--in .s24-balance-history__amount-main {
	color: var(--s24-success);
}

.s24-balance-page .s24-balance-history__row--out .s24-balance-history__amount-main {
	color: var(--s24-danger);
}

.s24-balance-page .s24-balance-history__amount-alt {
	color: var(--s24-text-muted);
	font-size: var(--s24-caption);
	font-weight: 500;
	margin-top: var(--s24-space-1);
}

.s24-balance-page .s24-balance-wait-list {
	display: flex;
	flex-direction: column;
	gap: var(--s24-space-3);
	min-width: 0;
}

.s24-balance-page .s24-balance-wait-card {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s24-space-3);
	padding: var(--s24-space-4);
	box-sizing: border-box;
	min-width: 0;
	background: var(--s24-surface);
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	box-shadow: var(--s24-shadow-soft);
}

.s24-balance-page .s24-balance-wait-card .s24-form__label {
	display: block;
	margin-bottom: var(--s24-space-1);
	line-height: 1.3;
}

.s24-balance-page .s24-balance-wait-card .s24-body-text {
	display: block;
	margin: 0;
	font-weight: 400;
}

.s24-balance-page .s24-balance-wait-card__field--num .s24-body-text,
.s24-balance-page .s24-balance-wait-card__field--expiry .s24-body-text {
	font-variant-numeric: tabular-nums;
}

.s24-balance-page .s24-balance-wait-card__field--desc {
	min-width: 0;
}

.s24-balance-page .waitButtonsBlock {
	width: auto;
	float: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s24-space-2);
	padding-top: var(--s24-space-2);
	margin: 0;
	border-top: 1px solid var(--s24-border);
}

.s24-balance-page .waitButtonsBlock input[type="submit"] {
	margin: 0;
}

.s24-balance-page .payforworkblock.ownlist {
	background: var(--s24-surface);
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	padding: var(--s24-space-4);
	margin-bottom: var(--s24-space-4);
	box-shadow: var(--s24-shadow-soft);
}

.s24-balance-page .payforworkblock .s24-payforwork-actions {
	float: right;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: var(--s24-space-2);
}

.s24-balance-page .payforworkblock .s24-payforwork-calc {
	min-height: 24px;
	width: 150px;
}

.s24-balance-page .payoutformtext {
	color: var(--s24-text-muted);
	font-weight: 600;
	font-size: var(--s24-caption);
	width: 175px;
}

.s24-balance-page .s24-balance-label-cell {
	width: 190px;
}

.s24-balance-page .s24-balance-label-cell--sm {
	width: 145px;
}

.s24-balance-page .s24-summ--emphasis {
	font-weight: bold;
}

.s24-balance-page .help {
	margin-top: var(--s24-space-4);
	padding: var(--s24-space-3) var(--s24-space-4);
	background: var(--s24-surface-alt);
	border-radius: var(--s24-radius-sm);
	border: 1px solid var(--s24-border);
	font-size: var(--s24-caption);
	color: var(--s24-text-secondary);
	line-height: 1.55;
}

.s24-balance-page .s24-balance-move-form .textright {
	text-align: right;
	padding-right: var(--s24-space-3);
	white-space: nowrap;
}

/* Balance sumtable parity for legacy browsers:
   - keep label cell vertically centered with money input
   - keep payout amount capsule wider (as in canonical payments.css) */
.s24-balance-page .s24-sumtable > tbody > tr > td {
	vertical-align: middle;
}

.s24-balance-page .s24-sumtable__row--input > td {
	padding-top: var(--s24-space-2);
	padding-bottom: var(--s24-space-2);
}

.s24-balance-page .s24-sumtable .s24-input-money.s24-balance-billing__summ-field,
.s24-balance-page .s24-settings-section .s24-input-money.s24-balance-billing__summ-field {
	max-width: min(calc(18rem / 1.5), 100%);
}

/* Вывод/пополнение (balance): legacy-фикс поведения плитки.
   В legacy-браузерах подпись из <desc> может остаться в потоке и уехать над иконкой.
   Здесь принудительно возвращаем канонический hover-оверлей внутри плитки. */
.s24-balance-page .s24-settings-section .pay_system_block {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr));
	gap: var(--s24-space-4);
	align-items: stretch;
}

.s24-balance-page .s24-settings-section .pay_system_row {
	display: block;
	width: 100%;
	min-width: 0;
	margin: 0;
}

.s24-balance-page .s24-settings-section .pay_system_img_block {
	position: relative;
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: var(--s24-space-4);
	border: 2px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	background: var(--s24-surface);
	box-shadow: var(--s24-shadow-soft);
	cursor: pointer;
	overflow: hidden;
	text-align: center;
	transition:
		border-color var(--s24-transition-fast),
		background-color var(--s24-transition-fast),
		box-shadow var(--s24-transition-fast),
		opacity var(--s24-transition-fast);
}

.s24-balance-page .s24-settings-section .pay_system_img_block > img {
	display: block;
	height: 80px;
	max-height: 80px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	margin-inline: auto;
	opacity: 1;
	transition: opacity 0.2s 0.2s;
}

.s24-balance-page .s24-settings-section .pay_system_img_block > desc {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s;
	display: block;
	text-align: center;
	max-width: calc(100% - var(--s24-space-4));
	padding-inline: var(--s24-space-1);
	box-sizing: border-box;
	max-height: 5.5rem;
	overflow: hidden;
	font-size: 0.75rem;
	line-height: var(--s24-lh-tight);
	color: var(--s24-text-secondary);
}

.s24-balance-page .s24-settings-section .pay_system_img_block:hover {
	background: var(--s24-surface-alt);
	border-color: color-mix(in srgb, var(--s24-primary) 38%, var(--s24-border));
	box-shadow: var(--s24-shadow-soft);
}

.s24-balance-page .s24-settings-section .pay_system_img_block:hover > img {
	opacity: 0;
	transition: opacity 0.2s;
}

.s24-balance-page .s24-settings-section .pay_system_img_block:hover > desc {
	opacity: 1;
	transition: opacity 0.2s 0.2s;
}

.s24-balance-page .s24-settings-section .pay_system_img_block.active {
	border-color: var(--s24-primary);
	background: var(--s24-surface);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--s24-primary) 32%, transparent);
	opacity: 1;
}

.s24-balance-page .s24-settings-section .pay_system_img_block.active:hover {
	background: var(--s24-surface);
}

.s24-balance-page .s24-settings-section .pay_system_row.inactive .pay_system_img_block.active {
	border-color: color-mix(in srgb, var(--s24-text-muted) 50%, var(--s24-border));
	box-shadow: none;
}

@media (max-width: 480px) {
	.s24-balance-page .s24-settings-section .pay_system_block {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--s24-space-3);
	}
}

.s24-balance-page .s24-profile-layout #requisites :is(input[type="text"], input[type="tel"], input[type="email"], input:not([type])),
.s24-balance-page .s24-profile-layout #payoutform :is(input[type="text"], input[type="tel"], input[type="email"], input:not([type])) {
	width: min(calc(22rem / 1.5), 100%);
	max-width: 100%;
	box-sizing: border-box;
}

@media (max-width: 767px) {
	.s24-balance-page .s24-sumtable .s24-input-money.s24-balance-billing__summ-field,
	.s24-balance-page .s24-settings-section .s24-input-money.s24-balance-billing__summ-field {
		max-width: min(calc(20rem), 100%);
	}

	.s24-balance-page .s24-profile-layout #requisites :is(input[type="text"], input[type="tel"], input[type="email"], input:not([type])),
	.s24-balance-page .s24-profile-layout #payoutform :is(input[type="text"], input[type="tel"], input[type="email"], input:not([type])) {
		width: 100%;
		max-width: 100%;
	}
}

.s24-market-neworder-page a.s24-mo-promo-toggle,
.s24-sbr-confirm-page a.s24-mo-promo-toggle,
.s24-prjadd-page a.s24-mo-promo-toggle {
	color: var(--s24-primary);
	text-decoration: none;
	font-weight: 600;
	font-size: var(--s24-caption);
}

.s24-market-neworder-page a.s24-mo-promo-toggle:hover,
.s24-market-neworder-page a.s24-mo-promo-toggle:focus,
.s24-sbr-confirm-page a.s24-mo-promo-toggle:hover,
.s24-sbr-confirm-page a.s24-mo-promo-toggle:focus,
.s24-prjadd-page a.s24-mo-promo-toggle:hover,
.s24-prjadd-page a.s24-mo-promo-toggle:focus {
	color: var(--s24-primary-hover);
	text-decoration: none;
}

.s24-market-neworder-page .s24-mo-promo-label,
.s24-sbr-confirm-page .s24-mo-promo-label,
.s24-prjadd-page .s24-mo-promo-label {
	display: block;
	margin: 0;
	font-size: var(--s24-caption);
	font-weight: 600;
	color: var(--s24-text);
}

.s24-market-neworder-page .s24-mo-promo-label .s24-dotted-hint,
.s24-sbr-confirm-page .s24-mo-promo-label .s24-dotted-hint,
.s24-prjadd-page .s24-mo-promo-label .s24-dotted-hint {
	font-weight: 600;
	color: var(--s24-text);
}

.s24-market-neworder-page .s24-mo-promo-input-wrap :is(input[type="text"], input:not([type])),
.s24-sbr-confirm-page .s24-mo-promo-input-wrap :is(input[type="text"], input:not([type])),
.s24-prjadd-page .s24-mo-promo-input-wrap :is(input[type="text"], input:not([type])) {
	width: 100%;
	max-width: 100%;
	font-size: var(--s24-body);
}

.s24-market-neworder-page .s24-sumtable .summ,
.s24-sbr-confirm-page .s24-sumtable .summ,
.s24-prjadd-page .s24-sumtable .summ {
	font-size: var(--s24-body);
	line-height: 1.45;
	color: var(--s24-text);
	font-variant-numeric: tabular-nums;
}

.s24-market-neworder-page .s24-sumtable tr#total_in_pay_sys_curr .s24-mo-paycurr-label,
.s24-sbr-confirm-page .s24-sumtable tr#total_in_pay_sys_curr .s24-mo-paycurr-label,
.s24-prjadd-page .s24-sumtable tr#total_in_pay_sys_curr .s24-mo-paycurr-label {
	font-size: var(--s24-body);
}

.s24-market-neworder-page .s24-mo-first-order-info,
.s24-sbr-confirm-page .s24-mo-first-order-info,
.s24-prjadd-page .s24-mo-first-order-info {
	font-size: var(--s24-caption);
	color: var(--s24-text-secondary);
	line-height: 1.55;
}

.s24-market-neworder-page .s24-mo-submit,
.s24-sbr-confirm-page .s24-mo-submit,
.s24-prjadd-page .s24-mo-submit {
	min-width: 0;
}

.s24-market-neworder-page .s24-mo-legal__note,
.s24-market-neworder-page .s24-mo-legal__agree,
.s24-sbr-confirm-page .s24-mo-legal__note,
.s24-sbr-confirm-page .s24-mo-legal__agree,
.s24-prjadd-page .s24-mo-legal__note,
.s24-prjadd-page .s24-mo-legal__agree {
	margin: 0;
}

.s24-market-neworder-page .s24-mo-agreement-dl,
.s24-sbr-confirm-page .s24-mo-agreement-dl,
.s24-prjadd-page .s24-mo-agreement-dl {
	display: inline-block;
	vertical-align: middle;
	margin-left: var(--s24-space-2);
}

@media (min-width: 768px) {
	.s24-balance-page .s24-balance-wait-card {
		grid-template-columns: minmax(0, 6.5rem) minmax(0, 10rem) minmax(0, 1fr) auto;
		align-items: start;
		gap: var(--s24-space-4);
		padding: var(--s24-space-4) var(--s24-space-5);
	}

	.s24-balance-page .waitButtonsBlock {
		padding-top: 0;
		border-top: none;
		justify-content: flex-end;
		align-self: center;
	}
}

.s24-market-neworder-page .s24-market-neworder__title,
.s24-sbr-confirm-page .s24-market-neworder__title,
.s24-prjadd-page .s24-market-neworder__title {
	font-size: var(--s24-heading-md);
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 var(--s24-space-5);
}

.s24-market-neworder-page .s24-mo-section__heading,
.s24-sbr-confirm-page .s24-mo-section__heading,
.s24-prjadd-page .s24-mo-section__heading {
	font-weight: 700;
	font-size: var(--s24-heading-sm);
	margin: 0 0 var(--s24-space-4);
	line-height: 1.3;
}

.s24-market-neworder-page .s24-mo-promo-field,
.s24-sbr-confirm-page .s24-mo-promo-field,
.s24-prjadd-page .s24-mo-promo-field {
	display: flex;
	flex-direction: column;
	gap: var(--s24-space-2);
	align-items: stretch;
	max-width: min(100%, 22rem);
}

.s24-market-neworder-page .s24-mo-actions.s24-form-actions--stack,
.s24-sbr-confirm-page .s24-mo-actions.s24-form-actions--stack,
.s24-prjadd-page .s24-mo-actions.s24-form-actions--stack {
	margin-bottom: var(--s24-space-8);
}

.s24-market-neworder-page .s24-mo-legal,
.s24-sbr-confirm-page .s24-mo-legal,
.s24-prjadd-page .s24-mo-legal {
	margin: var(--s24-space-5) auto 0;
	max-width: 36rem;
	font-size: var(--s24-caption);
	color: var(--s24-text-secondary);
	line-height: 1.55;
	text-align: center;
}

.s24-market-neworder-page .s24-mo-legal a,
.s24-sbr-confirm-page .s24-mo-legal a,
.s24-prjadd-page .s24-mo-legal a {
	font-weight: 600;
}

/* ============================================================
   Forums
   Root: .s24-forum-page (+ modifiers)
   ============================================================ */

.s24-forum-page .s24-forum-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--s24-surface);
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	overflow: hidden;
}

.s24-forum-page .s24-forum-table td {
	padding: var(--s24-space-3);
	border-bottom: 1px solid var(--s24-border);
	vertical-align: top;
}

.s24-forum-page .s24-forum-table .coltop {
	text-align: center;
	vertical-align: middle;
	font-size: var(--s24-caption);
	font-weight: 600;
	background: var(--s24-surface-alt);
	color: var(--s24-text);
	border-bottom: 1px solid var(--s24-border);
	padding: var(--s24-space-2) var(--s24-space-3);
}

.s24-forum-page .s24-forum-table .coltop:first-child {
	text-align: left;
}

.s24-forum-page .s24-forum-table td.forumssection {
	background: var(--s24-surface-alt);
	padding: 0;
	border-bottom: 1px solid var(--s24-border);
}

.s24-forum-page .s24-forum-table td.forumssection h3 {
	margin: 0;
	padding: var(--s24-space-3);
	font-size: var(--s24-body);
	font-weight: 600;
	line-height: 1.35;
}

.s24-forum-page .s24-forum-table td.forumssection h3 a {
	color: var(--s24-text);
	text-decoration: none;
}

.s24-forum-page .s24-forum-table h5 {
	margin: 0 0 var(--s24-space-1);
	font-size: var(--s24-body);
	font-weight: 600;
	line-height: 1.35;
}

.s24-forum-page .s24-forum-table h5 a {
	color: var(--s24-primary);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.s24-forum-page .s24-forum-page__header {
	margin-bottom: var(--s24-space-5);
}

.s24-forum-page .s24-forum-page__sub {
	margin: var(--s24-space-2) 0 0;
	font-size: var(--s24-caption);
	color: var(--s24-text-muted);
	line-height: 1.45;
}

.s24-forum-page .s24-forum-breadcrumb {
	margin: 0 0 var(--s24-space-4);
	font-size: var(--s24-caption);
	color: var(--s24-text-muted);
	line-height: 1.5;
}

.s24-forum-page .s24-forum-breadcrumb .s24-forum-topic-title {
	display: inline;
	font-size: inherit;
	font-weight: 600;
	color: var(--s24-text);
}

.s24-forum-page .s24-forum-table tr:last-child td {
	border-bottom: none;
}

.s24-forum-page .s24-forum-table td.forumssection h3 a:hover {
	color: var(--s24-primary);
}

.s24-forum-page .s24-forum-table td.forumssection .caret {
	margin-left: var(--s24-space-2);
	opacity: 0.55;
	vertical-align: middle;
}

.s24-forum-page .s24-forum-table h5 a:hover {
	color: var(--s24-primary-hover);
}

.s24-forum-page .s24-forum-table h5 a.red,
.s24-forum-page .s24-forum-table a.red {
	color: var(--s24-danger);
	font-weight: 600;
}

.s24-forum-page .s24-forum-table .centerall {
	text-align: center;
	vertical-align: middle;
}

.s24-forum-page .s24-forum-table .subforums {
	margin: var(--s24-space-2) 0 0;
	padding-left: var(--s24-space-5);
	list-style: disc;
	color: var(--s24-text-muted);
	font-size: var(--s24-caption);
}

.s24-forum-page .s24-forum-table .subforums a {
	color: var(--s24-primary);
}

.s24-forum-page .forum_post_row,
.s24-forum-page .s24-forum-post {
	border-radius: var(--s24-radius-md);
	min-height: 2rem;
	padding: var(--s24-space-4);
	margin-bottom: var(--s24-space-5);
	background: var(--s24-surface);
	border: 1px solid var(--s24-border);
	box-shadow: var(--s24-shadow-soft);
}

.s24-forum-page .s24-forum-post.bgwarning,
.s24-forum-page .forum_post_row.bgwarning {
	background: hsl(54 100% 90%);
	border-color: hsl(48 55% 78%);
}

.s24-forum-page .forum_post_avatar > img,
.s24-forum-page .s24-forum-post .forum_post_avatar > img {
	margin: var(--s24-space-1) var(--s24-space-3) 0 0;
	width: 48px;
	height: 48px;
	border-radius: var(--s24-radius-sm);
	object-fit: cover;
}

.s24-forum-page .forum_post_row_block,
.s24-forum-page .s24-forum-post .forum_post_row_block {
	margin: var(--s24-space-1) 0 var(--s24-space-1) 0;
	margin-left: calc(48px + var(--s24-space-3));
}

.s24-forum-page .forum_post_row_block_header,
.s24-forum-page .s24-forum-post .forum_post_row_block_header {
	color: var(--s24-text-muted);
	font-size: 0.75rem;
	margin-bottom: var(--s24-space-2);
	line-height: 1.45;
}

.s24-forum-page .forum_post_row_block_header a {
	color: var(--s24-primary);
}

.s24-forum-page .forum_post_row_buttons,
.s24-forum-page .s24-forum-post .forum_post_row_buttons {
	text-align: right;
	display: block;
	margin-top: var(--s24-space-2);
}

.s24-forum-page .forum_post_row_buttons > div,
.s24-forum-page .s24-forum-post .forum_post_row_buttons > div {
	display: inline-block;
	margin: 0 0 0 var(--s24-space-2);
}

.s24-forum-page .s24-forum-post .text {
	font-size: var(--s24-body-sm);
	color: var(--s24-text);
	line-height: 1.6;
}

.s24-forum-page .s24-forum-poll {
	margin-bottom: var(--s24-space-5);
}

.s24-forum-page .s24-forum-poll .mboxHD.polls {
	margin: 0;
}

.s24-forum-page .s24-forum-move-form {
	margin-bottom: var(--s24-space-5);
	padding: var(--s24-space-4);
	background: var(--s24-surface);
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	box-shadow: var(--s24-shadow-soft);
}

.s24-forum-page .s24-forum-move-form table.flat {
	width: 100%;
	border-collapse: collapse;
}

.s24-forum-page .s24-forum-move-form table.flat td {
	padding: var(--s24-space-2) var(--s24-space-2) var(--s24-space-2) 0;
	vertical-align: middle;
	font-size: var(--s24-caption);
}

.s24-forum-page .s24-forum-admin-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s24-space-1) var(--s24-space-3);
	align-items: center;
	line-height: 1.5;
}

.s24-forum-page .s24-forum-admin-links a {
	color: var(--s24-primary);
	font-size: var(--s24-caption);
	white-space: nowrap;
}

.s24-forum-page .s24-forum-reply {
	margin-top: var(--s24-space-6);
}

.s24-forum-page .s24-forum-reply .s24-form-layout {
	max-width: none;
	width: 100%;
	margin: 0 0 var(--s24-space-5);
	padding: var(--s24-space-4);
	box-sizing: border-box;
}

.s24-forum-page .s24-forum-reply .s24-form-layout textarea,
.s24-forum-page .s24-forum-reply .s24-form-layout #rmsgtext {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-height: 8rem;
}

.s24-forum-page .s24-forum-reply table.flat {
	width: 100%;
	border-collapse: collapse;
}

.s24-forum-page .s24-forum-reply table.flat td {
	padding: 0;
	border: none;
}

.s24-forum-page .s24-forum-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--s24-space-2) var(--s24-space-3);
	margin: var(--s24-space-4) 0;
}

.s24-forum-page table.cells {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	background: var(--s24-surface);
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	overflow: hidden;
	margin-bottom: var(--s24-space-5);
	box-shadow: var(--s24-shadow-soft);
}

.s24-forum-page table.cells td {
	padding: var(--s24-space-3);
	border-bottom: 1px solid var(--s24-border);
	font-size: var(--s24-caption);
	vertical-align: top;
}

.s24-forum-page table.cells tr:last-child td {
	border-bottom: none;
}

.s24-forum-page table.cells .editformtitle {
	color: var(--s24-text-muted);
	font-weight: 600;
	font-size: var(--s24-caption);
	white-space: nowrap;
}

.s24-forum-page .s24-forum-admin-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: var(--s24-space-2);
	margin-bottom: var(--s24-space-5);
}

.s24-forum-page .s24-forum-stats h3 {
	margin: 0 0 var(--s24-space-3);
	font-size: var(--s24-body);
	font-weight: 600;
	color: var(--s24-text);
}

.s24-forum-page .block {
	margin-bottom: 0;
}

.s24-forum-page tr.s24-forum-poll-scripts {
	display: none;
}

.s24-forum-page tr.s24-forum-poll-scripts td {
	padding: 0;
	border: none;
	height: 0;
	overflow: hidden;
}

.s24-forum-page--index .s24-forum-table .two {
	display: table-cell;
}

.s24-forum-page--topics .s24-forum-table .two {
	display: table-cell;
}

/* ============================================================
   Shared mobile fallback
   ============================================================ */

@media (max-width: 767px) {
	.s24-prj-page .s24-prj-sidebar-layout.s24-sidebar-layout {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		row-gap: var(--s24-space-4);
	}

	.s24-prj-page .s24-prj-sidebar-layout > .s24-prj-block--2.span7 {
		width: 100%;
	}

	.s24-prj-list .s24-filter-toggle {
		display: flex;
	}

	.s24-prj-list .prjlistfilter {
		position: fixed;
		top: 0;
		right: -320px;
		width: 300px;
		height: 100vh;
		z-index: 1030;
		overflow-y: auto;
		background: var(--s24-surface);
		padding: var(--s24-space-5);
		box-sizing: border-box;
		box-shadow: var(--s24-shadow-elevated);
		border: none;
		border-radius: 0;
		margin: 0;
		transition: right 0.3s ease;
	}

	.s24-prj-list .prjlistfilter.s24-drawer--open {
		right: 0;
	}

	.s24-prj-list .s24-drawer-overlay {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 1025;
		background: rgba(0, 0, 0, 0.4);
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s ease;
	}

	.s24-prj-list .s24-drawer-overlay.s24-drawer-overlay--open {
		opacity: 1;
		pointer-events: auto;
	}

	.s24-prj-list .search-span {
		float: none;
	}

	.s24-prj-list.s24-partner-page .s24-prj-search {
		flex-direction: column;
		align-items: stretch;
	}

	.s24-prj-list.s24-partner-page .s24-prj-search select {
		flex: 1 1 auto;
		min-width: 0;
		max-width: none;
	}

	.s24-prj-page .s24-prj-status {
		justify-content: center;
	}

	.s24-prj-page [id$="shortoffer"] {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
	}

	.s24-prj-page [id$="shortoffer"] > .s24-offer-header-row {
		grid-column: 1;
		grid-row: 1;
	}

	.s24-prj-page .s24-offer-below-avatar {
		grid-column: 1;
		grid-row: 2;
		padding-left: 0;
	}

	.s24-prj-page [id$="shortoffer"] > .s24-offer-rail {
		grid-column: 1;
		grid-row: 3;
		width: 100%;
		align-items: stretch;
	}

	.s24-prj-page [id$="shortoffer"] > .s24-offer-rail > .offer_buttons {
		align-items: stretch;
	}

	.s24-prj-page [id$="shortoffer"] > .s24-offer-rail > .messages_link {
		text-align: center;
	}

	.s24-prj-page .tab-content {
		padding: var(--s24-space-3) var(--s24-space-4);
	}

	.s24-prj-list .s24-prj-card {
		grid-template-columns: 1fr;
		gap: var(--s24-space-2);
	}

	.s24-prj-list .s24-prj-card__avatar {
		display: none;
	}

	.s24-prj-list .s24-prj-card__main {
		grid-column: 1;
	}

	.s24-prj-list .s24-prj-card__side {
		grid-column: 1;
		grid-row: auto;
		text-align: left;
		white-space: normal;
	}

	.s24-prj-list .s24-prj-card__offer {
		flex-direction: column;
		gap: var(--s24-space-3);
	}

	.s24-prj-list .s24-prj-card__offer-meta {
		text-align: left;
		white-space: normal;
	}

	.s24-prj-list .s24-admin-mod-card__actions {
		justify-content: stretch;
	}

	.s24-prj-list .s24-admin-mod-card__actions > .s24-btn {
		flex: 1 1 calc(50% - var(--s24-space-2));
		min-width: 0;
	}

	.s24-prj-list .pull-right {
		margin-left: 0;
	}

	.s24-prj-page #itemdesctable {
		margin: 0;
		width: 100%;
	}

	.s24-prj-page .s24-add-offer-row {
		grid-template-columns: 1fr;
		gap: var(--s24-space-1);
		padding: var(--s24-space-1) 0;
	}

	.s24-prj-page .offerFormCostBlock {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: var(--s24-space-3);
		row-gap: var(--s24-space-2);
	}

	.s24-prj-page .offerFormCostBlock > .s24-add-offer-section__title {
		grid-column: 1 / -1;
	}

	.s24-prj-page .offerFormCostBlock > .s24-add-offer-row--total  { grid-column: 1; grid-row: 2; }
	.s24-prj-page .offerFormCostBlock > .s24-add-offer-row--total2 { grid-column: 2; grid-row: 2; }
	.s24-prj-page .offerFormCostBlock > .s24-add-offer-row--tax    { grid-column: 1; grid-row: 3; }
	.s24-prj-page .offerFormCostBlock > .s24-add-offer-row--cost   { grid-column: 2; grid-row: 3; }
	.s24-prj-page .offerFormCostBlock > .s24-add-offer-row--income { grid-column: 1; grid-row: 4; }
	.s24-prj-page .offerFormCostBlock > .s24-add-offer-row--payout { grid-column: 2; grid-row: 4; }

	.s24-prj-page .s24-add-offer-form__actions {
		flex-direction: column;
		align-items: stretch;
		gap: var(--s24-space-2);
		margin: var(--s24-space-1) calc(-1 * var(--s24-space-3)) calc(-1 * var(--s24-space-4));
		padding: var(--s24-space-2) var(--s24-space-3) max(var(--s24-space-2), env(safe-area-inset-bottom, 0px));
	}

	.s24-prjadd-page .s24-prjadd .s24-form__body table > tbody > tr.s24-prjadd__pair {
		grid-template-columns: 1fr;
	}

	.s24-prjadd-page .s24-prjadd__pair > td:nth-child(3) { grid-column: 1; grid-row: 3; }
	.s24-prjadd-page .s24-prjadd__pair > td:nth-child(4) { grid-column: 1; grid-row: 4; }

	.s24-prjadd-page .s24-prjadd .s24-form__body table > tbody > tr.s24-prjadd__triple {
		grid-template-columns: 1fr;
	}

	.s24-prjadd-page .s24-prjadd__triple > td:nth-child(3) { grid-column: 1; grid-row: 3; }
	.s24-prjadd-page .s24-prjadd__triple > td:nth-child(4) { grid-column: 1; grid-row: 4; }
	.s24-prjadd-page .s24-prjadd__triple > td:nth-child(5) { grid-column: 1; grid-row: 5; }
	.s24-prjadd-page .s24-prjadd__triple > td:nth-child(6) { grid-column: 1; grid-row: 6; }

	.s24-user-profile .s24-profile-cats-list,
	.s24-user-profile .s24-profile-notifications {
		grid-template-columns: 1fr;
	}

	.s24-prjadd-page .s24-prjadd__submit.s24-form-actions {
		margin-bottom: var(--s24-space-8);
	}

	.s24-user-page .s24-user-status-bar {
		justify-content: center;
	}

	.s24-user-page .s24-user-status-group {
		flex-direction: column-reverse;
		align-items: center;
		justify-content: center;
		gap: 6px;
		width: 100%;
	}

	.s24-user-page .s24-reviews-block {
		padding: var(--s24-space-3) var(--s24-space-4) var(--s24-space-2);
	}

	.s24-user-page .customform.ownreview > .s24-review-content {
		padding-left: 0;
	}

	.s24-user-page .answers {
		margin-left: var(--s24-space-4);
	}

	.s24-users-list .s24-users-prj-card {
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: var(--s24-space-3);
		row-gap: var(--s24-space-2);
		align-items: start;
		padding: var(--s24-space-3) var(--s24-space-4);
	}

	.s24-users-list .s24-users-prj-card > .s24-person,
	.s24-users-list .s24-users-prj-card .s24-person__body {
		display: contents;
	}

	.s24-users-list .s24-users-prj-card .s24-person__avatar {
		grid-column: 1;
		grid-row: 1 / span 2;
		align-self: center;
	}

	.s24-users-list .s24-users-prj-card .s24-person__name {
		grid-column: 2;
		grid-row: 1;
		align-self: end;
	}

	.s24-users-list .s24-users-prj-card .s24-person__meta {
		grid-column: 2;
		grid-row: 2;
		align-self: start;
	}

	.s24-users-list .s24-users-prj-card .usersrowtext {
		grid-column: 1 / -1;
	}

	.s24-balance-page .s24-balance-history__table > tbody > tr > td {
		display: block;
		width: 100%;
		box-sizing: border-box;
		border-width: 0 1px 1px 1px;
		border-radius: 0;
	}

	.s24-balance-page .s24-balance-wait-card {
		grid-template-columns: 1fr;
	}

	.s24-balance-page .s24-balance-history__row > td:first-child {
		border-top-width: 1px;
		border-radius: var(--s24-radius-md) var(--s24-radius-md) 0 0;
		border-left-width: 3px;
		width: 100%;
	}

	.s24-balance-page .s24-balance-history__row > td:last-child {
		border-radius: 0 0 var(--s24-radius-md) var(--s24-radius-md);
		text-align: left;
	}

	.s24-market-neworder-page .s24-market-neworder__title,
	.s24-sbr-confirm-page .s24-market-neworder__title,
	.s24-prjadd-page .s24-market-neworder__title {
		font-size: var(--s24-heading-sm);
		text-align: center;
	}

	.s24-user-profile .s24-form-row {
		flex-direction: column;
		gap: 0;
		align-items: stretch;
	}

	.s24-user-profile .s24-profile-layout .select-search-block > .input-select-search.active {
		left: 0;
		right: 0;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.s24-forum-page .forum_post_row_block,
	.s24-forum-page .s24-forum-post .forum_post_row_block {
		margin-left: 0;
	}

	.s24-forum-page .forum_post_row_buttons,
	.s24-forum-page .s24-forum-post .forum_post_row_buttons {
		width: 100%;
		text-align: center;
	}

	.s24-forum-page .forum_post_row_buttons > div,
	.s24-forum-page .s24-forum-post .forum_post_row_buttons > div {
		margin: 0 0 var(--s24-space-2);
		width: 100%;
		max-width: 20rem;
		box-sizing: border-box;
	}

	.s24-forum-page--thread .forum_post_row,
	.s24-forum-page--thread .s24-forum-post {
		padding: var(--s24-space-3) var(--s24-space-2);
	}

	.s24-forum-page--thread .dialogavatar.forum_post_avatar {
		display: none;
	}

	.s24-forum-page--edit table.cells {
		min-width: 0;
		width: 100%;
	}

	.s24-forum-page--edit .mboxHD {
		display: none;
	}

	.s24-forum-page--edit input[name="medieditor"],
	.s24-forum-page--edit input[name="rtopicdesc"],
	.s24-forum-page--edit input[name="rtopictitle"] {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.s24-forum-page .s24-forum-table .two,
	.s24-forum-page .s24-forum-table .three,
	.s24-forum-page .s24-forum-table .four,
	.s24-forum-page .s24-forum-table .five {
		display: none;
	}
}

@media (max-width: 520px) {
	.s24-forum-page--index .s24-forum-table .two {
		display: none;
	}
}

@media (max-width: 480px) {
	.s24-prj-list .searchfromtitles {
		display: none;
	}

	.s24-prj-list .prjlistfilter {
		width: 85vw;
		right: -90vw;
	}

	.s24-prj-page .status {
		text-align: center;
		margin-right: 0;
	}

	.s24-prj-page .producttabletitles {
		display: none;
	}

	.s24-prj-page .projectsposts .dropdown,
	.s24-prj-page .s24-dialog-drawer__body .dropdown {
		display: none;
	}

	.s24-prj-page .projectsposts .online_status_dialog,
	.s24-prj-page .s24-dialog-drawer__body .online_status_dialog {
		display: none;
	}

	.s24-prj-page .projectsposts #claimshowmemorelink,
	.s24-prj-page .s24-dialog-drawer__body #claimshowmemorelink {
		display: none;
	}

	.s24-user-page .s24-bonus-profile-progress--hide-next-sm .s24-bonus-profile-progress__bar > .next_fincome {
		display: none;
	}

	.s24-forum-page--topics .s24-forum-table .two {
		display: none;
	}

	.s24-balance-page .payoutformtext {
		display: none;
	}

	.s24-forum-page--newtopic .s24-page-title {
		font-size: clamp(1.125rem, 5vw, 1.375rem);
	}

	.s24-forum-page--newtopic .mboxHD {
		display: none;
	}

	.s24-forum-page--newtopic .s24-form-layout .editor,
	.s24-forum-page--newtopic .s24-form-layout #remail {
		max-width: 100%;
	}
}

@media (max-width: 299px) {
	.s24-prj-list .s24-filter-toggle span {
		display: none;
	}
}

@media (max-width: 375px) {
	.s24-forum-page--index .s24-forum-table .three,
	.s24-forum-page--index .s24-forum-table .four,
	.s24-forum-page--index .s24-forum-table .five,
	.s24-forum-page--topics .s24-forum-table .three,
	.s24-forum-page--topics .s24-forum-table .four {
		display: none;
	}

	.s24-forum-page--thread .small,
	.s24-forum-page--edit .small {
		display: none;
	}

	.s24-forum-page--thread .s24-forum-breadcrumb {
		font-size: 0.75rem;
	}

	.s24-forum-page--index .s24-forum-table td.forumssection h3 {
		font-size: 1rem;
	}

	.s24-forum-page--edit .editformtitle {
		display: none;
	}
}

@media (max-width: 360px) {
	.s24-prj-page #itemdesctable tr td:first-child {
		margin-top: var(--s24-space-3);
		font-weight: bold;
	}

	.s24-prj-page #itemdesctable td {
		width: 100%;
		display: inline;
		padding: 2px 1px;
	}

	.s24-prj-page #itemdesctable .mydatefaq {
		display: none;
	}

	.s24-prj-page #itemdesctable tr {
		margin-bottom: var(--s24-space-2);
		display: block;
	}

	.s24-prj-page .projectsposts .dialog_row,
	.s24-prj-page .s24-dialog-drawer__body .dialog_row {
		margin: 0 0 var(--s24-space-3) 0;
	}

	.s24-prj-page .projectsposts .unread,
	.s24-prj-page .s24-dialog-drawer__body .unread {
		margin-right: 5px;
		margin-left: 5px;
	}
}
