/* Client cabinet (Figma page 8, overview variant E 545:1215; my bookings 523:902 / 523:1112). */
main.expertpress-account-bookings, main.expertpress-account-overview, main.expertpress-account-saved { display: block; max-width: none; margin: 0; padding: 0; }

.md-cab { position: relative; overflow: hidden; background: var(--md-color-bg-surface); }
/* Moon band (Figma 546:18541 split into layers, 1254px source drawn at 900px; 1 src px = 0.7177 CSS px).
   Back to front: sky, glow, ornaments + moon + crescent, high veil, mountains, low fog. Clouds stay in front of the moon.
   The band fades out at the bottom, the sky canvas fades out on the left, so no hard edge shows at any width. */
.md-cab__moon { position: absolute; top: 0; left: 0; right: 0; height: 520px; pointer-events: none; z-index: 0; overflow: hidden;
	-webkit-mask-image: linear-gradient(180deg, #000 45%, rgba(0,0,0,0.35) 70%, transparent 95%);
	mask-image: linear-gradient(180deg, #000 45%, rgba(0,0,0,0.35) 70%, transparent 95%);
}
.md-msky { position: absolute; top: -300px; right: -78px; width: 900px; height: 900px; overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.35) 22%, #000 48%);
	mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.35) 22%, #000 48%);
}
.md-msky img { position: absolute; display: block; max-width: none; }
.md-msky__base { left: 0; top: 272.73px; width: 900px; height: 574.16px; }
.md-msky__glow { left: 368.18px; top: 282.06px; width: 527.51px; height: 380.38px; }
.md-msky__drift, .md-msky__moon { position: absolute; inset: 0; }
.md-msky__orn { position: absolute; inset: 0; width: 900px; height: 900px; overflow: visible; }
.md-msky__halo { position: absolute; left: 407.3px; top: 301.1px; width: 422.8px; height: 422.8px; border-radius: 50%;
	background: radial-gradient(closest-side, rgba(255, 238, 215, 0.55) 62%, rgba(255, 232, 205, 0.22) 80%, rgba(255, 232, 205, 0) 100%); }
