/* 14.06.2026: каркас страницы «Меню на неделю» — начало */
/* 17.06.2026: без сайдбара — как feedback / legal, sidebar-none у body — начало */
body.calorazh-meal-plan-page #primary.content-area,
body.calorazh-meal-plan-page #primary.mpo-content-full,
body.page-template-page-meal-plan-order-php #primary.content-area,
body.page-template-page-meal-plan-order-php #primary.mpo-content-full {
	float: none;
	width: 100%;
	max-width: 100%;
}

body.calorazh-meal-plan-page #secondary,
body.calorazh-meal-plan-page aside#secondary,
body.calorazh-meal-plan-page .widget-area#secondary,
body.page-template-page-meal-plan-order-php #secondary,
body.page-template-page-meal-plan-order-php aside#secondary,
body.page-template-page-meal-plan-order-php .widget-area#secondary,
.mpo-content-full ~ #secondary,
.mpo-content-full ~ aside.widget-area {
	display: none;
}

body.calorazh-meal-plan-page .site-main,
body.page-template-page-meal-plan-order-php .site-main,
.mpo-content-full .site-main {
	width: 100%;
	max-width: 100%;
}
/* 17.06.2026: без сайдбара — как feedback / legal — конец */

/* 16.06.2026: было padding 0 16px 40px → как .wf-page / .stats-page (без лишних боковых) — начало */
.mpo-page {
	max-width: 790px;
	width: 100%;
	min-width: 0;
	margin: 0 auto;
	padding: 0 0 48px;
	box-sizing: border-box;
	/* 17.06.2026: было 360px — ширина CTA ×1.5 */
	--mpo-btn-max-width: 540px;
}

/* 17.06.2026: mpo-ds — на всю колонку #primary, без сужения до 790px — начало */
/* 17.06.2026: было max-width 790px + margin auto → узкая колонка по центру */
.mpo-page.mpo-ds {
	max-width: 100%;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}
/* 17.06.2026: mpo-ds — на всю колонку #primary — конец */
/* 16.06.2026: было padding 0 16px 40px → как .wf-page / .stats-page — конец */

.mpo-page__head {
	margin-bottom: 0;
}

/* 16.06.2026: отступ lead как у h1 на калькуляторе — только «Меню на неделю» — начало */
.mpo-page__lead.calorazh-page-lead {
	margin: 16px 0 16px;
}
/* 16.06.2026: отступ lead как у h1 на калькуляторе — только «Меню на неделю» — конец */

.mpo-page__body {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.is-hidden {
	display: none !important;
}
/* 14.06.2026: каркас страницы «Меню на неделю» — конец */

/* 14.06.2026: панели страницы заказа меню — начало */
.mpo-panel {
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 20px;
	padding: 20px 18px 22px;
	box-shadow: none;
	box-sizing: border-box;
}

.mpo-panel__title {
	margin: 0 0 10px;
	font-size: 1.05rem;
	font-weight: 800;
	color: #334155;
}

.mpo-panel__hint,
.mpo-panel__text {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.5;
	color: #64748b;
}

.mpo-panel__actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 16px 0 0;
}

.mpo-panel__actions .mpo-btn {
	width: 100%;
	max-width: var(--mpo-btn-max-width, 540px);
	margin-left: auto;
	margin-right: auto;
}

.mpo-panel--warn {
	border-color: #f1e4bc;
	background: #fffbeb;
}

/* 01.07.2026: баннер просмотра плана админом — начало */
.mpo-panel--admin-view {
	border-color: rgba(233, 30, 140, 0.22);
	background: #fff5fa;
}

.mpo-panel--admin-view .mpo-panel__text {
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
	color: #64748b;
}

.mpo-panel--admin-view .mpo-panel__text--sub {
	margin-top: 8px;
}
/* 01.07.2026: баннер просмотра плана админом — конец */

/* 01.07.2026: админ-просмотр ?mpo_admin_plan= — только данные — начало */
.mpo-page--admin-plan-view .mpo-plan-switcher--page,
.mpo-page--admin-plan-view #mpo-actions,
.mpo-page--admin-plan-view .mpo-btn--generate,
.mpo-page--admin-plan-view .mpo-btn--create-plan,
.mpo-page--admin-plan-view .mpo-pay {
	display: none !important;
}

.mpo-page--admin-plan-view .mpo-panel--survey .mpo-category__input,
.mpo-page--admin-plan-view .mpo-panel--survey .mpo-tile__input,
.mpo-page--admin-plan-view .mpo-panel--survey .mpo-accordion__product-input,
.mpo-page--admin-plan-view .mpo-panel--survey .mpo-accordion__master-input,
.mpo-page--admin-plan-view .mpo-panel--survey .mpo-survey-quick__action {
	pointer-events: none;
	cursor: default;
}
/* 01.07.2026: админ-просмотр ?mpo_admin_plan= — только данные — конец */

.mpo-panel--guest .mpo-panel__title {
	margin-bottom: 8px;
}
/* 14.06.2026: панели страницы заказа меню — конец */

/* 14.06.2026: карточка плана калорий — начало */
.mpo-plan__source {
	margin: 0 0 8px;
	font-size: 14px;
	color: #94a3b8;
	line-height: 1.45;
}

.mpo-plan__kcal {
	margin: 0;
	font-size: 28px;
	font-weight: 900;
	color: #d4a74c;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
}

.mpo-plan__kcal-unit {
	font-size: 16px;
	font-weight: 700;
	color: #b8953f;
	margin-left: 4px;
}

.mpo-plan__macros {
	margin: 8px 0 0;
	font-size: 15px;
	color: #64748b;
	line-height: 1.45;
}

.mpo-plan__empty {
	margin: 12px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: #64748b;
}

.mpo-plan__link {
	color: #0f766e;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.mpo-plan__link:hover {
	color: #115e59;
}
/* 14.06.2026: карточка плана калорий — конец */

/* 14.06.2026: опрос — категории и плитки — начало */
/* 17.06.2026: меньше зазор до кнопки сборки — начало */
.mpo-survey {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
/* 17.06.2026: меньше зазор до кнопки сборки — конец */

.mpo-survey__group {
	margin: 0 0 18px;
	padding: 0;
	border: 0;
	min-width: 0;
}

.mpo-survey__legend {
	display: block;
	margin: 0 0 10px;
	padding: 0;
	font-size: 15px;
	font-weight: 700;
	color: #334155;
}

.mpo-tiles {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.mpo-tile {
	position: relative;
	display: block;
	margin: 0;
	cursor: pointer;
}

.mpo-tile__input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.mpo-tile__box {
	display: block;
	padding: 10px 14px;
	border: 1px solid #dbe3ec;
	border-radius: 12px;
	background: #f8fafc;
	color: #334155;
	font-size: 15px;
	line-height: 1.35;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
	user-select: none;
}

.mpo-tile:hover .mpo-tile__box {
	border-color: #94a3b8;
	background: #fff;
}

.mpo-tile__input:focus + .mpo-tile__box {
	border-color: #94a3b8;
	box-shadow: none;
	outline: none;
}

.mpo-tile__input:focus-visible + .mpo-tile__box {
	border-color: #64748b;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18);
}

.mpo-tile.is-checked .mpo-tile__box,
.mpo-tile__input:checked + .mpo-tile__box {
	border-color: #86efac;
	background: #f0fdf4;
	color: #166534;
}

.mpo-tile.is-checked .mpo-tile__input:focus-visible + .mpo-tile__box,
.mpo-tile__input:checked:focus-visible + .mpo-tile__box {
	border-color: #16a34a;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.22);
}
/* 14.06.2026: опрос — категории и плитки — конец */

/* 14.06.2026: статус сохранения и блок оплаты — начало */
.mpo-save {
	min-height: 22px;
	font-size: 14px;
	line-height: 1.45;
	color: #64748b;
}

/* 17.06.2026: пустой статус не резервирует место над кнопкой — начало */
.mpo-save:empty {
	display: none;
	min-height: 0;
}
/* 17.06.2026: пустой статус не резервирует место над кнопкой — конец */

.mpo-save--ok {
	color: #15803d;
}

/* 09.08.2026: warn/error/pending больше не пишем в #mpo-save — только модалки; классы留вим на случай старого кэша — начало */
.mpo-save--warn,
.mpo-save--error {
	color: #9a3412;
}

.mpo-save--pending {
	color: #64748b;
}
/* 09.08.2026: #mpo-save без пользовательских плашек — конец */

/* 13.06.2026: лог генератора на тесте — начало */
.mpo-gen-debug {
	margin: 0 0 14px;
	padding: 12px 14px;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12px;
	line-height: 1.5;
	color: #334155;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	white-space: pre-wrap;
	word-break: break-word;
	/* 16.06.2026: подробный состав дня — прокрутка длинного лога */
	max-height: 420px;
	overflow: auto;
}

.mpo-gen-debug.is-hidden {
	display: none;
}
/* 13.06.2026: лог генератора на тесте — конец */

.mpo-pay {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

/* 17.06.2026: статус оплаты под кнопкой — начало */
.mpo-pay__status {
	width: 100%;
	max-width: var(--mpo-btn-max-width, 540px);
	min-height: 0;
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
	text-align: center;
	color: #64748b;
}

.mpo-pay__status:empty {
	display: none;
}

.mpo-pay__status--ok {
	color: #15803d;
}

.mpo-pay__status--warn,
.mpo-pay__status--error {
	color: #9a3412;
}

.mpo-pay__status--pending {
	color: #64748b;
}

/* 28.06.2026: «Переходим к оплате…» на кнопке — начало */
.mpo-btn--pay.is-loading {
	opacity: 0.92;
	cursor: wait;
	/* 26.06.2026: одна строка по центру — meta скрыта, высота держится min-height */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
}

.mpo-btn--pay.is-loading .mpo-btn__lead {
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
	margin: 0;
	text-align: center;
}
/* 26.06.2026: было visibility:hidden у meta → lead уезжал вверх; min-height кнопки держит размер */
/* 28.06.2026: «Переходим к оплате…» на кнопке — конец */
/* 17.06.2026: статус оплаты под кнопкой — конец */

.mpo-pay .mpo-btn {
	width: 100%;
	max-width: var(--mpo-btn-max-width, 540px);
	margin: 0 auto;
}

/* 29.06.2026: зачёркнутая базовая + текущая на кнопке оплаты — начало */
.mpo-pay__price {
	display: inline-flex;
	align-items: baseline;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px;
}

.mpo-btn--pay .mpo-pay__price-old {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.62) !important;
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

.mpo-btn--pay .mpo-pay__price-current {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.95) !important;
}
/* 29.06.2026: зачёркнутая базовая + текущая на кнопке оплаты — конец */

.mpo-pay__note {
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
	color: #94a3b8;
	max-width: var(--mpo-btn-max-width, 540px);
	text-align: center;
}

/* 16.06.2026: согласие с офертой у кнопки оплаты — начало */
/* 17.06.2026: подпись по ширине кнопки оплаты — начало */
.mpo-pay__legal {
	width: 100%;
	max-width: var(--mpo-btn-max-width, 540px);
	margin: 0 auto;
	font-size: 12px;
	line-height: 1.45;
	color: #64748b;
	text-align: center;
}

/* 17.06.2026: подпись под оплатой — две строки — начало */
.mpo-pay__legal-line {
	display: block;
}

.mpo-pay__legal-line + .mpo-pay__legal-line {
	margin-top: 4px;
}
/* 17.06.2026: подпись под оплатой — две строки — конец */
/* 17.06.2026: подпись по ширине кнопки оплаты — конец */

.mpo-pay__link {
	color: #16a34a;
	font-weight: 600;
	text-decoration: none;
}

.mpo-pay__link:hover {
	color: #15803d;
	text-decoration: underline;
}
/* 16.06.2026: согласие с офертой у кнопки оплаты — конец */
/* 14.06.2026: статус сохранения и блок оплаты — конец */

/* 14.06.2026: кнопки страницы заказа меню — начало */
/* 17.06.2026: единый премиум-стиль кнопок — lead + meta, градиент — начало */
.mpo-btn {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	min-height: 48px;
	padding: 16px 24px;
	border-radius: 18px;
	font-family: inherit;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
	box-sizing: border-box;
	border: 2px solid transparent !important;
	outline: none !important;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
	transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease, border-color 0.18s ease;
}

.mpo-btn__lead {
	display: block;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	max-width: 100%;
	white-space: normal;
}

.mpo-btn__meta {
	display: block;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	max-width: 100%;
	white-space: normal;
}

.mpo-btn--primary {
	background: linear-gradient(135deg, #0f766e 0%, #14b8a6 50%, #0d9488 100%);
	color: #ffffff !important;
	border-color: transparent !important;
	box-shadow: 0 12px 28px rgba(15, 118, 110, 0.26);
}

.mpo-btn--primary .mpo-btn__meta {
	color: rgba(255, 255, 255, 0.9);
}

.mpo-btn--primary:hover {
	filter: brightness(1.04);
	transform: translateY(-1px);
	box-shadow: 0 14px 32px rgba(15, 118, 110, 0.32);
}

.mpo-btn--primary:focus,
.mpo-btn--primary:active {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: 0 12px 28px rgba(15, 118, 110, 0.26) !important;
}

.mpo-btn--primary:focus-visible {
	outline: none !important;
	border-color: rgba(255, 255, 255, 0.45) !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35), 0 12px 28px rgba(15, 118, 110, 0.26) !important;
}

.mpo-btn--primary:focus:not(:focus-visible) {
	box-shadow: 0 12px 28px rgba(15, 118, 110, 0.26) !important;
}

.mpo-btn--ghost {
	background: linear-gradient(180deg, #fffdf9 0%, #fff8eb 100%);
	color: #92702a !important;
	border-color: #d4a74c !important;
	box-shadow: 0 8px 22px rgba(212, 167, 76, 0.14);
}

.mpo-btn--ghost .mpo-btn__meta {
	color: #b8953f;
}

.mpo-btn--ghost:hover {
	filter: brightness(1.02);
	transform: translateY(-1px);
	border-color: #c9983f !important;
	box-shadow: 0 10px 26px rgba(212, 167, 76, 0.2);
}

.mpo-btn--ghost:focus,
.mpo-btn--ghost:active {
	outline: none !important;
	border-color: #d4a74c !important;
	box-shadow: none !important;
}

.mpo-btn--ghost:focus-visible {
	outline: none !important;
	border-color: #c9983f !important;
	box-shadow: 0 0 0 3px rgba(212, 167, 76, 0.35) !important;
}

.mpo-btn--ghost:focus:not(:focus-visible) {
	box-shadow: 0 8px 22px rgba(212, 167, 76, 0.14) !important;
}

.mpo-btn--pay {
	width: 100%;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	/* 26.06.2026: фикс. высота — при «Переходим к оплате…» кнопка не сжимается */
	min-height: 4.75rem;
	padding: 14px 18px;
	background: linear-gradient(135deg, #d4a74c 0%, #e8b035 48%, #c9983f 100%);
	color: #ffffff !important;
	border-color: transparent !important;
	box-shadow: 0 12px 28px rgba(212, 167, 76, 0.3);
}

.mpo-btn--pay .mpo-btn__meta {
	color: rgba(255, 255, 255, 0.92);
	font-weight: 700;
	min-height: 1.45em;
}

.mpo-btn--pay:disabled {
	opacity: 0.72;
	cursor: not-allowed;
	transform: none;
}

.mpo-btn--pay:not(:disabled):hover {
	filter: brightness(1.04);
	transform: translateY(-1px);
	box-shadow: 0 14px 32px rgba(212, 167, 76, 0.36);
}

.mpo-btn--pay:focus,
.mpo-btn--pay:active {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: 0 12px 28px rgba(212, 167, 76, 0.3) !important;
}

.mpo-btn--pay:focus-visible {
	outline: none !important;
	border-color: rgba(255, 255, 255, 0.45) !important;
	box-shadow: 0 0 0 3px rgba(212, 167, 76, 0.35), 0 12px 28px rgba(212, 167, 76, 0.3) !important;
}

.mpo-btn--pay:focus:not(:focus-visible) {
	box-shadow: 0 12px 28px rgba(212, 167, 76, 0.3) !important;
}

.mpo-btn--regen {
	width: 100%;
	flex-direction: column;
	align-items: center;
	padding: 13px 18px;
	background: linear-gradient(180deg, #ffffff 0%, #f0fdfa 100%);
	color: #0f766e !important;
	border-color: #2dd4bf !important;
	box-shadow: 0 8px 22px rgba(45, 212, 191, 0.16);
}

.mpo-btn--regen .mpo-btn__meta {
	color: #14b8a6;
}

.mpo-btn--regen:hover {
	filter: brightness(1.02);
	transform: translateY(-1px);
	border-color: #14b8a6 !important;
	box-shadow: 0 10px 26px rgba(45, 212, 191, 0.22);
}

.mpo-btn--regen:focus,
.mpo-btn--regen:active {
	outline: none !important;
	border-color: #2dd4bf !important;
	box-shadow: none !important;
}

.mpo-btn--regen:focus-visible {
	outline: none !important;
	border-color: #14b8a6 !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.28) !important;
}

.mpo-btn--regen:focus:not(:focus-visible) {
	box-shadow: 0 8px 22px rgba(45, 212, 191, 0.16) !important;
}
/* 17.06.2026: единый премиум-стиль кнопок — lead + meta, градиент — конец */

/* 13.06.2026: кнопка сборки и блок недели — премиальный стиль — начало */
/* 17.06.2026: плотнее к опросу, светлый градиент как у PDF — начало */
/* 07.08.2026: воздух между кнопкой сборки и FAQ — начало */
.mpo-actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-top: 0;
	/* 07.08.2026: было без отступа снизу → кнопка сборки почти вплотную к FAQ */
	margin-bottom: 28px;
	padding-top: 4px;
	width: 100%;
}
/* 07.08.2026: воздух между кнопкой сборки и FAQ — конец */

.mpo-panel--survey {
	padding-bottom: 16px;
}

/* 26.06.2026: опрос неактивен при сборке меню — начало */
.mpo-panel--survey.is-gen-busy {
	opacity: 0.55;
	pointer-events: none;
	cursor: default;
	user-select: none;
	transition: opacity 0.2s ease;
}

.mpo-panel--survey.is-gen-busy .mpo-accordion__master-frame,
.mpo-panel--survey.is-gen-busy .mpo-tile__box {
	filter: grayscale(0.45);
}

.mpo-panel--survey.is-gen-busy .mpo-accordion__toggle,
.mpo-panel--survey.is-gen-busy .mpo-survey-quick {
	cursor: default;
}
/* 26.06.2026: опрос неактивен при сборке меню — конец */

/* 30.06.2026: шапка опроса — быстрые ссылки «Выбрать все» / «Снять всё» — начало */
.mpo-panel__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px 16px;
	margin-bottom: 10px;
}

.mpo-panel__head .mpo-panel__title {
	margin-bottom: 0;
	flex: 1 1 auto;
	min-width: 0;
}

.mpo-survey-quick {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 2px 6px;
	flex: 0 0 auto;
	max-width: min(100%, 22rem);
	/* 30.06.2026: min-height — шапка не прыгает при visibility:hidden на оплаченном плане — начало */
	min-height: 1.65em;
	/* 30.06.2026: min-height — шапка не прыгает — конец */
}

.mpo-survey-quick.is-gen-busy {
	opacity: 0.55;
	pointer-events: none;
}

.mpo-survey-quick__sep {
	color: #cbd5e1;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	user-select: none;
}

.mpo-survey-quick__action {
	margin: 0;
	padding: 4px 2px;
	border: 2px solid transparent !important;
	border-radius: 6px;
	background: transparent !important;
	color: #e91e8c !important;
	box-shadow: none !important;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
	text-decoration: underline;
	text-decoration-color: rgba(233, 30, 140, 0.35);
	text-underline-offset: 3px;
	white-space: nowrap;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

.mpo-survey-quick__action:hover {
	color: #c41472 !important;
	text-decoration-color: rgba(196, 20, 114, 0.55);
}

.mpo-survey-quick__action:focus,
.mpo-survey-quick__action:active {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: none !important;
}

.mpo-survey-quick__action:focus-visible {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: 0 0 0 3px rgba(233, 30, 140, 0.28) !important;
}

.mpo-survey-quick__action:focus:not(:focus-visible) {
	box-shadow: none !important;
}

.mpo-survey-quick--hidden {
	/* 30.06.2026: было display:none → схлопывало шапку при смене «Мои планы» — начало */
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
	/* 30.06.2026: было display:none → схлопывало шапку — конец */
}

.mpo-panel--survey.is-survey-locked .mpo-survey-quick {
	/* 30.06.2026: было display:none → место под «Выбрать все» всегда в раскладке — начало */
	visibility: hidden;
	pointer-events: none;
	opacity: 0;
	/* 30.06.2026: было display:none → место под bulk-кнопки — конец */
}

@media (max-width: 520px) {
	.mpo-panel__head {
		flex-wrap: wrap;
	}

	.mpo-survey-quick {
		width: 100%;
		max-width: none;
		justify-content: flex-start;
		/* 30.06.2026: вторая строка шапки — фикс. высота, нет скачка при черновике — начало */
		flex: 1 1 100%;
		min-height: 1.65em;
		/* 30.06.2026: вторая строка шапки — конец */
	}
}
/* 30.06.2026: шапка опроса — быстрые ссылки «Выбрать все» / «Снять всё» — конец */
/* 17.06.2026: плотнее к опросу, светлый градиент как у PDF — конец */

.mpo-actions .mpo-btn--generate {
	width: 100%;
	max-width: var(--mpo-btn-max-width, 540px);
}

/* 26.06.2026: «Создать новый план» — по ширине текста, справа — начало */
.mpo-actions .mpo-btn--create-plan {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-end;
	/* 26.06.2026: было width fit-content без !important → .mpo-ds .mpo-btn { width:100% } перебивал */
	width: fit-content !important;
	max-width: calc(100% - 32px) !important;
	min-height: 44px;
	/* 26.06.2026: было margin 0 auto (центр) → вправо */
	margin: 0 0 0 auto;
	padding: 12px 14px 12px 28px !important;
	flex-direction: row;
	gap: 12px;
	justify-content: center;
	transform: none;
	transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
	border-radius: 999px;
	border: 2px solid #22c55e !important;
	background: #22c55e !important;
	color: #fff !important;
	box-shadow: none !important;
	outline: none !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

.mpo-actions .mpo-btn--create-plan .mpo-btn__lead {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
	color: #fff !important;
	white-space: nowrap;
}

.mpo-actions .mpo-btn--create-plan:hover {
	background: #22c55e !important;
	border-color: #22c55e !important;
	color: #fff !important;
	box-shadow: none !important;
}

.mpo-actions .mpo-btn--create-plan:focus,
.mpo-actions .mpo-btn--create-plan:active {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: none !important;
	background: #22c55e !important;
}

.mpo-actions .mpo-btn--create-plan:focus-visible {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35) !important;
}

.mpo-actions .mpo-btn--create-plan:focus:not(:focus-visible) {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: none !important;
	background: #22c55e !important;
}

body.calorazh-meal-plan-page .mpo-actions button.mpo-btn--create-plan:focus,
body.page-template-page-meal-plan-order-php .mpo-actions button.mpo-btn--create-plan:focus,
body.calorazh-meal-plan-page .mpo-actions button.mpo-btn--create-plan:active,
body.page-template-page-meal-plan-order-php .mpo-actions button.mpo-btn--create-plan:active {
	outline: none !important;
}
/* 26.06.2026: «Создать новый план» — по ширине текста, справа — конец */

/* 29.06.2026: «Создать новый план» — стрелка и hover как у калькулятора — начало */
.mpo-btn--create-plan .mpo-btn__arrow,
.mpo-btn--week-diary .mpo-btn__arrow {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	line-height: 1;
	transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.mpo-btn--create-plan .mpo-btn__arrow-icon,
.mpo-btn--week-diary .mpo-btn__arrow-icon {
	display: block;
	width: 16px;
	height: 16px;
	transition: transform 0.2s ease;
}

.mpo-actions .mpo-btn--create-plan .mpo-btn__arrow,
.mpo-ds .mpo-actions .mpo-btn--create-plan .mpo-btn__arrow {
	background: rgba(255, 255, 255, 0.22);
	border: 1px solid rgba(255, 255, 255, 0.35);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.35);
	color: #fff;
}

.mpo-week__toolbar .mpo-btn--create-plan .mpo-btn__arrow,
.mpo-week__toolbar .mpo-btn--week-diary .mpo-btn__arrow {
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.95) 0%, rgba(148, 163, 184, 0.12) 100%);
	border: 1px solid rgba(148, 163, 184, 0.28);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.8);
	color: #64748b;
}

.mpo-btn--create-plan:active {
	transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
	.mpo-btn--create-plan:hover,
	.mpo-btn--week-diary:hover {
		transform: translateY(-1px);
	}

	.mpo-btn--create-plan:hover .mpo-btn__arrow,
	.mpo-btn--week-diary:hover .mpo-btn__arrow {
		transform: translateX(2px);
	}

	.mpo-btn--create-plan:hover .mpo-btn__arrow-icon,
	.mpo-btn--week-diary:hover .mpo-btn__arrow-icon {
		transform: translateX(1px);
	}

	.mpo-actions .mpo-btn--create-plan:hover .mpo-btn__arrow,
	.mpo-ds .mpo-actions .mpo-btn--create-plan:hover .mpo-btn__arrow {
		background: rgba(255, 255, 255, 0.3);
		border-color: rgba(255, 255, 255, 0.45);
	}

	.mpo-week__toolbar .mpo-btn--create-plan:hover .mpo-btn__arrow {
		background: linear-gradient(145deg, rgba(255, 255, 255, 0.98) 0%, rgba(148, 163, 184, 0.18) 100%);
		border-color: rgba(148, 163, 184, 0.38);
		box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.85);
	}

	.mpo-week__toolbar .mpo-btn--week-diary:hover .mpo-btn__arrow {
		background: linear-gradient(145deg, rgba(255, 255, 255, 0.98) 0%, rgba(163, 196, 178, 0.22) 100%);
		border-color: rgba(120, 155, 138, 0.38);
		box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.85);
	}

	/* 30.06.2026: карточка дня — без подъёма кнопки при hover */
	.mpo-week__toolbar .mpo-btn--create-plan:hover,
	.mpo-week__toolbar .mpo-btn--week-diary:hover {
		transform: none !important;
	}
}
/* 29.06.2026: «Создать новый план» — стрелка и hover как у калькулятора — конец */

