/* Кабинет: адаптация макетов VmfqoXK3Ktg6MW7DNltSCB, 31.10.2026.
   Только оболочка cab-app; служебные страницы и публичный сайт не затрагиваются. */
body.cab-app .cabinet-main { width: 100%; max-width: none; min-width: 0; margin: 0; box-sizing: border-box; }
body.cab-app .cabinet-shell { gap: 0; }
body.cab-app .cab-section-home, body.cab-app .cab-subscreen { grid-column: 1 / -1; min-width: 0; width: 100%; }
body.cab-app .cab-section-home[hidden], body.cab-app .cab-subscreen[hidden], body.cab-app .cab-screen-suspended { display: none !important; }
body.cab-app .cab-subscreen > .vita-about { display: block; max-width: 660px; }
body.cab-app .cab-subscreen > .vita-about > :is(.vita-about__portrait, h2, p, hr) { display: block; }
body.cab-app #vita-chat.vita-layout { grid-template-columns: minmax(0, 1fr); max-width: 1040px; }
body.cab-app .cab-subscreen > .vita-day-plan { margin-top: 0; }
body.cab-app .cab-chat-shortcuts { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
body.cab-app .cab-chat-shortcuts > a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 14px; border-radius: 22px; border: 1px solid var(--cab-line); background: white; color: var(--cab-ink); text-decoration: none; font-size: 14px; }
body.cab-app .cab-chat-shortcuts .section-menu__icon, body.cab-app .cab-chat-shortcuts .section-menu__note { display: none; }
body.cab-app .cab-chat-shortcuts .section-menu__item { flex-direction: row; min-height: 44px; gap: 0; }
body.cab-app .cab-chat-shortcuts .section-menu__item strong { font-size: 14px; font-weight: 400; }
body.cab-app .cab-chat-shortcuts a[aria-current="page"] { background: var(--cab-peach); border-color: var(--brand); }
body.cab-app .section-menu__item[hidden] { display: none; }
body.cab-app .section-menu[hidden], body.cab-app .section-menu__back[hidden], body.cab-app .tf-grid[hidden], body.cab-app .tf-card[hidden], body.cab-app .tf-compare[hidden], body.cab-app .tf-free[hidden] { display: none !important; }
body.cab-app .tf-grid[data-menu-ready] { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
/* Вход в раздел через компактное меню; содержимое открывается отдельным экраном. */
body.cab-app .section-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 24px; }
body.cab-app .section-menu__intro { font-size: 15px; color: var(--cab-muted); margin: 0 0 16px; }
body.cab-app .section-menu__item { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 18px; min-height: 142px; border: 1px solid #e3e6df; border-radius: 22px; background: #fff; color: var(--cab-ink); text-decoration: none; }
body.cab-app .section-menu__item:hover { border-color: var(--brand); background: #fff9f4; }
body.cab-app .section-menu__item:focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }
body.cab-app .section-menu__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: var(--cab-peach); color: var(--cab-accent-deep); }
body.cab-app .section-menu__icon svg { width: 22px; height: 22px; }
body.cab-app .section-menu__item strong { font-size: 17px; line-height: 1.25; }
body.cab-app .section-menu__note { font-size: 13px; line-height: 1.4; color: #68716b; }
body.cab-app .section-menu__arrow { position: absolute; right: 15px; top: 16px; color: #899188; }
body.cab-app .section-menu__back { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 12px; color: var(--cab-accent-deep); text-decoration: none; }
body.cab-app .section-menu__title { margin: 0 0 20px; font-size: 25px; }
body.cab-app .section-menu__start { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; margin-bottom: 16px; color: var(--cab-ink); text-decoration: none; border-top: 1px solid var(--cab-line); font-size: 14px; font-weight: 600; }
body.cab-app .section-menu__start span { font-size: 12px; color: #68716b; font-weight: 400; text-align: right; }
body.cab-app #panel-partner[data-section-home="true"] > .partner-subnav { display: none; }
body.cab-app #path > [data-path-view][hidden] { display: none; }
@media (min-width: 1100px) { body.cab-app .section-menu { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { body.cab-app .section-menu__item { min-height: 128px; padding: 14px; gap: 6px; } body.cab-app .section-menu__icon { width: 32px; height: 32px; } body.cab-app .section-menu__item strong { font-size: 16px; } body.cab-app .section-menu__note { font-size: 12px; } }
@media (max-width: 400px) { body.cab-app .section-menu { gap: 10px; } body.cab-app .section-menu__item { padding: 14px; } }
body.cab-app .tree-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
body.cab-app .tree-summary { margin: 0; }
body.cab-app .tree-summary strong { font-size: 28px; }
body.cab-app .tree-controls { display: flex; gap: 8px; flex-wrap: wrap; }
body.cab-app .tree-controls .btn { font-size: 13px; min-height: 44px; padding: 10px 14px; }
body.cab-app .tree-diagram-hint { margin: 12px 0; }
body.cab-app .tree-viewport { width: 100%; max-height: 72vh; min-height: 420px; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--cab-line); border-radius: 24px; background: radial-gradient(#c8ccc7 1px, transparent 1px) 0 0 / 20px 20px, #f6f7f3; }
body.cab-app .tree-diagram, body.cab-app .tree-children { display: flex; justify-content: center; width: max-content; min-width: 100%; padding: 0; margin: 0; list-style: none; }
body.cab-app .tree-diagram { padding: 28px 24px 40px; box-sizing: border-box; }
body.cab-app .tree-branch { display: flex; flex-direction: column; align-items: center; position: relative; padding: 28px 12px 0; flex: 0 0 auto; }
body.cab-app .tree-diagram > .tree-branch { padding: 0; }
body.cab-app .tree-children > .tree-branch::before, body.cab-app .tree-children > .tree-branch::after { content: ''; position: absolute; top: 0; width: 50%; height: 0; border-top: 2px solid #b7bfb4; }
body.cab-app .tree-children > .tree-branch::before { left: 0; }
body.cab-app .tree-children > .tree-branch::after { right: 0; }
body.cab-app .tree-children > .tree-branch:first-child::before, body.cab-app .tree-children > .tree-branch:last-child::after { border: 0; }
body.cab-app .tree-descendants { position: relative; display: flex; flex-direction: column; align-items: center; padding-top: 28px; }
body.cab-app .tree-descendants[hidden] { display: none; }
body.cab-app .tree-descendants::before { content: ''; position: absolute; top: 0; left: 50%; height: 28px; border-left: 2px solid #b7bfb4; }
body.cab-app .tree-person { position: relative; width: 220px; border: 1px solid #dfe4dc; border-radius: 20px; background: #fff; box-shadow: 0 4px 12px #23322308; }
body.cab-app .tree-children .tree-person::before, body.cab-app .tree-branch--more > .btn::before { content: ''; position: absolute; left: 50%; top: -29px; height: 28px; border-left: 2px solid #b7bfb4; }
body.cab-app .tree-person--root { border-color: var(--brand); background: #fff4eb; }
body.cab-app .tree-person-toggle { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 100%; min-height: 190px; padding: 20px 14px 14px; border: 0; border-radius: 20px; background: transparent; color: var(--cab-ink); font: inherit; text-align: center; cursor: pointer; }
body.cab-app .tree-person-toggle:hover { background: #ff6a3d09; }
body.cab-app .tree-person-toggle:focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }
body.cab-app .tree-person-toggle strong { font-size: 17px; line-height: 1.3; overflow-wrap: anywhere; }
body.cab-app .tree-avatar { display: grid; place-items: center; height: 40px; width: 40px; border-radius: 50%; background: #edf1e8; color: #506343; font-weight: 700; }
body.cab-app .tree-person--root .tree-avatar { background: var(--brand); color: #fff; }
body.cab-app .tree-you { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--cab-accent-deep); }
body.cab-app .tree-status { font-size: 11px; line-height: 1.4; color: #737873; }
body.cab-app .tree-status.is-active { color: #4d7040; }
body.cab-app .tree-direct { font-size: 12px; color: #596258; }
body.cab-app .tree-toggle-label { margin-top: auto; padding-top: 8px; width: 100%; border-top: 1px solid var(--cab-line); font-size: 13px; font-weight: 600; color: var(--cab-accent-deep); }
body.cab-app .tree-node-status, body.cab-app .tree-leaf-details { width: 220px; box-sizing: border-box; padding: 16px; border-radius: 16px; background: #fff; font-size: 13px; }
body.cab-app .tree-branch--more > .btn { position: relative; width: 180px; white-space: normal; }
.vita-day-plan { background: var(--cab-peach); border: 1px solid var(--cab-peach-2); border-radius: 24px; padding: 24px; margin: 20px 0; }
.vita-day-plan:empty { display: none; }
.vita-day-plan h3 { margin-top: 0; }
body.cab-app .vita-day-plan .day-plan-item { display: flex; align-items: start; gap: 12px; margin: 16px 0; font-size: 16px; }
body.cab-app .day-plan-item input { width: 22px; min-height: 22px; height: 22px; margin: 2px 0 0; flex: 0 0 22px; accent-color: var(--brand); }
.day-plan-item small, .day-plan-selected { display: block; color: var(--cab-accent-deep); font-size: 12px; margin-top: 6px; }
.vita-day-plan .btn { display: flex; width: 100%; margin-top: 12px; justify-content: center; }
body.cab-app .cab-panel { width: 100%; min-width: 0; max-width: none; }
body.cab-app .cab-head { margin: 0 0 16px; }
body.cab-app .cab-head h1, body.cab-app .cab-section-head h1 { color: var(--cab-ink); line-height: 1.15; }
body.cab-app .cab-sub { color: var(--cab-ink-2); font-size: 16px; }
body.cab-app :is(.card, .phub__user, .phub__list, .phub__become) { box-shadow: none; border-radius: 20px; }
body.cab-app .cab-ava { background: linear-gradient(135deg, #ffae88, var(--cab-hero-b)); }
.cab-head-help { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 8px 12px; border-radius: 24px; background: #fff; color: var(--cab-ink); font-size: 14px; font-weight: 700; white-space: nowrap; text-decoration: none; }
.cab-mbar .cab-head-help { margin-left: auto; }
.cab-back { display: inline-flex; align-items: center; min-height: 44px; color: var(--cab-accent-deep); text-decoration: none; font-weight: 700; }
.cab-section-head { display: grid; gap: 8px; margin-bottom: 8px; }
.cab-section-head h1, .cab-section-head p { margin: 0; }
.cab-extra { display: grid; max-width: 760px; background: #fff; border-radius: 20px; padding: 8px 28px; }
.cab-extra > a { display: flex; align-items: center; gap: 14px; padding: 16px 0; min-height: 56px; color: var(--cab-ink); text-decoration: none; font-weight: 600; }
.cab-extra > a + a { border-top: 1px solid var(--cab-line); }
.cab-extra > a > span:first-of-type { flex: 1; }
.cab-extra .nav-ico { flex: 0 0 22px; }
.cab-extra a:hover, .cab-back:hover { color: var(--cab-accent-deep); }
body.cab-app .cab-settings { max-width: 900px; }
body.cab-app .cab-settings .card { padding: 28px 32px; }
body.cab-app .cab-settings :is(.check, .row) { align-items: center; }
body.cab-app .cab-settings .check input[type=checkbox] { width: 22px; min-height: 22px; margin: 0; flex: 0 0 22px; }
body.cab-app .cab-settings :is(#consents, #notify-box) > * + * { margin-top: 16px; }
body.cab-app .phub { gap: 18px; margin: 0; }
body.cab-app .phub__user { padding: 28px 40px; min-height: 130px; }
body.cab-app .phub__row { min-height: 82px; padding: 22px 12px; }
body.cab-app .phub__list { padding: 0 28px; }
body.cab-app .phub__become { padding: 28px; }
body.cab-app #upgrade-card .btn { width: auto; min-width: 200px; }
/* Личные данные: независимые компактные поля; ошибки и формы смены контактов остаются в потоке. */
body.cab-app .pdata { width: min(100%, 760px); max-width: 760px; gap: 20px; }
body.cab-app .pdata .card { padding: 28px 40px; }
body.cab-app .pdata-grid { gap: 22px 24px; align-items: start; }
body.cab-app .pdata-field > * { margin-top: 0; margin-bottom: 0; }
body.cab-app .pdata-field label { margin: 0 0 8px; font-size: 16px; color: #71808b; }
body.cab-app .pdata-field input { min-height: 56px; }
body.cab-app .pdata-field .pdata-note { margin: 8px 0 0; font-size: 14px; }
body.cab-app .pdata-field .pdata-change { margin: 6px 0 0; }
body.cab-app .pdata-field .pdata-change .btn { min-height: 36px; padding: 4px 0; width: auto; }
body.cab-app .pdata-edit[hidden] { display: none; }
body.cab-app .pdata-grid > .pdata-field:nth-child(3) { grid-column: 1 / -1; max-width: 50%; padding-right: 12px; }
body.cab-app .pdata-actions { gap: 16px; }
body.cab-app .pdata-photo__name { font-size: 24px; }
body.cab-app .pdata-photo__cap { margin: 4px 0 0; }
/* Партнёр: те же блоки и обработчики, отдельные рабочие подэкраны. */
body.cab-app .partner-view { display: grid; gap: 24px; min-width: 0; }
body.cab-app .partner-view[hidden] { display: none; }
body.cab-app #partner-box > .partner-view { margin: 0; }
body.cab-app .partner-view > * { margin: 0; min-width: 0; }
body.cab-app .partner-view__title { margin: 0; font-size: 28px; }
body.cab-app .pstart { padding: 28px 26px; }
body.cab-app .pstart h2 { margin: 0 0 16px; font-size: 26px; }
body.cab-app .pstart__bar { margin-bottom: 24px; }
body.cab-app .pstep { align-content: start; gap: 8px; padding: 20px; }
body.cab-app .pstep__title, body.cab-app .pstep__text, body.cab-app .pstep__cta { margin: 0; }
body.cab-app .pstep__cta { margin-top: 8px; }
body.cab-app .psections__grid { gap: 16px 20px; }
body.cab-app .psections { margin: 0; }
body.cab-app .psections .pcard { min-height: 110px; padding: 22px 24px; border-radius: 20px; }
body.cab-app .psections--locked .pcard { padding-inline: 0; }
body.cab-app .psections--locked { padding: 20px 24px; }
body.cab-app .partner-subnav { gap: 8px; margin-bottom: 16px; }
body.cab-app .partner-subnav a { min-height: 44px; display: inline-flex; align-items: center; }
body.cab-app .partner-subnav { flex-wrap: wrap; }
/* Сегодня */
body.cab-app .cab-subscreen #today { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
body.cab-app .cab-subscreen #today > * { grid-column: 1 / -1; grid-row: auto; min-width: 0; }
body.cab-app .cab-subscreen #today .row { gap: 12px; }
body.cab-app #today > .today-more { order: 11; }
body.cab-app #today > .today-vita { order: 12; }
body.cab-app .today-hero { padding: 30px 40px; }
body.cab-app .today-hero h2 { font-size: 52px; line-height: .98; font-weight: 600; margin: 22px 0 24px; }
body.cab-app .today-vita { padding: 28px 32px; gap: 24px; }
body.cab-app .today-vita__quote { font-size: 16px; padding: 22px 24px; }
body.cab-app .today-week { padding: 28px 40px; }
/* Мой путь: единая сетка и более компактный ритм. */
body.cab-app #path { gap: 24px; }
body.cab-app .pth .card { padding: 32px 40px; }
body.cab-app .pth-goal { gap: 12px 32px; }
body.cab-app .pth-goal .pth-eyebrow, body.cab-app .pth-goal .pth-eyebrow + .pth-goal__title { margin: 0 !important; }
body.cab-app .pth-goal__title { font-size: 38px; line-height: 1.2; }
body.cab-app .pth-goal__route { margin: 0; }
body.cab-app .pth-segs { margin: 0; }
body.cab-app .pth-grid { gap: 24px; grid-template-columns: minmax(0, 1.52fr) minmax(0, 1fr); }
body.cab-app .path-overview { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
body.cab-app .path-overview > .card { min-width: 0; margin: 0; }
body.cab-app .path-overview > .empty, body.cab-app .path-overview > .pth-paused { grid-column: 1 / -1; }
body.cab-app .path-extra-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
body.cab-app .path-extra-menu .section-menu { grid-template-columns: minmax(0, 1fr); margin: 0; }
body.cab-app .path-overview .pth-goal { grid-template-columns: minmax(0, 1fr); grid-template-areas: "badge" "eyebrow" "title" "route" "segs" "btn"; }
body.cab-app .path-overview .pth-soft { width: 100%; justify-self: stretch; }
@media (min-width: 1200px) {
  body.cab-app .path-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.cab-app .path-overview > .card { padding: 28px 24px; }
  body.cab-app .path-overview .pth-goal__title { font-size: 30px; }
  body.cab-app .path-overview .pth-badge { font-size: 14px; }
  body.cab-app .path-overview .pth-row { grid-template-columns: 32px repeat(7, minmax(0, 1fr)); gap: 4px; }
}
@media (max-width: 767px) {
  body.cab-app .path-overview { gap: 20px; }
  body.cab-app .path-extra-menu { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 20px; }
}
body.cab-app .pth-rows { gap: 28px; }
body.cab-app .pth-row { grid-template-columns: 48px repeat(7, minmax(0, 1fr)); }
body.cab-app .pth-head { margin-bottom: 28px; }
body.cab-app .pth-legend { gap: 8px 16px; font-size: 13px; }
body.cab-app .pth-leg { gap: 6px; }
body.cab-app .pth-b { grid-template-columns: minmax(110px, 140px) 48px minmax(60px, 1fr) 70px 76px; gap: 10px; }
body.cab-app .pth-b__name strong { font-size: 17px; }
body.cab-app .pth-b__name small { font-size: 13px; }
body.cab-app .pth-test__body { grid-template-columns: minmax(0, 1fr) 256px; gap: 24px; }
body.cab-app .pth-next { background: #f7f7f5; padding: 24px; }
body.cab-app .pth-next p { margin: 0 0 10px; }
/* Вита: изображение у пузыря не мешает чтению, ввод и доступные инструменты остаются на месте. */
body.cab-app .vita-layout { grid-template-columns: minmax(0, 2.2fr) minmax(250px, 1fr); gap: 24px; }
body.cab-app .vita-conversation { padding: 24px; border-radius: 24px; }
body.cab-app .vita-conversation__head { margin: -8px 0 24px; padding-bottom: 20px; }
body.cab-app .vita-conversation .vita-log { gap: 16px; padding-left: 36px; }
body.cab-app .chat-history { max-height: clamp(140px, calc(100dvh - 380px), 520px); overflow-y: auto; overscroll-behavior-y: contain; scrollbar-gutter: stable; overflow-anchor: none; padding-right: 8px; }
body.cab-app .chat-composer { scroll-margin-bottom: calc(112px + env(safe-area-inset-bottom)); }
body.cab-app .chat-latest { display: flex; width: auto; min-height: 44px; margin: 12px auto; justify-content: center; }
body.cab-app .chat-latest[hidden] { display: none; }
body.cab-app .assistant-compose { margin-top: 20px; }
body.cab-app .assistant-compose textarea { min-height: 72px; }
body.cab-app .vita-conversation .vita-bubble { position: relative; padding: 16px 20px; max-width: 88%; background-image: none; border-radius: 24px; font-size: 16px; line-height: 1.45; }
body.cab-app .vita-conversation .vita-bubble--vita::before { content: ''; position: absolute; left: -36px; top: 0; width: 28px; height: 28px; background: var(--cab-peach-2) url('/img/vita-avatar-orange.webp') center/cover; border-radius: 50%; }
body.cab-app .vita-conversation .vita-bubble--vita { background-color: var(--cab-peach); border: 1px solid var(--cab-peach-2); }
body.cab-app .vita-conversation .vita-bubble--user { margin-left: auto; }
body.cab-app .vita-about { padding: 28px 24px; }
.vita-portrait, body.cab-app .vita-conversation .vita-bubble--vita::before { background-image: url('/img/vita-designer.png'), linear-gradient(135deg, #ffae88, #ff9c51); background-size: 264.5% auto, 100% 100%; background-position: 71.2% -21%, center; background-repeat: no-repeat; border-radius: 50%; }
.vita-portrait { display: inline-block; flex-shrink: 0; }
.vita-portrait--small { width: 48px; height: 48px; }
.vita-about__portrait { width: 106px; height: 106px; }
body.cab-app .vita-about > p { margin: 10px 0 16px; }
body.cab-app .vita-about .btn { justify-content: center; min-height: 52px; margin-top: 12px; }
body.cab-app .vita-conversation .vita-compose { display: grid; grid-template-columns: minmax(0, 1fr) 44px 44px; border-radius: 24px; position: static; gap: 8px; padding: 8px; }
body.cab-app .vita-conversation .vita-compose textarea { grid-column: 1 / -1; width: 100%; min-width: 0; height: 48px; min-height: 48px; max-height: 144px; padding: 10px 14px; font-size: 16px; resize: vertical; }
body.cab-app .vita-compose #vita-photo-box { grid-column: 1; grid-row: 2; min-width: 0; }
body.cab-app .vita-compose .vita-voice-box { grid-column: 2; grid-row: 2; min-width: 0; }
body.cab-app .vita-compose .vita-send { grid-column: 3; grid-row: 2; }
body.cab-app .vita-compose input[hidden] { display: none !important; }
body.cab-app #vita-photo { width: auto; min-height: 44px; margin: 0; padding: 8px 12px; }
body.cab-app #vita-photo-trial { margin: 0; font-size: 11px; }
body.cab-app #vita-photo-menu { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; margin: 12px 0; width: 100%; }
body.cab-app #vita-photo-menu .btn { width: 100%; min-width: 0; min-height: 44px; margin: 0; white-space: normal; }
body.cab-app .vita-conversation .vita-send { flex: 0 0 44px; }
body.cab-app .vita-conversation .vita-compose :is(.vita-voice-box, #vita-photo-box) { flex: 0 0 auto; margin: 0; }
body.cab-app .vita-day { text-align: center; margin: 0 0 4px; color: var(--cab-muted); font-size: 12px; }
body.cab-app .vita-day span { padding: 6px 16px; border-radius: 30px; background: #f1f1f1; }
/* Окно регистрации */
body.cab-app .welcome-partner { padding: 36px 40px; }
body.cab-app .welcome-partner h1 { text-align: center; line-height: 1.25; }
body.cab-app .welcome-partner__note { text-align: center; }
body.cab-app .welcome-points { gap: 24px; margin: 24px 0 28px; }
/* Тарифы: действующие четыре режима, визуальный язык и акценты макета. */
body.cab-app .tf-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body.cab-app .tf-card { padding: 32px; border: 0; border-radius: 28px; gap: 12px; }
body.cab-app .tf-card h3 { font-size: 24px; line-height: 1.25; }
body.cab-app .tf-price { font-size: 34px; line-height: 1.2; }
body.cab-app .tf-card--current { outline: 1px solid var(--brand); background: linear-gradient(165deg, var(--cab-peach), #fff 40%); }
body.cab-app .tf-card[data-plan=trial] { order: -1; grid-column: 1 / -1; background: var(--cab-hero-bg); color: #fff; }
body.cab-app .tf-card[data-plan=trial] :is(h3, p, li, summary) { color: #fff; }
body.cab-app .tf-card[data-plan=trial] h3 { font-size: 32px; }
body.cab-app .tf-card[data-plan=trial] .tf-current-btn { background: #fff; color: var(--cab-ink); opacity: 1; }
body.cab-app .tf-card > * { margin: 0; }
body.cab-app .tf-details { background: transparent; border: 0; border-radius: 0; padding: 0; }
body.cab-app .tf-details summary { cursor: pointer; min-height: 44px; display: list-item; padding-block: 12px; font-weight: 700; }
body.cab-app .tf-details .tf-list { margin: 12px 0; }
body.cab-app .tf-details .tf-lead { margin-top: 12px; }
body.cab-app .tf-card[data-plan=trial] { gap: 12px; }
body.cab-app .tf-card[data-plan=trial] .tf-for { margin-top: 4px; }
body.cab-app .tf-terms { margin-top: auto; gap: 16px; }
body.cab-app .tf-terms li { display: grid; gap: 10px; }
body.cab-app .tf-terms .btn { width: 100%; min-height: 52px; }
body.cab-app .tf-compare, body.cab-app .tf-free { padding: 24px 32px; background: #fff; border-radius: 24px; }
@media (min-width: 1024px) {
  body.cab-app .cabinet-main { padding: 36px 48px 40px 28px; }
  body.cab-app .cab-head h1 { font-size: 40px; }
  body.cab-app #panel-today { padding-left: 0; grid-template-columns: minmax(0, 648fr) minmax(0, 408fr); gap: 24px 40px; }
  body.cab-app #today > .today-vita { order: 11; grid-row: span 2; }
  body.cab-app #today > .today-more { order: 12; }
  body.cab-app .today-vita__who { flex-direction: column; text-align: center; gap: 16px; }
  body.cab-app .today-vita__ava { width: 146px; height: 146px; }
  body.cab-app .today-vita__name { font-size: 38px; }
  body.cab-app .today-hero .checkin { grid-template-columns: repeat(3, minmax(0, 1fr)); justify-content: stretch; gap: 12px; }
  body.cab-app .today-hero .checkin .btn { padding-inline: 12px; }
  body.cab-app .vita-conversation .vita-compose { bottom: 12px; }
}
@media (max-width: 1100px) {
  body.cab-app .pth-test__body { grid-template-columns: minmax(0, 1fr); }
  body.cab-app .vita-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  body.cab-app .cab-head { gap: 10px; }
  body.cab-app .cab-head__tools { gap: 6px; }
  body.cab-app .cab-head-help { font-size: 12px; padding: 6px 8px; }
  body.cab-app .cab-head .cab-ava { width: 40px; height: 40px; }
  body.cab-app .cab-head h1 { font-size: 28px; }
  body.cab-app .cab-head h1, body.cab-app .cab-section-head h1 { overflow-wrap: normal; }
  body.cab-app .cab-extra { padding: 4px 24px; }
  body.cab-app .phub__user { padding: 24px 28px; min-height: 108px; }
  body.cab-app .phub__list { padding: 0 28px; }
  body.cab-app .phub__row { min-height: 80px; padding-inline: 0; }
  body.cab-app .phub__become { padding: 24px; }
  body.cab-app .pdata .card, body.cab-app .cab-settings .card { padding: 24px; }
  body.cab-app .pdata-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body.cab-app .pdata-grid > .pdata-field:nth-child(3) { max-width: none; padding-right: 0; }
  body.cab-app .pdata-photo { grid-template-columns: auto minmax(0, 1fr); }
  body.cab-app .pdata-photo__actions { grid-column: 1 / -1; grid-row: auto; justify-content: start; margin-top: 16px; }
  body.cab-app .pstart { padding: 24px; }
  body.cab-app .pstart h2 { font-size: 23px; }
  body.cab-app .pstep { grid-template-columns: 32px minmax(0, 1fr); padding: 20px; gap: 4px 12px; }
  body.cab-app .pstep__num { grid-column: 1; grid-row: 1 / span 2; margin: 0; }
  body.cab-app .pstep__title, body.cab-app .pstep__text { grid-column: 2; }
  body.cab-app .pstep__cta { grid-column: 1 / -1; margin-top: 16px; }
  body.cab-app .today-hero { padding: 24px 20px; }
  body.cab-app .today-hero h2 { font-size: 30px; line-height: 1.04; margin: 20px 0; }
  body.cab-app .today-hero .checkin { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  body.cab-app .today-hero .checkin .btn { padding: 10px 8px; min-height: 52px; font-size: 15px; }
  body.cab-app .today-hero .checkin .btn[data-v=yes] { grid-column: 1 / -1; }
  body.cab-app .today-vita, body.cab-app .today-week { padding: 24px 20px; }
  body.cab-app .today-more summary { flex-wrap: wrap; }
  body.cab-app .today-more summary .today-more__count { font-size: 13px; }
  body.cab-app .pth .card { padding: 24px; }
  body.cab-app .pth-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body.cab-app #path { gap: 16px; }
  body.cab-app .pth-goal { gap: 12px; }
  body.cab-app .pth-badge { margin-bottom: 6px; }
  body.cab-app .pth-goal__title { font-size: 28px; }
  body.cab-app .pth-head { margin-bottom: 24px; }
  body.cab-app .pth-row { grid-template-columns: 30px repeat(7, minmax(0, 1fr)); gap: 4px; }
  body.cab-app .pth-legend { gap: 8px 10px; font-size: 11px; }
  body.cab-app .pth-d--mini { width: 12px; height: 12px; max-width: 12px; flex-basis: 12px; }
  body.cab-app .pth-b { grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }
  body.cab-app .pth-b__name { grid-column: 1; }
  body.cab-app .pth-b__score { grid-column: 2; font-size: 14px; }
  body.cab-app .pth-b__trend { grid-column: 3; }
  body.cab-app .pth-bar { grid-column: 1 / -1; grid-row: auto; }
  body.cab-app .pth-month__actions { flex-direction: column; align-items: stretch; }
  body.cab-app .pth-month__actions .btn { width: 100%; }
  body.cab-app .vita-conversation { padding: 20px 16px; }
  body.cab-app .vita-conversation .vita-log { padding-left: 28px; }
  body.cab-app .vita-conversation .vita-bubble { max-width: 96%; padding: 16px; }
  body.cab-app .vita-conversation .vita-bubble--vita::before { left: -30px; width: 24px; height: 24px; }
  body.cab-app .vita-about { display: block; padding: 20px; text-align: left; }
  body.cab-app .vita-about > :is(.vita-about__portrait, h2, p, hr) { display: none; }
  body.cab-app .vita-about h3 { margin: 0 0 16px; }
  body.cab-app .welcome-partner { padding: 28px 20px; }
  body.cab-app .welcome-partner::before { content: ''; display: block; width: 56px; height: 5px; border-radius: 5px; background: var(--cab-line); margin: -12px auto 24px; }
  body.cab-app .welcome-partner h1 { font-size: 28px; }
  body.cab-app .tf-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  body.cab-app .tf-card { padding: 28px; }
  body.cab-app .tf-card[data-plan=trial] h3 { font-size: 28px; }
  body.cab-app .tf-price { font-size: 32px; }
}
#week-diary summary { font-weight:700; font-size:1.2rem; cursor:pointer; }
#week-diary label { display:block; margin-top:1rem; }
#week-diary .week-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; margin-top: 12px; }
#week-diary #week-results { margin-top:1.25rem; }
#week-diary .week-entry { display:flex; align-items:center; gap:.6rem; padding:.55rem 0; border-bottom:1px solid #e5ddd4; }
#week-diary .week-entry span { flex:1; }
#week-diary .week-entry button { width:auto; min-height:40px; padding:.3rem .7rem; font-size:.85rem; }

@media (max-width: 767px) {
  body.cab-app .cab-subscreen #today { gap: 20px; }
}

/* Узкий экран партнёра: длинные названия и денежные значения. */
body.cab-app #partner-box .stat { min-width: 0; }
body.cab-app #partner-box .stat__label { hyphens: auto; overflow-wrap: anywhere; }
@media (max-width: 767px) {
  body.cab-app #partner-box .stat--premium,
  body.cab-app #partner-box .stat--qualification { grid-column: 1 / -1; }
  body.cab-app #partner-box .stat--premium .stat__value { white-space: nowrap; overflow-wrap: normal; font-size: clamp(28px, 8vw, 40px); }
}
@media (max-width: 480px) {
  body.cab-app #partner-section-menu .section-menu { grid-template-columns: minmax(0, 1fr); }
  body.cab-app #partner-section-menu .section-menu__item {
    display: grid; grid-template-columns: 38px minmax(0, 1fr) 16px;
    grid-template-areas: "icon title arrow" "icon note arrow";
    align-content: center; align-items: center; column-gap: 12px; row-gap: 4px;
    min-height: 96px; padding: 16px;
  }
  body.cab-app #partner-section-menu .section-menu__icon { grid-area: icon; }
  body.cab-app #partner-section-menu .section-menu__item strong { grid-area: title; min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
  body.cab-app #partner-section-menu .section-menu__note { grid-area: note; min-width: 0; }
  body.cab-app #partner-section-menu .section-menu__arrow { grid-area: arrow; position: static; }
}