.md-msky__disc { left: 474.4px; top: 368.18px; width: 288.52px; height: 288.52px; }
.md-msky__cres { left: 691.87px; top: 498.8px; width: 169.38px; height: 169.38px; }
.md-msky__veil, .md-msky__fog { position: absolute; left: 0; width: 1800px; background-repeat: repeat-x; will-change: transform; }
.md-msky__veil { top: 401.91px; height: 401.91px; background-image: url("../images/sky/sky-veil.webp"); background-size: 900px 401.91px; animation: md-msky-wind 150s linear infinite; }
.md-msky__fg { left: 0; top: 588.52px; width: 900px; height: 311.48px; }
.md-msky__fog { top: 559.81px; height: 301.44px; background-image: url("../images/sky/sky-fog.webp"); background-size: 900px 301.44px; animation: md-msky-wind 95s linear infinite; opacity: 0.9; }
.md-msky__tw { animation: md-msky-twinkle 3.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.md-msky__tw--2 { animation-delay: -1.2s; animation-duration: 4.4s; }
.md-msky__tw--3 { animation-delay: -2.3s; animation-duration: 5.1s; }
.md-msky__star { transform-box: fill-box; transform-origin: center; animation: md-msky-star 7s ease-in-out infinite; }
@keyframes md-msky-wind { from { transform: translateX(0); } to { transform: translateX(-900px); } }
@keyframes md-msky-twinkle { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
@keyframes md-msky-star { 0%, 100% { transform: scale(1) rotate(0deg); opacity: 1; } 50% { transform: scale(0.82) rotate(8deg); opacity: 0.8; } }

/* Overview pages: the moon rises once along a curved, slanted path — from lower right, up and to the left —
   then, after a pause, drifts a little further and settles. Rise (transform) and drift (translate) run as separate
   animations with their own easing, so the path bends without mid-way stalls. */
@keyframes md-moon-rise-y { from { transform: translateY(270px); } to { transform: none; } }
@keyframes md-moon-rise-x { from { translate: 144px 0; } to { translate: 0 0; } }
@keyframes md-moon-settle { from { transform: translate(18px, 12px); } to { transform: none; } }
@keyframes md-moon-fade { from { opacity: 0; } to { opacity: 1; } }
.md-cab__moon--rise .md-msky__moon {
	animation:
		md-moon-rise-y 4.6s cubic-bezier(0.25, 0.6, 0.3, 1) 0.2s both,
		md-moon-rise-x 4.6s cubic-bezier(0.45, 0.15, 0.35, 1) 0.2s both,
		md-moon-fade 2.6s ease-out 0.2s both;
}
.md-cab__moon--rise .md-msky__drift { animation: md-moon-settle 22s cubic-bezier(0.45, 0, 0.3, 1) 9s both; }
.md-cab__moon--rise .md-msky__glow { animation: md-moon-fade 4.6s ease-out 0.2s both; }
.md-cab__moon--rise .md-msky__orn { animation: md-moon-fade 2.4s ease-out 3.2s both; }
@media (prefers-reduced-motion: reduce) {
	.md-msky *, .md-cab__moon--rise .md-msky__moon, .md-cab__moon--rise .md-msky__drift, .md-cab__moon--rise .md-msky__glow, .md-cab__moon--rise .md-msky__orn { animation: none !important; }
}
.md-cab__layout { position: relative; z-index: 1; display: grid; grid-template-columns: 250px minmax(0, 1fr); align-items: start; }

/* Sidebar */
.md-cab__side { position: sticky; top: 16px; padding: 24px 24px 40px 0; border-right: 1px solid var(--md-color-border-subtle); min-height: 60vh; }
.md-cab__nav ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; }
.md-cab__item { display: flex; gap: 12px; align-items: center; min-height: 48px; padding: 0 12px; border-radius: 12px; color: var(--md-color-text-primary); font: 500 14px/20px var(--md-font-sans); text-decoration: none; }
a.md-cab__item:hover { background: var(--md-color-bg-section-warm); }
.md-cab__item.is-active { background: var(--md-color-action-soft-bg); }
.md-cab__item svg { color: var(--md-color-action-secondary-text); flex: none; }
.md-cab__item.md-stub { color: var(--md-color-text-primary); cursor: default; }
.md-cab__badge { margin-left: auto; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--md-color-action-primary-bg); color: #fff; font: 700 11px/20px var(--md-font-sans); text-align: center; }
.md-cab__sep { height: 1px; margin: 12px 0; background: var(--md-color-border-subtle); }
.md-cab__help { margin-top: 24px; padding: 16px; border-radius: 16px; background: var(--md-color-action-soft-bg); }
a.md-cab__help { display: block; text-decoration: none; color: inherit; }
.md-cab__help-title { margin: 0 0 4px; font: 700 13px/18px var(--md-font-sans); }
.md-cab__help-text { margin: 0; font: 400 13px/20px var(--md-font-sans); color: var(--md-color-text-secondary); }

/* Main */
.md-cab__main { padding: 32px 0 80px 48px; min-width: 0; }
.md-cab__greeting { padding: 8px 0 28px; border-bottom: 1px solid var(--md-color-border-subtle); max-width: 902px; }
.md-cab__eyebrow { display: flex; gap: 6px; align-items: center; margin: 0 0 8px; color: var(--md-color-action-secondary-text); font: 700 10px/14px var(--md-font-sans); letter-spacing: 0.16em; text-transform: uppercase; }
.md-cab__title { margin: 0 0 8px; font: 400 44px/52px var(--md-font-serif); color: var(--md-color-text-primary); letter-spacing: 0; }
.md-cab__lead { margin: 0; color: var(--md-color-text-secondary); font: 400 16px/24px var(--md-font-sans); }
.md-cab__section { max-width: 902px; padding: 25px 0 24px; border-bottom: 1px solid var(--md-color-border-subtle); }
.md-cab__section:last-child { border-bottom: 0; }
.md-cab__head-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.md-cab__head { display: flex; gap: 10px; align-items: center; margin: 0 0 18px; font: 400 26px/34px var(--md-font-serif); color: var(--md-color-text-primary); }
.md-cab__head-row .md-cab__head { margin: 0; }
.md-cab__head svg { color: var(--md-color-action-secondary-text); }
.md-cab__head sup { font: 600 11px/1 var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-cab__empty { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; padding: 20px 24px; border: 1px dashed var(--md-color-border-default); border-radius: 20px; }
.md-cab__empty p { margin: 0; color: var(--md-color-text-secondary); font: 400 15px/22px var(--md-font-sans); }
.md-cab__empty--page { margin-top: 24px; max-width: 902px; }

/* Status chip */
.md-chip { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 10px; border-radius: 999px; font: 500 12px/18px var(--md-font-sans); }
.md-chip--accent { background: var(--md-color-action-soft-bg); color: var(--md-color-action-secondary-text); }
.md-chip--wait { background: var(--md-color-bg-section-warm); color: var(--md-color-text-primary); }
.md-chip--success { background: #e0e3dc; color: #3d5a3e; }
.md-chip--warn { background: #f1e4da; color: #7a4a36; }
.md-chip--neutral { background: var(--md-color-bg-section-warm); color: var(--md-color-text-secondary); }

/* Action cards */
.md-cab__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.md-acard { display: grid; grid-template-columns: 92px minmax(0, 1fr); border: 1px solid var(--md-color-border-default); border-radius: 16px; overflow: hidden; background: var(--md-color-bg-surface); min-height: 192px; }
.md-acard__cover { width: 100%; height: 100%; object-fit: cover; }
.md-acard__cover--empty { display: flex; align-items: center; justify-content: center; background: var(--md-color-action-soft-bg); color: var(--md-color-action-secondary-text); }
.md-acard__body { display: flex; flex-direction: column; gap: 6px; padding: 12px 12px 12px 10px; }
.md-acard__person { display: flex; gap: 6px; align-items: center; margin: 0; font: 400 11px/16px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-acard__person img { width: 18px; height: 18px; border-radius: 50%; object-fit: cover; }
.md-acard__title { margin: 0; font: 600 14px/20px var(--md-font-sans); }
.md-acard__title a { color: var(--md-color-text-primary); text-decoration: none; }
.md-acard__meta { margin: 0; font: 400 12px/16px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-acard .md-chip { align-self: flex-start; }
.md-acard__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.md-acard__foot b { font: 600 14px/20px var(--md-font-sans); }
.md-button--soft { background: var(--md-color-action-soft-bg); color: var(--md-color-action-secondary-text); }

/* Timeline «Ваш шлях» */
.md-timeline { position: relative; margin: 0; padding: 0; list-style: none; }
.md-timeline::before { content: ""; position: absolute; left: 15px; top: 30px; bottom: 30px; width: 2px; background: var(--md-color-border-default); }
.md-timeline__row { position: relative; display: grid; grid-template-columns: 32px 130px minmax(0, 1fr) auto; gap: 16px; align-items: center; min-height: 67px; }
.md-timeline__phase { width: 20px; height: 20px; margin-left: 6px; border-radius: 50%; border: 2px solid var(--md-color-action-primary-bg); background: var(--md-color-bg-surface); z-index: 1; }
.md-timeline__row.is-requested .md-timeline__phase { background: linear-gradient(90deg, var(--md-color-bg-surface) 50%, var(--md-color-action-primary-bg) 50%); }
.md-timeline__row.is-accepted .md-timeline__phase { background: linear-gradient(90deg, var(--md-color-action-primary-bg) 50%, var(--md-color-bg-surface) 50%); }
.md-timeline__row.is-completed .md-timeline__phase { background: #8b7ea3; border-color: #8b7ea3; }
.md-timeline__when { display: flex; flex-direction: column; color: var(--md-color-text-primary); text-decoration: none; }
.md-timeline__when b { font: 600 14px/20px var(--md-font-sans); }
.md-timeline__when span { font: 400 12px/16px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-timeline__what { display: flex; gap: 10px; align-items: center; min-width: 0; }
.md-timeline__what img { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; flex: none; }
.md-timeline__what div { display: flex; flex-direction: column; min-width: 0; }
.md-timeline__what a { color: var(--md-color-text-primary); font: 500 14px/20px var(--md-font-sans); text-decoration: none; }
.md-timeline__what span { font: 400 12px/16px var(--md-font-sans); color: var(--md-color-text-secondary); }

/* My bookings */
.md-cab__greeting--page { border-bottom: 1px solid var(--md-color-border-subtle); }
.md-seg { display: inline-flex; gap: 4px; margin-top: 12px; padding: 4px; border: 1px solid var(--md-color-border-default); border-radius: 999px; background: var(--md-color-bg-surface); }
.md-seg__item { display: inline-flex; gap: 6px; align-items: center; min-height: 36px; padding: 0 16px; border-radius: 999px; color: var(--md-color-text-primary); font: 600 13px/18px var(--md-font-sans); text-decoration: none; }
.md-seg__item.is-active { background: var(--md-color-action-primary-bg); color: #fff; }
.md-seg__item span { font-weight: 500; opacity: 0.85; }
.md-brows { margin: 0; padding: 0; list-style: none; }
.md-brow { display: grid; grid-template-columns: 50px minmax(0, 1fr) 180px; gap: 16px; align-items: center; padding: 14px 0; }
.md-brow + .md-brow { border-top: 1px solid var(--md-color-border-subtle); }
.md-brow__date { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 12px; background: var(--md-color-bg-section-warm); font: 400 11px/14px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-brow__date b { font: 400 20px/22px var(--md-font-serif); color: var(--md-color-text-primary); }
.md-brow__body { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; min-width: 0; }
.md-brow__title { color: var(--md-color-text-primary); font: 600 15px/20px var(--md-font-sans); text-decoration: none; }
.md-brow__meta { display: flex; gap: 6px; align-items: center; margin: 0; font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-brow__meta img { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; }
.md-brow__cta { width: 100%; }

.md-cab__saved { display: flex; flex-direction: column; gap: 12px; max-width: 902px; margin: 24px 0 0; padding: 0; list-style: none; }
.md-cab__saved li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; border: 1px solid var(--md-color-border-subtle); border-radius: 16px; }
.md-cab__saved form { margin: 0; }
.md-cab__fav-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 24px 0 0; padding: 0; list-style: none; max-width: 902px; }
.md-cab__fav-grid--overview { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.md-cab__fav-item { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.md-cab__fav-item .md-cab__fav-remove, .md-cab__fav-item form { margin: 0; }
.md-cab__fav-item form .md-button { width: 100%; box-sizing: border-box; }
.md-cab__fav-item.is-unavailable { opacity: 0.72; }
.md-cab__ghost { display: flex; flex-direction: column; gap: 8px; justify-content: center; min-height: 180px; padding: 20px; border: 1px dashed var(--md-color-border-default); border-radius: 20px; background: var(--md-color-bg-section-warm); }
.md-cab__ghost-title { margin: 0; font: 600 18px/24px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-cab__ghost-text { margin: 0; font: 400 14px/20px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-saved-form--btn { margin: 0; width: 100%; }
.md-saved-form--btn .md-button { width: 100%; }
@media (max-width: 1279px) {
	.md-cab__fav-grid, .md-cab__fav-grid--overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.md-cab__fav-grid, .md-cab__fav-grid--overview { grid-template-columns: 1fr; }
}

@media (max-width: 1279px) {
	.md-msky { right: -260px; }
	.md-cab__layout { grid-template-columns: 220px minmax(0, 1fr); }
	.md-cab__main { padding-left: 32px; }
	.md-cab__cards { grid-template-columns: 1fr; }
}
@media (max-width: 1023px) {
	.md-cab__moon { height: 460px; }
	.md-cab__layout { grid-template-columns: 1fr; }
	.md-cab__side { position: static; min-height: 0; padding: 12px 0; border-right: 0; border-bottom: 1px solid var(--md-color-border-subtle); }
	.md-cab__nav ul { flex-direction: row; overflow-x: auto; gap: 8px; scrollbar-width: none; }
	.md-cab__nav li { flex: none; }
	.md-cab__item { min-height: 40px; border: 1px solid var(--md-color-border-default); border-radius: 999px; background: var(--md-color-bg-surface); white-space: nowrap; }
	.md-cab__item.is-active { border-color: var(--md-color-action-primary-bg); }
	.md-cab__sep, .md-cab__help { display: none; }
	.md-cab__main { padding: 24px 0 64px; }
}
@media (max-width: 767px) {
	.md-cab__moon { height: 340px; }
	.md-msky { top: -150px; right: -120px; transform: scale(0.6); transform-origin: top right; }
	.md-cab__title { font-size: 32px; line-height: 40px; }
	.md-cab__head { font-size: 22px; line-height: 28px; }
	.md-acard { grid-template-columns: 116px minmax(0, 1fr); }
	.md-timeline__row { grid-template-columns: 32px minmax(0, 1fr); grid-template-areas: "dot when" "dot what" "dot chip"; gap: 4px 12px; padding: 10px 0; }
	.md-timeline__phase { grid-area: dot; align-self: start; margin-top: 2px; }
	.md-timeline__when { grid-area: when; flex-direction: row; gap: 8px; }
	.md-timeline__what { grid-area: what; }
	.md-timeline__row .md-chip { grid-area: chip; justify-self: start; }
	.md-brow { grid-template-columns: 50px minmax(0, 1fr); }
	.md-brow__cta { grid-column: 1 / -1; }
}

.md-cab .md-auth__link, .md-book .md-auth__link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--md-color-action-secondary-text); font: 600 14px/20px var(--md-font-sans); text-decoration: none; }
.md-cab .md-auth__link:hover, .md-book .md-auth__link:hover { text-decoration: underline; }


/* Narrow screens: grids may shrink below their content; no double gutter; dialog stays inside the screen. */
.md-cab__layout { grid-template-columns: 250px minmax(0, 1fr); }
.md-cab__side, .md-cab__main, .md-book__main, .md-book__side, .md-brow__body, .md-acard__body { min-width: 0; }
.md-cab__empty > * { min-width: 0; max-width: 100%; }
.md-cab__empty p { flex: 1 1 240px; }
@media (max-width: 1279px) { .md-cab__layout { grid-template-columns: 220px minmax(0, 1fr); } }
@media (max-width: 1023px) {
	.md-cab__layout { grid-template-columns: minmax(0, 1fr); }
	.md-cab__nav { overflow-x: auto; scrollbar-width: none; }
	.md-cab__nav ul { overflow: visible; }
}
@media (max-width: 767px) {
	.md-brow { grid-template-columns: 50px minmax(0, 1fr); }
	.md-brow__cta { grid-column: 1 / -1; width: 100%; box-sizing: border-box; }
	.md-cab__empty { flex-direction: column; align-items: stretch; }
	.md-cab__empty p { flex: none; }
	.md-cab__empty .md-button { width: 100%; box-sizing: border-box; }
	.md-acard { grid-template-columns: 96px minmax(0, 1fr); }
	.md-acard__foot { flex-wrap: wrap; }
	.md-acard__foot .md-button { flex: 1 1 auto; }
}

/* Specialist cabinet (Figma page 9). */
.md-cab__soon { margin-left: auto; font: 500 11px/16px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-brow--spec { grid-template-columns: 50px minmax(0, 1fr) auto; }
/* Requests that wait for the specialist's decision: lavender card so they stand out from the white rows. */
.md-brow--attention { background: var(--md-color-action-soft-bg, #eee9f3); border: 1px solid var(--md-color-border-accent-subtle, #e3daed); border-radius: 16px; padding: 14px 16px; }
.md-brow--attention + .md-brow { border-top: 0; }
.md-brow + .md-brow--attention { border-top: 1px solid var(--md-color-border-accent-subtle, #e3daed); }
.md-brow--attention + .md-brow--attention { margin-top: 10px; }
.md-brow__actions { display: flex; gap: 10px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.md-brow__actions .md-button { min-height: 40px; cursor: pointer; }
.md-brow__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 0; }
.md-brow__initial { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--md-color-action-soft-bg); color: var(--md-color-action-secondary-text); font: 600 10px/1 var(--md-font-sans); }
.md-brow__date--icon { color: var(--md-color-action-secondary-text); }
.md-brow__note { margin: 4px 0 0; font: 400 12px/18px var(--md-font-sans); color: #7a4a36; }
.md-cab__status { margin: 16px 0; }
.md-cab .md-notice { position: relative; box-sizing: border-box; width: fit-content; max-width: min(760px, 100%); margin: 16px 0; padding: 14px 16px 14px 56px; border-radius: 20px; background: var(--md-color-action-soft-bg); color: var(--md-color-text-primary); }
.md-cab .md-notice::before { content: "i"; position: absolute; left: 16px; top: 12px; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--md-color-bg-surface); font: 700 14px/1 var(--md-font-sans); color: var(--md-color-action-secondary-text); }
.md-cab .md-notice__title { margin: 0 0 2px; font: 700 15px/22px var(--md-font-sans); }
.md-cab .md-notice__text { margin: 0; font: 400 14px/22px var(--md-font-sans); }
.md-cab .md-notice__text + .md-notice__text { margin-top: 4px; }
.md-notice--warn, .md-cab .md-notice--warn { background: #f1e4da; }
.md-cab .md-notice--warn::before { content: "!"; color: #8a5a3c; }
.md-notice--ok, .md-cab .md-notice--ok { background: #e0e3dc; }
.md-cab .md-notice--ok::before { content: "\2713"; color: #4f6a4a; }
.md-decline { width: 520px; }
.md-decline__reasons { border: 0; margin: 0 0 8px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.md-decline__reason { display: flex; gap: 10px; align-items: center; font: 400 15px/22px var(--md-font-sans); cursor: pointer; }
.md-decline__reason input { accent-color: var(--md-color-action-primary-bg); width: 18px; height: 18px; }
.md-decline__actions { display: flex; gap: 12px; margin-top: 8px; }
.md-decline__actions .md-button { cursor: pointer; }
.md-slots-preview { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; }
.md-slots-preview__day { display: flex; flex-direction: column; gap: 6px; padding: 12px 8px; border: 1px solid var(--md-color-border-subtle); border-radius: 16px; background: var(--md-color-bg-surface); text-align: center; }
.md-slots-preview__date { margin: 0 0 4px; font: 400 12px/16px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-slots-preview__date b { display: block; font: 600 13px/18px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-slots-preview__slot { padding: 4px 0; border-radius: 8px; background: var(--md-color-action-soft-bg); font: 500 12px/16px var(--md-font-sans); color: var(--md-color-action-secondary-text); }
.md-slots-preview__more { font: 500 12px/16px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-reviews { margin: 24px 0 0; padding: 0; list-style: none; max-width: 902px; }
.md-reviews__item { padding: 18px 0; border-bottom: 1px solid var(--md-color-border-subtle); }
.md-reviews__head { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 0 0 6px; font: 600 14px/20px var(--md-font-sans); }
.md-reviews__stars span { color: var(--md-color-border-default); }
.md-reviews__stars span.is-on { color: var(--md-color-rating-star); }
.md-reviews__date { margin-left: auto; font-weight: 400; color: var(--md-color-text-secondary); }
.md-reviews__text { margin: 0; font: 400 15px/24px var(--md-font-sans); }

/* Core forms (calendar, profile, service editor) inside the cabinet frame: flat sections as in Figma 569:2286 · 572:3379 · 572:3797. */
.md-coreform { max-width: 760px; margin-top: 8px; font: 400 15px/22px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-coreform p { margin: 0; }
.md-coreform br { display: none; }
.md-coreform h2, .md-coreform h3 { display: flex; align-items: center; gap: 10px; margin: 32px 0 12px; padding-top: 28px; border-top: 1px solid var(--md-color-border-subtle); font: 400 26px/34px var(--md-font-serif); }
.md-coreform h2::before, .md-coreform h3::before { content: "\2726"; font: 400 16px/1 var(--md-font-sans); color: var(--md-color-accent); }
.md-coreform form { display: flex; flex-direction: column; gap: 16px; margin: 0 0 20px; padding: 0; border: 0; background: none; }
.md-coreform form + form { margin-top: 4px; }
.md-coreform > p, .md-coreform > form ~ p { font: 400 13px/19px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-coreform > p strong { color: var(--md-color-text-primary); }
.md-coreform > p:first-child { margin-bottom: 16px; }
.md-coreform label, .md-coreform .expertpress-onboarding-label { display: flex; flex-direction: column; gap: 6px; font: 600 13px/18px var(--md-font-sans); }
.md-coreform .expertpress-onboarding-field { display: flex; flex-direction: column; gap: 6px; }
.md-coreform .expertpress-onboarding-note { margin: 0 0 16px; font: 400 13px/19px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-coreform fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.md-coreform legend, .md-coreform form p > strong { display: block; margin: 0 0 8px; padding: 0; font: 600 13px/18px var(--md-font-sans); }
.md-coreform input[type="text"], .md-coreform input[type="email"], .md-coreform input[type="url"], .md-coreform input[type="number"], .md-coreform input[type="time"], .md-coreform input[type="date"], .md-coreform input[type="datetime-local"], .md-coreform select, .md-coreform textarea { box-sizing: border-box; width: 100%; max-width: 100%; min-height: 44px; padding: 10px 14px; border: 1px solid var(--md-color-border-control); border-radius: var(--md-radius-12); background: var(--md-color-bg-surface); font: 400 14px/21px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-coreform input:focus, .md-coreform select:focus, .md-coreform textarea:focus { outline: 2px solid var(--md-color-focus-ring); outline-offset: 1px; border-color: var(--md-color-border-action); }
.md-coreform textarea { min-height: 110px; resize: vertical; }
.md-coreform select[name="calendar_timezone"] { max-width: 420px; }
.md-coreform .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* Checkbox groups (languages, directions, toggles) as chips. */
.md-coreform label:has(> input[type="checkbox"]) { display: inline-flex; flex-direction: row; align-items: center; gap: 6px; min-height: 36px; margin: 0 6px 8px 0; padding: 0 14px; border: 1px solid var(--md-color-border-control); border-radius: 999px; background: var(--md-color-bg-surface); font: 500 13px/18px var(--md-font-sans); cursor: pointer; }
.md-coreform label:has(> input[type="checkbox"]:checked) { background: var(--md-color-action-soft-bg); border-color: var(--md-color-border-action); }
.md-coreform label:has(> input[type="checkbox"]:checked)::before { content: "\2713"; font-size: 12px; }
.md-coreform label:has(> input[type="checkbox"]:focus-visible) { outline: 2px solid var(--md-color-focus-ring); outline-offset: 1px; }
.md-coreform label > input[type="checkbox"] { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.md-coreform p:has(> label > input[type="checkbox"]), .md-coreform fieldset:has(> label > input[type="checkbox"]) { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 0; }
.md-coreform p:has(> label > input[type="checkbox"]) > strong, .md-coreform fieldset:has(> label > input[type="checkbox"]) > legend { flex: 0 0 100%; }

/* Buttons: secondary by default; primary for the main save / submit; quiet for destructive. */
.md-coreform button, .md-coreform input[type="submit"] { align-self: flex-start; min-height: 44px; padding: 0 22px; border: 1.5px solid var(--md-color-border-action); border-radius: 999px; background: var(--md-color-action-secondary-bg); color: var(--md-color-action-secondary-text); font: 600 14px/20px var(--md-font-sans); cursor: pointer; }
.md-coreform button[value$="_submit"], .md-coreform button[value="expertpress_calendar_save"] { background: var(--md-color-action-primary-bg); border-color: var(--md-color-action-primary-bg); color: #fff; }
.md-coreform button[value$="_archive"], .md-coreform button[value$="_revoke"] { border-color: transparent; background: none; padding: 0 4px; color: var(--md-color-feedback-error); }
.md-coreform p:has(> button[type="submit"]), .md-coreform .expertpress-onboarding-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.md-coreform table { width: 100%; border-collapse: collapse; }
.md-coreform td, .md-coreform th { padding: 8px 6px; border-bottom: 1px solid var(--md-color-border-subtle); text-align: left; font-size: 14px; }

/* Two-column grids: booking settings in the editor, date/time forms in the calendar. */
.md-coreform fieldset:has(input[type="number"]) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.md-coreform fieldset:has(input[type="number"]) > legend { float: left; grid-column: 1 / -1; margin: 12px 0 0; font: 400 26px/34px var(--md-font-serif); }
.md-coreform form:has(input[type="date"], input[type="datetime-local"]) { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; align-items: end; }
.md-coreform form:has(input[type="date"], input[type="datetime-local"]) > p:has(button, input[type="checkbox"]) { grid-column: 1 / -1; }
.md-coreform label:has(> input[type="datetime-local"] + input) { display: flex; flex-direction: row; flex-wrap: wrap; gap: 6px 16px; }
.md-coreform label:has(> input[type="datetime-local"] + input)::after { content: ""; flex-basis: 100%; order: 1; }
.md-coreform form > p:has(> label > input[type="datetime-local"] + input) { grid-column: 1 / -1; }
.md-coreform label:has(> input[type="datetime-local"] + input) > input { order: 2; flex: 1 1 200px; width: auto; }

/* Weekly hours: a row per day, Monday first, intervals as pills. */
.md-coreform #expertpress-calendar-week { display: flex; flex-direction: column; }
.md-coreform fieldset[data-calendar-day] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding: 12px 0; border-bottom: 1px solid var(--md-color-border-subtle); }
.md-coreform fieldset[data-calendar-day="0"] { order: 7; }
.md-coreform fieldset[data-calendar-day] > legend { float: left; width: 130px; margin: 0; font: 600 14px/20px var(--md-font-sans); }
.md-coreform [data-calendar-rows] { display: flex; flex-wrap: wrap; gap: 8px; }
.md-coreform [data-calendar-rows]:empty::before { content: var(--md-dayoff, "\2014"); font: 400 13px/32px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-coreform p[data-calendar-row] { display: inline-flex; align-items: center; gap: 2px; padding: 2px 4px 2px 10px; border-radius: 999px; background: var(--md-color-action-soft-bg); }
.md-coreform p[data-calendar-row] input[type="time"] { width: auto; min-width: 0; min-height: 32px; padding: 0 2px; border: 0; background: transparent; font: 500 13px/18px var(--md-font-sans); }
.md-coreform p[data-calendar-row] [data-calendar-end] { margin-left: 4px; }
.md-coreform button[data-calendar-remove] { display: inline-flex; align-items: center; justify-content: center; width: 28px; min-height: 28px; padding: 0; border: 0; background: none; font-size: 0; }
.md-coreform button[data-calendar-remove]::before { content: "\00d7"; font: 400 18px/1 var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-coreform button[data-calendar-add] { min-height: 32px; padding: 0 6px; border: 0; background: none; font: 600 13px/18px var(--md-font-sans); }
.md-coreform button[data-calendar-add]::before { content: "+ "; }

@media (max-width: 1023px) {
	.md-slots-preview { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(96px, 1fr); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding-bottom: 6px; }
	.md-slots-preview__day { scroll-snap-align: start; }
}
@media (max-width: 767px) {
	.md-brow--spec { grid-template-columns: 50px minmax(0, 1fr); }
	.md-brow--spec .md-brow__actions { grid-column: 1 / -1; justify-content: stretch; }
	.md-brow--spec .md-brow__actions { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 10px; }
	.md-brow--spec .md-brow__actions form { display: flex; min-width: 0; }
	.md-brow--spec .md-brow__actions .md-button { width: 100%; box-sizing: border-box; padding: 0 12px; }
	.md-slots-preview { grid-auto-columns: 30%; }
	.md-decline { width: 100%; }
	.md-coreform fieldset:has(input[type="number"]) { grid-template-columns: minmax(0, 1fr); }
	.md-coreform fieldset[data-calendar-day] > legend { width: 100%; }
	.md-coreform h2, .md-coreform h3 { font-size: 22px; line-height: 30px; }
}

/* Cabinet menu below 1024 (specialist and client; 0.1.312: the client strip cut «Обране» on phones): all sections visible as wrapping buttons, no horizontal scroll; future sections and logout stay in the desktop menu and the account chip. */
@media (max-width: 1023px) {
	.md-cab__side .md-cab__nav ul { flex-wrap: wrap; overflow: visible; }
	/* The specialist menu wraps (no horizontal scroll), so the nav must not clip the corner badge. */
	.md-cab__side .md-cab__nav { overflow: visible; padding-top: 6px; }
	.md-cab__side .md-cab__nav li:has(> .md-stub), .md-cab__side .md-cab__nav li:last-child { display: none; }
}
@media (max-width: 767px) {
	.md-cab__side .md-cab__nav ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
	.md-cab__side .md-cab__item { justify-content: center; padding: 0 8px; font-size: 13px; }
	.md-cab__side .md-cab__item svg { display: none; }
	/* 0.1.100: the unread count sits on the chip's corner, not over the label (Luna, Sprint 30). */
	.md-cab__side .md-cab__item { position: relative; }
	.md-cab__side .md-cab__item .md-cab__badge { position: absolute; top: -7px; right: -4px; min-width: 18px; height: 18px; padding: 0 5px; margin: 0; font-size: 10px; line-height: 18px; box-shadow: 0 0 0 2px var(--md-color-surface, #fff); }
	/* 0.1.101: room for the badge — the label shifts left instead of running under the count. */
	.md-cab__side .md-cab__item:has(> .md-cab__badge) { padding-right: 16px; }
}

/* 0.1.314: below 375 three buttons per row are narrower than «Повідомлення»/«Налаштування» (Luna, 320 px) — two per row. */
@media (max-width: 374px) {
	.md-cab__side .md-cab__nav ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Booking as the specialist sees it. */
.md-sbook { display: flex; flex-direction: column; align-items: stretch; gap: 0; max-width: 760px; }
.md-sbook .md-book__back { margin: 0 0 12px; }
.md-sbook__title { margin: 0 0 10px; }
.md-sbook .md-brow__chips { margin: 0 0 20px; }
.md-sbook .md-book__alert { margin: 0 0 16px; }
.md-sbook__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 20px; }
.md-sbook__actions .md-button { min-height: 44px; padding: 0 24px; cursor: pointer; }
@media (max-width: 767px) {
	.md-sbook__actions { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
	.md-sbook__actions form { display: flex; min-width: 0; }
	.md-sbook__actions .md-button { width: 100%; box-sizing: border-box; padding: 0 12px; }
}

/* Client cabinet night sky (artist layers, starry variant). Scene coordinates are a 1254px canvas drawn at 900px
   (scale 0.7177). --md-night-t = seconds since the visit started, so every page continues the same motion. */
@view-transition { navigation: auto; }
.md-cab__moon.md-night { height: 408px; view-transition-name: md-night;
	-webkit-mask-image: linear-gradient(180deg, #000 52%, rgba(0,0,0,0.6) 68%, rgba(0,0,0,0.22) 84%, transparent 96%);
	mask-image: linear-gradient(180deg, #000 52%, rgba(0,0,0,0.6) 68%, rgba(0,0,0,0.22) 84%, transparent 96%);
}
/* --md-night-s scales the whole scene with the viewport (0.6 at 1440px and wider); top/right offsets scale with it. */
.md-cab__moon.md-night { --md-night-s: 0.6; overflow: hidden; contain: paint; } /* the rotating 3600px sky must not widen the page */
.md-night__crop { position: absolute; top: calc(-220px * var(--md-night-s)); right: calc(-78px * var(--md-night-s)); width: 900px; height: 900px; overflow: hidden;
	transform: scale(var(--md-night-s)); transform-origin: top right;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.12) 10%, rgba(0,0,0,0.4) 22%, rgba(0,0,0,0.75) 34%, #000 46%);
	mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.12) 10%, rgba(0,0,0,0.4) 22%, rgba(0,0,0,0.75) 34%, #000 46%);
}
.md-night__scene { position: absolute; left: 0; top: 0; width: 1254px; height: 1254px; transform: scale(0.717703); transform-origin: 0 0; }
.md-night img { position: absolute; display: block; max-width: none; }
.md-night__full { left: 0; top: 0; width: 1254px; height: 1254px; }
.md-night__sky { left: -546px; top: -1800px; width: 3600px; height: 3600px; transform-origin: 1800px 1800px; will-change: transform;
	animation: md-night-turn 1800s linear infinite; animation-delay: calc(var(--md-night-t, 0) * -1s); } /* nebulae are spread round the pole, so every angle has one in the window */
.md-night__haze { position: absolute; left: 0; top: 0; width: 1254px; height: 1254px; background: linear-gradient(180deg, transparent 0%, transparent 42%, rgba(206, 186, 226, 0.28) 62%, rgba(246, 214, 200, 0.45) 78%, rgba(246, 214, 200, 0.5) 100%); }
.md-night__drift, .md-night__moon { position: absolute; inset: 0; }
.md-night__disc { left: 665px; top: 517px; width: 394px; height: 394px; }
.md-night__moon {
	/* Moon loop (150 s while the owner reviews; hold becomes 5 min later): rise 60 s · hold 20 s · set 60 s · 10 s empty sky.
	   The moon comes out of the lower-right corner low and sideways first, then curves up into place (mirror of the set)
   and sets back to the left and down behind the mountains.
	   Vertical (transform) and horizontal (translate) run as separate animations so the path bends without stalls. */
	animation-name: md-night-loop-y, md-night-loop-x;
	animation-duration: 150s, 150s;
	animation-iteration-count: infinite, infinite;
	animation-timing-function: linear, linear;
	animation-delay: calc(var(--md-night-t, 0) * -1s), calc(var(--md-night-t, 0) * -1s);
}
@keyframes md-night-loop-y {
	0% { transform: translateY(280px); animation-timing-function: cubic-bezier(0.55, 0.05, 0.35, 1); }
	40% { transform: translateY(0); }
	53.333% { transform: translateY(0); animation-timing-function: cubic-bezier(0.7, 0, 0.75, 0.4); }
	93.333%, 100% { transform: translateY(600px); }
}
@keyframes md-night-loop-x {
	0% { translate: 560px 0; animation-timing-function: cubic-bezier(0.1, 0.6, 0.3, 1); }
	40% { translate: 0 0; }
	53.333% { translate: 0 0; animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1); }
	93.333%, 100% { translate: -560px 0; }
}
.md-night.is-day .md-night__only-night, .md-night.is-night .md-night__only-day { display: none; }
.md-night__band--high { top: 375px; height: 500px; background-size: 2508px 500px; animation-duration: 140s; }
.md-night__band { position: absolute; left: 0; width: 5016px; background-repeat: repeat-x; will-change: transform;
	animation-name: md-night-wind; animation-timing-function: linear; animation-iteration-count: infinite;
	animation-delay: calc(var(--md-night-t, 0) * -1s); }
.md-night .md-night__band { animation-direction: reverse; } /* clouds drift right in both scenes */
.md-night__band--bank { top: 645px; height: 450px; background-size: 2508px 450px; animation-duration: 220s; }
.md-night__band--valley { top: 765px; height: 400px; background-size: 2508px 400px; animation-duration: 110s; }
.md-night__band--mist { top: 904px; height: 350px; background-size: 2508px 350px; animation-duration: 70s; }
@keyframes md-night-turn { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes md-night-wind { from { transform: translateX(0); } to { transform: translateX(-2508px); } }
@media (max-width: 1439px) { .md-cab__moon.md-night { --md-night-s: 0.49; height: 336px; } }
@media (max-width: 1279px) { .md-cab__moon.md-night { --md-night-s: 0.4; height: 270px; } }
@media (max-width: 1023px) { .md-cab__moon.md-night { --md-night-s: 0.48; height: 336px; } }
@media (max-width: 767px) {
	.md-cab__moon.md-night { height: 360px; }
	.md-night__crop {
		/* Phones: the text runs over the whole width, so the sky stays light under it and opens up only at the right edge. */
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.08) 40%, rgba(0,0,0,0.45) 62%, #000 80%);
		mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.08) 40%, rgba(0,0,0,0.45) 62%, #000 80%); }
}
@media (prefers-reduced-motion: reduce) { .md-night * { animation: none !important; } }

/* Section links over the sky get a soft surface so they stay readable on the dark part of the scene. */
.md-cab .md-cab__head-row .md-auth__link { padding: 0 14px; border: 1px solid var(--md-color-border-subtle); border-radius: 999px; background: rgba(255, 253, 252, 0.88); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
/* Payment is the one action that keeps a booking: a real button, not a quiet chip. */
.md-timeline__pay { justify-self: end; white-space: nowrap; }
.md-acard--pay { border-color: var(--md-color-action-primary-bg); box-shadow: 0 8px 24px rgba(92, 74, 120, 0.12); }
.md-acard--pay .md-acard__foot .md-button { min-height: 48px; padding-inline: 22px; font-size: 15px; }
@media (max-width: 767px) { .md-timeline__pay { grid-area: chip; justify-self: start; } }
/* Client cabinet: rule lines stop at 70% of the column so they never run into the night sky. The greeting keeps clear of the scene and wraps instead. */
.md-cab:has(.md-night) .md-cab__greeting { border-bottom: 0; background: linear-gradient(var(--md-color-border-subtle), var(--md-color-border-subtle)) left bottom / 70% 1px no-repeat; }
.md-cab:has(.md-night) .md-cab__greeting .md-cab__title,
.md-cab:has(.md-night) .md-cab__greeting .md-cab__lead { max-width: min(560px, 62%); text-wrap: balance; }
.md-cab:has(.md-night) .md-cab__section { border-bottom: 0; background: linear-gradient(var(--md-color-border-subtle), var(--md-color-border-subtle)) left bottom / 70% 1px no-repeat; }
.md-cab:has(.md-night) .md-cab__section:last-child { background: none; }
@media (max-width: 767px) {
	.md-cab:has(.md-night) .md-cab__greeting .md-cab__title, .md-cab:has(.md-night) .md-cab__greeting .md-cab__lead { max-width: 70%; }
}

/* ---------- Messages section (Sprint 25; Figma 525:1427 / 555:7898 / 555:8680 / 555:8994) ---------- */
.md-inbox { display: grid; grid-template-columns: 300px minmax(0, 1fr); min-height: 560px; border: 1px solid var(--md-color-border-default); border-radius: 24px; background: var(--md-color-bg-surface); overflow: hidden; }
.md-inbox__list { margin: 0; padding: 0; list-style: none; border-right: 1px solid var(--md-color-border-subtle); overflow-y: auto; max-height: 720px; }
.md-inbox__conv { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; color: inherit; text-decoration: none; border-bottom: 1px solid var(--md-color-border-subtle); }
.md-inbox__conv:hover { background: var(--md-color-bg-section-warm); }
.md-inbox__conv.is-active { background: var(--md-color-action-soft-bg); }
.md-inbox__avatar { flex: 0 0 40px; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--md-color-action-soft-bg); color: var(--md-color-action-secondary-text); font: 700 15px/1 var(--md-font-sans); }
.md-inbox__conv.is-active .md-inbox__avatar { background: var(--md-color-bg-surface); }
.md-inbox__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.md-inbox__name { color: var(--md-color-text-primary); font: 600 15px/20px var(--md-font-sans); overflow-wrap: anywhere; }
.md-inbox__conv.is-unread .md-inbox__name { font-weight: 800; }
.md-inbox__meta { color: var(--md-color-action-secondary-text); font: 500 12px/18px var(--md-font-sans); }
.md-inbox__last { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--md-color-text-secondary); font: 400 13px/18px var(--md-font-sans); }
.md-inbox__conv .md-cab__badge { margin-left: 0; flex: 0 0 auto; }
.md-inbox__pane { display: flex; flex-direction: column; min-width: 0; }
.md-inbox__pane .md-thread { flex: 1; }
.md-inbox__pane .md-thread__msgs { flex: 1; max-height: 520px; }
.md-inbox__head { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between; padding: 14px 20px; border-bottom: 1px solid var(--md-color-border-subtle); }
.md-inbox__head-name { margin: 0; color: var(--md-color-text-primary); font: 600 16px/20px var(--md-font-sans); }
.md-inbox__head-meta { margin: 2px 0 0; color: var(--md-color-text-secondary); font: 400 13px/18px var(--md-font-sans); }
.md-inbox__back { display: none; flex-basis: 100%; color: var(--md-color-action-secondary-text); font: 600 14px/20px var(--md-font-sans); text-decoration: none; }
.md-inbox__pick { margin: auto; padding: 40px; color: var(--md-color-text-secondary); font: 400 15px/22px var(--md-font-sans); }
.md-inbox--empty { display: flex; flex-direction: column; align-items: center; gap: 12px; min-height: 0; padding: 64px 24px; text-align: center; }
.md-inbox--empty p { max-width: 460px; margin: 0; color: var(--md-color-text-secondary); font: 400 15px/22px var(--md-font-sans); }
.md-inbox--empty .md-inbox__empty-title { color: var(--md-color-text-primary); font: 600 20px/28px var(--md-font-sans); }
@media (max-width: 1023px) {
	.md-inbox { grid-template-columns: 250px minmax(0, 1fr); }
}
@media (max-width: 767px) {
	.md-inbox { display: block; min-height: 0; }
	.md-inbox__list { border-right: 0; max-height: none; }
	.md-inbox--open .md-inbox__list { display: none; }
	.md-inbox:not(.md-inbox--open) .md-inbox__pane { display: none; }
	.md-inbox__back { display: inline-flex; }
	/* The conversation scrolls inside a window-high box; the composer stays under it (owner, 02.10). */
	.md-inbox__pane .md-thread__msgs { flex: none; height: calc(100svh - 250px); min-height: 280px; max-height: none; }
}

/* ===== Налаштування (Sprint 26, Figma 525:1698) ===== */
.md-set__head { position: relative; padding-bottom: 24px; border-bottom: 1px solid var(--md-color-border-subtle, #e7e1db); }
.md-set__head .md-cab__title { margin: 0; }
.md-set__alert { position: relative; margin: 24px 0 0; max-width: 902px; }
.md-set__section { position: relative; max-width: 902px; padding: 24px 0; border-bottom: 1px solid var(--md-color-border-subtle, #e7e1db); }
.md-set__section--last { border-bottom: 0; }
.md-set__title { display: block; margin: 0; font: 700 16px/22px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-set__lead { display: block; margin: 4px 0 0; font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-set__text { margin: 8px 0 0; font: 400 15px/22px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-set__form { margin: 14px 0 0; }
.md-set__form .md-field { flex: 1 1 0; min-width: 0; }
.md-set__row { display: flex; gap: 16px; align-items: flex-start; }
.md-set__row .md-field { max-width: 443px; }
.md-set__row .md-set__btn { margin-top: 26px; }
.md-set__pair { display: flex; gap: 16px; align-items: flex-start; }
.md-set__pair > .md-field, .md-set__pair > .md-set__reveal, .md-set__pair > .md-set__inline { flex: 1 1 0; min-width: 0; }
.md-set__pair--top { margin-top: 14px; }
.md-set__pair--top .md-set__form { margin: 0; }
.md-set__reveal .md-field { width: 100%; }
.md-set__select { appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%235a4b7a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }
.md-set__btn { min-width: 0; padding-left: 28px; padding-right: 28px; white-space: nowrap; }
.md-set__form > .md-set__btn { margin-top: 4px; }
.md-set__inline .md-set__btn { margin-top: 4px; }
.md-set__pending { margin: 12px 0 0; width: auto; }
.md-set__details > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.md-set__details > summary::-webkit-details-marker { display: none; }
.md-set__details[open] > summary .md-set__btn { visibility: hidden; }
.md-set__password { display: flex; flex-direction: column; gap: 8px; }
.md-set__password .md-set__btn { align-self: flex-start; }
.md-set__shift { margin-top: 16px; }
.md-set__shift .md-notice { width: auto; }
.md-set__actions { display: flex; gap: 16px; align-items: center; margin-top: 16px; flex-wrap: wrap; }
.md-set__line { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.md-set__link { border: 0; background: none; padding: 10px 0; font: 600 15px/22px var(--md-font-sans); color: var(--md-color-action-primary-bg, #5a4b7a); cursor: pointer; text-decoration: none; white-space: nowrap; }
.md-set__link:hover { text-decoration: underline; }
.md-set__link--danger { color: var(--md-color-feedback-error, #9b4a4a); }
.md-set__link.is-disabled { color: var(--md-color-text-secondary); cursor: default; text-decoration: none; }
.md-set__dialog { width: min(480px, calc(100vw - 32px)); max-width: none; padding: 0; border: 0; border-radius: 24px; background: var(--md-color-bg-surface); color: var(--md-color-text-primary); box-shadow: 0 12px 40px rgba(28, 26, 36, .18); }
.md-set__dialog::backdrop { background: rgba(28, 27, 35, .5); }
.md-set__dialog-body { margin: 0; padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.md-set__dialog-title { margin: 0; font: 400 28px/34px var(--md-font-serif); }
.md-set__dialog .md-set__text { margin: 0; }
.md-set__dialog a { color: var(--md-color-action-primary-bg, #5a4b7a); }
.md-set__actions--dialog { margin-top: 0; }
.md-set__actions--dialog .md-set__btn { flex: 1 1 0; }
@media (max-width: 767px) {
	.md-set__row, .md-set__pair { flex-direction: column; gap: 12px; }
	.md-set__row .md-field { max-width: none; width: 100%; }
	.md-set__row .md-set__btn { margin-top: 0; }
	.md-set__pair > * { width: 100%; }
	.md-set__btn { width: 100%; }
	.md-set__details > summary .md-set__btn { width: auto; }
	.md-set__line { align-items: flex-start; flex-direction: column; gap: 4px; }
	.md-set__dialog { position: fixed; inset: auto 0 0 0; margin: 0; width: 100%; border-radius: 24px 24px 0 0; }
	.md-set__dialog-body { padding: 28px 20px 32px; }
	.md-set__actions--dialog { flex-direction: column; }
	.md-set__actions--dialog .md-set__btn { width: 100%; }
}
.md-set__pending .md-set__form { margin: 4px 0 0; }
.md-set__pair > .md-field, .md-set__pair > .md-set__reveal, .md-set__pair > .md-set__inline { max-width: 443px; }
@media (max-width: 767px) { .md-set__pair > .md-field, .md-set__pair > .md-set__reveal, .md-set__pair > .md-set__inline { max-width: none; } }
.md-cab__tz { margin: 8px 0 0; font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }

/* Sprint 27: «Формат часу» — chips that save on click (Figma 672:32945 / 672:59822). */
.md-set__clock { margin-top: 20px; display: flex; flex-direction: column; gap: 8px; }
.md-set__clock .md-field__label { margin: 0; }
.md-set__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.md-set__chip-form { margin: 0; }
.md-set__chip { min-height: 40px; padding: 8px 16px; border: 1px solid var(--md-color-border-control); border-radius: 999px; background: var(--md-color-bg-surface); color: var(--md-color-text-primary); font: 500 14px/20px var(--md-font-sans); cursor: pointer; }
.md-set__chip:hover { border-color: var(--md-color-action-primary-bg); }
.md-set__chip:focus-visible { outline: 2px solid var(--md-color-focus-ring); outline-offset: 2px; }
.md-set__chip[aria-pressed="true"] { background: var(--md-color-action-soft-bg); border-color: var(--md-color-action-soft-bg); color: var(--md-color-action-secondary-text); cursor: default; opacity: 1; }
.md-set__clock .md-field__hint { margin: 0; }

/* Sprint 29 · Статистика (Figma 675:23702; 1024 602:16592, 768 602:17206, 390 602:17671). */
.md-stat__period { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.md-stat__chip { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 16px; box-sizing: border-box; border: 1px solid #857991; border-radius: 20px; background: var(--md-color-bg-surface); color: var(--md-color-text-primary); font: 500 14px/20px var(--md-font-sans); text-decoration: none; }
.md-stat__chip:hover { border-color: var(--md-color-action-primary-bg); }
.md-stat__chip:focus-visible { outline: 2px solid var(--md-color-focus-ring); outline-offset: 2px; }
.md-stat__chip.is-on { background: var(--md-color-action-soft-bg); border-color: #82738d; color: var(--md-color-action-secondary-text); }
.md-cab .md-stat__card { width: auto; max-width: 902px; margin: 0 0 20px; }
.md-cab .md-cab__yellow { width: auto; max-width: none; margin: 0 0 24px; }
.md-cab__yellow a { color: inherit; font-weight: 600; }
.md-stat__tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; max-width: 902px; padding-bottom: 24px; border-bottom: 1px solid var(--md-color-border-subtle); }
.md-stat__tile { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; padding: 20px; border-radius: 20px; background: var(--md-color-bg-canvas); }
.md-stat__tile--accent { background: var(--md-color-action-soft-bg); }
.md-stat__label { margin: 0; font: 600 14px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-stat__value { margin: 0; font: 400 28px/34px var(--md-font-serif); color: var(--md-color-text-primary); font-variant-numeric: lining-nums tabular-nums; overflow-wrap: anywhere; }
.md-stat__value.is-negative { color: #8a3c3c; }
.md-stat__note { margin: 0; font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-stat__hint { margin: 14px 0 0; font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-stat__section .md-cab__head { flex-wrap: wrap; }
.md-stat__window { font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-stat__scroll { overflow-x: auto; overscroll-behavior-x: contain; padding-bottom: 4px; }
.md-stat__scroll > * { min-width: calc(var(--md-stat-n, 30) * 2px); }
.md-stat__chart { display: flex; align-items: flex-end; gap: clamp(1px, calc(240px / var(--md-stat-n)), 6px); height: 140px; }
.md-stat__bar { flex: 1 1 0; min-width: 1px; height: var(--h); padding: 0; border: 0; border-radius: 4px 4px 0 0; background: var(--md-color-action-primary-bg); cursor: pointer; }
.md-stat__bar.is-empty { height: 4px; background: #eee8e3; }
.md-stat__bar:hover, .md-stat__bar[aria-pressed="true"] { background: var(--md-color-action-primary-hover); }
.md-stat__bar.is-empty:hover, .md-stat__bar.is-empty[aria-pressed="true"] { background: #d9d1ca; }
.md-stat__bar:focus-visible { outline: 2px solid var(--md-color-focus-ring); outline-offset: 2px; }
.md-stat__ticks { position: relative; height: 18px; margin-top: 10px; font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-stat__ticks span { position: absolute; top: 0; left: calc((var(--i) + 0.5) / var(--md-stat-n, 30) * 100%); transform: translateX(-50%); white-space: nowrap; }
.md-stat__ticks span:first-child { transform: none; left: 0; }
.md-stat__ticks span:last-child { transform: none; left: auto; right: 0; }
.md-stat__funnel { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.md-stat__ok { margin: 0 0 8px; padding: 16px 20px; border-radius: 16px; background: rgba(67, 107, 88, 0.12); }
.md-stat__ok-title { margin: 0 0 4px; font: 700 14px/20px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-stat__ok-text { margin: 0; font: 400 16px/24px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-stat__rows { margin: 0; }
.md-stat__row { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 24px; padding: 12px 0; border-bottom: 1px solid #eee8e3; }
.md-stat__row dt { font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); overflow-wrap: anywhere; }
.md-stat__row dd { display: flex; flex-direction: column; gap: 2px; margin: 0; }
.md-stat__row strong { font: 600 15px/19px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-stat__row span { font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-stat__source { max-width: 902px; box-sizing: border-box; margin: 24px 0 0; padding: 20px; border-radius: 16px; background: var(--md-color-action-soft-bg); }
.md-stat__source-title { margin: 0 0 4px; font: 700 14px/20px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-stat__source-text { margin: 0; font: 400 15px/24px var(--md-font-sans); color: var(--md-color-text-primary); }
@media (max-width: 1279px) {
	.md-stat__funnel { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
	.md-stat__funnel > li { grid-column: span 2; }
	.md-stat__funnel > li:nth-child(n+4) { grid-column: span 3; }
}
@media (max-width: 1023px) {
	.md-stat__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.md-stat__funnel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.md-stat__funnel > li, .md-stat__funnel > li:nth-child(n+4) { grid-column: auto; }
	.md-stat__funnel > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
	.md-stat__row { grid-template-columns: 1fr; gap: 4px; }
	.md-stat__chart { height: 120px; }
}
.md-cab .md-set__app-help { width: auto; max-width: none; margin: 16px 0 0; padding: 14px 16px; }
.md-cab .md-set__app-help::before { content: none; }

/* Service editor (Core's form): the cover is picked from the platform's set. Pictures are shown in the
   catalogue card frame (302 × 228), so the specialist sees the crop the client will see. */
.md-coreform .expertpress-cover-picker { display: flex; flex-direction: column; gap: 12px; }
.md-coreform .expertpress-cover-picker__pending { padding: 14px 16px; border-radius: 12px; background: var(--md-color-action-soft-bg); font: 400 14px/20px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-coreform .expertpress-cover-picker__group { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 12px; }
.md-coreform .expertpress-cover-picker__heading { grid-column: 1 / -1; margin: 6px 0 0; font: 600 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-coreform .expertpress-cover-picker__group .expertpress-cover-picker__option { position: relative; display: block; margin: 0; border-radius: 12px; overflow: hidden; background: linear-gradient(138deg, #eee9f3 7%, #e8ddd0 79%); cursor: pointer; outline: 1px solid var(--md-color-border-subtle); outline-offset: -1px; }
.md-coreform .expertpress-cover-picker__group .expertpress-cover-picker__option > input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.md-coreform .expertpress-cover-picker__image { display: block; width: 100%; height: auto; aspect-ratio: 302 / 228; object-fit: cover; }
.md-coreform .expertpress-cover-picker__group .expertpress-cover-picker__option > span { display: grid; place-items: center; aspect-ratio: 302 / 228; padding: 8px; font: 400 12px/16px var(--md-font-sans); color: var(--md-color-text-secondary); overflow-wrap: anywhere; text-align: center; }
.md-coreform .expertpress-cover-picker__group .expertpress-cover-picker__option:hover { outline: 2px solid var(--md-color-border-action); outline-offset: -2px; }
.md-coreform .expertpress-cover-picker__group .expertpress-cover-picker__option:has(> input:checked) { outline: 3px solid var(--md-color-action-primary-bg); outline-offset: -3px; }
.md-coreform .expertpress-cover-picker__group .expertpress-cover-picker__option:has(> input:checked)::after { content: "\2713"; position: absolute; top: 8px; right: 8px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--md-color-action-primary-bg); color: #fff; font: 600 13px/1 var(--md-font-sans); }
.md-coreform .expertpress-cover-picker__group .expertpress-cover-picker__option:has(> input:focus-visible) { outline: 3px solid var(--md-color-focus-ring); outline-offset: 2px; }
.md-coreform .expertpress-cover-picker > p > .expertpress-cover-picker__option { display: inline-flex; flex-direction: row; align-items: center; gap: 8px; font: 400 14px/20px var(--md-font-sans); cursor: pointer; }

@media (max-width: 767px) {
	.md-coreform .expertpress-cover-picker__group { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}

/* Sprint 51 · group meeting page (Figma 578:9672) and the one-card-per-meeting row in the lists. */
.md-gmeet__when { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font: 500 15px/22px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-gmeet__when svg { flex: none; color: var(--md-color-action-secondary-text); }
.md-gmeet__notice { margin: 0 0 16px; }
.md-gmeet__min { margin: 0 0 16px; }
.md-gmeet__tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 20px; }
.md-gmeet__tile { display: flex; flex-direction: column; gap: 4px; min-width: 0; margin: 0; padding: 16px 18px; border-radius: 20px; background: var(--md-color-bg-canvas); }
.md-gmeet__tile--accent { background: var(--md-color-action-soft-bg); }
.md-gmeet__label { font: 600 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-gmeet__value { font: 400 26px/32px var(--md-font-serif); color: var(--md-color-text-primary); font-variant-numeric: lining-nums tabular-nums; }
.md-gmeet__held { margin: 0 0 16px; }
.md-gmeet__held-form { margin-top: 12px; }
.md-gmeet__held-form .md-button { min-height: 44px; padding: 0 24px; cursor: pointer; }
.md-gmeet__section { padding-top: 8px; }
.md-gmeet__person { grid-template-columns: 40px minmax(0, 1fr) auto; }
.md-gmeet__initial { width: 40px; height: 40px; font-size: 15px; }
.md-gmeet__privacy { margin: 8px 0 0; font-size: 13px; }
.md-gmeet .md-meet { margin: 16px 0 0; }
.md-gmeet__number { max-width: 140px; }
.md-gmeet__danger { margin-top: 24px; }
@media (max-width: 1023px) {
	.md-gmeet__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.md-gmeet__tile { padding: 14px; }
	.md-gmeet__value { font-size: 22px; line-height: 28px; }
	.md-gmeet__person { grid-template-columns: 40px minmax(0, 1fr); }
	.md-gmeet__person .md-brow__actions { grid-column: 1 / -1; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 10px; }
	.md-gmeet__person .md-brow__actions form { display: flex; min-width: 0; }
	.md-gmeet__person .md-brow__actions .md-button { width: 100%; box-sizing: border-box; padding: 0 12px; }
	.md-gmeet__number { max-width: none; }
}

/* Sprint 54 · «Фінанси»: balance tiles reuse the meeting tiles; amounts aligned right with tabular figures. */
.md-fin__tiles { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.md-fin__tile--debt { background: var(--md-color-warning-soft-bg, #fbeee4); }
.md-fin__amount { margin: 0 0 0 auto; text-align: right; font: 600 15px/22px var(--md-font-sans); color: var(--md-color-text-primary); font-variant-numeric: tabular-nums; white-space: nowrap; }
.md-fin__amount small { display: block; font-weight: 400; font-size: 12px; color: var(--md-color-text-secondary); }
.md-fin__form { display: grid; gap: 14px; max-width: 520px; }
.md-fin__request .md-fin__form { display: block; }
@media (max-width: 600px) {
	.md-fin__tiles { grid-template-columns: 1fr 1fr; }
}
/* «Фінанси»: rows are body + amount (no initial / actions columns of the requests list); breathing room between cards. */
.md-fin .md-brow { display: flex; align-items: center; gap: 16px; grid-template-columns: none; }
.md-fin .md-brow__body { flex: 1 1 auto; min-width: 0; }
.md-fin .md-brow__meta { flex-wrap: wrap; gap: 4px 10px; }
.md-fin__request, .md-fin__requisites { margin: 20px 0 0; }
.md-fin .md-cab__section { margin-top: 32px; }
.md-fin > .md-book__muted { margin: 12px 0 0; }
/* REP-M · «Звіт за місяць»: title + month picker in one row, tiles, folded full lines, notes and CSV link. */
.md-fin__statement { margin: 20px 0 0; }
.md-fin__statement-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; }
.md-fin__statement-head .md-meet__title { margin: 0; }
.md-fin__month { display: flex; gap: 8px; align-items: center; margin: 0; }
.md-fin__month-select { width: auto; min-width: 180px; }
.md-fin__currency { margin: 18px 0 0; font: 600 13px/18px var(--md-font-sans); letter-spacing: .04em; color: var(--md-color-text-secondary); }
.md-fin__tiles--statement { margin-top: 16px; }
.md-fin__lines { margin: 14px 0 0; }
.md-fin__lines summary { cursor: pointer; font: 500 14px/22px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-fin__lines dl { margin: 10px 0 0; padding: 0; }
.md-fin__line { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-top: 1px solid var(--md-color-border, rgba(0,0,0,.08)); font: 400 14px/20px var(--md-font-sans); }
.md-fin__line dt { color: var(--md-color-text-secondary); }
.md-fin__line dd { margin: 0; font-weight: 600; color: var(--md-color-text-primary); font-variant-numeric: tabular-nums; white-space: nowrap; }
.md-fin__statement-foot { margin-top: 14px; }
.md-fin__statement-foot .md-book__muted { margin: 4px 0 0; }
@media (max-width: 600px) {
	.md-fin__month { width: 100%; }
	.md-fin__month-select { flex: 1 1 auto; min-width: 0; }
}

/* P7 · «Просування»: purchase form and campaign lists (finance/statistics rhythm). */
.md-promo .md-meet { margin-top: 28px; }
.md-promo__form { display: grid; gap: 16px; max-width: 560px; }
.md-promo__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.md-promo__reasons { margin: 0; padding-left: 1.2em; font: 400 15px/22px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-promo__reasons li + li { margin-top: 6px; }
.md-promo__list { list-style: none; margin: 0; padding: 0; max-width: 902px; }
.md-promo__item { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid #eee8e3; }
.md-promo__item-main { min-width: 0; flex: 1 1 auto; }
.md-promo__item-title { margin: 0 0 4px; font: 600 16px/22px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-promo__item-meta, .md-promo__item-stats, .md-promo__item-money { margin: 0; font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-promo__item-stats, .md-promo__item-money { margin-top: 4px; }
.md-promo__daily { margin-top: 8px; font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-promo__daily-list { margin: 6px 0 0; padding-left: 1.2em; }
.md-cab__promo { margin-bottom: 20px; }
.md-promo__badge { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: 14px; background: var(--md-color-bg-canvas); font: 500 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); white-space: nowrap; }
.md-promo__badge--success { background: rgba(67, 107, 88, 0.12); color: #2f5a45; }
.md-promo__badge--wait { background: var(--md-color-action-soft-bg); color: var(--md-color-action-secondary-text); }
.md-promo__badge--warn { background: var(--md-color-warning-soft-bg, #fbeee4); color: #8a4b2a; }
.md-promo__refuse { margin-top: 10px; }
.md-promo__refuse-btn { font-size: 13px; }
.md-promo .md-field__hint { margin: 6px 0 0; font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
@media (max-width: 600px) {
	.md-promo__item { flex-direction: column; align-items: stretch; }
	.md-promo__actions .md-button { width: 100%; }
}

/* Пункт 7 · «Просування» по макетам Figma 604:17574 / 604:18175: плитки, поточне, строк-карточки, умови, історія. */
.md-promo__pill { margin: 12px 0 0; }
.md-promo__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 600px; border-bottom: 0; padding-bottom: 0; margin-bottom: 8px; }
.md-promo__camp { padding: 16px 0 20px; }
.md-promo__camp + .md-promo__camp { border-top: 1px solid var(--md-color-border-subtle); }
.md-promo__camp-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 8px; }
.md-promo__camp-title { margin: 0; font: 600 16px/22px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-promo__kv { margin: 0; max-width: 902px; }
.md-promo__kv > div { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--md-color-border-subtle); }
.md-promo__kv dt { margin: 0; font: 400 14px/20px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-promo__kv dd { margin: 0; display: flex; flex-direction: column; gap: 2px; font: 500 15px/22px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-promo__kv dd strong { font-weight: 600; }
.md-promo__kv dd span { font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-promo__kv > div.is-off dd strong { color: #7a4a36; }
.md-promo__links { display: inline-flex; gap: 10px; font: 500 13px/18px var(--md-font-sans); }
.md-promo__links a { color: var(--md-color-action-secondary-text); }
.md-promo__how { max-width: 902px; margin: 0 0 20px; }
.md-promo__form { max-width: 902px; }
.md-promo__form > .md-field, .md-promo__plans, .md-promo__methods { max-width: 560px; }
.md-promo__plans { margin: 0; padding: 0; border: 0; display: grid; gap: 12px; }
.md-promo__methods { margin: 0; padding: 0; border: 0; display: grid; gap: 8px; }
.md-promo__methods label { display: flex; gap: 8px; align-items: center; }
.md-promo__plans[hidden] { display: none; }
.md-promo__plan { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; }
.md-promo__plan input { margin: 3px 0 0; width: 18px; height: 18px; accent-color: var(--md-color-action-primary-bg); }
.md-promo__plan-body { display: flex; flex-direction: column; gap: 2px; }
.md-promo__plan-title { font: 500 15px/22px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-promo__plan-note { font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-promo__conditions { margin-top: 4px; }
.md-promo__actions { align-items: center; }
.md-promo__hint { margin: 0; font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-promo__history { list-style: none; margin: 0; padding: 0; max-width: 902px; }
.md-promo__hrow { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 0; }
.md-promo__hrow + .md-promo__hrow { border-top: 1px solid var(--md-color-border-subtle); }
.md-promo__hbody { min-width: 0; }
.md-promo__htitle { margin: 0; font: 600 15px/22px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-promo__hmeta { margin: 2px 0 0; font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-promo__hside { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex: 0 0 auto; }
@media (max-width: 600px) {
	.md-promo__kv > div { grid-template-columns: 1fr; gap: 4px; }
	.md-promo__hrow { flex-direction: column; align-items: stretch; }
	.md-promo__hside { align-items: flex-start; }
	.md-promo__tiles { grid-template-columns: 1fr 1fr; }
}

/* «Мої послуги» by status groups (Figma 572:2926). */
.md-svc-lead { max-width: 640px; margin: -8px 0 8px; }
.md-svc-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr)); gap: 24px; }
.md-svc-card { display: grid; grid-template-columns: 124px minmax(0, 1fr); min-height: 136px; overflow: hidden; border: 1px solid var(--md-color-border-subtle); border-radius: var(--md-radius-12); background: var(--md-color-bg-surface); box-shadow: var(--md-shadow-card); }
.md-svc-card__cover { position: relative; display: block; background: var(--md-color-bg-section-warm); }
.md-svc-card__cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.md-svc-card__nocover { position: absolute; inset: 0; display: grid; place-items: center; color: var(--md-color-text-secondary); }
.md-svc-card__rating { position: absolute; left: 8px; bottom: 8px; padding: 2px 8px; border-radius: 999px; background: rgba(255, 255, 255, .92); font: 500 12px/18px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-svc-card__rating small { color: var(--md-color-text-secondary); font-size: 11px; }
.md-svc-card__body { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; min-width: 0; }
.md-svc-card__title { font: 500 15px/21px var(--md-font-sans); color: var(--md-color-text-primary); text-decoration: none; }
.md-svc-card__title:hover { text-decoration: underline; }
.md-svc-card__meta { margin: 0; font: 400 12px/17px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-svc-card__chip { margin: 2px 0 0; }
.md-svc-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 8px; }
.md-svc-card__price { font: 500 14px/20px var(--md-font-sans); color: var(--md-color-text-primary); white-space: nowrap; }
.md-svc-card__action { min-height: 38px; padding: 8px 16px; font-size: 13px; }
.md-svc-note { margin-top: 16px; padding: 14px 16px; border-radius: var(--md-radius-12); background: var(--md-color-action-soft-bg); }
.md-svc-note--warm { background: var(--md-color-bg-section-warm); }
.md-svc-note__title { margin: 0 0 4px; font: 600 13px/19px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-svc-note__text { margin: 0; font: 400 14px/21px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-svc-archive { margin-top: 24px; }
.md-svc-archive > summary { cursor: pointer; font: 500 14px/20px var(--md-font-sans); color: var(--md-color-action-secondary-text); }
.md-svc-archive > .md-svc-cards { margin-top: 16px; }
@media (max-width: 600px) {
	.md-svc-card { grid-template-columns: 96px minmax(0, 1fr); }
	.md-svc-card__foot { flex-wrap: wrap; }
}

/* Overview (Figma 561:3): timeline of the next consultations and the profile card. */
.md-tline { list-style: none; margin: 0; padding: 0; }
.md-tline__item { position: relative; display: grid; grid-template-columns: 22px 180px minmax(0, 1fr) auto; gap: 16px; align-items: start; padding: 10px 0; }
.md-tline__item:not(:last-child)::before { content: ""; position: absolute; left: 10px; top: 30px; bottom: -10px; width: 2px; background: var(--md-color-border-subtle); }
.md-tline__dot { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--md-color-action-primary-bg, #5b4a7a); background: var(--md-color-bg-surface); }
.md-tline__item.is-paid .md-tline__dot { background: var(--md-color-action-primary-bg, #5b4a7a); }
.md-tline__when, .md-tline__what { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.md-tline__when strong, .md-tline__what a { font: 500 14px/20px var(--md-font-sans); color: var(--md-color-text-primary); text-decoration: none; }
.md-tline__what a:hover { text-decoration: underline; }
.md-tline__when span, .md-tline__what span { font: 400 12px/17px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-pcard { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 16px; align-items: center; }
.md-pcard__photo { display: grid; place-items: center; width: 64px; height: 64px; overflow: hidden; border-radius: 50%; background: var(--md-color-action-soft-bg); font: 500 22px/1 var(--md-font-sans); color: var(--md-color-action-secondary-text); }
.md-pcard__photo img { width: 100%; height: 100%; object-fit: cover; }
.md-pcard__body p { margin: 0; }
.md-pcard__name { font: 500 15px/21px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-pcard__chip { margin: 4px 0 !important; }
.md-pcard__note { font: 400 12px/17px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-pcard__actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 760px) {
	.md-tline__item { grid-template-columns: 22px minmax(0, 1fr); }
	.md-tline__what, .md-tline__item > .md-chip { grid-column: 2; }
	.md-tline__item > .md-chip { justify-self: start; }
	.md-pcard { grid-template-columns: 56px minmax(0, 1fr); }
	.md-pcard__photo { width: 56px; height: 56px; }
	.md-pcard__actions { grid-column: 1 / -1; justify-content: flex-start; }
}

/* Booking as the specialist sees it (Figma 568:1821): «Деталі» rows and «Що буде далі». */
.md-kvlist { margin: 0; }
.md-kvlist__row { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--md-color-border-subtle); }
.md-kvlist__row dt { font: 400 13px/19px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-kvlist__row dd { margin: 0; display: flex; flex-direction: column; gap: 2px; }
.md-kvlist__row dd strong { font: 500 15px/21px var(--md-font-sans); color: var(--md-color-text-primary); }
.md-kvlist__row dd small { font: 400 12px/17px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-sbook__next .md-book__alert { margin-bottom: 16px; }
.md-sbook__next .md-sbook__actions { margin-top: 0; }
@media (max-width: 600px) {
	.md-kvlist__row { grid-template-columns: 1fr; gap: 2px; }
}

/* Client booking inside the account cabinet (Figma 596:*): one column next to the menu. */
.md-book--incab { background: none; }
.md-book--incab .md-book__title { margin: 4px 0 16px; }
.md-book--incab .md-book__grid { grid-template-columns: minmax(0, 1fr); }
.md-book--incab .md-book__side { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
/* A3 · auction on «Просування» (Figma 738:26463 · 739:26475). */
.md-promo__bid { display: flex; flex-direction: column; gap: 12px; max-width: 902px; margin-top: 16px; }
.md-promo__bid-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.md-promo__bid-row .md-field { margin: 0; min-width: 220px; }
.md-promo__bid .md-button { min-width: 176px; }
.md-promo__own { display: contents; }
.md-promo__own-toggle { cursor: pointer; list-style: none; font: 500 14px/20px var(--md-font-sans); color: var(--md-color-action-primary, #4a3f7a); }
.md-promo__own-toggle::-webkit-details-marker { display: none; }
.md-promo__own[open] .md-promo__own-toggle { display: none; }
.md-promo__own .md-field__input { width: 160px; }
.md-promo__consent { display: flex; gap: 10px; align-items: flex-start; font: 400 13px/18px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-promo__consent[hidden] { display: none; }
@media (max-width: 600px) {
	.md-promo__bid-row { flex-direction: column; align-items: stretch; }
	.md-promo__bid .md-button, .md-promo__bid-row .md-field { width: 100%; min-width: 0; }
	.md-promo__own .md-field__input { width: 100%; }
}
/* AUTH-1: account made with Google — «Задати пароль» instead of the change-password form. */
div.md-set__summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
div.md-set__summary .md-set__form { margin: 0; }

/* Auction invoices waiting for payment (promotion 0.7.126). */
.md-promo__invoice { padding: 16px; border: 1px solid var(--md-color-border-subtle); border-radius: 12px; display: grid; gap: 8px; }
.md-promo__invoice + .md-promo__invoice { margin-top: 12px; }
.md-promo__invoice:target { border-color: var(--md-color-action-primary-bg); }
.md-promo__invoice-title { margin: 0; }
.md-promo__invoice-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.md-promo__invoice-actions form { margin: 0; }
@media (max-width: 600px) { .md-promo__invoice-actions, .md-promo__invoice-actions form, .md-promo__invoice-actions .md-button { width: 100%; } }

/* SUP-1 · «Підтримка»: list, conversation and forms in the cabinet rhythm. */
.md-sup__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 20px; }
.md-sup__back { margin: 0 0 8px; font: 500 14px/20px var(--md-font-sans); }
.md-sup__back a { color: var(--md-color-action-secondary-text); text-decoration: none; }
.md-sup__row.is-unread .md-brow__title { font-weight: 700; }
.md-sup__preview { color: var(--md-color-text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 320px; }
.md-sup__thread { display: grid; gap: 14px; margin: 20px 0 0; padding: 0; list-style: none; }
.md-sup__msg { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; max-width: 76%; }
.md-sup__msg--mine { justify-self: end; align-items: flex-end; }
.md-sup__meta { display: flex; gap: 8px; margin: 0; font: 400 12px/16px var(--md-font-sans); color: var(--md-color-text-secondary); }
.md-sup__meta strong { color: var(--md-color-text-primary); font-weight: 600; }
.md-sup__bubble { padding: 12px 16px; border-radius: 16px 16px 16px 4px; background: var(--md-color-bg-surface); border: 1px solid var(--md-color-border-subtle); font: 400 15px/23px var(--md-font-sans); color: var(--md-color-text-primary); overflow-wrap: anywhere; }
.md-sup__msg--mine .md-sup__bubble { border-radius: 16px 16px 4px 16px; background: var(--md-color-action-soft-bg, #efe9f6); border-color: transparent; }
.md-sup__file-link { margin: 2px 0 0; font: 500 13px/18px var(--md-font-sans); }
.md-sup__file-link a { display: inline-flex; align-items: center; gap: 6px; color: var(--md-color-action-secondary-text); }
.md-sup__form { display: grid; gap: 14px; max-width: 640px; margin-top: 20px; }
.md-sup__text { min-height: 120px; resize: vertical; }
.md-sup__file { font: 400 14px/20px var(--md-font-sans); }
.md-sup__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.md-sup__close { margin: 16px 0 0; }
.md-reviews__actions { margin: 10px 0 0; }
@media (max-width: 600px) {
	.md-sup__msg { max-width: 92%; }
	.md-sup__preview { max-width: 180px; }
	.md-sup__head .md-button { width: 100%; }
}

/* Intro video block in the questionnaire (VI-1b, Figma «Анкета — відео-знайомство: стани»). */
.md-qvideo [hidden] { display: none !important; }
.md-qvideo.is-busy .md-qphoto__choose { pointer-events: none; opacity: .5; }
.md-qvideo__frame { position: relative; }
.md-qvideo__msg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; margin: 0 !important; padding: 24px; color: #fff; font: 500 14px/20px var(--md-font-sans); text-align: center; }
.md-qvideo__thumb { position: relative; display: flex; align-items: center; justify-content: center; color: var(--md-color-action-primary-bg, #5a4b7a); }
.md-qvideo__thumb.is-video { background: linear-gradient(160deg, #5c4c7b 0%, #29263a 100%); color: #fff; }
.md-qvideo__thumb.is-busy .md-qvideo__icon { opacity: .35; }
.md-qvideo__pill { position: absolute; left: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 5px; height: 26px; padding: 0 10px 0 8px; border-radius: var(--md-radius-full); background: rgba(255, 255, 255, .88); color: var(--md-color-action-primary-bg, #5a4b7a); font: 600 12px/16px var(--md-font-sans); }
.md-qvideo__bar { height: 8px; border-radius: var(--md-radius-full); background: #e6e0ed; overflow: hidden; }
.md-qvideo__bar > span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--md-color-action-primary-bg, #5a4b7a); transition: width .3s; }
.md-qvideo__error { margin: 0 !important; color: var(--md-color-text-danger, #a33a3a); font: 500 13px/18px var(--md-font-sans); }
.md-qvideo__frame { width: min(400px, calc(100vw - 32px), calc((100vh - 80px) * 9 / 16)); aspect-ratio: 9 / 16; border-radius: var(--md-radius-12); overflow: hidden; background: #1c1b23; }
.md-qvideo__frame iframe { width: 100%; height: 100%; border: 0; }