/* 16.06.2026: лоадер сборки меню над кнопкой — начало */
.mpo-gen-loader {
	margin: 0;
	padding: 14px 16px;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: 14px;
}

.mpo-gen-loader.is-hidden {
	display: none;
}

.mpo-gen-loader__inner {
	display: flex;
	align-items: center;
	gap: 14px;
}

.mpo-gen-loader__spinner {
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	border: 3px solid #d1fae5;
	border-top-color: #0f766e;
	border-radius: 50%;
	animation: mpo-gen-loader-spin 0.85s linear infinite;
}

.mpo-gen-loader__text {
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
	color: #166534;
}

@keyframes mpo-gen-loader-spin {
	to {
		transform: rotate(360deg);
	}
}

.mpo-btn--generate.is-loading {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	width: 100%;
	opacity: 1;
	cursor: wait;
	transform: none;
	filter: none;
	pointer-events: none;
}

.mpo-btn--generate {
	position: relative;
}

/* 17.06.2026: обёртка кнопки сборки — спиннер и lead на месте при смене meta — начало */
.mpo-btn__loader {
	display: contents;
}

.mpo-btn__spinner {
	display: none;
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	border: 3px solid rgba(255, 255, 255, 0.35);
	border-top-color: #ffffff;
	border-radius: 50%;
	box-sizing: border-box;
	animation: mpo-gen-loader-spin 0.85s linear infinite;
}

.mpo-btn__copy {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	min-width: 0;
	text-align: center;
}

/* 17.06.2026: было 24px + 18.5rem — текст визуально уезжал влево */
/* 17.06.2026: симметрия — спиннер слева, пустая колонка справа, текст по центру */
.mpo-btn--generate.is-loading .mpo-btn__loader {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr) 24px;
	/* 17.06.2026: было auto auto + min-height meta 2.8em — кнопка росла при клике */
	grid-template-rows: 1.25em 1.45em;
	column-gap: 12px;
	row-gap: 2px;
	width: fit-content;
	max-width: calc(100% - 16px);
	margin-inline: auto;
	flex: 0 0 auto;
	align-items: center;
	justify-items: center;
}

.mpo-btn--generate.is-loading .mpo-btn__spinner {
	display: block;
	position: static;
	grid-column: 1;
	grid-row: 1 / span 2;
	align-self: center;
	justify-self: center;
	margin-top: 0;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	border-width: 3px;
}

.mpo-btn--generate.is-loading .mpo-btn__copy {
	display: contents;
}

.mpo-btn--generate.is-loading .mpo-btn__lead {
	grid-column: 2;
	grid-row: 1;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
	text-align: center;
	white-space: nowrap;
	width: 100%;
	max-width: min(22rem, calc(100vw - 7rem));
	overflow: hidden;
	text-overflow: ellipsis;
}

.mpo-btn--generate.is-loading .mpo-btn__meta {
	grid-column: 2;
	grid-row: 2;
	display: block;
	width: 100%;
	max-width: min(22rem, calc(100vw - 7rem));
	height: 1.45em;
	min-height: 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
/* 17.06.2026: обёртка кнопки сборки — спиннер и lead на месте при смене meta — конец */

.mpo-btn--generate .mpo-btn__meta {
	min-height: 1.45em;
}

/* 29.08.2026: зелёный градиент CTA (PDF убран) — начало */
.mpo-btn--generate {
	overflow: hidden;
	border: none !important;
	background-color: #22c55e;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
/* 29.08.2026: зелёный градиент CTA — конец */

.mpo-btn--generate {
	width: 100%;
	max-width: var(--mpo-btn-max-width, 540px);
	margin: 0 auto;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	/* 17.06.2026: фикс. высота — при is-loading кнопка не растёт */
	min-height: 4.75rem;
	padding: 16px 24px;
	border-radius: 18px;
	/* 17.06.2026: было бирюзовый — тот же зелёный, что у «Скачать PDF» */
	background-image: linear-gradient(135deg, #34d399 0%, #22c55e 52%, #16a34a 100%);
	color: #fff !important;
	box-shadow: 0 12px 28px rgba(34, 197, 94, 0.28);
}

.mpo-btn--generate:hover {
	transform: translateY(-1px);
	filter: brightness(1.04);
	box-shadow: 0 14px 32px rgba(34, 197, 94, 0.34);
}

.mpo-btn--generate:disabled:not(.is-menu-ready) {
	opacity: 0.82;
	cursor: wait;
	transform: none;
}

/* 16.06.2026: кнопка «Меню готово» — начало */
.mpo-btn--generate.is-menu-ready:disabled:not(.is-window-expired) {
	opacity: 0.9;
	cursor: default;
	filter: saturate(0.88);
	box-shadow: 0 10px 24px rgba(34, 197, 94, 0.16);
}
/* 16.06.2026: кнопка «Меню готово» — конец */

/* 16.06.2026: кнопка после истечения окна пересборки — начало */
.mpo-btn--generate.is-window-expired:disabled {
	opacity: 0.88;
	cursor: default;
	filter: saturate(0.82);
	box-shadow: 0 10px 24px rgba(34, 197, 94, 0.14);
}

.mpo-btn--generate.is-window-expired .mpo-btn__meta {
	color: rgba(255, 255, 255, 0.78);
	font-size: 13px;
	line-height: 1.45;
}
/* 16.06.2026: кнопка после истечения окна пересборки — конец */

.mpo-btn--generate .mpo-btn__meta {
	color: rgba(255, 255, 255, 0.82);
}

.mpo-btn--generate:focus,
.mpo-btn--generate:active {
	outline: none !important;
	border: none !important;
	box-shadow: 0 12px 28px rgba(34, 197, 94, 0.28) !important;
}

.mpo-btn--generate:focus-visible {
	outline: none !important;
	border: none !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35), 0 12px 28px rgba(34, 197, 94, 0.28) !important;
}

.mpo-btn--generate:focus:not(:focus-visible) {
	box-shadow: 0 12px 28px rgba(34, 197, 94, 0.28) !important;
}

.mpo-week {
	position: relative;
	overflow: hidden;
	margin-top: 6px;
	padding: 22px 18px 20px;
	border-radius: 24px;
	border: 1px solid #e8d4a8;
	background:
		radial-gradient(circle at 12% 8%, rgba(212, 167, 76, 0.16), transparent 42%),
		radial-gradient(circle at 88% 0%, rgba(15, 118, 110, 0.12), transparent 36%),
		linear-gradient(180deg, #fffdf9 0%, #ffffff 42%, #f8fafc 100%);
	box-shadow: 0 18px 42px rgba(51, 65, 85, 0.08);
}

.mpo-week__glow {
	position: absolute;
	inset: auto -20% -45% -20%;
	height: 180px;
	background: radial-gradient(circle, rgba(212, 167, 76, 0.18), transparent 68%);
	pointer-events: none;
}

.mpo-week__head {
	position: relative;
	z-index: 1;
	margin-bottom: 16px;
}

.mpo-week__eyebrow {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #b8953f;
}

.mpo-week__title {
	margin: 0;
	font-size: 1.35rem;
	font-weight: 900;
	color: #1e293b;
	line-height: 1.2;
}

.mpo-week__lead {
	margin: 8px 0 0;
	font-size: 15px;
	line-height: 1.55;
	color: #64748b;
}

.mpo-week__lead.is-hidden {
	display: none;
}

/* 17.06.2026: подсказка «где найти меню» после оплаты — начало */
.mpo-week__lead--paid-nav {
	max-width: 42rem;
}

@media (max-width: 640px) {
	.mpo-week__lead--paid-nav {
		font-size: 14px;
		line-height: 1.6;
	}
}
/* 17.06.2026: подсказка «где найти меню» после оплаты — конец */

/* 26.06.2026: «Создать новый план» под списком дней, справа — начало */
.mpo-week__toolbar {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	width: 100%;
	margin-top: 16px;
}

.mpo-week__toolbar.is-hidden {
	display: none;
}

.mpo-week__toolbar .mpo-btn--week-diary {
	text-decoration: none !important;
}

/* 30.06.2026: «Создать новый план» под днями — рамка как у .mpo-week-day — начало */
.mpo-week__toolbar .mpo-btn--create-plan,
.mpo-week__toolbar .mpo-btn--week-diary,
.mpo-week__toolbar .mpo-btn--png-mail {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: fit-content !important;
	max-width: 100% !important;
	min-height: 40px;
	margin: 0 !important;
	padding: 12px 14px 12px 22px !important;
	flex-direction: row;
	gap: 12px;
	transform: none;
	transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
	border-radius: 18px !important;
	box-shadow: none !important;
	outline: none !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
	overflow: visible;
}

.mpo-week__toolbar .mpo-btn--create-plan {
	border: 1px solid #e2e8f0 !important;
	background: rgba(255, 255, 255, 0.88) !important;
	backdrop-filter: blur(6px);
	color: #64748b !important;
}

/* 01.07.2026: «Дневник» рядом с «Создать план» — тот же размер/стрелка, тихий зелёный — начало */
.mpo-week__toolbar .mpo-btn--week-diary {
	border: 1px solid #d8e8de !important;
	background: rgba(244, 250, 246, 0.95) !important;
	backdrop-filter: blur(6px);
	color: #5a6f62 !important;
}

.mpo-week__toolbar .mpo-btn--week-diary .mpo-btn__lead {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	white-space: nowrap;
	color: #5a6f62 !important;
}

.mpo-week__toolbar .mpo-btn--week-diary:hover {
	background: rgba(236, 246, 240, 0.98) !important;
	border-color: #c9ddd2 !important;
	color: #4a5f52 !important;
}

.mpo-week__toolbar .mpo-btn--week-diary:hover .mpo-btn__lead {
	color: #4a5f52 !important;
}

.mpo-week__toolbar .mpo-btn--week-diary:focus,
.mpo-week__toolbar .mpo-btn--week-diary:active {
	border-color: #d8e8de !important;
	background: rgba(244, 250, 246, 0.95) !important;
	color: #5a6f62 !important;
}

.mpo-week__toolbar .mpo-btn--week-diary:focus .mpo-btn__lead,
.mpo-week__toolbar .mpo-btn--week-diary:active .mpo-btn__lead {
	color: #5a6f62 !important;
}

.mpo-week__toolbar .mpo-btn--week-diary:focus-visible {
	border-color: #c9ddd2 !important;
	box-shadow: 0 0 0 3px rgba(90, 138, 106, 0.2) !important;
	background: rgba(236, 246, 240, 0.98) !important;
	color: #4a5f52 !important;
}

.mpo-week__toolbar .mpo-btn--week-diary:focus-visible .mpo-btn__lead {
	color: #4a5f52 !important;
}

.mpo-week__toolbar .mpo-btn--week-diary:focus:not(:focus-visible) {
	border-color: #d8e8de !important;
	background: rgba(244, 250, 246, 0.95) !important;
	color: #5a6f62 !important;
}

.mpo-week__toolbar .mpo-btn--week-diary:focus:not(:focus-visible) .mpo-btn__lead {
	color: #5a6f62 !important;
}

.mpo-week__toolbar .mpo-btn--week-diary .mpo-btn__arrow {
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.96) 0%, rgba(163, 196, 178, 0.16) 100%);
	border: 1px solid rgba(120, 155, 138, 0.28);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.8);
	color: #5a6f62;
}
/* 01.07.2026: «Дневник» рядом с «Создать план» — тот же размер/стрелка, тихий зелёный — конец */

/* 27.08.2026: скачать PNG — в toolbar, ярче дневника, стрелка вниз — начало */
.mpo-week__toolbar .mpo-btn--png-mail {
	border: 1px solid #86efac !important;
	background: rgba(220, 252, 231, 0.98) !important;
	backdrop-filter: blur(6px);
	color: #15803d !important;
	cursor: pointer;
	/* 27.08.2026: было space-between + min 240 → текст слева; ширина как «Создать новый план», текст по центру с gap */
	justify-content: center !important;
	min-width: 0 !important;
	width: 13.6rem !important;
}

.mpo-week__toolbar .mpo-btn--png-mail.is-hidden {
	display: none !important;
}

.mpo-week__toolbar .mpo-btn--png-mail .mpo-btn__lead {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	white-space: nowrap;
	color: #15803d !important;
}

.mpo-week__toolbar .mpo-btn--png-mail .mpo-btn__arrow {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	line-height: 1;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.98) 0%, rgba(134, 239, 172, 0.35) 100%);
	border: 1px solid rgba(34, 197, 94, 0.35);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.85);
	color: #16a34a;
	transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.mpo-week__toolbar .mpo-btn--png-mail .mpo-btn__arrow-icon {
	display: block;
	width: 16px;
	height: 16px;
	transition: transform 0.2s ease;
}

.mpo-week__toolbar .mpo-btn--png-mail:hover {
	background: rgba(187, 247, 208, 0.98) !important;
	border-color: #4ade80 !important;
	color: #166534 !important;
	transform: none !important;
	box-shadow: none !important;
}

.mpo-week__toolbar .mpo-btn--png-mail:hover .mpo-btn__lead {
	color: #166534 !important;
}

.mpo-week__toolbar .mpo-btn--png-mail:focus,
.mpo-week__toolbar .mpo-btn--png-mail:active {
	outline: none !important;
	border-color: #86efac !important;
	background: rgba(220, 252, 231, 0.98) !important;
	box-shadow: none !important;
	color: #15803d !important;
}

.mpo-week__toolbar .mpo-btn--png-mail:focus .mpo-btn__lead,
.mpo-week__toolbar .mpo-btn--png-mail:active .mpo-btn__lead {
	color: #15803d !important;
}

.mpo-week__toolbar .mpo-btn--png-mail:focus-visible {
	outline: none !important;
	border-color: #4ade80 !important;
	background: rgba(187, 247, 208, 0.98) !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.28) !important;
	color: #166534 !important;
}

.mpo-week__toolbar .mpo-btn--png-mail:focus-visible .mpo-btn__lead {
	color: #166534 !important;
}

.mpo-week__toolbar .mpo-btn--png-mail:focus:not(:focus-visible) {
	border-color: #86efac !important;
	background: rgba(220, 252, 231, 0.98) !important;
	box-shadow: none !important;
	color: #15803d !important;
}

.mpo-week__toolbar .mpo-btn--png-mail:disabled,
.mpo-week__toolbar .mpo-btn--png-mail.is-busy {
	cursor: wait;
	opacity: 0.78;
	transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
	.mpo-week__toolbar .mpo-btn--png-mail:hover .mpo-btn__arrow {
		transform: translateY(2px);
		background: linear-gradient(145deg, rgba(255, 255, 255, 0.98) 0%, rgba(74, 222, 128, 0.4) 100%);
		border-color: rgba(34, 197, 94, 0.45);
		box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.85);
	}

	.mpo-week__toolbar .mpo-btn--png-mail:hover .mpo-btn__arrow-icon {
		transform: translateY(1px);
	}
}
/* 27.08.2026: скачать PNG — в toolbar — конец */

/* 30.06.2026: «Создать новый план» под днями — рамка как у .mpo-week-day — конец */

.mpo-week__toolbar .mpo-btn--create-plan .mpo-btn__lead {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	color: #64748b !important;
	white-space: nowrap;
}

.mpo-week__toolbar .mpo-btn--create-plan:hover,
.mpo-week__toolbar .mpo-btn--week-diary:hover {
	transform: none !important;
}

.mpo-week__toolbar .mpo-btn--create-plan:hover {
	background: rgba(248, 250, 252, 0.95) !important;
	border-color: #e2e8f0 !important;
	color: #475569 !important;
	box-shadow: none !important;
}

.mpo-week__toolbar .mpo-btn--create-plan:hover .mpo-btn__lead {
	color: #475569 !important;
}

/* 29.06.2026: было border #94a3b8 на :focus после клика → как у базы, без синей outline темы */
.mpo-week__toolbar .mpo-btn--create-plan:focus,
.mpo-week__toolbar .mpo-btn--create-plan:active {
	outline: none !important;
	border-color: #e2e8f0 !important;
	box-shadow: none !important;
	background: rgba(255, 255, 255, 0.88) !important;
	color: #64748b !important;
}

.mpo-week__toolbar .mpo-btn--create-plan:focus .mpo-btn__lead,
.mpo-week__toolbar .mpo-btn--create-plan:active .mpo-btn__lead {
	color: #64748b !important;
}

.mpo-week__toolbar .mpo-btn--create-plan:focus-visible {
	outline: none !important;
	border-color: #e2e8f0 !important;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
	background: rgba(248, 250, 252, 0.95) !important;
	color: #475569 !important;
}

.mpo-week__toolbar .mpo-btn--create-plan:focus-visible .mpo-btn__lead {
	color: #475569 !important;
}

.mpo-week__toolbar .mpo-btn--create-plan:focus:not(:focus-visible) {
	outline: none !important;
	border-color: #e2e8f0 !important;
	box-shadow: none !important;
	background: rgba(255, 255, 255, 0.88) !important;
	color: #64748b !important;
}

.mpo-week__toolbar .mpo-btn--create-plan:focus:not(:focus-visible) .mpo-btn__lead {
	color: #64748b !important;
}

body.calorazh-meal-plan-page .mpo-week__toolbar button.mpo-btn--create-plan:focus,
body.page-template-page-meal-plan-order-php .mpo-week__toolbar button.mpo-btn--create-plan:focus,
body.calorazh-meal-plan-page .mpo-week__toolbar button.mpo-btn--create-plan:active,
body.page-template-page-meal-plan-order-php .mpo-week__toolbar button.mpo-btn--create-plan:active,
body.calorazh-meal-plan-page .mpo-week__toolbar a.mpo-btn--week-diary:focus,
body.page-template-page-meal-plan-order-php .mpo-week__toolbar a.mpo-btn--week-diary:focus,
body.calorazh-meal-plan-page .mpo-week__toolbar a.mpo-btn--week-diary:active,
body.page-template-page-meal-plan-order-php .mpo-week__toolbar a.mpo-btn--week-diary:active {
	outline: none !important;
}
/* 29.06.2026: «Создать новый план» — без обводки после клика — конец */
/* 26.06.2026: «Создать новый план» под списком дней, справа — конец */

/* 17.06.2026: пояснение к превью — после первого дня — начало */
.mpo-week__preview-info {
	padding: 14px 16px;
	border-radius: 16px;
	border: 1px solid #e8edf4;
	background: #f8fafc;
}

.mpo-week__preview-info-title {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 800;
	color: #1e293b;
	line-height: 1.35;
}

.mpo-week__preview-info-lead {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.55;
	color: #64748b;
}

.mpo-week__preview-info-heading {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #94a3b8;
}

.mpo-week__preview-info-list {
	margin: 0;
	padding-left: 18px;
	color: #475569;
	font-size: 14px;
	line-height: 1.55;
}

.mpo-week__preview-info-list li {
	margin: 0 0 6px;
}

.mpo-week__preview-info-list li:last-child {
	margin-bottom: 0;
}

.mpo-week__preview-info-list strong {
	color: #334155;
	font-weight: 700;
}

.mpo-ds .mpo-week__preview-info {
	background: #fff5fa;
	border-color: #f5d0e6;
}

