/* Небольшие уточнения дизайна админки PurpleCMS поверх style.css и media.css,
   исходный вид и цвета сохраняются. */

:root {
	--line: #d6e4ef;
	--row-hover: #cfe2f1;
}

/* Таблицы: скруглённые углы и подсветка строки при наведении */
.table {
	border-radius: 8px;
	overflow: hidden;
}
.content_item { transition: background .15s ease; }
.content_item:hover,
.reviews .content_item:hover, .content .content_item:hover, .goods .content_item:hover, .contacts .content_item:hover {
	background: var(--row-hover);
}
.content_item [class*="table__content_item"] { border-color: var(--line); }

/* Блоки загрузки файлов в редакторе товара — без обрезки углов */
.table:has(> .table__content > .fileupload__wrap) { overflow: visible; border-radius: 0; }

/* Иконки-кнопки в формах (например, «копировать» в списке товаров) —
   без стандартной серой рамки браузера, как остальные иконки */
button.buttons {
	padding: 0;
	border: 0;
	background: none;
	line-height: 0;
	vertical-align: middle;
}

/* Поля ввода: мягкое скругление и заметный фокус */
.input, .textarea, .form__select { border-radius: 6px; }
.input:focus, .textarea:focus, .form__select:focus, .search__input:focus { box-shadow: 0 0 0 3px rgba(0, 198, 87, .45); }

@media (max-width: 1270px) {
	/* Гамбургер — круглая кнопка вместо квадрата во весь угол */
	.navigation__trigger {
		top: 12px;
		right: 10px;
		width: 44px;
		height: 44px;
		border-radius: 50%;
		background: var(--accent);
	}
	.navigation__trigger_icon,
	.navigation__trigger_icon:after,
	.navigation__trigger_icon:before { width: 20px; height: 2px; border-radius: 2px; background-color: var(--text); }
	.navigation__trigger_icon:before { margin-top: -6px; }
	.navigation__trigger_icon:after { margin-top: 6px; }
	.navigation__trigger_icon-active { background-color: transparent; }
	.navigation__trigger_icon-active:before,
	.navigation__trigger_icon-active:after { margin-top: 0; background: var(--accent); }
	.navigation__trigger:has(.navigation__trigger_icon-active) { background: var(--text); }
	/* Место под гамбургер справа, чтобы поиск под него не заезжал */
	.search__group { margin-right: 60px; }

	/* Меню прокручивается всегда и по видимой высоте экрана (100dvh), а не
	   100vh: на телефоне 100vh выше экрана из-за адресной строки, и низ меню
	   (раздел «Разное») оказывался недоступен. Свайп по меню не уходит странице. */
	.menu {
		max-height: 100vh;
		max-height: 100dvh;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		touch-action: pan-y;
	}
	.menu-open { max-height: 100vh; max-height: 100dvh; overflow-y: auto; }
	.menu__ul { padding-bottom: 24px; }

	/* Активный пункт: после касания срабатывает .menu:hover и красил текст
	   в цвет фона — пункт становился пустой синей полосой */
	.menu .menu__li_active .menu__a span,
	.menu:hover .menu__li_active .menu__a span { color: var(--text); }
	.menu .menu__li_active .menu__a svg,
	.menu:hover .menu__li_active .menu__a svg { fill: var(--text); }
}

@media (max-width: 576px) {
	.search__group { right: 60px; margin: 0; }
	/* Кнопки шапки висят поверх страницы: запас под заголовком, чтобы
	   список и пагинация начинались ниже кнопок */
	.header, .section__heading { padding-bottom: 16px; }
	.section__heading .header, .flex-edit .header { padding-bottom: 0; }
}

/* Редактирование администратора: компактная форма, поля на всю ширину строки,
   строка «Активный» выровнена с остальными, кнопки одной высоты */