.mpo-ds .mpo-week__preview-info-title {
	color: var(--mpo-ds-ink, #1e293b);
}

.mpo-ds .mpo-week__preview-info-heading {
	color: var(--mpo-ds-accent-deep, #be185d);
}

/* 17.06.2026: оплата внутри блока превью — начало */
.mpo-week__preview-pay {
	margin-top: 16px;
}

.mpo-pay--in-preview {
	width: 100%;
	margin-top: 0;
	padding-top: 0;
	gap: 10px;
}

.mpo-week__preview-info .mpo-pay--in-preview .mpo-btn--pay {
	width: 100%;
	max-width: none;
}

/* 17.06.2026: кнопка оплаты в превью — на десктопе уже полной ширины, но не узкая — начало */
@media (min-width: 920px) {
	.mpo-week__preview-info .mpo-pay--in-preview .mpo-btn--pay {
		width: 100%;
		max-width: 400px;
	}
}
/* 17.06.2026: кнопка оплаты в превью — на десктопе уже полной ширины, но не узкая — конец */

.mpo-week__preview-info .mpo-pay--in-preview .mpo-pay__status,
.mpo-week__preview-info .mpo-pay--in-preview .mpo-pay__legal {
	max-width: none;
}

.mpo-pay-week-host:empty {
	display: none;
}
/* 17.06.2026: оплата внутри блока превью — конец */
/* 17.06.2026: пояснение к превью — после первого дня — конец */

.mpo-week__days {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 12px;
}

.mpo-week-day {
	padding: 14px 14px 12px;
	border-radius: 18px;
	border: 1px solid #e2e8f0;
	background: rgba(255, 255, 255, 0.88);
	backdrop-filter: blur(6px);
}

.mpo-week-day--preview {
	border-color: #d4a74c;
	box-shadow: inset 0 0 0 1px rgba(212, 167, 76, 0.18);
}

/* 12.08.2026: неоплаченный — блок с оплатой не сворачивается — начало */
.mpo-week-day--preview .mpo-week-day__head {
	cursor: default;
}

/* 12.08.2026: было серое hover у шапки → без подсветки (свернуть нельзя) — начало */
.mpo-week-day--preview .mpo-week-day__head:hover,
.mpo-week-day--preview .mpo-week-day__head:focus,
.mpo-week-day--preview .mpo-week-day__head:active {
	border-radius: 0;
	background: transparent;
}

.mpo-week-day--preview .mpo-week-day__head:hover .mpo-week-day__chevron {
	color: #94a3b8;
}
/* 12.08.2026: без серой подсветки шапки превью — конец */
/* 12.08.2026: стрелка как у других дней, клик ничего не делает — конец */

.mpo-week-day--locked {
	position: relative;
	overflow: hidden;
}

.mpo-week-day__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 2px solid transparent !important;
	border-radius: 0;
	background: transparent;
	font: inherit;
	color: inherit;
	text-align: left;
	cursor: pointer;
	outline: none !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
	scroll-margin-top: 12px;
}

.mpo-week-day.is-expanded .mpo-week-day__head {
	margin-bottom: 10px;
}

.mpo-week-day__head:focus,
.mpo-week-day__head:active,
.mpo-week-day__head:focus-visible,
.mpo-week-day__head:focus:not(:focus-visible) {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: none !important;
}

/* 26.06.2026: шапка дня — без оранжевого кольца после клика — начало */
.mpo-week-day__head:hover {
	border-radius: 10px;
	background: rgba(248, 250, 252, 0.9);
}
/* 26.06.2026: шапка дня — без оранжевого кольца после клика — конец */

.mpo-week-day__head-end {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.mpo-week-day__chevron {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	color: #94a3b8;
	transition: transform 0.28s ease, color 0.2s ease;
}

.mpo-week-day__chevron svg {
	display: block;
	width: 20px;
	height: 20px;
}

.mpo-week-day.is-expanded .mpo-week-day__chevron {
	transform: rotate(180deg);
	color: #64748b;
}

.mpo-week-day__head:hover .mpo-week-day__chevron {
	color: #64748b;
}

/* 26.06.2026: аккордеон дней — плавное раскрытие, один открытый — начало */
.mpo-week-day__panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.35s ease;
	transform-origin: top center;
}

.mpo-week-day.is-expanded .mpo-week-day__panel {
	grid-template-rows: 1fr;
}

.mpo-week-day__panel > .mpo-week-day__panel-inner {
	min-height: 0;
	overflow: hidden;
}

.mpo-week-day.is-expanded .mpo-week-day__panel > .mpo-week-day__panel-inner {
	overflow: visible;
}

.mpo-week-day.is-collapsed .mpo-week-day__panel > .mpo-week-day__panel-inner {
	visibility: hidden;
}

.mpo-week-day.is-expanded .mpo-week-day__panel > .mpo-week-day__panel-inner {
	visibility: visible;
}

.mpo-week-day__panel-inner > .mpo-week__preview-info {
	margin-top: 12px;
}

/* 26.06.2026: переключение дней — закрытие соседа без анимации, открытие с анимацией — начало */
.mpo-week-day.mpo-week-day--instant-close .mpo-week-day__panel,
.mpo-week-day.mpo-week-day--instant-close .mpo-week-day__chevron {
	transition: none !important;
}
/* 26.06.2026: переключение дней — закрытие соседа без анимации, открытие с анимацией — конец */

.mpo-week__days--no-animate .mpo-week-day__panel,
.mpo-week__days--no-animate .mpo-week-day__chevron {
	transition: none !important;
}

/* 19.08.2026: было display:none в collapsed → замок виден и в свёрнутой шапке дня — начало */
/* 26.06.2026: .mpo-week-day.is-collapsed .mpo-week-day__locked-badge { display: none; } — убрано */
/* 19.08.2026: замок в шапке до раскрытия — конец */

@media (prefers-reduced-motion: reduce) {
	.mpo-week-day__panel,
	.mpo-week-day__chevron {
		transition: none;
	}
}
/* 26.06.2026: аккордеон дней — плавное раскрытие, один открытый — конец */

.mpo-week-day__label {
	font-size: 16px;
	font-weight: 800;
	color: #334155;
}

.mpo-week-day__locked-badge {
	display: inline-block;
	margin-left: 4px;
	font-size: 13px;
	line-height: 1;
	opacity: 0.8;
	vertical-align: middle;
}

.mpo-week-day__kcal {
	font-size: 14px;
	font-weight: 800;
	color: #d4a74c;
	font-variant-numeric: tabular-nums;
}

/* 09.08.2026: БЖУ дня под ккал в шапке аккордеона — начало */
.mpo-week-day__totals {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 1px;
	min-width: 0;
	line-height: 1.2;
}

.mpo-week-day__macros {
	font-size: 12px;
	font-weight: 500;
	color: #94a3b8;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
/* 09.08.2026: БЖУ дня под ккал — конец */

/* 17.06.2026: приёмы пищи — несколько карточек в строке — начало */
.mpo-week-day__meals {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
	align-items: stretch;
}

/* 17.06.2026: строки приёмов (PDF-шаблон) — начало */
.mpo-week-day__meals:has(> .mpo-week-day__meals-row) {
	display: block;
}

.mpo-week-day__meals-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	margin-bottom: 12px;
	align-items: stretch;
}

.mpo-week-day__meals-row:last-child {
	margin-bottom: 0;
}
/* 17.06.2026: строки приёмов (PDF-шаблон) — конец */

@media (min-width: 720px) {
	.mpo-week-day__meals {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mpo-week-day__meals-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 920px) {
	/* 17.06.2026: плоский список (JS на menyu-na-nedelyu) — 6 колонок — начало */
	.mpo-week-day__meals {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.mpo-week-day__meals > .mpo-week-meal {
		grid-column: span 2;
	}

	.mpo-week-day__meals > .mpo-week-meal:nth-child(4):nth-last-child(2) {
		grid-column: 2 / span 2;
	}

	.mpo-week-day__meals > .mpo-week-meal:nth-child(5):nth-last-child(1) {
		grid-column: 4 / span 2;
	}
	/* 17.06.2026: плоский список (JS) — конец */

	/* 17.06.2026: строки (PDF-шаблон menyu-pdf) — начало */
	.mpo-week-day__meals-row {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mpo-week-day__meals-row--center {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: calc((100% - 24px) * 2 / 3 + 12px);
		margin-left: auto;
		margin-right: auto;
		margin-top: 4px;
	}
	/* 17.06.2026: строки (PDF-шаблон) — конец */
}

.mpo-week-meal {
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	padding: 12px 12px 11px;
	border-radius: 14px;
	background: #f8fafc;
	border: 1px solid #edf2f7;
	box-sizing: border-box;
	/* 17.06.2026: узкая карточка — кнопки в столбик через container query */
	container-type: inline-size;
	container-name: mpo-week-meal;
}
/* 17.06.2026: приёмы пищи — несколько карточек в строке — конец */

/* 29.06.2026: замена приёма — иконка и модалки — начало */
.mpo-week-meal__card {
	position: relative;
	min-width: 0;
}

/* 30.06.2026: было без отступа → иконка ↻ перекрывала заголовок — начало */
.mpo-week-meal__card:has(.mpo-week-meal__replace) .mpo-week-meal__body {
	padding-right: 40px;
}
/* 30.06.2026: было без отступа → иконка ↻ перекрывала заголовок — конец */

.mpo-week-meal__replace {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	margin: 0;
	border: 2px solid transparent !important;
	border-radius: 10px;
	background: #fff !important;
	color: #64748b !important;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	box-shadow: none !important;
	outline: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

.mpo-week-meal__replace--spent {
	opacity: 0.42;
}

.mpo-week-meal__replace:hover {
	background: #f8fafc !important;
	color: #475569 !important;
}

.mpo-week-meal__replace:focus,
.mpo-week-meal__replace:active {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: none !important;
}

.mpo-week-meal__replace:focus-visible {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
}

.mpo-week-meal__replace:focus:not(:focus-visible) {
	box-shadow: none !important;
}

/* 30.06.2026: замена приёма — спиннер на карточке и плавная смена текста — начало */
.mpo-week-meal.is-replacing {
	position: relative;
}

.mpo-week-meal.is-replacing .mpo-week-meal__body {
	opacity: 0.28;
	transition: opacity 0.22s ease;
}

.mpo-week-meal__replace-overlay {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px;
	border-radius: 12px;
	background: rgba(248, 250, 252, 0.82);
	backdrop-filter: blur(2px);
	pointer-events: none;
}

.mpo-week-meal__replace-spinner {
	display: block;
	width: 28px;
	height: 28px;
	border: 3px solid rgba(100, 116, 139, 0.22);
	border-top-color: #64748b;
	border-radius: 50%;
	box-sizing: border-box;
	animation: mpo-gen-loader-spin 0.85s linear infinite;
}

.mpo-week-meal__replace-status {
	font-size: 13px;
	line-height: 1.35;
	font-weight: 600;
	color: #475569;
	text-align: center;
}

.mpo-week-meal.is-replaced-enter {
	border-color: rgba(34, 197, 94, 0.42);
	transition: border-color 0.45s ease;
}

.mpo-week-meal.is-replaced-enter .mpo-week-meal__body {
	animation: mpo-meal-replace-enter 0.42s ease-out both;
}

@keyframes mpo-meal-replace-enter {
	from {
		opacity: 0;
		transform: translateY(10px);
	}

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

@media (prefers-reduced-motion: reduce) {
	.mpo-week-meal.is-replacing .mpo-week-meal__body {
		opacity: 0.55;
		transition: none;
	}

	.mpo-week-meal__replace-spinner {
		animation: none;
		border-top-color: #64748b;
	}

	.mpo-week-meal.is-replaced-enter {
		transition: none;
	}

	.mpo-week-meal.is-replaced-enter .mpo-week-meal__body {
		animation: none;
	}
}
/* 30.06.2026: замена приёма — спиннер на карточке и плавная смена текста — конец */

.mpo-slot-replace-modal {
	position: fixed;
	inset: 0;
	/* 19.08.2026: было 10050 → fixed-шапка 11000 оставалась поверх оверлея — начало */
	z-index: 260001;
	/* 19.08.2026: z-index как у gen-fail / rename — конец */
	display: none;
	align-items: center;
	justify-content: center;
	padding: 16px;
}

.mpo-slot-replace-modal.is-open {
	display: flex !important;
}

.mpo-slot-replace-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.3);
	backdrop-filter: blur(4px);
}

.mpo-slot-replace-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(100%, 420px);
	padding: 20px 18px 16px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
}

.mpo-slot-replace-modal__title {
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: 800;
	color: #0f172a;
}

/* 29.06.2026: убран __lead в модалке замены — начало */
/* 29.06.2026: было #475569 и отдельный --error #9a3412 → как mpo-survey-empty-modal__text — начало */
.mpo-slot-replace-modal__text {
	margin: 0 0 10px;
	font-size: 15px;
	line-height: 1.5;
	color: #64748b !important;
}
/* 29.06.2026: было #475569 и отдельный --error #9a3412 → как mpo-survey-empty-modal__text — конец */
/* 29.06.2026: убран __lead в модалке замены — конец */

.mpo-slot-replace-modal__actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 14px;
}

.mpo-slot-replace-modal__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 16px;
	border: 2px solid transparent !important;
	border-radius: 12px;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: none !important;
	outline: none !important;
	-webkit-appearance: none;
	appearance: none;
}

/* 29.06.2026: было #e8b035 золото → розовый как CTA страницы — начало */
.mpo-slot-replace-modal__btn--confirm {
	background: #e91e8c !important;
	color: #fff !important;
	border-color: #e91e8c !important;
}

.mpo-slot-replace-modal__btn--confirm:focus,
.mpo-slot-replace-modal__btn--confirm:active {
	border-color: #e91e8c !important;
}

.mpo-slot-replace-modal__btn--confirm:focus-visible {
	box-shadow: 0 0 0 3px rgba(233, 30, 140, 0.35) !important;
}
/* 29.06.2026: было #e8b035 золото → розовый как CTA страницы — конец */

.mpo-slot-replace-modal__btn--ghost {
	background: #efefef !important;
	color: #4b5563 !important;
}

.mpo-slot-replace-modal__btn--ghost:focus,
.mpo-slot-replace-modal__btn--ghost:active {
	border-color: #e2e8f0 !important;
}

.mpo-slot-replace-modal__btn--ghost:focus-visible {
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
}
/* 29.06.2026: замена приёма — иконка и модалки — конец */

/* 27.08.2026: модалка «готовим PNG» — спиннер ожидания — начало */
.mpo-png-prep-modal__dialog {
	width: auto;
	min-width: 0;
	max-width: min(100%, 320px);
	/* 27.08.2026: было 22/28/20 и узко → больше воздуха вокруг текста и спиннера */
	padding: 36px 40px 32px;
	text-align: center;
}

.mpo-png-prep-modal__title {
	/* 27.08.2026: было margin-bottom 14px → больше зазор до спиннера */
	margin: 0 0 22px;
	text-align: center;
}

/* 27.08.2026: плавные точки в конце «Готовим файлы» — начало */
.mpo-png-prep-modal__dots {
	display: inline-block;
	min-width: 1.15em;
	margin-left: 1px;
	letter-spacing: 0.02em;
	text-align: left;
	vertical-align: baseline;
}

.mpo-png-prep-modal__dots span {
	display: inline-block;
	opacity: 0.22;
	animation: mpo-png-prep-dot 1.35s ease-in-out infinite;
}

.mpo-png-prep-modal__dots span:nth-child(2) {
	animation-delay: 0.22s;
}

.mpo-png-prep-modal__dots span:nth-child(3) {
	animation-delay: 0.44s;
}

@keyframes mpo-png-prep-dot {
	0%,
	80%,
	100% {
		opacity: 0.22;
		transform: translateY(0);
	}
	40% {
		opacity: 1;
		transform: translateY(-1px);
	}
}
/* 27.08.2026: плавные точки в конце «Готовим файлы» — конец */

.mpo-png-prep-modal__wait {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 0;
}

.mpo-png-prep-modal__spinner {
	display: block;
	width: 28px;
	height: 28px;
	border: 3px solid rgba(34, 197, 94, 0.22);
	border-top-color: #22c55e;
	border-radius: 50%;
	box-sizing: border-box;
	animation: mpo-gen-loader-spin 0.85s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
	.mpo-png-prep-modal__spinner {
		animation: none;
		border-top-color: #22c55e;
	}

	.mpo-png-prep-modal__dots span {
		animation: none;
		opacity: 1;
		transform: none;
	}
}
/* 27.08.2026: модалка «готовим PNG» — спиннер ожидания — конец */

.mpo-week-meal__slot {
	margin: 0 0 4px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #94a3b8;
}

.mpo-week-meal__title {
	margin: 0;
	font-size: 15px;
	font-weight: 800;
	color: #1e293b;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.mpo-week-meal__macros {
	margin: 6px 0 0;
	font-size: 13px;
	color: #64748b;
	overflow-wrap: anywhere;
}

/* 30.06.2026: parts — блоки основного/салата/сладости/напитка в карточке — начало */
.mpo-week-meal__part-divider {
	margin: 10px 0 0;
	border: none;
	border-top: 1px solid #e8ebf2;
}

.mpo-week-meal__parts {
	margin-top: 0;
}

.mpo-week-meal__part-title {
	margin: 10px 0 0;
	font-size: 15px;
	font-weight: 800;
	color: #1e293b;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.mpo-week-meal__part:first-child .mpo-week-meal__part-title {
	margin-top: 0;
}

.mpo-week-meal__preview-part-title {
	margin: 8px 0 0;
}

.mpo-week-meal__part .mpo-week-meal__items {
	margin-top: 8px;
}

.mpo-week-meal__part .mpo-week-meal__cook-note {
	margin-top: 10px;
}
/* 30.06.2026: parts — блоки основного/салата/сладости/напитка в карточке — конец */

.mpo-week-meal__items {
	margin: 8px 0 0;
	padding-left: 16px;
	color: #475569;
	font-size: 13px;
	line-height: 1.4;
	flex: 1 1 auto;
	overflow-wrap: anywhere;
}

/* 26.06.2026: cook_note в карточке приёма — начало */
.mpo-week-meal__cook-note {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #e8ebf2;
	flex: 0 0 auto;
}

.mpo-week-meal__cook-note-label {
	margin: 0 0 4px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #64748b;
}

.mpo-week-meal__cook-note-text {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: #475569;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}
/* 26.06.2026: cook_note в карточке приёма — конец */

/* 17.06.2026: заглушка состава в превью — граммы и БЖУ — начало */
.mpo-week-meal__preview-detail {
	margin-top: 8px;
	flex: 1 1 auto;
	min-width: 0;
	/* 01.07.2026: min-height — скелет не схлопывается до F5 после сборки — начало */
	min-height: 7.5rem;
	/* 01.07.2026: min-height — скелет не схлопывается до F5 после сборки — конец */
}

.mpo-week-meal__preview-macros {
	margin: 0 0 8px;
}

.mpo-week-meal__preview-bar {
	display: block;
	height: 9px;
	border-radius: 4px;
	background: linear-gradient(90deg, #e2e8f0 0%, #edf2f7 45%, #e2e8f0 100%);
}

.mpo-week-meal__preview-bar--macros {
	width: 78%;
	max-width: 210px;
}

/* 29.06.2026: preview_hint — ширина полосок по ch с сервера — начало */
.mpo-week-meal__preview-bar--sized {
	flex: 0 0 auto;
	max-width: 100%;
}

.mpo-week-meal__preview-bar--name.mpo-week-meal__preview-bar--sized {
	max-width: calc(100% - 3.5rem);
}

.mpo-week-meal__preview-bar--macros.mpo-week-meal__preview-bar--sized {
	width: auto;
	max-width: 100%;
}

.mpo-week-meal__preview-cook-note {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #e8ebf2;
}

.mpo-week-meal__preview-cook-lines {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

.mpo-week-meal__preview-bar--cook {
	height: 8px;
	max-width: 100%;
}
/* 29.06.2026: preview_hint — ширина полосок по ch с сервера — конец */

.mpo-week-meal__preview-items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mpo-week-meal__preview-item {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}

.mpo-week-meal__preview-bar--name {
	flex: 1 1 auto;
	min-width: 42%;
	max-width: 72%;
}

.mpo-week-meal__preview-bar--grams {
	flex: 0 0 32px;
	width: 32px;
}

.mpo-week-meal__preview-sep {
	flex-shrink: 0;
	font-size: 11px;
	color: #cbd5e1;
	line-height: 1;
}

.mpo-week-meal__preview-item:nth-child(2) .mpo-week-meal__preview-bar--name {
	max-width: 58%;
}

.mpo-week-meal__preview-item:nth-child(3) .mpo-week-meal__preview-bar--name {
	max-width: 64%;
}

.mpo-week-meal__preview-item:nth-child(4) .mpo-week-meal__preview-bar--name {
	max-width: 50%;
}

.mpo-week-meal__preview-item:nth-child(odd) .mpo-week-meal__preview-bar--grams {
	width: 28px;
	flex-basis: 28px;
}

.mpo-week-meal__preview-item:nth-child(even) .mpo-week-meal__preview-bar--grams {
	width: 36px;
	flex-basis: 36px;
}

.mpo-week-meal__preview-caption {
	margin: 8px 0 0;
	font-size: 11px;
	color: #94a3b8;
	line-height: 1.35;
}

.mpo-ds .mpo-week-meal__preview-bar {
	background: linear-gradient(90deg, #f3e8ff 0%, #fce7f3 45%, #f3e8ff 100%);
}

.mpo-ds .mpo-week-meal__preview-caption {
	color: #a78bfa;
}
/* 17.06.2026: заглушка состава в превью — граммы и БЖУ — конец */

/* 17.06.2026: кнопки «В дневник» / «В калькулятор» у приёма — начало */
.mpo-week-meal__body {
	flex: 1 1 auto;
	min-width: 0;
}

.mpo-week-meal__body--locked {
	filter: blur(4px);
	opacity: 0.45;
	user-select: none;
	pointer-events: none;
}

.mpo-week-meal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
	padding-top: 10px;
	position: relative;
	z-index: 3;
}

.mpo-week-meal__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	flex: 1 1 calc(50% - 4px);
	min-width: 0;
	padding: 8px 10px;
	border-radius: 10px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;
	cursor: pointer;
	border: 2px solid transparent !important;
	outline: none !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

.mpo-week-meal__action--diary {
	color: #166534;
	background: #f0fdf4;
	border-color: #bbf7d0 !important;
}

.mpo-week-meal__action--diary:hover {
	background: #dcfce7;
}

.mpo-week-meal__action--calc {
	color: #9a6700;
	background: #fff8e8;
	border-color: #fde68a !important;
}

.mpo-week-meal__action--calc:hover {
	background: #fef3c7;
}

.mpo-week-meal__action--locked {
	color: #64748b;
	background: #f8fafc;
	border-color: #e2e8f0 !important;
}

.mpo-week-meal__action--locked:hover {
	background: #f1f5f9;
}

.mpo-week-meal__action-icon {
	flex-shrink: 0;
	font-size: 12px;
	line-height: 1;
}

.mpo-week-meal__action-text {
	min-width: 0;
	overflow-wrap: anywhere;
}

/* 17.06.2026: узкая карточка приёма — кнопки столбиком — начало */
@container mpo-week-meal (max-width: 340px) {
	.mpo-week-meal__actions {
		flex-direction: column;
		gap: 6px;
	}

	.mpo-week-meal__action {
		flex: 1 1 auto;
		width: 100%;
	}
}
/* 17.06.2026: узкая карточка приёма — кнопки столбиком — конец */

.mpo-week-meal__action--diary:focus,
.mpo-week-meal__action--diary:active {
	outline: none !important;
	border-color: #bbf7d0 !important;
	box-shadow: none !important;
}

.mpo-week-meal__action--diary:focus-visible {
	outline: none !important;
	border-color: #86efac !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35) !important;
}

.mpo-week-meal__action--calc:focus,
.mpo-week-meal__action--calc:active {
	outline: none !important;
	border-color: #fde68a !important;
	box-shadow: none !important;
}

.mpo-week-meal__action--calc:focus-visible {
	outline: none !important;
	border-color: #fcd34d !important;
	box-shadow: 0 0 0 3px rgba(212, 167, 76, 0.35) !important;
}

.mpo-week-meal__action--locked:focus,
.mpo-week-meal__action--locked:active {
	outline: none !important;
	border-color: #e2e8f0 !important;
	box-shadow: none !important;
}

.mpo-week-meal__action--locked:focus-visible {
	outline: none !important;
	border-color: #cbd5e1 !important;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
}

.mpo-week-meal__action:focus:not(:focus-visible) {
	box-shadow: none !important;
}

/* 17.06.2026: превью недели на телефоне — одна колонка, кнопки, отступы — начало */
@media (max-width: 719px) {
	.mpo-week,
	.mpo-ds .mpo-week {
		padding: 16px 12px 18px;
		border-radius: 18px;
	}

	.mpo-week-day {
		padding: 12px 12px 10px;
	}

	.mpo-week-day__meals {
		grid-template-columns: minmax(0, 1fr);
	}

	.mpo-week-day__meals-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.mpo-week-meal {
		padding: 12px 14px 11px;
	}

	.mpo-week-meal__actions {
		flex-direction: column;
		gap: 6px;
	}

	.mpo-week-meal__action {
		flex: 1 1 auto;
		width: 100%;
		font-size: 14px;
		padding: 10px 12px;
	}

	.mpo-week__preview-info {
		padding: 12px 14px;
	}

	.mpo-week-day__head {
		flex-wrap: wrap;
		row-gap: 4px;
	}
}
/* 17.06.2026: превью недели на телефоне — одна колонка, кнопки, отступы — конец */

.mpo-week-day--locked .mpo-week-day__meals {
	position: relative;
}
/* 17.06.2026: кнопки «В дневник» / «В калькулятор» у приёма — конец */

.mpo-week-day__lock {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(248, 250, 252, 0.92));
	backdrop-filter: blur(7px);
	z-index: 2;
	pointer-events: none;
}

.mpo-week-day__lock-text {
	margin: 0;
	max-width: 26ch;
	text-align: center;
	font-size: 15px;
	line-height: 1.5;
	color: #475569;
}

.mpo-week__foot,
.mpo-week__preview-note,
.mpo-week__paid-note,
.mpo-week__refund-note {
	margin: 14px 0 0;
	font-size: 14px;
	line-height: 1.5;
	color: #64748b;
}

/* 17.06.2026: подпись после возврата оплаты — начало */
.mpo-week__refund-note {
	color: #92400e;
}
/* 17.06.2026: подпись после возврата оплаты — конец */

/* 17.06.2026: оплата внутри блока недели — начало */
.mpo-week .mpo-pay:not(.mpo-pay--in-preview) {
	position: relative;
	z-index: 2;
	width: 100%;
	margin-top: 12px;
	padding-top: 4px;
}
/* 17.06.2026: оплата внутри блока недели — конец */

/* 29.08.2026: стили PDF-кнопки удалены — начало/конец */

.mpo-pay__link {
	color: #0f766e;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.mpo-pay__link:hover {
	color: #115e59;
}
/* 13.06.2026: кнопка сборки и блок недели — премиальный стиль — конец */
/* 14.06.2026: кнопки страницы заказа меню — конец */

/* 14.06.2026: опрос — категории и плитки — конец */

/* 14.06.2026: опрос v2 — одна плитка на категорию — начало */
.mpo-categories {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mpo-category {
	display: block;
	margin: 0;
	cursor: pointer;
}

.mpo-category__input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.mpo-category__box {
	display: block;
	padding: 14px 16px;
	border: 1px solid #dbe3ec;
	border-radius: 14px;
	background: #f8fafc;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.mpo-category__title {
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: #334155;
	line-height: 1.35;
}

.mpo-category__hint {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	line-height: 1.45;
	color: #64748b;
}

.mpo-category:hover .mpo-category__box {
	border-color: #94a3b8;
	background: #fff;
}

.mpo-category__input:focus + .mpo-category__box {
	border-color: #94a3b8;
	box-shadow: none;
	outline: none;
}

.mpo-category__input:focus-visible + .mpo-category__box {
	border-color: #64748b;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18);
}

.mpo-category.is-checked .mpo-category__box,
.mpo-category__input:checked + .mpo-category__box {
	border-color: #86efac;
	background: #f0fdf4;
}

.mpo-category.is-checked .mpo-category__title,
.mpo-category__input:checked + .mpo-category__box .mpo-category__title {
	color: #166534;
}

.mpo-category.is-checked .mpo-category__hint,
.mpo-category__input:checked + .mpo-category__box .mpo-category__hint {
	color: #15803d;
}
/* 14.06.2026: опрос v2 — одна плитка на категорию — конец */

/* 14.06.2026: опрос v2.1 — аккордеон продуктов внутри категории — начало */
.mpo-accordion {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mpo-accordion__item {
	border: 1px solid #dbe3ec;
	border-radius: 14px;
	background: #f8fafc;
	overflow: hidden;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.mpo-accordion__item.is-checked {
	border-color: #86efac;
	background: #f0fdf4;
}

.mpo-accordion__item.is-partial {
	border-color: #86efac;
	background: #f7fef9;
}

.mpo-accordion__item.is-empty {
	border-color: #e2e8f0;
	background: #f1f5f9;
}

.mpo-accordion__item.is-expanded {
	border-color: #94a3b8;
	background: #fff;
}

.mpo-accordion__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	padding: 12px 12px 12px 14px;
}

.mpo-accordion__master {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	flex: 1 1 180px;
	min-width: 0;
	margin: 0;
	cursor: pointer;
}

/* 14.06.2026: кастомная галочка категории — indeterminate как маленький квадрат — начало */
.mpo-accordion__master-check {
	position: relative;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
}

.mpo-accordion__master-input {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 18px;
	height: 18px;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.mpo-accordion__master-frame {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border: 2px solid #94a3b8;
	border-radius: 4px;
	background: #fff;
	box-sizing: border-box;
	pointer-events: none;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.mpo-accordion__master-input:focus + .mpo-accordion__master-frame {
	border-color: #64748b;
	box-shadow: none;
}

.mpo-accordion__master-input:focus-visible + .mpo-accordion__master-frame {
	border-color: #64748b;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18);
}

.mpo-accordion__master-input:checked + .mpo-accordion__master-frame {
	border-color: #16a34a;
	background: #16a34a;
}

.mpo-accordion__master-input:checked + .mpo-accordion__master-frame::after {
	content: '';
	display: block;
	width: 5px;
	height: 9px;
	margin-top: -1px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(45deg);
	box-sizing: border-box;
}

.mpo-accordion__item.is-partial .mpo-accordion__master-frame {
	border-color: #22c55e;
	background: #fff;
}

.mpo-accordion__item.is-partial .mpo-accordion__master-frame::after {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	margin: 0;
	border: 0;
	border-radius: 2px;
	background: #22c55e;
	transform: none;
}

.mpo-accordion__item.is-empty .mpo-accordion__master-input + .mpo-accordion__master-frame {
	border-color: #cbd5e1;
	background: #fff;
}
/* 14.06.2026: кастомная галочка категории — indeterminate как маленький квадрат — конец */

.mpo-accordion__master-box {
	flex: 1 1 auto;
	min-width: 0;
}

.mpo-accordion__title {
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: #334155;
	line-height: 1.35;
}

.mpo-accordion__item.is-checked .mpo-accordion__title,
.mpo-accordion__item.is-partial .mpo-accordion__title {
	color: #166534;
}

.mpo-accordion__hint {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	line-height: 1.45;
	color: #64748b;
}

.mpo-accordion__counter {
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 700;
	color: #94a3b8;
	line-height: 1.3;
	white-space: nowrap;
}

.mpo-accordion__item.is-empty .mpo-accordion__counter {
	color: #64748b;
}

.mpo-accordion__toggle {
	flex: 0 0 auto;
	margin-left: auto;
	min-height: 40px;
	/* 17.06.2026: фикс. ширина — «Свернуть» как «Подробнее» */
	min-width: 7.5rem;
	text-align: center;
	padding: 8px 14px;
	border: 2px solid transparent !important;
	border-radius: 14px;
	background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
	color: #334155 !important;
	font-family: inherit;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.3;
	cursor: pointer;
	outline: none !important;
	box-shadow: 0 4px 12px rgba(51, 65, 85, 0.08);
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.mpo-accordion__toggle[aria-expanded="true"] {
	background: linear-gradient(135deg, #334155 0%, #0f766e 100%);
	color: #ffffff !important;
	box-shadow: 0 6px 16px rgba(15, 118, 110, 0.22);
}

.mpo-accordion__toggle:hover {
	filter: brightness(1.03);
	transform: translateY(-1px);
}

.mpo-accordion__toggle[aria-expanded="true"]:hover {
	border-color: transparent !important;
}

.mpo-accordion__toggle:focus,
.mpo-accordion__toggle:active {
	outline: none !important;
	box-shadow: 0 4px 12px rgba(51, 65, 85, 0.08) !important;
}

.mpo-accordion__toggle[aria-expanded="true"]:focus,
.mpo-accordion__toggle[aria-expanded="true"]:active {
	border-color: transparent !important;
}

.mpo-accordion__toggle:focus-visible {
	outline: none !important;
	border-color: #94a3b8 !important;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
}

.mpo-accordion__toggle[aria-expanded="true"]:focus-visible {
	border-color: rgba(255, 255, 255, 0.4) !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.28) !important;
}

.mpo-accordion__toggle:focus:not(:focus-visible) {
	box-shadow: 0 4px 12px rgba(51, 65, 85, 0.08) !important;
}

.mpo-accordion__panel {
	padding: 0 14px 14px;
	border-top: 1px solid #e2e8f0;
}

.mpo-accordion__products {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding-top: 12px;
}

.mpo-accordion__product {
	position: relative;
	display: block;
	margin: 0;
	cursor: pointer;
}

.mpo-accordion__product-input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.mpo-accordion__product-box {
	display: block;
	padding: 9px 12px;
	border: 1px solid #dbe3ec;
	border-radius: 10px;
	background: #fff;
	color: #334155;
	font-size: 16px;
	line-height: 1.35;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
	user-select: none;
}

.mpo-accordion__product:hover .mpo-accordion__product-box {
	border-color: #94a3b8;
}

.mpo-accordion__product-input:focus + .mpo-accordion__product-box {
	border-color: #94a3b8;
	box-shadow: none;
	outline: none;
}

.mpo-accordion__product-input:focus-visible + .mpo-accordion__product-box {
	border-color: #64748b;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18);
}

.mpo-accordion__product.is-checked .mpo-accordion__product-box,
.mpo-accordion__product-input:checked + .mpo-accordion__product-box {
	border-color: #86efac;
	background: #f0fdf4;
	color: #166534;
}

.mpo-accordion__product.is-checked .mpo-accordion__product-input:focus-visible + .mpo-accordion__product-box,
.mpo-accordion__product-input:checked:focus-visible + .mpo-accordion__product-box {
	border-color: #16a34a;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.22);
}

/* 03.07.2026: приглушение только у выбранного супа без ингредиентов — начало */
.mpo-accordion__product.is-soup-blocked .mpo-accordion__product-box {
	opacity: 0.55;
	color: #64748b;
}

.mpo-accordion__product.is-soup-blocked:not(.is-checked) .mpo-accordion__product-box {
	border-style: dashed;
}
/* 03.07.2026: было opacity на всех is-soup-blocked:not(.is-checked) при одном выбранном — конец */

/* 26.06.2026: супы — «шейк» блока при смене связанных групп — начало */
@keyframes mpo-soup-shake {
	0%,
	100% {
		transform: translateX(0);
	}
	25% {
		transform: translateX(-2px);
	}
	50% {
		transform: translateX(2px);
	}
	75% {
		transform: translateX(-1px);
	}
}

.mpo-accordion__item--supy.is-soup-shake {
	animation: mpo-soup-shake 0.55s ease-out;
}

@media (prefers-reduced-motion: reduce) {
	.mpo-accordion__item--supy.is-soup-shake {
		animation: none;
	}

	.mpo-accordion__item--supy.is-soup-shake .mpo-accordion__header {
		box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.35);
	}

	.mpo-accordion__product--soup.is-soup-pop .mpo-accordion__product-box {
		animation: none;
		box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.35);
	}
}

/* 26.06.2026: супы — «pop» строки при автогалке — начало */
@keyframes mpo-soup-pop {
	0%,
	100% {
		transform: scale(1);
	}

	45% {
		transform: scale(1.04);
	}
}

.mpo-accordion__product--soup.is-soup-pop .mpo-accordion__product-box {
	animation: mpo-soup-pop 0.45s ease-out;
}
/* 26.06.2026: супы — «pop» строки при автогалке — конец */
/* 26.06.2026: супы — «шейк» блока при смене связанных групп — конец */

/* 30.06.2026: напитки — приглушение, если ингредиенты ещё не включены — начало */
.mpo-accordion__product.is-drink-blocked .mpo-accordion__product-box {
	opacity: 0.55;
	color: #64748b;
}

.mpo-accordion__product.is-drink-blocked:not(.is-checked) .mpo-accordion__product-box {
	border-style: dashed;
}
/* 30.06.2026: напитки — приглушение, если ингредиенты ещё не включены — конец */

/* 30.06.2026: напитки — «шейк» блока при смене связанных групп — начало */
@keyframes mpo-drink-shake {
	0%,
	100% {
		transform: translateX(0);
	}

	25% {
		transform: translateX(-2px);
	}

	50% {
		transform: translateX(2px);
	}

	75% {
		transform: translateX(-1px);
	}
}

.mpo-accordion__item--napitki.is-drink-shake {
	animation: mpo-drink-shake 0.55s ease-out;
}

@media (prefers-reduced-motion: reduce) {
	.mpo-accordion__item--napitki.is-drink-shake {
		animation: none;
	}

	.mpo-accordion__item--napitki.is-drink-shake .mpo-accordion__header {
		box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.35);
	}

	.mpo-accordion__product--drink.is-drink-pop .mpo-accordion__product-box {
		animation: none;
		box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.35);
	}
}

/* 30.06.2026: напитки — «pop» строки при автогалке — начало */
@keyframes mpo-drink-pop {
	0%,
	100% {
		transform: scale(1);
	}

	45% {
		transform: scale(1.04);
	}
}

.mpo-accordion__product--drink.is-drink-pop .mpo-accordion__product-box {
	animation: mpo-drink-pop 0.45s ease-out;
}
/* 30.06.2026: напитки — «pop» строки при автогалке — конец */
/* 30.06.2026: напитки — «шейк» блока при смене связанных групп — конец */

/* 14.06.2026: опрос v2.1 — аккордеон продуктов внутри категории — конец */

@media (max-width: 520px) {
	.mpo-panel {
		padding: 16px 14px 18px;
		border-radius: 16px;
	}

	.mpo-plan__kcal {
		font-size: 24px;
	}

	.mpo-tile__box {
		font-size: 16px;
	}

	.mpo-accordion__header {
		padding: 10px 10px 10px 12px;
	}

	.mpo-accordion__master {
		flex: 1 1 100%;
	}

	.mpo-accordion__counter {
		flex: 1 1 auto;
		min-width: 0;
		white-space: normal;
	}

	.mpo-accordion__toggle {
		width: auto;
		margin-left: auto;
		flex: 0 0 auto;
	}
}

/* 17.06.2026: тёмный дашборд mpo-ds — карточки и pill-кнопки — начало */
/* 17.06.2026: фон #b7c7ffd1, заголовок и lead в тон — начало */
/* 17.06.2026: белая подложка без градиента — начало */
.mpo-page.mpo-ds {
	--mpo-ds-bg: #ffffff;
	--mpo-ds-card: #ffffff;
	--mpo-ds-accent: #e91e8c;
	--mpo-ds-accent-hi: #ff4dad;
	--mpo-ds-accent-deep: #c41472;
	--mpo-ds-accent-soft: rgba(233, 30, 140, 0.12);
	--mpo-ds-accent-ring: rgba(233, 30, 140, 0.35);
	--mpo-ds-mark: #3a9b8f;
	--mpo-ds-mark-deep: #2a7f75;
	--mpo-ds-mark-soft: rgba(58, 155, 143, 0.14);
	--mpo-ds-text: #1e293b;
	--mpo-ds-muted: #64748b;
	/* 17.06.2026: было 0 12px 32px rgba(71,85,150,0.14) — грязные тени; карточки без shadow */
	--mpo-ds-card-shadow: none;
	--mpo-ds-pill-shadow: 0 2px 8px rgba(233, 30, 140, 0.14);
	--mpo-ds-pdf-shadow: 0 2px 8px rgba(34, 197, 94, 0.14);
	/* 17.06.2026: было radial-gradient + #b7c7ffd1 → ровный белый фон */
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	padding: 0 0 48px;
	margin-bottom: 0;
	border-radius: 20px;
	background: #ffffff;
}
/* 17.06.2026: белая подложка без градиента — конец */

.mpo-ds .calorazh-page-title {
	color: var(--mpo-ds-text);
}

.mpo-ds .mpo-page__lead.calorazh-page-lead {
	color: var(--mpo-ds-muted);
}
/* 17.06.2026: фон #b7c7ffd1, заголовок и lead в тон — конец */

.mpo-ds .mpo-page__body {
	gap: 14px;
}

.mpo-ds .mpo-panel {
	background: var(--mpo-ds-card);
	border: 1px solid #e0e0e0;
	border-radius: 20px;
	padding: 22px 20px 24px;
	box-shadow: none;
}

.mpo-ds .mpo-panel__title {
	font-size: 1.12rem;
	font-weight: 900;
	color: #0f172a;
	letter-spacing: -0.01em;
}

.mpo-ds .mpo-panel__hint,
.mpo-ds .mpo-panel__text {
	color: #64748b;
}

/* 30.06.2026: быстрые ссылки в шапке опроса — розовый акцент — начало */
.mpo-ds .mpo-survey-quick__action {
	color: var(--mpo-ds-accent) !important;
	text-decoration-color: rgba(233, 30, 140, 0.35);
}

.mpo-ds .mpo-survey-quick__action:hover {
	color: var(--mpo-ds-accent-deep) !important;
	text-decoration-color: rgba(196, 20, 114, 0.55);
}

.mpo-ds .mpo-survey-quick__action:focus-visible {
	box-shadow: 0 0 0 3px var(--mpo-ds-accent-ring) !important;
}
/* 30.06.2026: быстрые ссылки в шапке опроса — розовый акцент — конец */

.mpo-ds .mpo-panel--warn {
	background: #fffbeb;
	border: 1px solid #fde68a;
	box-shadow: none;
}

.mpo-ds .mpo-ds-metric {
	position: relative;
	overflow: hidden;
}

/* 17.06.2026: розовое пятно на карточке плана — убрали — начало */
.mpo-ds .mpo-ds-metric::after {
	display: none;
}
/* 17.06.2026: розовое пятно на карточке плана — убрали — конец */

/* 17.06.2026: карточка плана — компактная рамка, не на всю ширину — начало */
.mpo-ds .mpo-panel.mpo-plan {
	width: fit-content;
	max-width: 100%;
	align-self: flex-start;
	padding: 16px 18px 18px;
	border-radius: 16px;
	border-color: #e8ebf2;
}

.mpo-ds .mpo-panel.mpo-plan .mpo-panel__title {
	margin-bottom: 6px;
}
/* 17.06.2026: карточка плана — компактная рамка, не на всю ширину — конец */

.mpo-ds .mpo-plan__source {
	color: #94a3b8;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

/* 01.07.2026: подпись источника плана — тихая ссылка, не розовый mpo-plan__link — начало */
/* 30.07.2026: было ссылка .mpo-plan__source-link → только надпись, стили ссылки оставлены безвредно */
.mpo-plan__source-link {
	color: inherit;
	font-weight: inherit;
	text-decoration: none;
	cursor: pointer;
}

.mpo-plan__source-link:hover {
	color: #64748b;
	text-decoration: underline;
	text-decoration-color: rgba(148, 163, 184, 0.75);
	text-underline-offset: 3px;
}

.mpo-plan__source-link:focus,
.mpo-plan__source-link:active {
	outline: none;
	color: inherit;
}

.mpo-plan__source-link:focus-visible {
	outline: none;
	color: #64748b;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18);
	border-radius: 2px;
}
/* 01.07.2026: подпись источника плана — тихая ссылка, не розовый mpo-plan__link — конец */

.mpo-ds .mpo-plan__kcal {
	font-size: 44px;
	font-weight: 900;
	color: var(--mpo-ds-accent);
	line-height: 1;
	letter-spacing: -0.02em;
}

.mpo-ds .mpo-plan__kcal-unit {
	font-size: 15px;
	font-weight: 800;
	color: var(--mpo-ds-accent-deep);
	margin-left: 6px;
}

/* 17.06.2026: БЖУ в карточке плана — чище, без розовой заливки — начало */
/* 17.06.2026: было pill с accent-soft — выглядело грязно */
.mpo-ds .mpo-plan__macros {
	display: block;
	margin: 10px 0 0;
	padding: 8px 0 0;
	border: 0;
	border-top: 1px solid rgba(233, 30, 140, 0.1);
	border-radius: 0;
	background: transparent;
	color: #94a3b8;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.01em;
}
/* 17.06.2026: БЖУ в карточке плана — чище, без розовой заливки — конец */

/* 30.07.2026: кнопка — нормы КБЖУ из профиля в план — начало */
.mpo-plan__apply-profile {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	/* 07.08.2026: было без gap → «плананормы»; потом gap+пробел в .gap → слишком широко */
	gap: 0 0.25em;
	margin: 12px 0 0;
	padding: 8px 12px;
	border: 1px solid #e2e8f0 !important;
	border-radius: 10px;
	background: #fff;
	color: #64748b;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
	cursor: pointer;
	outline: none !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

.mpo-plan__apply-profile:hover {
	border-color: #cbd5e1 !important;
	color: #475569;
	background: #f8fafc;
}

.mpo-plan__apply-profile:focus,
.mpo-plan__apply-profile:active {
	outline: none !important;
	border-color: #e2e8f0 !important;
	box-shadow: none !important;
}

.mpo-plan__apply-profile:focus-visible {
	outline: none !important;
	border-color: #cbd5e1 !important;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
}

.mpo-plan__apply-profile:focus:not(:focus-visible) {
	box-shadow: none !important;
}

/* 03.08.2026: на мобильном перенос после «плана» — начало */
.mpo-plan__apply-profile-line {
	white-space: nowrap;
}

.mpo-plan__apply-profile-gap {
	/* 07.08.2026: было пробел в HTML + gap → «много» места; отступ только через gap у кнопки */
	display: none;
}

@media (max-width: 640px) {
	.mpo-plan__apply-profile {
		flex-direction: column;
		align-items: center;
		/* 07.08.2026: было только row-gap → сброс column-gap от десктопа */
		gap: 2px 0;
	}

	.mpo-plan__apply-profile-gap {
		display: none;
	}
}
/* 03.08.2026: перенос после «плана» — конец */

.mpo-ds .mpo-plan__apply-profile {
	border-color: rgba(148, 163, 184, 0.45) !important;
	background: rgba(255, 255, 255, 0.72);
	color: #64748b;
}

.mpo-ds .mpo-plan__apply-profile:hover {
	border-color: rgba(100, 116, 139, 0.55) !important;
	background: #fff;
	color: #475569;
}

.mpo-ds .mpo-plan__apply-profile:focus,
.mpo-ds .mpo-plan__apply-profile:active {
	border-color: rgba(148, 163, 184, 0.45) !important;
}

.mpo-ds .mpo-plan__apply-profile:focus-visible {
	border-color: rgba(100, 116, 139, 0.55) !important;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
}

/* 11.08.2026: тихая ссылка под кнопкой норм — «Перейти в профиль» — начало */
.mpo-plan__to-profile {
	margin: 8px 0 0;
	padding: 0;
	text-align: left;
	font-size: 13px;
	line-height: 1.35;
}

a.mpo-plan__to-profile-link,
a.mpo-plan__to-profile-link:link,
a.mpo-plan__to-profile-link:visited {
	color: #94a3b8 !important;
	font-weight: 500;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(148, 163, 184, 0.45);
	transition: color 0.15s ease, border-color 0.15s ease;
}

a.mpo-plan__to-profile-link:hover,
a.mpo-plan__to-profile-link:focus,
a.mpo-plan__to-profile-link:active {
	color: #64748b !important;
	text-decoration: none !important;
	border-bottom-color: rgba(100, 116, 139, 0.65);
	outline: none !important;
}

a.mpo-plan__to-profile-link:focus-visible {
	color: #475569 !important;
	border-bottom-color: rgba(71, 85, 105, 0.75);
	box-shadow: none !important;
}
/* 11.08.2026: тихая ссылка под кнопкой норм — конец */
/* 30.07.2026: кнопка — нормы КБЖУ из профиля в план — конец */

/* 03.08.2026: отклик «нормы из профиля» — pulse цифр — начало */
@keyframes mpo-plan-targets-kcal-pulse {
	0% {
		transform: scale(1);
		color: var(--mpo-ds-accent, #ea50af);
	}
	40% {
		transform: scale(1.1);
		color: #ff4db8;
	}
	100% {
		transform: scale(1);
		color: var(--mpo-ds-accent, #ea50af);
	}
}

@keyframes mpo-plan-targets-macros-pulse {
	0% {
		transform: scale(1);
		color: #94a3b8;
	}
	40% {
		transform: scale(1.06);
		color: #475569;
	}
	100% {
		transform: scale(1);
		color: #94a3b8;
	}
}

.mpo-plan__kcal.is-targets-pulse {
	display: inline-block;
	transform-origin: left center;
	animation: mpo-plan-targets-kcal-pulse 0.38s ease-out;
	will-change: transform, color;
}

.mpo-plan__macros.is-targets-pulse {
	display: block;
	transform-origin: left center;
	animation: mpo-plan-targets-macros-pulse 0.38s ease-out;
	will-change: transform, color;
}

@media (prefers-reduced-motion: reduce) {
	.mpo-plan__kcal.is-targets-pulse,
	.mpo-plan__macros.is-targets-pulse {
		animation: none;
		transform: none;
	}

	.mpo-plan__kcal.is-targets-pulse {
		color: #ff4db8;
	}

	.mpo-plan__macros.is-targets-pulse {
		color: #475569;
	}
}
/* 03.08.2026: отклик «нормы из профиля» — pulse цифр — конец */

.mpo-ds .mpo-plan__link {
	color: var(--mpo-ds-accent);
}

.mpo-ds .mpo-plan__link:hover {
	color: var(--mpo-ds-accent-deep);
}

.mpo-ds .mpo-accordion {
	/* 17.06.2026: две категории в ряд — начало */
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	/* 17.06.2026: было start — карточки в ряду разной высоты → stretch */
	align-items: stretch;
}

/* 17.06.2026: было 720px → 1040px — на планшете одна колонка, карточка шире */
@media (min-width: 1040px) {
	.mpo-ds .mpo-accordion {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.mpo-ds .mpo-accordion__item {
	min-width: 0;
	position: relative;
	z-index: 1;
	overflow: visible;
	border: 1px solid #e8ebf2;
	border-radius: 16px;
	background: #ffffff;
	box-shadow: none;
	/* 17.06.2026: шапка на всю высоту ячейки сетки */
	display: flex;
	flex-direction: column;
	height: 100%;
	/* 17.06.2026: узкая карточка в сетке — шапка в две строки по ширине ячейки */
	container-type: inline-size;
	container-name: mpo-accordion-item;
}
/* 17.06.2026: две категории в ряд — конец */

/* 30.06.2026: карточки с выбором — розовая подсветка; счётчик остаётся серым — начало */
.mpo-ds .mpo-accordion__item.is-checked,
.mpo-ds .mpo-accordion__item.is-partial {
	border-color: rgba(233, 30, 140, 0.14);
	background: #fdf8fb;
	box-shadow: none;
}
/* 30.06.2026: карточки с выбором — розовая подсветка; счётчик остаётся серым — конец */

.mpo-ds .mpo-accordion__item.is-empty {
	background: #f1f5f9;
}

/* 17.06.2026: панель «Подробнее» — поверх сетки, соседи не сдвигаются — начало */
.mpo-ds .mpo-panel--survey {
	overflow: visible;
}

.mpo-ds .mpo-accordion {
	overflow: visible;
}

.mpo-ds .mpo-accordion__item.is-expanded {
	z-index: 40;
	border-color: #dbe3ec;
	/* 17.06.2026: было box-shadow 0 8px 22px — грязная тень у карточки */
	box-shadow: none;
}

/* 30.06.2026: было background #fff при раскрытии → снимало розовую подсветку у выбранных — начало */
.mpo-ds .mpo-accordion__item.is-expanded:not(.is-checked):not(.is-partial) {
	background: #ffffff;
}

.mpo-ds .mpo-accordion__item.is-expanded.is-checked,
.mpo-ds .mpo-accordion__item.is-expanded.is-partial {
	background: #fdf8fb;
	border-color: rgba(233, 30, 140, 0.2);
}
/* 30.06.2026: было background #fff при раскрытии → снимало розовую подсветку у выбранных — конец */

.mpo-ds .mpo-accordion__panel {
	padding: 0;
	border-top: 0;
}

.mpo-ds .mpo-accordion__item.is-expanded .mpo-accordion__panel {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	z-index: 50;
	padding: 12px 14px 14px;
	border: 1px solid #e8ebf2;
	border-radius: 16px;
	background: #ffffff;
	/* 17.06.2026: было box-shadow 0 14px 36px — грязная тень у списка продуктов */
	box-shadow: none;
	max-height: min(380px, 52vh);
	overflow-x: hidden;
	overflow-y: auto;
	/* 17.06.2026: было без gutter — появление скролла сужало ряд чипов */
	scrollbar-gutter: stable;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: #cbd5e1 #f8fafc;
}

/* 17.06.2026: светлый скроллбар в панели продуктов — начало */
/* 17.06.2026: было системный тёмный — тонкий светло-серый thumb */
.mpo-ds .mpo-accordion__item.is-expanded .mpo-accordion__panel::-webkit-scrollbar {
	width: 8px;
}

.mpo-ds .mpo-accordion__item.is-expanded .mpo-accordion__panel::-webkit-scrollbar-track {
	background: #f8fafc;
	border-radius: 999px;
}

.mpo-ds .mpo-accordion__item.is-expanded .mpo-accordion__panel::-webkit-scrollbar-thumb {
	border: 2px solid #f8fafc;
	border-radius: 999px;
	background: #dbe3ec;
}

.mpo-ds .mpo-accordion__item.is-expanded .mpo-accordion__panel::-webkit-scrollbar-thumb:hover {
	background: #cbd5e1;
}
/* 17.06.2026: светлый скроллбар в панели продуктов — конец */

.mpo-ds .mpo-accordion__item.is-expanded .mpo-accordion__products {
	padding-top: 0;
}
/* 17.06.2026: панель «Подробнее» — поверх сетки — конец */

/* 17.06.2026: шапка аккордеона — счётчик слева от «Подробнее» — начало */
/* 17.06.2026: было flex-wrap — при смене счётчика шапка росла, панель съезжала */
.mpo-ds .mpo-accordion__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	grid-template-rows: auto;
	align-items: start;
	gap: 8px 10px;
	padding: 14px 14px 14px 16px;
	flex: 1 1 auto;
}

.mpo-ds .mpo-accordion__master {
	grid-column: 1;
	grid-row: 1;
	flex: none;
	min-width: 0;
	width: auto;
}

/* 17.06.2026: одинаковая высота блока заголовка — резерв под 3 строки подсказки — начало */
.mpo-ds .mpo-accordion__master-box {
	min-height: calc(1.35em + 4px + 1.45em * 3);
}
/* 17.06.2026: одинаковая высота блока заголовка — конец */

.mpo-ds .mpo-accordion__counter {
	grid-column: 2;
	grid-row: 1;
	flex: none;
	margin: 0;
	align-self: center;
	min-width: 7rem;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	color: #94a3b8;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.mpo-ds .mpo-accordion__counter.is-hidden {
	display: none;
}

.mpo-ds .mpo-accordion__item.is-partial .mpo-accordion__counter,
.mpo-ds .mpo-accordion__item.is-empty .mpo-accordion__counter {
	color: #94a3b8;
}

.mpo-ds .mpo-accordion__header:has(.mpo-accordion__counter.is-hidden) .mpo-accordion__toggle {
	grid-column: 2 / 4;
	justify-self: end;
}
/* 17.06.2026: шапка аккордеона — счётчик слева от «Подробнее» — конец */

/* 17.06.2026: шапка аккордеона на телефоне — две строки, без налезания текста — начало */
/* 17.06.2026: было max-width 560px → до 1039px и container при узкой ячейке */
@media (max-width: 1039px) {
	.mpo-ds .mpo-accordion__header {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: auto auto;
		gap: 10px 8px;
		padding: 12px 12px 12px 14px;
	}

	.mpo-ds .mpo-accordion__master {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.mpo-ds .mpo-accordion__master-box {
		min-height: 0;
	}

	.mpo-ds .mpo-accordion__hint {
		overflow-wrap: anywhere;
	}

	.mpo-ds .mpo-accordion__counter {
		grid-column: 1;
		grid-row: 2;
		align-self: center;
		justify-self: start;
		min-width: 0;
		max-width: 100%;
		white-space: normal;
		text-align: left;
	}

	.mpo-ds .mpo-accordion__toggle {
		grid-column: 2;
		grid-row: 2;
		align-self: center;
		justify-self: end;
	}

	.mpo-ds .mpo-accordion__header:has(.mpo-accordion__counter.is-hidden) .mpo-accordion__toggle {
		grid-column: 1 / -1;
		justify-self: stretch;
		width: 100%;
	}

	.mpo-ds .mpo-panel {
		padding: 16px 12px 18px;
	}
}

@container mpo-accordion-item (max-width: 520px) {
	.mpo-ds .mpo-accordion__header {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: auto auto;
		gap: 10px 8px;
	}

	.mpo-ds .mpo-accordion__master {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.mpo-ds .mpo-accordion__master-box {
		min-height: 0;
	}

	.mpo-ds .mpo-accordion__hint {
		overflow-wrap: anywhere;
	}

	.mpo-ds .mpo-accordion__counter {
		grid-column: 1;
		grid-row: 2;
		align-self: center;
		justify-self: start;
		min-width: 0;
		max-width: 100%;
		white-space: normal;
		text-align: left;
	}

	.mpo-ds .mpo-accordion__toggle {
		grid-column: 2;
		grid-row: 2;
		align-self: center;
		justify-self: end;
	}

	.mpo-ds .mpo-accordion__header:has(.mpo-accordion__counter.is-hidden) .mpo-accordion__toggle {
		grid-column: 1 / -1;
		justify-self: stretch;
		width: 100%;
	}
}
/* 17.06.2026: шапка аккордеона на телефоне — две строки, без налезания текста — конец */

/* 17.06.2026: опрос — спокойное выделение розовым, текст как на серых карточках — начало */
.mpo-ds .mpo-accordion__title {
	color: #1e293b;
	font-weight: 800;
}

.mpo-ds .mpo-accordion__item.is-checked .mpo-accordion__title,
.mpo-ds .mpo-accordion__item.is-partial .mpo-accordion__title {
	color: #1e293b;
}

.mpo-ds .mpo-accordion__hint {
	color: #64748b;
}

/* 17.06.2026: галочки категорий — зелёный акцент — начало */
.mpo-ds .mpo-accordion__master-check {
	width: 20px;
	height: 20px;
	margin-top: 1px;
}

.mpo-ds .mpo-accordion__master-input {
	width: 20px;
	height: 20px;
}

.mpo-ds .mpo-accordion__master-frame {
	width: 20px;
	height: 20px;
	border-radius: 6px;
	border-width: 2px;
	border-color: #cbd5e1;
	background: #ffffff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
	transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.mpo-ds .mpo-accordion__master:hover .mpo-accordion__master-frame {
	border-color: #94a3b8;
}

.mpo-ds .mpo-accordion__master-input:checked + .mpo-accordion__master-frame {
	border-color: #16a34a;
	background: linear-gradient(135deg, #34d399 0%, #22c55e 52%, #16a34a 100%);
	box-shadow: 0 2px 8px rgba(34, 197, 94, 0.28);
}

.mpo-ds .mpo-accordion__master-input:checked + .mpo-accordion__master-frame::after {
	width: 5px;
	height: 9px;
	margin-top: -1px;
	border-right-width: 2px;
	border-bottom-width: 2px;
}

.mpo-ds .mpo-accordion__item.is-partial .mpo-accordion__master-frame {
	border-color: #22c55e;
	background: #ffffff;
}

.mpo-ds .mpo-accordion__item.is-partial .mpo-accordion__master-frame::after {
	width: 8px;
	height: 8px;
	border-radius: 2px;
	background: #22c55e;
}

.mpo-ds .mpo-accordion__master-input:focus-visible + .mpo-accordion__master-frame {
	border-color: #64748b;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.2);
}
/* 17.06.2026: галочки категорий — зелёный акцент — конец */
/* 17.06.2026: опрос — спокойное выделение, текст как на серых карточках — конец */

/* 17.06.2026: «Подробнее» / «Свернуть» — плоская кнопка без теней — начало */
.mpo-ds .mpo-accordion__toggle {
	grid-column: 3;
	grid-row: 1;
	flex: 0 0 auto;
	margin-left: 0;
	align-self: center;
	min-height: 34px;
	/* 17.06.2026: фикс. ширина — «Свернуть» как «Подробнее» */
	min-width: 7.25rem;
	text-align: center;
	padding: 6px 14px;
	border-radius: 999px;
	background: #ffffff !important;
	color: #475569 !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: none !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	transform: none !important;
	filter: none !important;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.mpo-ds .mpo-accordion__toggle:hover {
	background: #f8fafc !important;
	border-color: #cbd5e1 !important;
	color: #334155 !important;
	transform: none !important;
	filter: none !important;
	box-shadow: none !important;
}

.mpo-ds .mpo-accordion__toggle[aria-expanded="true"] {
	background: #f8fafc !important;
	color: #334155 !important;
	border-color: #dbe3ec !important;
	box-shadow: none !important;
}

.mpo-ds .mpo-accordion__toggle[aria-expanded="true"]:hover {
	background: #f1f5f9 !important;
	border-color: #cbd5e1 !important;
	filter: none !important;
	transform: none !important;
	box-shadow: none !important;
}

.mpo-ds .mpo-accordion__toggle:focus,
.mpo-ds .mpo-accordion__toggle:active {
	outline: none !important;
	border-color: #cbd5e1 !important;
	box-shadow: none !important;
	transform: none !important;
}

.mpo-ds .mpo-accordion__toggle[aria-expanded="true"]:focus,
.mpo-ds .mpo-accordion__toggle[aria-expanded="true"]:active {
	border-color: #dbe3ec !important;
	box-shadow: none !important;
}
/* 17.06.2026: «Подробнее» / «Свернуть» — плоская кнопка без теней — конец */

.mpo-ds .mpo-accordion__toggle:focus-visible {
	border: 1px solid #cbd5e1 !important;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
}

.mpo-ds .mpo-accordion__toggle[aria-expanded="true"]:focus-visible {
	border-color: #cbd5e1 !important;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
}

.mpo-ds .mpo-accordion__toggle:focus:not(:focus-visible) {
	box-shadow: none !important;
}

/* 17.06.2026: чипы продуктов — без заливки, зелёная галочка при выборе — начало */
/* 17.06.2026: было border у чипа — всё сливалось → только checkbox + текст */
.mpo-ds .mpo-accordion__products {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
	gap: 8px 14px;
}

.mpo-ds .mpo-accordion__product {
	display: inline-flex;
	align-items: flex-start;
	vertical-align: top;
}

.mpo-ds .mpo-accordion__product-box {
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
	min-height: 20px;
	padding: 2px 4px 2px 0;
	border: none !important;
	border-radius: 8px;
	background: transparent !important;
	color: #475569;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	box-shadow: none !important;
	transition: color 0.15s ease;
}

.mpo-ds .mpo-accordion__product-label {
	flex: 1 1 auto;
	min-width: 0;
}

/* 17.06.2026: чипы продуктов — зелёный акцент галочек — начало */
.mpo-ds .mpo-accordion__product-box::before {
	content: '';
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	min-width: 18px;
	min-height: 18px;
	margin-top: 1px;
	border: 2px solid #cbd5e1;
	border-radius: 5px;
	background: #ffffff;
	box-sizing: border-box;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
	transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
}

.mpo-ds .mpo-accordion__product:hover .mpo-accordion__product-box::before {
	border-color: #94a3b8;
}

.mpo-ds .mpo-accordion__product.is-checked .mpo-accordion__product-box::before,
.mpo-ds .mpo-accordion__product-input:checked + .mpo-accordion__product-box::before {
	content: '✓';
	border-color: #16a34a;
	background: linear-gradient(135deg, #34d399 0%, #22c55e 52%, #16a34a 100%);
	color: #ffffff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	box-shadow: 0 2px 6px rgba(34, 197, 94, 0.24);
}
/* 17.06.2026: чипы продуктов — зелёный акцент галочек — конец */

.mpo-ds .mpo-accordion__product:hover .mpo-accordion__product-box {
	background: #f8fafc !important;
	color: #334155;
}

.mpo-ds .mpo-accordion__product-input:not(:checked) + .mpo-accordion__product-box {
	border: none !important;
	background: transparent !important;
	color: #64748b !important;
	font-weight: 500;
}

.mpo-ds .mpo-accordion__product-input:focus + .mpo-accordion__product-box {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

.mpo-ds .mpo-accordion__product-input:not(:checked):focus-visible + .mpo-accordion__product-box {
	background: transparent !important;
	border: none !important;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
}

.mpo-ds .mpo-accordion__product.is-checked .mpo-accordion__product-box,
.mpo-ds .mpo-accordion__product-input:checked + .mpo-accordion__product-box {
	border: none !important;
	background: transparent !important;
	color: #1e293b !important;
	font-weight: 500;
	box-shadow: none !important;
}

.mpo-ds .mpo-accordion__product.is-checked:hover .mpo-accordion__product-box,
.mpo-ds .mpo-accordion__product-input:checked:hover + .mpo-accordion__product-box {
	background: #f8fafc !important;
	color: #0f172a !important;
}

.mpo-ds .mpo-accordion__product.is-checked .mpo-accordion__product-input:focus + .mpo-accordion__product-box,
.mpo-ds .mpo-accordion__product-input:checked:focus + .mpo-accordion__product-box {
	border: none !important;
	box-shadow: none !important;
}

.mpo-ds .mpo-accordion__product.is-checked .mpo-accordion__product-input:focus-visible + .mpo-accordion__product-box,
.mpo-ds .mpo-accordion__product-input:checked:focus-visible + .mpo-accordion__product-box {
	background: transparent !important;
	border: none !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.22) !important;
}
/* 17.06.2026: чипы продуктов — без заливки, зелёная галочка при выборе — конец */

.mpo-ds .mpo-category.is-checked .mpo-category__box,
.mpo-ds .mpo-category__input:checked + .mpo-category__box {
	border-color: rgba(233, 30, 140, 0.14);
	background: #fdf8fb;
}

.mpo-ds .mpo-category.is-checked .mpo-category__title,
.mpo-ds .mpo-category__input:checked + .mpo-category__box .mpo-category__title {
	color: #1e293b;
}

.mpo-ds .mpo-tile.is-checked .mpo-tile__box,
.mpo-ds .mpo-tile__input:checked + .mpo-tile__box {
	border-color: rgba(233, 30, 140, 0.14);
	background: #fdf8fb;
	color: #1e293b;
}

/* 27.08.2026: было без png-mail → круглая + width 100% и дыра в toolbar — начало */
.mpo-ds .mpo-btn:not(.mpo-btn--create-plan):not(.mpo-btn--week-diary):not(.mpo-btn--png-mail) {
	border-radius: 999px;
	overflow: hidden;
	width: 100%;
	max-width: var(--mpo-btn-max-width, 540px);
	margin-left: auto;
	margin-right: auto;
	padding: 16px 24px;
}
/* 27.08.2026: exclude png-mail из pill CTA — конец */

/* 17.06.2026: подпись lead + meta на розовых CTA — начало */
.mpo-ds .mpo-btn--generate .mpo-btn__lead,
.mpo-ds .mpo-btn--generate .mpo-btn__meta,
.mpo-ds .mpo-btn--pay .mpo-btn__lead,
.mpo-ds .mpo-btn--pay .mpo-btn__meta,
.mpo-ds .mpo-btn--primary .mpo-btn__lead,
.mpo-ds .mpo-btn--primary .mpo-btn__meta {
	color: #ffffff !important;
	max-width: 100%;
	white-space: normal;
	text-align: center;
}

.mpo-ds .mpo-btn--generate .mpo-btn__meta,
.mpo-ds .mpo-btn--pay .mpo-btn__meta,
.mpo-ds .mpo-btn--primary .mpo-btn__meta {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.92) !important;
}

/* 17.06.2026: meta на «Собрать меню» — тише lead, иерархия — начало */
.mpo-ds .mpo-btn--generate .mpo-btn__lead {
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
}

.mpo-ds .mpo-btn--generate .mpo-btn__meta {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.78) !important;
}
/* 17.06.2026: meta на «Собрать меню» — тише lead — конец */

.mpo-ds .mpo-btn--regen .mpo-btn__lead,
.mpo-ds .mpo-btn--regen .mpo-btn__meta {
	max-width: 100%;
	white-space: normal;
	text-align: center;
}
/* 17.06.2026: подпись lead + meta на розовых CTA — конец */

/* 26.06.2026: «Создать новый план» — зелёная, не розовая; ширина по тексту, справа — начало */
.mpo-ds .mpo-actions .mpo-btn--create-plan {
	flex-direction: row;
	align-self: flex-end;
	margin-left: auto;
	margin-right: 0;
	width: fit-content !important;
	max-width: calc(100% - 32px) !important;
	padding: 12px 14px 12px 28px !important;
	gap: 12px;
	border: 2px solid #22c55e !important;
	background: #22c55e !important;
	background-image: none !important;
	color: #fff !important;
	box-shadow: none !important;
}

.mpo-ds .mpo-actions .mpo-btn--create-plan:hover,
.mpo-ds .mpo-actions .mpo-btn--create-plan:focus,
.mpo-ds .mpo-actions .mpo-btn--create-plan:active {
	border-color: #22c55e !important;
	background: #22c55e !important;
	background-image: none !important;
	box-shadow: none !important;
}

.mpo-ds .mpo-actions .mpo-btn--create-plan:focus-visible {
	border-color: #22c55e !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35) !important;
}

.mpo-ds .mpo-actions .mpo-btn--create-plan:focus:not(:focus-visible) {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: none !important;
	background: #22c55e !important;
}

.mpo-ds .mpo-actions .mpo-btn--create-plan .mpo-btn__lead {
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}
/* 26.06.2026: «Создать новый план» — зелёная, не розовая; ширина по тексту, справа — конец */

.mpo-ds .mpo-btn--generate,
.mpo-ds .mpo-btn--pay,
.mpo-ds .mpo-btn--primary {
	border: none !important;
	background-color: var(--mpo-ds-accent);
	background-image: linear-gradient(135deg, var(--mpo-ds-accent-hi) 0%, var(--mpo-ds-accent) 52%, var(--mpo-ds-accent-deep) 100%);
	color: #ffffff !important;
	box-shadow: var(--mpo-ds-pill-shadow);
}

.mpo-ds .mpo-btn--generate:hover,
.mpo-ds .mpo-btn--pay:hover,
.mpo-ds .mpo-btn--primary:hover {
	filter: brightness(1.05);
	box-shadow: 0 4px 12px rgba(233, 30, 140, 0.18);
}

.mpo-ds .mpo-btn--generate:focus,
.mpo-ds .mpo-btn--generate:active,
.mpo-ds .mpo-btn--pay:focus,
.mpo-ds .mpo-btn--pay:active,
.mpo-ds .mpo-btn--primary:focus,
.mpo-ds .mpo-btn--primary:active {
	border: none !important;
	box-shadow: var(--mpo-ds-pill-shadow) !important;
}

.mpo-ds .mpo-btn--generate:focus-visible,
.mpo-ds .mpo-btn--pay:focus-visible,
.mpo-ds .mpo-btn--primary:focus-visible {
	border: none !important;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.4), 0 0 0 6px var(--mpo-ds-accent-ring), var(--mpo-ds-pill-shadow) !important;
}

/* 17.06.2026: спиннер на розовой кнопке «Собираем меню…» — начало */
/* 17.06.2026: та же высота, что у «Собрать меню» — без лишнего padding */
.mpo-ds .mpo-btn.mpo-btn--generate.is-loading {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 4.75rem;
	opacity: 1;
	filter: brightness(0.98);
	pointer-events: none;
}

.mpo-ds .mpo-btn--generate.is-loading .mpo-btn__loader {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr) 24px;
	grid-template-rows: 1.25em 1.45em;
	column-gap: 12px;
	row-gap: 2px;
	width: fit-content;
	max-width: calc(100% - 16px);
	margin-inline: auto;
	flex: 0 0 auto;
	align-items: center;
	justify-items: center;
}

.mpo-ds .mpo-btn--generate.is-loading .mpo-btn__spinner {
	display: block;
	position: static;
	grid-column: 1;
	grid-row: 1 / span 2;
	align-self: center;
	justify-self: center;
	margin-top: 0;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	border-width: 3px;
	border-color: rgba(255, 255, 255, 0.42);
	border-top-color: #ffffff;
}

.mpo-ds .mpo-btn--generate.is-loading .mpo-btn__copy {
	display: contents;
}

.mpo-ds .mpo-btn--generate.is-loading .mpo-btn__lead {
	grid-column: 2;
	grid-row: 1;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
	white-space: nowrap;
	width: 100%;
	max-width: min(22rem, calc(100vw - 7rem));
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: center !important;
	color: #ffffff !important;
}

.mpo-ds .mpo-btn--generate.is-loading .mpo-btn__meta {
	grid-column: 2;
	grid-row: 2;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
	display: block;
	width: 100%;
	max-width: min(22rem, calc(100vw - 7rem));
	height: 1.45em;
	min-height: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: center !important;
	color: rgba(255, 255, 255, 0.78) !important;
}
/* 17.06.2026: спиннер на розовой кнопке «Собираем меню…» — конец */

/* 29.08.2026: .mpo-ds PDF-кнопка удалена — начало/конец */

.mpo-ds .mpo-btn--ghost {
	background: rgba(255, 255, 255, 0.55) !important;
	color: var(--mpo-ds-text) !important;
	border: 2px solid rgba(42, 50, 96, 0.18) !important;
	box-shadow: none;
}

.mpo-ds .mpo-btn--ghost .mpo-btn__meta {
	color: var(--mpo-ds-muted);
}

.mpo-ds .mpo-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.72) !important;
	border-color: rgba(42, 50, 96, 0.28) !important;
}

.mpo-ds .mpo-btn--ghost:focus-visible {
	border-color: rgba(42, 50, 96, 0.35) !important;
	box-shadow: 0 0 0 3px rgba(183, 199, 255, 0.55) !important;
}

.mpo-ds .mpo-btn--regen {
	background: #ffffff;
	color: var(--mpo-ds-accent-deep) !important;
	border: 2px solid rgba(233, 30, 140, 0.35) !important;
	box-shadow: none;
}

.mpo-ds .mpo-gen-loader {
	background: #fff5fa;
	border: 1px solid rgba(233, 30, 140, 0.2);
	border-radius: 16px;
}

.mpo-ds .mpo-gen-loader__spinner {
	border-color: #fce7f3;
	border-top-color: var(--mpo-ds-accent);
}

.mpo-ds .mpo-gen-loader__text {
	color: #9d174d;
}

.mpo-ds .mpo-week {
	margin-top: 0;
	padding: 22px 20px 20px;
	border: 1px solid #e0e0e0;
	border-radius: 20px;
	background: var(--mpo-ds-card);
	box-shadow: none;
}

.mpo-ds .mpo-week__glow {
	display: none;
}

.mpo-ds .mpo-week__eyebrow {
	color: var(--mpo-ds-accent);
	letter-spacing: 0.1em;
}

.mpo-ds .mpo-week__title {
	color: #0f172a;
	font-weight: 900;
}

.mpo-ds .mpo-week__lead {
	color: #64748b;
}

.mpo-ds .mpo-week-day {
	border: 1px solid #e8ebf2;
	border-radius: 16px;
	background: #f8fafc;
	box-shadow: none;
}

/* 30.06.2026: toolbar «Создать новый план» — как .mpo-ds .mpo-week-day — начало */
.mpo-ds .mpo-week__toolbar .mpo-btn--create-plan,
.mpo-ds .mpo-week__toolbar .mpo-btn--week-diary,
.mpo-ds .mpo-week__toolbar .mpo-btn--png-mail {
	border-radius: 16px !important;
	backdrop-filter: none;
	width: fit-content !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 12px 14px 12px 22px !important;
	flex: 0 0 auto;
}

.mpo-ds .mpo-week__toolbar .mpo-btn--create-plan {
	border-color: #e8ebf2 !important;
	background: #f8fafc !important;
}

/* 01.07.2026: toolbar «Дневник» — тихий зелёный в дашборде — начало */
.mpo-ds .mpo-week__toolbar .mpo-btn--week-diary {
	border-color: #d5e6dc !important;
	background: #f3faf6 !important;
}

/* 27.08.2026: toolbar PNG — ярче, квадрат как соседние — начало */
.mpo-ds .mpo-week__toolbar .mpo-btn--png-mail {
	border-color: #86efac !important;
	background: #dcfce7 !important;
	color: #15803d !important;
	/* 27.08.2026: было space-between → текст слева; как «Создать новый план» */
	justify-content: center !important;
	min-width: 0 !important;
	width: 13.6rem !important;
}

.mpo-ds .mpo-week__toolbar .mpo-btn--png-mail:hover,
.mpo-ds .mpo-week__toolbar .mpo-btn--png-mail:focus,
.mpo-ds .mpo-week__toolbar .mpo-btn--png-mail:active,
.mpo-ds .mpo-week__toolbar .mpo-btn--png-mail:focus:not(:focus-visible) {
	border-color: #4ade80 !important;
	background: #bbf7d0 !important;
	color: #166534 !important;
}

.mpo-ds .mpo-week__toolbar .mpo-btn--png-mail:focus-visible {
	border-color: #4ade80 !important;
	background: #bbf7d0 !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.28) !important;
	color: #166534 !important;
}
/* 27.08.2026: toolbar PNG — ярче, квадрат как соседние — конец */

.mpo-ds .mpo-week__toolbar .mpo-btn--create-plan:hover,
.mpo-ds .mpo-week__toolbar .mpo-btn--create-plan:focus,
.mpo-ds .mpo-week__toolbar .mpo-btn--create-plan:active,
.mpo-ds .mpo-week__toolbar .mpo-btn--create-plan:focus:not(:focus-visible) {
	border-color: #e8ebf2 !important;
	background: #f8fafc !important;
}

.mpo-ds .mpo-week__toolbar .mpo-btn--week-diary:hover,
.mpo-ds .mpo-week__toolbar .mpo-btn--week-diary:focus,
.mpo-ds .mpo-week__toolbar .mpo-btn--week-diary:active,
.mpo-ds .mpo-week__toolbar .mpo-btn--week-diary:focus:not(:focus-visible) {
	border-color: #c9ddd2 !important;
	background: #ebf5ef !important;
}

.mpo-ds .mpo-week__toolbar .mpo-btn--create-plan:focus-visible {
	border-color: #e8ebf2 !important;
	background: #f1f5f9 !important;
}

.mpo-ds .mpo-week__toolbar .mpo-btn--week-diary:focus-visible {
	border-color: #c9ddd2 !important;
	background: #ebf5ef !important;
}
/* 01.07.2026: toolbar «Дневник» — тихий зелёный в дашборде — конец */
/* 30.06.2026: toolbar «Создать новый план» — как .mpo-ds .mpo-week-day — конец */

.mpo-ds .mpo-week-day--preview {
	border: 2px solid rgba(233, 30, 140, 0.28);
	box-shadow: none;
	background: #fff5fa;
}

.mpo-ds .mpo-week-day__kcal {
	color: var(--mpo-ds-accent);
}

.mpo-ds .mpo-week-day__chevron {
	color: #94a3b8;
}

.mpo-ds .mpo-week-day.is-expanded .mpo-week-day__chevron,
.mpo-ds .mpo-week-day__head:hover .mpo-week-day__chevron {
	color: #64748b;
}

.mpo-ds .mpo-week-meal {
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	background: #ffffff;
	border: 1px solid #eceff5;
	border-radius: 14px;
}

.mpo-ds .mpo-week-meal__action--diary {
	color: #166534;
	background: #f0fdf4;
}

.mpo-ds .mpo-week-meal__action--calc {
	color: #9a6700;
	background: #fff8e8;
}

.mpo-ds .mpo-week-meal__action--locked {
	color: #64748b;
	background: #f8fafc;
}

.mpo-ds .mpo-week-meal__slot {
	color: var(--mpo-ds-accent-deep);
}

.mpo-ds .mpo-week__foot,
.mpo-ds .mpo-week__preview-note,
.mpo-ds .mpo-week__paid-note {
	color: #64748b;
}

.mpo-ds .mpo-pay__note,
.mpo-ds .mpo-pay__consent {
	color: var(--mpo-ds-muted);
}

.mpo-ds .mpo-pay__link {
	color: var(--mpo-ds-accent-hi);
}

/* 17.06.2026: статус над кнопкой — карточка, не оранжевая строка — начало */
.mpo-ds .mpo-save:not(:empty) {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: var(--mpo-btn-max-width, 540px);
	margin: 0 auto 14px;
	padding: 14px 18px;
	border-radius: 14px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.55;
	text-align: center;
}

.mpo-ds .mpo-save--warn,
.mpo-ds .mpo-save--error {
	color: #7c2d12;
	background: #fff7ed;
	border: 1px solid #fed7aa;
}

.mpo-ds .mpo-save--pending {
	color: #475569;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
}

.mpo-ds .mpo-save--ok {
	color: #9f1239;
	background: rgba(233, 30, 140, 0.08);
	border: 1px solid rgba(233, 30, 140, 0.22);
}
/* 17.06.2026: статус оплаты у кнопки — дашборд — начало */
.mpo-ds .mpo-pay__status:not(:empty) {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: var(--mpo-btn-max-width, 540px);
	margin: 0 auto 10px;
	padding: 12px 16px;
	border-radius: 14px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.55;
	text-align: center;
}

.mpo-ds .mpo-pay__status--warn,
.mpo-ds .mpo-pay__status--error {
	color: #7c2d12;
	background: #fff7ed;
	border: 1px solid #fed7aa;
}

.mpo-ds .mpo-pay__status--pending {
	color: #475569;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
}

.mpo-ds .mpo-pay__status--ok {
	color: #9f1239;
	background: rgba(233, 30, 140, 0.08);
	border: 1px solid rgba(233, 30, 140, 0.22);
}
/* 17.06.2026: статус оплаты у кнопки — дашборд — конец */
/* 17.06.2026: статус над кнопкой — карточка, не оранжевая строка — конец */

@media (max-width: 520px) {
	.mpo-page.mpo-ds {
		padding: 0 0 40px;
		border-radius: 16px;
	}

	.mpo-ds .mpo-plan__kcal {
		font-size: 34px;
	}
}
/* 17.06.2026: тёмный дашборд mpo-ds — карточки и pill-кнопки — конец */

/* 26.06.2026: модалка «нужен план калорий» — ссылки на прогноз и профиль — начало */
.mpo-plan-needed-modal {
	position: fixed;
	inset: 0;
	z-index: 260001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 16px;
	visibility: hidden;
	pointer-events: none;
}

.mpo-plan-needed-modal.is-open {
	/* 26.06.2026: было без display → .is-hidden { display:none !important } прятал модалку */
	display: flex !important;
	visibility: visible;
	pointer-events: auto;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.mpo-plan-needed-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.38);
	opacity: 0;
	transition: opacity 0.22s ease;
}

.mpo-plan-needed-modal.is-open .mpo-plan-needed-modal__backdrop {
	opacity: 1;
}

.mpo-plan-needed-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(340px, calc(100vw - 32px));
	max-width: 340px;
	padding: 20px 18px 16px;
	text-align: center;
	background: #ffffff;
	border: 1px solid #e7ebf0;
	border-radius: 20px;
	box-shadow:
		0 4px 6px rgba(15, 23, 42, 0.06),
		0 20px 48px rgba(15, 23, 42, 0.12);
	transform: scale(0.96) translateY(8px);
	transition: transform 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}

.mpo-plan-needed-modal.is-open .mpo-plan-needed-modal__dialog {
	transform: scale(1) translateY(0);
}

.mpo-plan-needed-modal__title {
	font-size: 18px;
	line-height: 1.3;
	margin: 0 0 10px;
	font-weight: 700;
	color: #1f2937 !important;
}

.mpo-plan-needed-modal__text {
	font-size: 14px;
	line-height: 1.45;
	margin: 0 0 4px;
	color: #64748b !important;
}

.mpo-plan-needed-modal__actions {
	display: grid;
	margin-top: 16px;
	gap: 10px;
	grid-template-columns: 1fr;
}

.mpo-plan-needed-modal__btn {
	width: 100%;
	min-height: 46px;
	padding: 11px 16px;
	border-radius: 999px;
	border: 2px solid transparent !important;
	outline: none !important;
	box-shadow: none !important;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

a.mpo-plan-needed-modal__btn {
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.mpo-plan-needed-modal__btn--forecast {
	/* 26.06.2026: было linear-gradient → flat #22c55e, без тени */
	background: #22c55e !important;
	border-color: #22c55e !important;
	color: #fff !important;
	box-shadow: none !important;
}

.mpo-plan-needed-modal__btn--forecast:hover {
	/* 26.06.2026: было #16a34a → без смены цвета при hover */
	background: #22c55e !important;
	border-color: #22c55e !important;
	color: #fff !important;
	box-shadow: none !important;
}

.mpo-plan-needed-modal__btn--forecast:focus,
.mpo-plan-needed-modal__btn--forecast:active {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: none !important;
	background: #22c55e !important;
}

.mpo-plan-needed-modal__btn--forecast:focus-visible {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35) !important;
}

.mpo-plan-needed-modal__btn--profile {
	/* 26.06.2026: было #6366f1 → #ea50af по запросу, обводка того же цвета */
	background: #ea50af !important;
	border-color: #ea50af !important;
	color: #ffffff !important;
	font-weight: 600;
	box-shadow: none !important;
}

.mpo-plan-needed-modal__btn--profile:hover {
	/* 26.06.2026: было #d945a0 → без смены цвета при hover */
	background: #ea50af !important;
	border-color: #ea50af !important;
	color: #ffffff !important;
	box-shadow: none !important;
}

.mpo-plan-needed-modal__btn--profile:focus,
.mpo-plan-needed-modal__btn--profile:active {
	outline: none !important;
	border-color: #ea50af !important;
	box-shadow: none !important;
	background: #ea50af !important;
	color: #ffffff !important;
}

.mpo-plan-needed-modal__btn--profile:focus-visible {
	outline: none !important;
	border-color: #ea50af !important;
	box-shadow: 0 0 0 3px rgba(234, 80, 175, 0.35) !important;
}

.mpo-plan-needed-modal__btn--ghost {
	background: transparent !important;
	color: #64748b !important;
	/* 26.06.2026: было #e2e8f0 → transparent, без рамки у «Закрыть» */
	border-color: transparent !important;
	font-weight: 600;
	box-shadow: none !important;
}

.mpo-plan-needed-modal__btn--ghost:hover {
	/* 26.06.2026: было #f8fafc / #475569 → без смены при hover */
	background: transparent !important;
	border-color: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	color: #64748b !important;
}

.mpo-plan-needed-modal__btn--ghost:focus,
.mpo-plan-needed-modal__btn--ghost:active {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: none !important;
	background: transparent !important;
}

.mpo-plan-needed-modal__btn--ghost:focus-visible {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
	background: #f8fafc !important;
}

.mpo-plan-needed-modal__btn:focus:not(:focus-visible) {
	box-shadow: none !important;
}

/* 16.08.2026: ссылка-кнопка профиля — белый текст на :link/:visited против красной темы — начало */
a.mpo-plan-needed-modal__btn--profile,
a.mpo-plan-needed-modal__btn--profile:link,
a.mpo-plan-needed-modal__btn--profile:visited,
a.mpo-plan-needed-modal__btn--profile:hover,
a.mpo-plan-needed-modal__btn--profile:focus,
a.mpo-plan-needed-modal__btn--profile:active {
	color: #ffffff !important;
	text-decoration: none !important;
}
/* 16.08.2026: ссылка-кнопка профиля — конец */
/* 26.06.2026: модалка «нужен план калорий» — ссылки на прогноз и профиль — конец */

/* 26.06.2026: модалка «оплаченный план — редактирование недоступно» — начало */
.mpo-paid-edit-modal {
	position: fixed;
	inset: 0;
	z-index: 260001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 16px;
	visibility: hidden;
	pointer-events: none;
}

.mpo-paid-edit-modal.is-open {
	display: flex !important;
	visibility: visible;
	pointer-events: auto;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.mpo-paid-edit-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.38);
	opacity: 0;
	transition: opacity 0.22s ease;
}

.mpo-paid-edit-modal.is-open .mpo-paid-edit-modal__backdrop {
	opacity: 1;
}

.mpo-paid-edit-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(360px, calc(100vw - 32px));
	max-width: 360px;
	padding: 20px 18px 16px;
	text-align: center;
	background: #ffffff;
	border: 1px solid #e7ebf0;
	border-radius: 20px;
	box-shadow:
		0 4px 6px rgba(15, 23, 42, 0.06),
		0 20px 48px rgba(15, 23, 42, 0.12);
	transform: scale(0.96) translateY(8px);
	transition: transform 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}

.mpo-paid-edit-modal.is-open .mpo-paid-edit-modal__dialog {
	transform: scale(1) translateY(0);
}

.mpo-paid-edit-modal__text {
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 4px;
	color: #64748b !important;
	text-align: left;
}

.mpo-paid-edit-modal__actions {
	display: grid;
	margin-top: 16px;
	gap: 10px;
	grid-template-columns: 1fr;
}

.mpo-paid-edit-modal__btn {
	width: 100%;
	min-height: 46px;
	padding: 11px 16px;
	border-radius: 999px;
	border: 2px solid transparent !important;
	outline: none !important;
	box-shadow: none !important;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.mpo-paid-edit-modal__btn--create {
	background: #22c55e !important;
	border-color: #22c55e !important;
	color: #fff !important;
}

.mpo-paid-edit-modal__btn--create:hover {
	background: #22c55e !important;
	border-color: #22c55e !important;
	color: #fff !important;
	box-shadow: none !important;
}

.mpo-paid-edit-modal__btn--create:focus,
.mpo-paid-edit-modal__btn--create:active {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: none !important;
	background: #22c55e !important;
}

.mpo-paid-edit-modal__btn--create:focus-visible {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35) !important;
}

.mpo-paid-edit-modal__btn--ghost {
	background: transparent !important;
	color: #64748b !important;
	border-color: transparent !important;
	font-weight: 600;
}

.mpo-paid-edit-modal__btn--ghost:hover {
	background: transparent !important;
	border-color: transparent !important;
	color: #64748b !important;
	box-shadow: none !important;
}

.mpo-paid-edit-modal__btn--ghost:focus,
.mpo-paid-edit-modal__btn--ghost:active {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: none !important;
	background: transparent !important;
}

.mpo-paid-edit-modal__btn--ghost:focus-visible {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
}

.mpo-paid-edit-modal__btn:focus:not(:focus-visible) {
	box-shadow: none !important;
}
/* 26.06.2026: модалка «оплаченный план — редактирование недоступно» — конец */

/* 26.06.2026: модалка «нужен выбор в опросе» — начало */
.mpo-survey-empty-modal {
	position: fixed;
	inset: 0;
	z-index: 260001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 16px;
	visibility: hidden;
	pointer-events: none;
}

.mpo-survey-empty-modal.is-open {
	display: flex !important;
	visibility: visible;
	pointer-events: auto;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.mpo-survey-empty-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.38);
	opacity: 0;
	transition: opacity 0.22s ease;
}

.mpo-survey-empty-modal.is-open .mpo-survey-empty-modal__backdrop {
	opacity: 1;
}

.mpo-survey-empty-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(360px, calc(100vw - 32px));
	max-width: 360px;
	padding: 20px 18px 16px;
	text-align: center;
	background: #ffffff;
	border: 1px solid #e7ebf0;
	border-radius: 20px;
	box-shadow:
		0 4px 6px rgba(15, 23, 42, 0.06),
		0 20px 48px rgba(15, 23, 42, 0.12);
	transform: scale(0.96) translateY(8px);
	transition: transform 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}

.mpo-survey-empty-modal.is-open .mpo-survey-empty-modal__dialog {
	transform: scale(1) translateY(0);
}

.mpo-survey-empty-modal__title {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.3;
	color: #1e293b;
	text-align: left;
}

.mpo-survey-empty-modal__text {
	font-size: 15px;
	line-height: 1.5;
	margin: 0;
	color: #64748b !important;
	text-align: left;
}

.mpo-survey-empty-modal__actions {
	display: grid;
	margin-top: 16px;
	gap: 10px;
	grid-template-columns: 1fr;
}

.mpo-survey-empty-modal__btn {
	width: 100%;
	min-height: 44px;
	padding: 12px 18px;
	border-radius: 999px;
	border: 2px solid transparent !important;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
	cursor: pointer;
	outline: none !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

.mpo-survey-empty-modal__btn--ok {
	background: #22c55e !important;
	border-color: #22c55e !important;
	color: #fff !important;
}

.mpo-survey-empty-modal__btn--ok:hover {
	background: #16a34a !important;
	border-color: #16a34a !important;
}

.mpo-survey-empty-modal__btn--ok:focus,
.mpo-survey-empty-modal__btn--ok:active {
	outline: none !important;
	border-color: #16a34a !important;
	box-shadow: none !important;
}

.mpo-survey-empty-modal__btn--ok:focus-visible {
	outline: none !important;
	border-color: #16a34a !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35) !important;
}

.mpo-survey-empty-modal__btn:focus:not(:focus-visible) {
	box-shadow: none !important;
}
/* 26.06.2026: модалка «нужен выбор в опросе» — конец */

/* 29.06.2026: модалка «оплата подтверждена» — начало */
.mpo-pay-success-modal {
	position: fixed;
	inset: 0;
	z-index: 260001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 16px;
	visibility: hidden;
	pointer-events: none;
}

.mpo-pay-success-modal.is-open {
	display: flex !important;
	visibility: visible;
	pointer-events: auto;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.mpo-pay-success-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.38);
	opacity: 0;
	transition: opacity 0.22s ease;
}

.mpo-pay-success-modal.is-open .mpo-pay-success-modal__backdrop {
	opacity: 1;
}

.mpo-pay-success-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(380px, calc(100vw - 32px));
	max-width: 380px;
	padding: 22px 20px 18px;
	text-align: center;
	background: #ffffff;
	border: 1px solid #e7ebf0;
	border-radius: 20px;
	box-shadow:
		0 4px 6px rgba(15, 23, 42, 0.06),
		0 20px 48px rgba(15, 23, 42, 0.12);
	transform: scale(0.96) translateY(8px);
	transition: transform 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}

.mpo-pay-success-modal.is-open .mpo-pay-success-modal__dialog {
	transform: scale(1) translateY(0);
}

.mpo-pay-success-modal__title {
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
	color: #1e293b;
	text-align: left;
}

.mpo-pay-success-modal__text {
	font-size: 15px;
	line-height: 1.55;
	margin: 0;
	color: #64748b !important;
	text-align: left;
}

.mpo-pay-success-modal__actions {
	display: grid;
	margin-top: 18px;
	gap: 10px;
	grid-template-columns: 1fr;
}

.mpo-pay-success-modal__btn {
	width: 100%;
	min-height: 44px;
	padding: 12px 18px;
	border-radius: 999px;
	border: 2px solid transparent !important;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
	cursor: pointer;
	outline: none !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

.mpo-pay-success-modal__btn--ok {
	background: #22c55e !important;
	border-color: #22c55e !important;
	color: #fff !important;
}

.mpo-pay-success-modal__btn--ok:hover {
	background: #16a34a !important;
	border-color: #16a34a !important;
}

.mpo-pay-success-modal__btn--ok:focus,
.mpo-pay-success-modal__btn--ok:active {
	outline: none !important;
	border-color: #16a34a !important;
	box-shadow: none !important;
}

.mpo-pay-success-modal__btn--ok:focus-visible {
	outline: none !important;
	border-color: #16a34a !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35) !important;
}

.mpo-pay-success-modal__btn:focus:not(:focus-visible) {
	box-shadow: none !important;
}
/* 29.06.2026: модалка «оплата подтверждена» — конец */

/* 26.06.2026: переключатель планов и модалки библиотеки — начало */

.mpo-plan-switcher {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px 12px;
	width: 100%;
	max-width: var(--mpo-btn-max-width, 540px);
	margin: 4px 0 0 auto;
	padding-top: 4px;
}

.mpo-plan-switcher__label {
	font-size: 14px;
	font-weight: 600;
	color: #64748b;
}

/* 26.06.2026: переключатель планов — недоступен при сборке меню — начало */
.mpo-plan-switcher.is-gen-busy {
	opacity: 0.55;
	pointer-events: none;
	cursor: default;
	user-select: none;
	transition: opacity 0.2s ease;
}

.mpo-plan-switcher.is-gen-busy .mpo-plan-switcher__select,
.mpo-plan-switcher.is-gen-busy .mpo-plan-switcher__rename,
.mpo-plan-switcher.is-gen-busy .mpo-plan-switcher__download,
/* 10.08.2026: «+» у переключателя — busy как у rename — начало */
.mpo-plan-switcher.is-gen-busy .mpo-plan-switcher__create {
	cursor: not-allowed;
}
/* 10.08.2026: «+» у переключателя — busy как у rename — конец */
/* 26.06.2026: переключатель планов — недоступен при сборке меню — конец */

.mpo-plan-switcher__controls {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.mpo-plan-switcher__select {
	max-width: min(100%, 320px);
	min-width: 180px;
	padding: 8px 12px;
	border: 1px solid #dbe3ec !important;
	border-radius: 12px;
	background: #fff !important;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.35;
	color: #1e293b !important;
	outline: none !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
}

/* 19.08.2026: select «Мои планы» — без выделения/смены рамки при клике — начало */
.mpo-plan-switcher__select:focus,
.mpo-plan-switcher__select:focus:not(:focus-visible),
.mpo-plan-switcher__select:focus-visible,
.mpo-plan-switcher__select:active,
.mpo-plan-switcher__select:invalid:focus,
.mpo-plan-switcher__select:invalid:focus:not(:focus-visible),
.mpo-plan-switcher__select:invalid:focus-visible,
.mpo-plan-switcher__select:invalid:active {
	outline: none !important;
	background: #fff !important;
	border-color: #dbe3ec !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
}

body.calorazh-meal-plan-page .mpo-plan-switcher__select:focus,
body.calorazh-meal-plan-page .mpo-plan-switcher__select:focus:not(:focus-visible),
body.calorazh-meal-plan-page .mpo-plan-switcher__select:focus-visible,
body.calorazh-meal-plan-page .mpo-plan-switcher__select:active,
body.page-template-page-meal-plan-order-php .mpo-plan-switcher__select:focus,
body.page-template-page-meal-plan-order-php .mpo-plan-switcher__select:focus:not(:focus-visible),
body.page-template-page-meal-plan-order-php .mpo-plan-switcher__select:focus-visible,
body.page-template-page-meal-plan-order-php .mpo-plan-switcher__select:active {
	outline: none !important;
	background: #fff !important;
	border-color: #dbe3ec !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
}
/* 19.08.2026: select «Мои планы» — без выделения при клике — конец */

.mpo-plan-switcher__readonly {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	color: #1e293b;
	text-align: right;
}

/* 10.08.2026: «+» у переключателя — те же стили, что у rename — начало */
/* 27.08.2026: «Скачать» у «Мои планы» — тот же размер, что карандаш/+ — начало */
.mpo-plan-switcher__rename,
.mpo-plan-switcher__download,
.mpo-plan-switcher__create {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 2px solid transparent !important;
	border-radius: 10px;
	background: #f8fafc;
	color: #64748b;
	cursor: pointer;
	outline: none !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

.mpo-plan-switcher__rename:hover,
.mpo-plan-switcher__download:hover,
.mpo-plan-switcher__create:hover {
	background: #f1f5f9;
	color: #334155;
}

.mpo-plan-switcher__download:disabled,
.mpo-plan-switcher__download.is-busy {
	opacity: 0.55;
	cursor: wait;
}

/* 12.08.2026: подсказки при наведении на карандаш и «+» — начало */
@media (hover: hover) and (pointer: fine) {
	.mpo-plan-switcher__rename[data-mpo-tip]::after,
	.mpo-plan-switcher__download[data-mpo-tip]::after,
	.mpo-plan-switcher__create[data-mpo-tip]::after {
		content: attr(data-mpo-tip);
		position: absolute;
		left: 50%;
		bottom: calc(100% + 8px);
		transform: translateX(-50%) translateY(2px);
		z-index: 40;
		padding: 6px 10px;
		border-radius: 8px;
		background: #1e293b;
		color: #fff;
		font-size: 12px;
		font-weight: 500;
		line-height: 1.3;
		white-space: nowrap;
		pointer-events: none;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.12s ease, transform 0.12s ease, visibility 0.12s ease;
		box-shadow: 0 4px 12px rgba(15, 23, 42, 0.18);
	}

	.mpo-plan-switcher__rename[data-mpo-tip]::before,
	.mpo-plan-switcher__download[data-mpo-tip]::before,
	.mpo-plan-switcher__create[data-mpo-tip]::before {
		content: '';
		position: absolute;
		left: 50%;
		bottom: calc(100% + 2px);
		transform: translateX(-50%) translateY(2px);
		z-index: 41;
		border: 5px solid transparent;
		border-top-color: #1e293b;
		pointer-events: none;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.12s ease, transform 0.12s ease, visibility 0.12s ease;
	}

	.mpo-plan-switcher__rename[data-mpo-tip]:hover::after,
	.mpo-plan-switcher__rename[data-mpo-tip]:focus-visible::after,
	.mpo-plan-switcher__download[data-mpo-tip]:hover::after,
	.mpo-plan-switcher__download[data-mpo-tip]:focus-visible::after,
	.mpo-plan-switcher__create[data-mpo-tip]:hover::after,
	.mpo-plan-switcher__create[data-mpo-tip]:focus-visible::after,
	.mpo-plan-switcher__rename[data-mpo-tip]:hover::before,
	.mpo-plan-switcher__rename[data-mpo-tip]:focus-visible::before,
	.mpo-plan-switcher__download[data-mpo-tip]:hover::before,
	.mpo-plan-switcher__download[data-mpo-tip]:focus-visible::before,
	.mpo-plan-switcher__create[data-mpo-tip]:hover::before,
	.mpo-plan-switcher__create[data-mpo-tip]:focus-visible::before {
		opacity: 1;
		visibility: visible;
		transform: translateX(-50%) translateY(0);
	}

	.mpo-plan-switcher__rename.is-hidden[data-mpo-tip]::before,
	.mpo-plan-switcher__rename.is-hidden[data-mpo-tip]::after,
	.mpo-plan-switcher__create.is-hidden[data-mpo-tip]::before,
	.mpo-plan-switcher__create.is-hidden[data-mpo-tip]::after {
		opacity: 0 !important;
		visibility: hidden !important;
	}
}
/* 12.08.2026: подсказки при наведении на карандаш и «+» — конец */

.mpo-plan-switcher__rename:focus,
.mpo-plan-switcher__rename:active,
.mpo-plan-switcher__download:focus,
.mpo-plan-switcher__download:active,
.mpo-plan-switcher__create:focus,
.mpo-plan-switcher__create:active {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: none !important;
}

.mpo-plan-switcher__rename:focus-visible,
.mpo-plan-switcher__download:focus-visible,
.mpo-plan-switcher__create:focus-visible {
	outline: none !important;
	border-color: #e2e8f0 !important;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
}

.mpo-plan-switcher__rename:focus:not(:focus-visible),
.mpo-plan-switcher__download:focus:not(:focus-visible),
.mpo-plan-switcher__create:focus:not(:focus-visible) {
	box-shadow: none !important;
}

/* 11.08.2026: скрытие карандаша/+ без display:none — место в ряду сразу (без вспышки после JS) — начало */
.mpo-plan-switcher__rename.is-hidden,
.mpo-plan-switcher__create.is-hidden {
	display: inline-flex !important;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}
/* 11.08.2026: скрытие карандаша/+ без display:none — конец */
/* 27.08.2026: «Скачать» у «Мои планы» — тот же размер, что карандаш/+ — конец */
/* 10.08.2026: «+» у переключателя — те же стили, что у rename — конец */

.mpo-week-anomaly {
	margin-top: 16px;
	padding: 16px;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	background: #f8fafc;
}

.mpo-week-anomaly__text {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.5;
	color: #475569;
}

.mpo-week-anomaly__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.mpo-week-anomaly__collect {
	width: auto;
	max-width: 100%;
}

.mpo-week-anomaly__support {
	display: inline-flex;
	text-decoration: none !important;
}

.mpo-draft-save-modal,
.mpo-restart-draft-modal,
.mpo-rename-plan-modal,
/* 10.08.2026: модалка «новый план» — тот же каркас, что rename/restart — начало */
.mpo-create-plan-modal {
	position: fixed;
	inset: 0;
	/* 28.06.2026: было 10050 → шапка fixed z-index 11000 оставалась поверх оверлея */
	z-index: 260001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}

.mpo-draft-save-modal.is-hidden,
.mpo-restart-draft-modal.is-hidden,
.mpo-rename-plan-modal.is-hidden,
.mpo-create-plan-modal.is-hidden {
	display: none !important;
}

.mpo-draft-save-modal__backdrop,
.mpo-restart-draft-modal__backdrop,
.mpo-rename-plan-modal__backdrop,
.mpo-create-plan-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.3);
	backdrop-filter: blur(2px);
}

.mpo-draft-save-modal__dialog,
.mpo-restart-draft-modal__dialog,
.mpo-rename-plan-modal__dialog,
.mpo-create-plan-modal__dialog {
	position: relative;
	width: min(100%, 420px);
	padding: 24px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(15, 23, 42, 0.18);
}

.mpo-draft-save-modal__title,
.mpo-restart-draft-modal__title,
.mpo-rename-plan-modal__title,
.mpo-create-plan-modal__title {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
	color: #1e293b;
}

.mpo-draft-save-modal__text,
.mpo-restart-draft-modal__text,
.mpo-rename-plan-modal__hint,
.mpo-create-plan-modal__text {
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.5;
	color: #64748b;
}
/* 10.08.2026: модалка «новый план» — тот же каркас, что rename/restart — конец */

/* 19.08.2026: поле «Как назвать план?» — без сильной обводки на focus — начало */
.mpo-rename-plan-modal .mpo-rename-plan-modal__input,
#mpo-rename-plan-input {
	width: 100%;
	margin: 0 0 16px;
	padding: 12px 14px;
	border: 1px solid #dbe3ec !important;
	border-radius: 12px;
	background: #fff !important;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.5;
	color: #1e293b !important;
	outline: none !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

.mpo-rename-plan-modal .mpo-rename-plan-modal__input:focus,
.mpo-rename-plan-modal .mpo-rename-plan-modal__input:focus:not(:focus-visible),
.mpo-rename-plan-modal .mpo-rename-plan-modal__input:focus-visible,
.mpo-rename-plan-modal .mpo-rename-plan-modal__input:focus-within,
.mpo-rename-plan-modal .mpo-rename-plan-modal__input:active,
#mpo-rename-plan-input:focus,
#mpo-rename-plan-input:focus:not(:focus-visible),
#mpo-rename-plan-input:focus-visible,
#mpo-rename-plan-input:focus-within,
#mpo-rename-plan-input:active,
body.calorazh-meal-plan-page .mpo-rename-plan-modal .mpo-rename-plan-modal__input:focus,
body.calorazh-meal-plan-page .mpo-rename-plan-modal .mpo-rename-plan-modal__input:focus-visible,
body.page-template-page-meal-plan-order-php .mpo-rename-plan-modal .mpo-rename-plan-modal__input:focus,
body.page-template-page-meal-plan-order-php .mpo-rename-plan-modal .mpo-rename-plan-modal__input:focus-visible,
body.calorazh-meal-plan-page #mpo-rename-plan-input:focus,
body.calorazh-meal-plan-page #mpo-rename-plan-input:focus-visible,
body.page-template-page-meal-plan-order-php #mpo-rename-plan-input:focus,
body.page-template-page-meal-plan-order-php #mpo-rename-plan-input:focus-visible {
	outline: none !important;
	background: #fff !important;
	border-color: #dbe3ec !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
}

.mpo-rename-plan-modal .mpo-rename-plan-modal__input:invalid,
.mpo-rename-plan-modal .mpo-rename-plan-modal__input:invalid:focus,
.mpo-rename-plan-modal .mpo-rename-plan-modal__input:invalid:focus-visible,
.mpo-rename-plan-modal .mpo-rename-plan-modal__input:invalid:focus-within,
.mpo-rename-plan-modal .mpo-rename-plan-modal__input:invalid:active,
#mpo-rename-plan-input:invalid,
#mpo-rename-plan-input:invalid:focus,
#mpo-rename-plan-input:invalid:focus-visible,
#mpo-rename-plan-input:invalid:focus-within,
#mpo-rename-plan-input:invalid:active {
	outline: none !important;
	background: #fff !important;
	border-color: #dbe3ec !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
}
/* 19.08.2026: было slate ring на :focus-visible → рамка как в покое — конец */

.mpo-draft-save-modal__actions,
.mpo-restart-draft-modal__actions,
.mpo-rename-plan-modal__actions,
/* 10.08.2026: кнопки модалки «новый план» — как rename — начало */
.mpo-create-plan-modal__actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mpo-draft-save-modal__btn,
.mpo-restart-draft-modal__btn,
.mpo-rename-plan-modal__btn,
.mpo-create-plan-modal__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 12px 18px;
	border-radius: 999px;
	border: 2px solid transparent !important;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
	cursor: pointer;
	outline: none !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

.mpo-draft-save-modal__btn--yes,
.mpo-restart-draft-modal__btn--confirm,
.mpo-rename-plan-modal__btn--save,
.mpo-create-plan-modal__btn--confirm {
	background: #22c55e !important;
	border-color: #22c55e !important;
	color: #fff !important;
}

.mpo-draft-save-modal__btn--no,
.mpo-restart-draft-modal__btn--ghost,
.mpo-rename-plan-modal__btn--ghost,
.mpo-create-plan-modal__btn--ghost {
	background: #efefef !important;
	border-color: #efefef !important;
	color: #4b5563 !important;
}

.mpo-draft-save-modal__btn--yes:focus,
.mpo-draft-save-modal__btn--yes:active,
.mpo-restart-draft-modal__btn--confirm:focus,
.mpo-restart-draft-modal__btn--confirm:active,
.mpo-rename-plan-modal__btn--save:focus,
.mpo-rename-plan-modal__btn--save:active,
.mpo-create-plan-modal__btn--confirm:focus,
.mpo-create-plan-modal__btn--confirm:active {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: none !important;
}

.mpo-draft-save-modal__btn--no:focus,
.mpo-draft-save-modal__btn--no:active,
.mpo-restart-draft-modal__btn--ghost:focus,
.mpo-restart-draft-modal__btn--ghost:active,
.mpo-rename-plan-modal__btn--ghost:focus,
.mpo-rename-plan-modal__btn--ghost:active,
.mpo-create-plan-modal__btn--ghost:focus,
.mpo-create-plan-modal__btn--ghost:active {
	outline: none !important;
	border-color: #efefef !important;
	box-shadow: none !important;
}

.mpo-draft-save-modal__btn:focus-visible,
.mpo-restart-draft-modal__btn:focus-visible,
.mpo-rename-plan-modal__btn--save:focus-visible,
.mpo-create-plan-modal__btn--confirm:focus-visible {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35) !important;
}

.mpo-draft-save-modal__btn--no:focus-visible,
.mpo-restart-draft-modal__btn--ghost:focus-visible,
.mpo-rename-plan-modal__btn--ghost:focus-visible,
.mpo-create-plan-modal__btn--ghost:focus-visible {
	outline: none !important;
	border-color: #e2e8f0 !important;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
}

.mpo-draft-save-modal__btn:focus:not(:focus-visible),
.mpo-restart-draft-modal__btn:focus:not(:focus-visible),
.mpo-rename-plan-modal__btn:focus:not(:focus-visible),
.mpo-create-plan-modal__btn:focus:not(:focus-visible) {
	box-shadow: none !important;
}
/* 10.08.2026: кнопки модалки «новый план» — как rename — конец */

/* 10.08.2026: радио и select модалки «новый план» — начало */
.mpo-create-plan-modal__options {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 14px;
}

.mpo-create-plan-modal__option {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	color: #334155;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

/* 11.08.2026: кастомные радио вместо native accent (тёмная точка Windows) — начало */
.mpo-create-plan-modal__option input[type='radio'] {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 0;
	border: 2px solid #cbd5e1 !important;
	border-radius: 50%;
	background: #fff !important;
	box-shadow: none !important;
	outline: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	cursor: pointer;
	position: relative;
	box-sizing: border-box;
}

.mpo-create-plan-modal__option input[type='radio']:hover {
	border-color: #94a3b8 !important;
}

.mpo-create-plan-modal__option input[type='radio']:checked {
	border-color: #22c55e !important;
	background: #fff !important;
}

.mpo-create-plan-modal__option input[type='radio']:checked::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #22c55e;
	transform: translate(-50%, -50%);
}

.mpo-create-plan-modal__option input[type='radio']:focus,
.mpo-create-plan-modal__option input[type='radio']:active {
	outline: none !important;
	box-shadow: none !important;
}

.mpo-create-plan-modal__option input[type='radio']:focus-visible {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.28) !important;
}

.mpo-create-plan-modal__option input[type='radio']:focus:not(:focus-visible) {
	box-shadow: none !important;
}

.mpo-create-plan-modal__option:has(input[type='radio']:checked) {
	color: #1e293b;
}
/* 11.08.2026: кастомные радио вместо native accent (тёмная точка Windows) — конец */

.mpo-create-plan-modal__source {
	margin: 0 0 16px;
}

.mpo-create-plan-modal__source.is-hidden {
	display: none !important;
}

.mpo-create-plan-modal__source-label {
	display: block;
	margin: 0 0 6px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	color: #64748b;
}

.mpo-create-plan-modal .mpo-create-plan-modal__select,
#mpo-create-plan-source {
	width: 100%;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid #dbe3ec !important;
	border-radius: 12px;
	background: #fff !important;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.5;
	color: #1e293b !important;
	outline: none !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
}

/* 19.08.2026: select модалки «Новый план» — без выделения при клике — начало */
.mpo-create-plan-modal .mpo-create-plan-modal__select:focus,
.mpo-create-plan-modal .mpo-create-plan-modal__select:focus-visible,
.mpo-create-plan-modal .mpo-create-plan-modal__select:active,
#mpo-create-plan-source:focus,
#mpo-create-plan-source:focus-visible,
#mpo-create-plan-source:active {
	border-color: #dbe3ec !important;
	outline: none !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	background: #fff !important;
}
/* 19.08.2026: select модалки «Новый план» — без выделения при клике — конец */
/* 10.08.2026: радио и select модалки «новый план» — конец */