.admins .form__edit { max-width: 720px; }
.admins .form__item-setting {
	display: flex;
	align-items: center;
	min-height: 52px;
	padding: 6px 12px;
}
.admins .section__item_wrap-setting { display: flex; align-items: center; gap: 12px; padding: 0; }
.admins .h2-admin { flex: 0 0 110px; width: 110px; margin: 0; }
.admins .form__item-setting > .h2-admin { margin-right: 12px; }
.admins .input-admin { flex: 1; max-width: none; height: 36px; padding: 0 12px; }
.admins .chosen-container { flex: 1; width: auto !important; }
.admins .chosen-container-single .chosen-single { height: 36px; line-height: 36px; }
.admins .label__checkbox { display: inline-flex; align-items: center; height: auto; }
.admins .label__checkbox input[type="checkbox"] { display: none; }
.admins .checkbox__img { width: 22px; height: 22px; border-radius: 5px; }
.admins .save__wrap { align-items: center; gap: 12px; margin-top: 6px; }
.admins .save__wrap .cancel__btn, .admins .save__wrap .save__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 42px;
	min-width: 120px;
	margin: 0;
	padding: 0 18px;
	line-height: 1;
	border-radius: 6px;
}
@media (max-width: 576px) {
	.admins .h2-admin { flex-basis: 90px; width: 90px; }
	.admins .save__wrap .cancel__btn, .admins .save__wrap .save__btn { flex: 1; }
}

/* Список администраторов: статус полосой слева (зелёная — активен, серая —
   отключён), отключённые строки читаемы, уровень — цветной плашкой */