/* 28.06.2026: переключатель «Мои планы» на странице — начало */

.mpo-plan-switcher.mpo-plan-switcher--page {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	/* 19.08.2026: на десктопе — как было (flex-end от .mpo-plan-switcher); на мобилке — media ниже — начало */
	justify-content: flex-end;
	gap: 10px 14px;
	width: 100%;
	margin: 0 0 16px;
	padding: 12px 16px;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	background: #fff;
	box-sizing: border-box;
}

.mpo-plan-switcher--page.is-hidden {
	display: none;
}

.mpo-plan-switcher--page .mpo-plan-switcher__label {
	flex: 0 0 auto;
	font-size: 15px;
	font-weight: 600;
	color: #475569;
}

.mpo-plan-switcher--page .mpo-plan-switcher__controls {
	flex: 1 1 220px;
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.mpo-plan-switcher--page .mpo-plan-switcher__select {
	flex: 1 1 auto;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

/* 19.08.2026: узкий экран — подпись и строка на всю ширину, без «уезда» вправо — начало */
@media (max-width: 480px) {
	.mpo-plan-switcher.mpo-plan-switcher--page {
		justify-content: flex-start;
		align-content: flex-start;
		max-width: none;
		padding: 12px 14px;
		gap: 8px;
	}

	.mpo-plan-switcher--page .mpo-plan-switcher__label {
		flex: 1 1 100%;
		width: 100%;
	}

	.mpo-plan-switcher--page .mpo-plan-switcher__controls {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
	}

	.mpo-plan-switcher--page .mpo-plan-switcher__rename,
	.mpo-plan-switcher--page .mpo-plan-switcher__download,
	.mpo-plan-switcher--page .mpo-plan-switcher__create {
		flex: 0 0 36px;
	}
}
/* 19.08.2026: узкий экран — подпись и строка на всю ширину — конец */

/* 19.08.2026: один план — select не disabled; стили :disabled только на время сборки меню — начало */
.mpo-plan-switcher.is-gen-busy .mpo-plan-switcher__select:disabled {
	color: #334155;
	opacity: 1;
	cursor: default;
	background-color: #f8fafc;
}
/* 19.08.2026: select «Мои планы» — disabled только при сборке — конец */

/* 28.06.2026: переключатель «Мои планы» на странице — конец */

/* 26.06.2026: переключатель планов и модалки библиотеки — конец */

/* 01.07.2026: модалка «не собралось меню — другой набор в опросе» — начало */
.mpo-gen-fail-modal {
	position: fixed;
	inset: 0;
	z-index: 260001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 16px;
	visibility: hidden;
	pointer-events: none;
}

.mpo-gen-fail-modal.is-open {
	display: flex !important;
	visibility: visible;
	pointer-events: auto;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.mpo-gen-fail-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.38);
	opacity: 0;
	transition: opacity 0.22s ease;
}

.mpo-gen-fail-modal.is-open .mpo-gen-fail-modal__backdrop {
	opacity: 1;
}

.mpo-gen-fail-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(380px, calc(100vw - 32px));
	max-width: 380px;
	padding: 20px 18px 16px;
	text-align: center;
	background: #ffffff;
	border: 1px solid #e7ebf0;
	border-radius: 20px;
	box-shadow:
		0 18px 40px rgba(15, 23, 42, 0.12),
		0 2px 8px rgba(15, 23, 42, 0.06);
	opacity: 0;
	transform: translateY(8px) scale(0.98);
	transition: opacity 0.22s ease, transform 0.22s ease;
}