.admins .content_item {
	position: relative;
	min-height: 48px;
	padding: 4px 0 4px 6px;
}
.admins .content_item::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 6px;
	background: var(--bg_btn);
}
.admins .content_item.table__content-del { opacity: 1; padding: 4px 0 4px 6px; }
.admins .content_item.table__content-del::before { background: #9aa9b6; }
.admins .content_item.table__content-del .table__content_item { color: #7d8b98; }
.admins .content_item.table__content-del .level-badge { background: #b3c0cc; }
.admins .table__content_item-admins__login { font-weight: 700; }
.admins .content_item.table__content-del .table__content_item-admins__login { text-decoration: line-through; font-weight: 400; }
.admins .table__content_item-admins__email { color: #3d5a73; }
.level-badge {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--accent);
	color: var(--text);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}
.level-badge--1 { background: #8e44ad; }
.level-badge--2 { background: #2d9cdb; }
.level-badge--3 { background: #00a65a; }
.level-badge--4 { background: #5d6d7e; }
.level-badge--5 { background: #e67e22; }

/* Деревья разделов и категорий: значок перетаскивания у названия, иконки
   действий — столбцом справа, вложенные пункты с отступом и линией */
.section__wrap .section__item_wrap,
.section__wrap li > .flex {
	display: flex;
	align-items: center;
	gap: 4px;
	min-height: 40px;
}
.section__wrap .handle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-right: auto;
	padding: 6px 10px 6px 6px;
	font-size: 15px;
	cursor: grab;
}
.section__wrap .handle::before {
	content: "";
	flex: none;
	width: 10px;
	height: 16px;
	opacity: .6;
	background: radial-gradient(circle, currentColor 1.5px, transparent 1.6px) 0 0 / 5px 5px;
}
.section__wrap .handle:hover::before { opacity: 1; }
.section__wrap .handle:active { cursor: grabbing; }
.section__wrap .form__item_btn { margin: 0 3px; }
.section__wrap .form__item_btn .form__item_svg { height: 22px; transition: fill .15s ease, transform .15s ease; }
.section__wrap .form__item_btn:hover .form__item_svg { fill: var(--bg_btn); transform: translateY(-1px); }
.section__wrap .trash__btn:hover .form__item_svg { fill: #ff6b5b; }
.section__wrap li > ol.form__edit:not(:empty) {
	width: auto;
	box-sizing: border-box;
	margin: 4px 0 2px 14px;
	padding-left: 10px;
	border-left: 2px solid rgba(255, 255, 255, .25);
}
.section__wrap .form__item.table__content-del { opacity: .55; }
@media (max-width: 576px) {
	.section__wrap .form__item_btn { margin: 0 1px; }
	.section__wrap .form__item_btn .form__item_svg { height: 20px; }
	.section__wrap .handle { font-size: 14px; }
}

/* Журнал событий: цветная метка типа, дата и время раздельно, логин плашкой */
.event { min-height: 42px; }
.event .table__content_item-events__description { justify-content: flex-start; gap: 10px; padding: 6px 10px; text-align: left; }
.event__mark { flex: none; width: 10px; height: 10px; border-radius: 50%; background: #9aa9b6; }
.event--login .event__mark { background: #00C657; }
.event--logout .event__mark { background: #5d6d7e; }
.event--fail .event__mark { background: #e74c3c; box-shadow: 0 0 0 3px rgba(231, 76, 60, .2); }
.event--delete .event__mark { background: #c0392b; }
.event--create .event__mark { background: #2d9cdb; }
.event--update .event__mark { background: #f39c12; }
.event--fail .event__text { color: #b03a2e; font-weight: 700; }
.event__date { font-weight: 700; }
.event__time { margin-left: 6px; color: #5f7a90; }
.event__login {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	background: #e3eef7;
	color: var(--accent);
	font-size: 13px;
	font-weight: 700;
}

/* Страница входа: кнопка «показать пароль» внутри поля */
.auth__login, .auth__pass { position: relative; }
.auth__pass { display: inline-block; }
.auth__login .auth__input, .auth__pass .auth__input { width: 260px; max-width: calc(100vw - 40px); box-sizing: border-box; }
.auth__pass .auth__input-pass { padding-right: 46px; }
.auth__eye {
	position: absolute;
	top: 50%;
	right: 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-top: -18px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #6e6e6e;
	cursor: pointer;
}
.auth__eye:hover { color: var(--accent); }
.auth__eye:focus-visible { outline: 2px solid var(--bg_btn); }
.auth__eye svg { width: 20px; height: 20px; }
.auth__eye .auth__eye-closed { display: none; }
.auth__eye.is-visible .auth__eye-open { display: none; }
.auth__eye.is-visible .auth__eye-closed { display: block; }

/* Кнопки «Отменить» и «Сохранить» на всех формах: одной высоты, на одной линии
   («Отменить» — ссылка, «Сохранить» — input, поэтому раньше были разной высоты) */
.save__wrap { align-items: center; flex-wrap: wrap; gap: 12px; }
.save__wrap .cancel__btn,
.save__wrap .save__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 42px;
	min-width: 120px;
	margin: 10px 0;
	padding: 0 18px;
	line-height: 1;
	box-sizing: border-box;
}
.save__wrap .cancel__btn { margin-right: 0; }

/* Редактирование раздела и категории: компактная форма, подписи по центру
   строки, поля и списки на всю ширину */
.sections .group__items, .categories .group__items { max-width: 720px; gap: 6px; margin: 10px 0; }
.sections .group__items .form__item, .categories .group__items .form__item {
	align-items: center;
	flex-wrap: nowrap;
	gap: 12px;
	min-height: 52px;
	padding: 6px 12px;
}
.sections .group__items .form__item_title, .categories .group__items .form__item_title { flex: 0 0 110px; width: 110px; margin: 0; }
.sections .group__items .input, .categories .group__items .input { flex: 1 1 auto; width: auto; max-width: none; height: 36px; padding: 0 12px; }
.sections .group__items .chosen-container, .categories .group__items .chosen-container { flex: 1 1 auto; width: auto !important; }
.sections .group__items .chosen-container-single .chosen-single,
.categories .group__items .chosen-container-single .chosen-single { height: 36px; line-height: 36px; }
.sections .save__wrap, .categories .save__wrap { max-width: 720px; }
@media (max-width: 576px) {
	.sections .group__items .form__item_title, .categories .group__items .form__item_title { flex-basis: 80px; width: 80px; }
	.save__wrap .cancel__btn, .save__wrap .save__btn { flex: 1; }
}

/* Список контента: заголовок — главное (жирный, слева), алиас приглушён,
   язык плашкой, дата и время раздельно, аккуратные миниатюры */
.content .table__content_item-contents__header { justify-content: flex-start; padding: 6px 12px; text-align: left; }
.cnt__title { font-weight: 700; color: #12324d; line-height: 1.35; }
.cnt__alias { color: #4f6b82; font-size: 13px; word-break: break-all; }
.cnt__lang {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 7px;
	border-radius: 4px;
	background: #e3eef7;
	color: var(--accent);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}
.content .table__content_item-contents__data { flex-direction: column; gap: 1px; }
.cnt__date { font-weight: 700; white-space: nowrap; }
.cnt__time { color: #5f7a90; font-size: 13px; }
.content .table__content_item-contents__img .image__wrap { display: flex; align-items: center; justify-content: center; padding: 6px; }
.content .table__content_item-contents__img .image { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; }
.content .table__content_item-contents__section { color: #4f6b82; }
.content .trash__btn:hover svg, .content .buttons.trash__btn:hover svg { fill: #e74c3c; }
@media (max-width: 576px) {
	.content .table__content_item-contents__img .image { width: 88px; height: 88px; }
	.content .table__content_item-contents__header { justify-content: flex-start; }
	.content .table__content_item-contents__data { flex-direction: row; gap: 6px; }
}

/* Список заказов: номер крупно, дата приглушена, сумма с валютой, промокод
   плашкой, контакты кликабельны, оплата и доставка подписаны */
.orders .content_item { min-height: 56px; }
.ord__number { font-weight: 700; font-size: 15px; color: #12324d; }
.ord__date { color: #4f6b82; font-size: 13px; }
.ord__time { color: #7d93a6; }
.ord__amount { font-weight: 700; font-size: 16px; color: #12324d; }
.ord__currency { font-size: 12px; font-weight: 700; color: #4f6b82; }
.ord__promo {
	display: inline-block;
	margin: 3px 0;
	padding: 2px 8px;
	border: 1px dashed var(--bg_btn);
	border-radius: 4px;
	color: #00894a;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .5px;
}
.ord__cart { color: var(--accent); font-size: 12px; text-decoration: underline; }
.ord__name { font-weight: 700; color: #12324d; }
.ord__link { color: var(--accent); font-size: 13px; }
.ord__link:hover { color: var(--bg_btn); }
.ord__address { color: #4f6b82; font-size: 13px; }
.orders .table__content_item-orders__details { justify-content: flex-start; padding: 6px 12px; text-align: left; }
.ord__flag { font-size: 13px; color: #12324d; white-space: nowrap; }
.ord__flag-label { color: #4f6b82; }
.orders .trash__btn:hover svg { fill: #e74c3c; }

/* Отзывы: имя жирным, звёзды золотые, товар жирным, текст отзыва слева */
.reviews .table__content_item-reviews__data { gap: 2px; }
.rv__date { font-weight: 700; white-space: nowrap; }
.rv__time { color: #5f7a90; font-size: 13px; }
.rv__name { font-weight: 700; color: #12324d; }
.rv__email { color: #4f6b82; font-size: 13px; }
.reviews .stars__wrap { margin-top: 3px; }
.reviews .stars__item svg { fill: #f5a623; }
.reviews .lang {
	display: inline-block;
	margin-bottom: 3px;
	padding: 1px 7px;
	border-radius: 4px;
	background: #e3eef7;
	color: var(--accent);
	font-size: 11px;
}
.rv__good { font-weight: 700; color: #12324d; }
.reviews .table__content_item-reviews__rev { align-items: flex-start; justify-content: center; padding: 6px 12px; text-align: left; }
.rv__title { font-weight: 700; }
.rv__plus:not(:empty)::before { content: "+ "; color: #00a65a; font-weight: 700; }
.rv__minus:not(:empty)::before { content: "− "; color: #e74c3c; font-weight: 700; }
.reviews .trash__btn:hover svg { fill: #e74c3c; }

/* Слайдеры: аккуратная миниатюра, язык плашкой, дата и время раздельно */
.slider .table__content_item-sliders__date { gap: 2px; }
.sl__date { font-weight: 700; white-space: nowrap; }
.sl__time { color: #5f7a90; font-size: 13px; }
.slider .image__wrap-sliders .image { max-height: 90px; width: auto; border-radius: 8px; }
.slider .sliders__img_a { margin-bottom: 4px; word-break: break-all; }
.slider .table__content_item-sliders__name { gap: 3px; }
.sl__lang {
	display: inline-block;
	padding: 1px 7px;
	border-radius: 4px;
	background: #e3eef7;
	color: var(--accent);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}
.sl__cat { color: #4f6b82; font-size: 13px; }
.sl__good { font-weight: 700; color: #12324d; }
.slider .trash__btn:hover svg { fill: #e74c3c; }

/* Склад: количество цветной плашкой, цена жирной, описание товара главным */
.stock .content_item { min-height: 44px; }
.st__alias { color: #4f6b82; font-size: 13px; word-break: break-all; }
.st__qty {
	display: inline-block;
	min-width: 36px;
	padding: 3px 8px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 13px;
	text-align: center;
}
.st__qty--in { background: #dff5e8; color: #00894a; }
.st__qty--out { background: #fde4e1; color: #c0392b; }
.st__price { font-weight: 700; color: #12324d; }
.st__article { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; color: #3d5a73; }
.st__place { color: #3d5a73; }
.st__descr { font-weight: 700; color: #12324d; }

/* Настройки: компактная форма, действия кнопками-плашками, чекбоксы крупнее */
.setting .form__edit { max-width: 900px; }
.setting .form__item-setting { min-height: 52px; align-items: center; padding: 6px 12px; }
.setting .checkbox__img { width: 22px; height: 22px; border-radius: 5px; vertical-align: middle; }
.setting .setting__links-sep { display: none; }
.setting .section__item_wrap-setting:has(.setting__links-sep) { flex-wrap: wrap; gap: 8px; align-items: center; }
.setting .section__item_wrap-setting:has(.setting__links-sep) > .h2 { width: 100%; margin: 0 0 2px; }
.setting .section__item_wrap-setting:has(.setting__links-sep) > a,
.setting .setting__action-disabled {
	display: inline-flex;
	align-items: center;
	padding: 7px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .15);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3);
	font-size: 14px;
	text-decoration: none;
	transition: background .15s ease;
}
.setting .section__item_wrap-setting:has(.setting__links-sep) > a:hover { background: var(--bg_btn); color: var(--text); }
.setting .setting__action-disabled { opacity: .5; cursor: not-allowed; }

/* Лист ожидания: дата и время раздельно, имя жирным, контакты кликабельны */
.waiting-list .content_item { min-height: 48px; }
.waiting-list .table__content_item-wl__data, .waiting-list .table__content_item-wl__login { gap: 2px; }
.wl__date { font-weight: 700; white-space: nowrap; }
.wl__time { color: #5f7a90; font-size: 13px; }
.wl__name { font-weight: 700; color: #12324d; }
.wl__link { color: var(--accent); font-size: 13px; word-break: break-all; }
.wl__link:hover { color: var(--bg_btn); }
.wl__good { font-weight: 700; color: #12324d; }
a.wl__good { color: var(--accent); }

/* Формы раздела/категории/теста: поля и списки сжимаются по ширине карточки
   (длинный текст варианта не растягивает список за край), подпись переносится */
.sections .group__items .form__item > .input,
.sections .group__items .form__item > select,
.categories .group__items .form__item > .input,
.categories .group__items .form__item > select { min-width: 0; width: 100%; max-width: 100%; text-overflow: ellipsis; }
.sections .group__items .form__item_title,
.categories .group__items .form__item_title { flex: 0 0 130px; width: 130px; overflow-wrap: normal; }
@media (max-width: 576px) {
	.sections .group__items .form__item_title,
	.categories .group__items .form__item_title { flex: 0 0 105px; width: 105px; }
}

/* Пользователи и их действия: имя жирным, контакты — ссылки, дата и время
   раздельно, описание слева */
.user-actions .content_item { min-height: 44px; }
.us__name { font-weight: 700; color: #12324d; }
.us__link { color: var(--accent); font-size: 13px; word-break: break-all; }
.us__link:hover { color: var(--bg_btn); }
.user-actions .table__content_item-actions__data { gap: 2px; }
.ua__date { font-weight: 700; white-space: nowrap; }
.ua__time { color: #5f7a90; font-size: 13px; }
.user-actions .table__content_item-actions__user { font-weight: 700; color: #12324d; }
.user-actions .table__content_item-actions__description { justify-content: flex-start; padding: 6px 12px; text-align: left; }
.user-actions .trash__btn:hover svg { fill: #e74c3c; }

/* Корзина: товар жирным, количество плашкой, цена жирной, SID моноширинным */
.cart .content_item { min-height: 44px; }
.ct__sid { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; color: #3d5a73; word-break: break-all; }
.ct__good { font-weight: 700; color: #12324d; }
.ct__param { margin-left: 4px; padding: 1px 6px; border-radius: 4px; background: #e3eef7; color: var(--accent); font-size: 12px; }
.ct__qty { display: inline-block; padding: 3px 10px; border-radius: 999px; background: #e3eef7; color: var(--accent); font-weight: 700; font-size: 13px; }
.ct__price { font-weight: 700; color: #12324d; }

/* Контакты рассылки: подписи приглушены, поля аккуратнее */
.contacts .content_item { padding: 6px 0; }
.contacts .content_item .input, .contacts .content_item textarea { border-radius: 6px; }
.contacts .trash__btn:hover svg { fill: #e74c3c; }

/* Оптовый склад: название позиции жирным, поля цен аккуратнее */
.warehouse .content_item .input { border-radius: 6px; text-align: center; }
.warehouse .trash__btn:hover svg { fill: #e74c3c; }

/* Купоны: код купона моноширинным, корзина краснеет при наведении */
.promocodes .trash__btn:hover svg { fill: #e74c3c; }

/* Заметки: поле выше и удобнее для чтения */
.notes textarea, .notes .textarea { min-height: 50vh; padding: 12px 14px; font-size: 15px; line-height: 1.5; border-radius: 8px; }

/* Перевод: переключатель «Сайт/Админка» кнопкой, ключ слова жирным,
   крестик удаления слова не налезает на поля */
.translate .section__wrap > .mb-20 > a {
	display: inline-flex;
	align-items: center;
	padding: 7px 16px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .15);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35);
	font-weight: 700;
}
.translate .section__wrap > .mb-20 > a:hover { background: var(--bg_btn); color: var(--text); }
.translate .inpKey { font-weight: 700; }
.translate .form__item_mcol { position: relative; }
.translate .form__item_wrap { padding-right: 34px; }
.translate .lang__abr { min-width: 26px; font-weight: 700; text-transform: uppercase; }

/* Действия пользователя: плашка фильтра по пользователю под заголовком */
.ua__filter { margin: 6px 0 4px; }
.ua__filter_chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 6px 5px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .15);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35);
	color: var(--text);
	font-weight: 700;
}
.ua__filter_id { opacity: .75; font-weight: 400; }
.ua__filter_reset {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .2);
	color: var(--text);
	font-size: 18px;
	line-height: 1;
	text-decoration: none;
}
.ua__filter_reset:hover { background: #e74c3c; color: var(--text); }

/* Рассылка: журнал как в событиях, панель запуска и формы ровными рядами */
.newsletter .table__content_item-events__description { justify-content: flex-start; padding: 6px 10px; text-align: left; }
.nl__bar .form__items { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; }
.nl__bar form { display: flex; margin: 0; }
.nl__bar .form__item { display: flex; align-items: center; gap: 8px; margin: 0; }
.nl__bar .form__item .h2 { margin: 0; }
.newsletter .newsletter__btn,
.newsletter .newsletter__input-btn {
	min-height: 40px;
	margin: 0;
	padding: 0 18px;
	border-radius: 6px;
	font-weight: 700;
	letter-spacing: .02em;
	transition: background .15s, opacity .15s;
}
.newsletter .newsletter__input-btn { min-height: 32px; padding: 0 14px; }
.newsletter .newsletter__input-btn:hover { background: var(--accent); }
.newsletter .newsletter__btn:disabled,
.newsletter .newsletter__input-btn:disabled { opacity: .5; cursor: not-allowed; }
.nl__status {
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	padding: 4px 14px;
	border-radius: 6px;
	background: var(--accent_dark);
	color: var(--text);
}
.nl__status .h2 { margin: 0; }
.nl__status_sent {
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--bg_btn);
	font-weight: 700;
}
.nl__status_unsubs { opacity: .85; }
.nl__form { gap: 8px; margin-top: 8px; }
.nl__form .form__items { display: flex; flex-wrap: wrap; gap: 8px; }
.nl__form .form__item { display: flex; align-items: center; gap: 8px; flex: 1 1 200px; min-width: 0; margin: 0; }
.nl__form .form__item .h2 { flex: none; margin: 0; }
.nl__form .form__item .input { flex: 1; min-width: 0; width: 100%; }
.nl__form .newsletter__btn { flex: none; }
/* Форма — колонка: базис 200px у полей стал бы высотой редактора и обрезал его */
.nl__form .form__item.nl__editor { display: block; flex: none; margin-top: 0; border-radius: 8px; overflow: hidden; }

@media (max-width: 576px) {
	/* Заметки: заголовок выше нижнего края кнопки меню, поле под ней */
	.header.header__notes { padding-bottom: 24px; }
	.ua__filter { margin-top: 12px; }
	/* Раскрытый поиск не заезжает на логотип */
	.search__group { width: calc(100% - 170px); }
	/* Контакты: внутренние отступы в карточке, текст не прилипает к краям */
	.contacts .content_item { padding: 8px 10px; box-sizing: border-box; }
	.contacts .content_item [class*="table__content_item-contacts"] { padding-left: 4px; padding-right: 4px; box-sizing: border-box; }
	/* Рассылка: панель и поля в столбик на всю ширину */
	.nl__bar .form__items > * { flex: 1 1 100%; }
	.nl__bar .newsletter__btn { width: 100%; }
	.nl__bar .form__item { width: 100%; }
	.nl__bar .chosen-container { flex: 1; min-width: 0 !important; }
	.nl__form .form__item { flex-basis: 100%; }
	.nl__form .newsletter__btn { width: 100%; }
	.nl__form .form__item .h2 { width: 90px; }
}

/* Настройки: «Режим:» и «GitHub:» — по два значения в одной строке */
.setting .setting__pair { flex-wrap: nowrap; align-items: center; gap: 12px; min-width: 0; }
.setting .setting__pair-title { flex: none; margin: 0; white-space: nowrap; }
.setting .setting__pair-item { display: flex; align-items: center; gap: 8px; min-width: 0; }
.setting .setting__check { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; white-space: nowrap; }
.setting .setting__check-text { color: var(--text); font-weight: 700; white-space: nowrap; }
.setting .setting__pair-field { flex: 1 1 0; }
.setting .setting__pair-field .input-setting { flex: 1; width: 100%; min-width: 0; }
.setting .setting__pair-branch { flex: 0 1 200px; }
.setting .setting__pair .devpass__field .input-setting { width: 90px; }
@media (max-width: 576px) {
	.setting .setting__pair { gap: 8px; }
	.setting .setting__pair-git { flex-wrap: wrap; }
	.setting .setting__pair-git .setting__pair-title { flex-basis: 100%; }
	.setting .setting__pair-git .setting__currency-sep { display: none; }
	.setting .setting__pair-branch { flex: 0 1 40%; }
	/* Пароль режима разработки на телефоне — отдельной строкой под переключателями */
	.setting .setting__pair:has(.devpass__field) { flex-wrap: wrap; }
	.setting .setting__pair-item:has(.devpass__field) { display: contents; }
	.setting .setting__pair .devpass__field { order: 10; flex: 0 0 100%; }
	.setting .setting__pair .devpass__field .input-setting { width: 100%; max-width: 220px; }
}

/* Администратор: поле пароля с кнопками «показать» и «сгенерировать» внутри */
.admins .adm__pass { position: relative; display: flex; flex: 1; min-width: 0; }
.admins .adm__pass .adm__pass-input { width: 100%; padding-right: 80px; font-family: inherit; letter-spacing: .02em; }
.admins .adm__pass-btn {
	position: absolute;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-top: -17px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #5f7a90;
	cursor: pointer;
}
.admins .adm__pass-eye { right: 38px; }
.admins .adm__pass-gen { right: 3px; }
.admins .adm__pass-btn:hover { color: var(--accent); background: #e3eef7; }
.admins .adm__pass-btn:focus-visible { outline: 2px solid var(--bg_btn); }
.admins .adm__pass-btn svg { width: 20px; height: 20px; }
.admins .adm__eye-closed { display: none; }
.admins .adm__pass-eye.is-visible .adm__eye-open { display: none; }
.admins .adm__pass-eye.is-visible .adm__eye-closed { display: block; }

/* Раздел: алиас с кнопкой «из заголовка» */
.sections .sec__alias { position: relative; display: flex; flex: 1 1 200px; min-width: 0; }
.sections .sec__alias .s_alias { flex: 1; width: 100%; min-width: 0; padding-right: 42px; }
.sections .sec__alias-gen {
	position: absolute;
	top: 50%;
	right: 3px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin-top: -16px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #5f7a90;
	cursor: pointer;
}
.sections .sec__alias-gen:hover { color: var(--accent); background: #e3eef7; }
.sections .sec__alias-gen:focus-visible { outline: 2px solid var(--bg_btn); }
.sections .sec__alias-gen svg { width: 18px; height: 18px; }