.mpo-gen-fail-modal.is-open .mpo-gen-fail-modal__dialog {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.mpo-gen-fail-modal__title {
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	color: #0f172a;
	/* 07.08.2026: две строки заголовка (title_html с <br>) — начало */
	text-align: center;
	/* 07.08.2026: две строки заголовка — конец */
}

.mpo-gen-fail-modal__text {
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.5;
	color: #475569;
}

/* 07.07.2026: жирное слово макронутриента в тексте модалки — начало */
.mpo-gen-fail-modal__text strong {
	/* 09.08.2026: было 700 + #0f172a → мягче 600 / slate (цифры нормы заметны, но не кричат) */
	font-weight: 600;
	color: #334155;
}
/* 07.07.2026: жирное слово макронутриента — конец */

/* 27.07.2026: списки рекомендаций в тексте модалки — начало */
.mpo-gen-fail-modal__text p {
	margin: 0 0 10px;
}

.mpo-gen-fail-modal__text p:last-child {
	margin-bottom: 0;
}

.mpo-gen-fail-modal__text ul {
	/* 05.08.2026: было width 100% + text-align center → точки слева, текст по центру */
	display: inline-block;
	margin: 0 0 12px;
	padding-left: 1.2em;
	text-align: left;
	list-style: disc;
}

.mpo-gen-fail-modal__text li {
	margin: 0 0 6px;
}

.mpo-gen-fail-modal__text li:last-child {
	margin-bottom: 0;
}
/* 27.07.2026: списки рекомендаций — конец */

/* 05.08.2026: подсказка empty_meals — вторичный кегль и цвет — начало */
.mpo-gen-fail-modal__text .mpo-gen-fail-modal__hint {
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.45;
	color: #94a3b8;
}
/* 05.08.2026: подсказка empty_meals — вторичный кегль и цвет — конец */

.mpo-gen-fail-modal__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mpo-gen-fail-modal__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	padding: 12px 16px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	border-radius: 12px;
	cursor: pointer;
	border: 2px solid transparent !important;
	outline: none !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

.mpo-gen-fail-modal__btn--survey {
	color: #ffffff !important;
	background: #22c55e;
	border-color: #22c55e !important;
}

.mpo-gen-fail-modal__btn--survey:hover {
	color: #ffffff !important;
	background: #22c55e;
	border-color: #22c55e !important;
}

.mpo-gen-fail-modal__btn--survey:focus,
.mpo-gen-fail-modal__btn--survey:active {
	outline: none !important;
	color: #ffffff !important;
	border-color: #22c55e !important;
	box-shadow: none !important;
}

.mpo-gen-fail-modal__btn--survey:focus-visible {
	outline: none !important;
	color: #ffffff !important;
	border-color: #22c55e !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35) !important;
}

/* 07.08.2026: ссылка-кнопка «Изменить цели КБЖУ в профиле» — начало */
/* 07.08.2026: было color без !important на <a> → тема красила текст красным (:link/:visited) */
a.mpo-gen-fail-modal__btn--profile,
a.mpo-gen-fail-modal__btn--profile:link,
a.mpo-gen-fail-modal__btn--profile:visited,
a.mpo-gen-fail-modal__btn--profile:hover,
a.mpo-gen-fail-modal__btn--profile:focus,
a.mpo-gen-fail-modal__btn--profile:active,
a.mpo-gen-fail-modal__btn--profile:focus-visible {
	color: #ffffff !important;
	text-decoration: none !important;
	box-sizing: border-box;
}

a.mpo-gen-fail-modal__btn--profile.is-hidden,
button.mpo-gen-fail-modal__btn--survey.is-hidden {
	display: none !important;
}

a.mpo-gen-fail-modal__btn--profile:focus,
a.mpo-gen-fail-modal__btn--profile:active {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: none !important;
}

a.mpo-gen-fail-modal__btn--profile:focus-visible {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35) !important;
}

a.mpo-gen-fail-modal__btn--profile:focus:not(:focus-visible) {
	box-shadow: none !important;
}
/* 07.08.2026: ссылка-кнопка «Изменить цели КБЖУ в профиле» — конец */

.mpo-gen-fail-modal__btn--ghost {
	color: #475569;
	background: transparent;
	border-color: transparent !important;
}

.mpo-gen-fail-modal__btn--ghost:hover {
	color: #475569;
	background: transparent;
	border-color: transparent !important;
}

.mpo-gen-fail-modal__btn--ghost:focus,
.mpo-gen-fail-modal__btn--ghost:active {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: none !important;
}

.mpo-gen-fail-modal__btn--ghost:focus-visible {
	outline: none !important;
	border-color: #e2e8f0 !important;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
}

.mpo-gen-fail-modal__btn:focus:not(:focus-visible) {
	box-shadow: none !important;
}
/* 01.07.2026: модалка «не собралось меню — другой набор в опросе» — конец */

/* 11.07.2026: модалка «много напитков в опросе» — перед сборкой меню — начало */
.mpo-drinks-many-modal {
	position: fixed;
	inset: 0;
	z-index: 260001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 16px;
	visibility: hidden;
	pointer-events: none;
}

.mpo-drinks-many-modal.is-open {
	display: flex !important;
	visibility: visible;
	pointer-events: auto;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.mpo-drinks-many-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.38);
	opacity: 0;
	transition: opacity 0.22s ease;
}

.mpo-drinks-many-modal.is-open .mpo-drinks-many-modal__backdrop {
	opacity: 1;
}

.mpo-drinks-many-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(380px, calc(100vw - 32px));
	max-width: 380px;
	padding: 20px 18px 16px;
	text-align: center;
	background: #ffffff;
	border: 1px solid #e7ebf0;
	border-radius: 20px;
	box-shadow:
		0 18px 40px rgba(15, 23, 42, 0.12),
		0 2px 8px rgba(15, 23, 42, 0.06);
	opacity: 0;
	transform: translateY(8px) scale(0.98);
	transition: opacity 0.22s ease, transform 0.22s ease;
}

.mpo-drinks-many-modal.is-open .mpo-drinks-many-modal__dialog {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.mpo-drinks-many-modal__title {
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	color: #0f172a;
}

.mpo-drinks-many-modal__text {
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.5;
	color: #475569;
}

.mpo-drinks-many-modal__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mpo-drinks-many-modal__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	padding: 12px 16px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	border-radius: 12px;
	cursor: pointer;
	border: 2px solid transparent !important;
	outline: none !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

.mpo-drinks-many-modal__btn--back {
	color: #475569;
	background: transparent;
	border-color: transparent !important;
}

.mpo-drinks-many-modal__btn--back:hover {
	color: #475569;
	background: transparent;
	border-color: transparent !important;
}

.mpo-drinks-many-modal__btn--back:focus,
.mpo-drinks-many-modal__btn--back:active {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: none !important;
}

.mpo-drinks-many-modal__btn--back:focus-visible {
	outline: none !important;
	border-color: #e2e8f0 !important;
	box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
}

.mpo-drinks-many-modal__btn--continue {
	color: #ffffff;
	background: #22c55e;
	border-color: #22c55e !important;
}

.mpo-drinks-many-modal__btn--continue:hover {
	color: #ffffff;
	background: #22c55e;
	border-color: #22c55e !important;
}

.mpo-drinks-many-modal__btn--continue:focus,
.mpo-drinks-many-modal__btn--continue:active {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: none !important;
}

.mpo-drinks-many-modal__btn--continue:focus-visible {
	outline: none !important;
	border-color: #22c55e !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.35) !important;
}

.mpo-drinks-many-modal__btn:focus:not(:focus-visible) {
	box-shadow: none !important;
}
/* 11.07.2026: модалка «много напитков в опросе» — перед сборкой меню — конец */

/* 27.08.2026: снимок PNG дней/списка покупок — скрыть UI-шум — начало */
.mpo-week--png-capture .mpo-week-meal__actions,
.mpo-week--png-capture .mpo-week-meal__replace,
.mpo-week--png-capture .mpo-week-day__chevron,
.mpo-week--png-capture .mpo-week-meal__replace-overlay,
.mpo-week--png-capture .mpo-shopping-list__chevron {
	display: none !important;
}

.mpo-week--png-capture .mpo-week-day__panel > .mpo-week-day__panel-inner,
.mpo-week--png-capture .mpo-shopping-list__panel-inner {
	overflow: visible !important;
	visibility: visible !important;
}

.mpo-week--png-capture .mpo-shopping-list__panel {
	grid-template-rows: 1fr !important;
}
/* 27.08.2026: снимок PNG дней/списка покупок — скрыть UI-шум — конец */

/* 01.07.2026: список покупок под днями недели — начало */
.mpo-shopping-list {
	margin-top: 18px;
	padding: 0;
	/* 01.07.2026: было градиент slate + border-left 3px → белый фон, розовая рамка — начало */
	background: #ffffff;
	border: 1px solid rgba(233, 30, 140, 0.16);
	border-radius: 14px;
	box-shadow: 0 1px 3px rgba(233, 30, 140, 0.06);
	/* 01.07.2026: белый фон, розовая рамка — конец */
	overflow: hidden;
}

.mpo-shopping-list.is-hidden {
	display: none !important;
}

.mpo-shopping-list__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 14px 14px 14px 16px;
	border: 2px solid transparent !important;
	border-radius: 0;
	background: transparent;
	font: inherit;
	color: inherit;
	text-align: left;
	cursor: pointer;
	outline: none !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

.mpo-shopping-list__head:hover {
	/* 01.07.2026: было rgba(255,255,255,0.45) → розоватый hover как у дней недели */
	background: #fff5fa;
}

.mpo-shopping-list__head:focus,
.mpo-shopping-list__head:active {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: none !important;
}

.mpo-shopping-list__head:focus-visible {
	outline: none !important;
	border-color: transparent !important;
	/* 01.07.2026: было серое кольцо → розовое как accent страницы */
	box-shadow: inset 0 0 0 2px var(--mpo-ds-accent-ring, rgba(233, 30, 140, 0.35)) !important;
}

.mpo-shopping-list__head:focus:not(:focus-visible) {
	box-shadow: none !important;
}

.mpo-shopping-list__head-main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-width: 0;
}

.mpo-shopping-list__eyebrow {
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	/* 01.07.2026: было #94a3b8 → розовый accent */
	color: var(--mpo-ds-accent, #e91e8c);
}

.mpo-shopping-list__title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	color: #334155;
}

.mpo-shopping-list__count {
	display: inline-block;
	margin-top: 2px;
	padding: 2px 8px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	/* 01.07.2026: бейдж — мягкий розовый вместо серого */
	color: var(--mpo-ds-accent-deep, #be185d);
	background: var(--mpo-ds-accent-soft, rgba(233, 30, 140, 0.12));
	border: 1px solid rgba(233, 30, 140, 0.18);
	border-radius: 999px;
}

.mpo-shopping-list__count.is-hidden {
	display: none !important;
}

.mpo-shopping-list__chevron {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	color: #94a3b8;
	transition: transform 0.28s ease, color 0.2s ease;
}

.mpo-shopping-list__chevron svg {
	display: block;
	width: 20px;
	height: 20px;
}

.mpo-shopping-list.is-expanded .mpo-shopping-list__chevron {
	transform: rotate(180deg);
	/* 01.07.2026: было #64748b → розовый accent */
	color: var(--mpo-ds-accent, #e91e8c);
}

.mpo-shopping-list__head:hover .mpo-shopping-list__chevron {
	color: var(--mpo-ds-accent, #e91e8c);
}

.mpo-shopping-list__panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.32s ease;
}

.mpo-shopping-list.is-expanded .mpo-shopping-list__panel {
	grid-template-rows: 1fr;
}

.mpo-shopping-list__panel-inner {
	min-height: 0;
	overflow: hidden;
	/* 25.07.2026: было padding только при is-expanded → при сворачивании текст прыгал влево под overflow — начало */
	border-top: 1px solid transparent;
	/* 25.07.2026: padding только при is-expanded → конец */
}

.mpo-shopping-list.is-expanded .mpo-shopping-list__panel-inner {
	/* 01.07.2026: разделитель — лёгкий розовый */
	border-top-color: rgba(233, 30, 140, 0.12);
}

/* 27.08.2026: группы списка покупок (категории опроса) — начало */
.mpo-shopping-list__body {
	margin: 0;
	padding: 10px 16px 14px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.mpo-shopping-list__group {
	margin: 0;
	padding: 0;
	/* 27.08.2026: было серый/розовый фон → без заливки, только зазор между группами */
	background: transparent;
	border: none;
	border-radius: 0;
}

.mpo-shopping-list__group:last-child {
	margin-bottom: 0;
}

.mpo-shopping-list__group-title {
	margin: 0 0 6px;
	padding: 0;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mpo-ds-accent, #e91e8c);
	border-bottom: none;
}

.mpo-shopping-list__items {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mpo-shopping-list__body > .mpo-shopping-list__items {
	padding: 2px 0 0;
}

.mpo-shopping-list__item {
	padding: 5px 0;
	font-size: 15px;
	line-height: 1.45;
	color: #475569;
	border-bottom: none;
}

.mpo-shopping-list__item:last-child {
	padding-bottom: 0;
}
/* 27.08.2026: группы списка покупок (категории опроса) — конец */

/* 01.07.2026: заглушка до оплаты — скелет строк + компактная подпись — начало */
.mpo-shopping-list--locked .mpo-shopping-list__body {
	/* 27.08.2026: было padding на ul → низ у body, lock ниже */
	padding-bottom: 0;
}

.mpo-shopping-list--locked .mpo-shopping-list__items {
	padding-bottom: 0;
}

.mpo-shopping-list__item--ghost {
	padding: 6px 0;
	border-bottom: none;
	pointer-events: none;
}

.mpo-shopping-list__ghost-line {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}

.mpo-shopping-list__ghost-name,
.mpo-shopping-list__ghost-grams {
	display: block;
	height: 9px;
	border-radius: 4px;
	background: linear-gradient(90deg, #e2e8f0 0%, #edf2f7 45%, #e2e8f0 100%);
}

.mpo-shopping-list__ghost-name {
	flex: 1 1 auto;
	min-width: 42%;
	max-width: 72%;
}

.mpo-shopping-list__ghost-grams {
	flex: 0 0 36px;
	width: 36px;
}

.mpo-shopping-list__ghost-sep {
	flex: 0 0 auto;
	font-size: 13px;
	line-height: 1;
	color: #e2e8f0;
}

.mpo-shopping-list__item--ghost:nth-child(2) .mpo-shopping-list__ghost-name {
	max-width: 58%;
}

.mpo-shopping-list__item--ghost:nth-child(3) .mpo-shopping-list__ghost-name {
	max-width: 66%;
}

.mpo-shopping-list__item--ghost:nth-child(4) .mpo-shopping-list__ghost-name {
	max-width: 48%;
}

.mpo-shopping-list__item--ghost:nth-child(odd) .mpo-shopping-list__ghost-grams {
	flex-basis: 32px;
	width: 32px;
}

.mpo-shopping-list__item--ghost:nth-child(even) .mpo-shopping-list__ghost-grams {
	flex-basis: 40px;
	width: 40px;
}

.mpo-shopping-list--locked .mpo-shopping-list__item:first-child {
	border-bottom: 1px solid #e8edf2;
	padding-bottom: 7px;
}

.mpo-shopping-list__lock {
	/* 25.07.2026: было margin-top + без боковых → те же 16px, что у списка */
	margin: 10px 16px 14px;
	padding: 10px 12px;
	text-align: left;
	background: #fff5fa;
	border: 1px solid rgba(233, 30, 140, 0.12);
	border-radius: 12px;
}

.mpo-shopping-list__lock-lead {
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--mpo-ds-accent-deep, #be185d);
}

.mpo-shopping-list__lock-lead.is-hidden {
	display: none !important;
}

.mpo-shopping-list__lock-note {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: #64748b;
}
/* 01.07.2026: заглушка до оплаты — скелет строк + компактная подпись — конец */

@media (prefers-reduced-motion: reduce) {
	.mpo-shopping-list__panel,
	.mpo-shopping-list__chevron {
		transition: none;
	}
}
/* 01.07.2026: список покупок под днями недели — конец */

/* 28.07.2026: FAQ — вариант 1: белые карточки + зелёные акценты — начало */
.mpo-faq {
	/* 07.08.2026: было 36px → больше воздуха от кнопки «Собрать меню» */
	margin: 56px 0 8px;
	padding: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	background: #ffffff;
}

.mpo-faq__title {
	margin: 0;
	color: #146c43;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
	text-align: center;
}

.mpo-faq__lead {
	margin: 8px 0 18px;
	color: #146c43;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.45;
	text-align: center;
	opacity: 0.85;
}

.mpo-faq__list {
	display: grid;
	gap: 12px;
	width: 100%;
}

.mpo-faq__item {
	width: 100%;
	border: 1px solid #e7f4ec;
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 1px 2px rgba(20, 108, 67, 0.04);
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mpo-faq__item:hover {
	border-color: #d5ebe0;
	box-shadow: 0 4px 14px rgba(20, 108, 67, 0.06);
}

.mpo-faq__item.is-open {
	border-color: #e7f4ec;
	background: #ffffff;
	box-shadow: 0 4px 14px rgba(20, 108, 67, 0.07);
}

.mpo-faq__question {
	width: 100%;
	padding: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	background: transparent !important;
	border: 2px solid transparent !important;
	border-radius: 16px;
	cursor: pointer;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	color: #1f2937;
	text-align: left;
	outline: none !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

.mpo-faq__item.is-open .mpo-faq__question {
	color: #146c43;
	font-weight: 700;
}

.mpo-faq__question:hover {
	color: #146c43;
}

.mpo-faq__question:focus,
.mpo-faq__question:active {
	outline: none !important;
	border-color: transparent !important;
	box-shadow: none !important;
	color: #146c43;
}

.mpo-faq__question:focus-visible {
	outline: none !important;
	border-color: #e7f4ec !important;
	box-shadow: 0 0 0 3px rgba(45, 190, 96, 0.28) !important;
}

.mpo-faq__question:focus:not(:focus-visible) {
	box-shadow: none !important;
}

.mpo-faq__question-text {
	flex: 1 1 auto;
}

.mpo-faq__icon {
	position: relative;
	width: 28px;
	height: 28px;
	flex-shrink: 0;
	margin-left: 12px;
	border-radius: 50%;
	background: #eaf9f0;
	transition: background 0.2s ease;
}

/* 28.07.2026: было заливка #22c55e при open → круг остаётся #EAF9F0 */
.mpo-faq__item.is-open .mpo-faq__icon {
	background: #eaf9f0;
}

.mpo-faq__icon::before,
.mpo-faq__icon::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 12px;
	height: 2px;
	background: #2dbe60;
	border-radius: 2px;
	transform: translate(-50%, -50%);
}

.mpo-faq__item.is-open .mpo-faq__icon::before,
.mpo-faq__item.is-open .mpo-faq__icon::after {
	background: #2dbe60;
}

.mpo-faq__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.mpo-faq__item.is-open .mpo-faq__icon::after {
	opacity: 0;
}

.mpo-faq__answer {
	max-height: 0;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	transition: max-height 0.25s ease, opacity 0.2s ease;
}

.mpo-faq__item.is-open .mpo-faq__answer {
	opacity: 1;
	visibility: visible;
}

.mpo-faq__answer p {
	margin: 0;
	padding: 0 20px 20px;
	font-size: 15px;
	line-height: 1.6;
	color: #4b5563;
	background: #ffffff;
}

@media (max-width: 640px) {
	.mpo-faq {
		/* 07.08.2026: было 28px → воздуха мало между кнопкой и FAQ на узком экране */
		margin-top: 48px;
	}

	.mpo-faq__title {
		font-size: 22px;
	}

	.mpo-faq__question {
		font-size: 15px;
		padding: 16px;
	}

	.mpo-faq__answer p {
		padding: 0 16px 16px;
	}
}
/* 28.07.2026: FAQ — белые карточки + зелёные акценты — конец */
