/* Вход и регистрация, кабинет клиента, избранное. */

/* ---------- Поле телефона ---------- */
.phone-field { display: flex; flex-direction: column; gap: 6px; }
.phone-field__label { font: 500 14px/20px var(--font-primary); color: var(--text-primary); }
.phone-field__star { color: var(--state-error); }
.phone-field__input { height: 60px; padding: 0 18px; border: 0; border-radius: var(--radius-md); background: var(--surface-primary); box-shadow: inset 0 0 0 1px var(--border-default); font: 400 22px/1 var(--font-secondary); letter-spacing: 0.02em; color: var(--text-primary); outline: 0; transition: box-shadow var(--dur-fast) var(--ease); }
.phone-field__input::placeholder { color: var(--text-tertiary); }
.phone-field__input:focus { box-shadow: inset 0 0 0 1.5px var(--brand-primary), 0 0 0 4px var(--color-accent-v2); }
@media (max-width: 759px) { .phone-field__input { height: 56px; font-size: 20px; } }

/* ---------- Вход и регистрация ---------- */
.auth { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: var(--page-gap); min-height: calc(100vh - 170px); }
.auth__kicker { font: 500 12px/1.4 var(--font-secondary); letter-spacing: 0.1em; text-transform: uppercase; color: var(--brand-primary); }
.auth__hero { display: none; }
.auth__card { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: var(--space-4); padding: 56px 64px; background: radial-gradient(90% 70% at 0% 100%, rgba(62, 198, 150, 0.14), rgba(62, 198, 150, 0) 60%), var(--color-white); }
.auth__card::before, .auth__card::after { content: ''; position: absolute; border-radius: 50%; pointer-events: none; }
.auth__card::after { right: -120px; bottom: -120px; width: 320px; height: 320px; border: 1px solid rgba(62, 198, 150, 0.25); }
.auth__card::before { right: -60px; bottom: -60px; width: 200px; height: 200px; border: 1px solid rgba(62, 198, 150, 0.18); }
.auth__card > * { position: relative; z-index: 1; width: 100%; max-width: 420px; }
.auth__title { margin: 0; font: 700 40px/46px var(--font-primary); letter-spacing: var(--tracking-tight); }
.auth__lead { margin: 0; color: var(--text-secondary); }
.auth__form { display: flex; flex-direction: column; gap: var(--space-4); }
/* В редизайне align-items и шрифт подписи здесь перебивались стилями чекбокса (scoped, выше по каскаду). */
.auth__consent { font: 400 13px/19px var(--font-primary); color: var(--text-secondary); }
.auth__consent a { color: var(--text-link); }
.auth__error { margin: 0; padding: 10px 14px; border-radius: var(--radius-lg); background: var(--state-error-subtle); color: var(--state-error); font: var(--font-ui-text); }
.auth__trust { display: flex; flex-wrap: wrap; gap: 18px; margin: var(--space-2) 0 0; font: 400 14px/20px var(--font-primary); color: var(--text-secondary); }
.auth__trust li { display: flex; align-items: center; gap: 6px; }
.auth__trust svg { color: var(--brand-primary); }
.auth__aside { margin: 0; font: var(--font-ui-text); color: var(--text-secondary); }
.auth__aside a { color: var(--text-primary); font-weight: 500; text-decoration: underline; }
.auth__side { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 28px; padding: 56px; border-radius: var(--radius-box); background: radial-gradient(80% 60% at 100% 0%, rgba(62, 198, 150, 0.45), rgba(62, 198, 150, 0) 60%), linear-gradient(180deg, var(--color-ink) 0%, var(--color-ink-deep) 100%); color: var(--color-white); }
.auth__side-title { margin: 0; max-width: 460px; font: 700 40px/46px var(--font-primary); letter-spacing: var(--tracking-tight); }
.auth__benefits { display: flex; flex-direction: column; gap: 18px; max-width: 360px; }
.auth__benefit { display: flex; align-items: flex-start; gap: 14px; }
.auth__benefit div { display: flex; flex-direction: column; gap: 2px; }
.auth__benefit b { font: 500 17px/24px var(--font-primary); }
.auth__benefit small { font: 400 14px/20px var(--font-primary); color: rgba(255, 255, 255, 0.7); }
.auth__benefit-tick { display: flex; flex: none; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--brand-primary); color: var(--color-white); }
@media (max-width: 1023px) { .auth { grid-template-columns: 1fr; } .auth__side { display: none; } }
@media (max-width: 759px) {
  .auth { display: block; min-height: 0; position: relative; }
  .auth__hero { position: relative; overflow: hidden; display: flex; flex-direction: column; min-height: 300px; padding: var(--space-5) 20px 96px; border-radius: var(--radius-2xl); background: radial-gradient(120% 90% at 100% 0%, rgba(62, 198, 150, 0.55) 0%, rgba(62, 198, 150, 0) 55%), linear-gradient(180deg, var(--color-ink) 0%, var(--color-ink-deep) 100%); color: var(--color-white); }
  .auth__hero::before, .auth__hero::after { content: ''; position: absolute; border-radius: 50%; }
  .auth__hero::before { right: -60px; top: 70px; width: 220px; height: 220px; border: 1px solid rgba(255, 255, 255, 0.12); }
  .auth__hero::after { right: -20px; top: 110px; width: 140px; height: 140px; border: 1px solid rgba(62, 198, 150, 0.35); }
  .auth__hero > * { position: relative; z-index: 1; }
  .auth__hero-title { max-width: 280px; margin: 10px 0 0; font: 700 32px/36px var(--font-primary); letter-spacing: var(--tracking-tight); }
  .auth__hero-lead { max-width: 280px; margin: 10px 0 0; font: 400 15px/21px var(--font-primary); color: rgba(255, 255, 255, 0.72); }
  .auth__perks { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; }
  .auth__perk { display: flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px 0 8px; border-radius: var(--radius-full); background: rgba(255, 255, 255, 0.1); font: 400 13px/1 var(--font-primary); }
  .auth__perk-tick { display: flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: var(--brand-primary); }
  .auth__card { z-index: 2; margin: -72px 8px 0; padding: var(--space-5) 18px 20px; gap: 14px; border-radius: 22px; background: var(--color-white); box-shadow: 0 18px 40px rgba(6, 8, 18, 0.14); }
  .auth__card::before, .auth__card::after { display: none; }
  .auth__title { font-size: 22px; line-height: 28px; }
  .auth__trust { justify-content: center; gap: var(--space-3); font-size: 13px; color: var(--text-tertiary); }
  .auth__trust li:not(:first-child) { display: none; }
}

/* ---------- Кабинет ---------- */
.cabinet { display: flex; flex-direction: column; gap: var(--page-gap); }
.cabinet__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-5) 28px; }
.cabinet__who { display: flex; align-items: center; gap: var(--space-4); min-width: 0; }
.cabinet__ava, .cabinet__hero-ava { display: flex; flex: none; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: var(--brand-primary); color: var(--color-white); font: 600 26px/1 var(--font-primary); }
.cabinet__who-text { min-width: 0; }
.cabinet__name { margin: 0; font: var(--font-h1); letter-spacing: var(--tracking-h1); overflow-wrap: anywhere; }
.cabinet__contacts { margin: var(--space-1) 0 0; color: var(--text-secondary); overflow-wrap: anywhere; }
.cabinet__edit { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.cabinet__edit > .field { width: 200px; }
.cabinet__edit-actions { display: flex; gap: var(--space-2); }
.cabinet__act { display: flex; gap: var(--space-2); }
.cabinet__error { width: 100%; margin: 0; font: var(--font-ui-text); color: var(--state-error); }
.cabinet__ok { margin: 0; font: var(--font-ui-text); color: var(--text-accent); }
.cabinet__warn { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: var(--space-4) 20px; background: color-mix(in oklch, #eab308 10%, #ffffff); box-shadow: inset 0 0 0 1px color-mix(in oklch, #eab308 30%, #ffffff); }
.cabinet__warn-icon, .favorites__warn-icon { display: flex; flex: none; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--color-white); color: color-mix(in oklch, #eab308 70%, #060812); }
.cabinet__warn-text, .favorites__warn-text { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 200px; font: 400 15px/21px var(--font-primary); }
.cabinet__warn-text b, .favorites__warn-text b { font-weight: 500; }
.cabinet__warn-text span, .favorites__warn-text span { font-size: 14px; color: var(--text-secondary); }
.cabinet__code { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.cabinet__code-input { width: 180px; height: 44px; padding: 0 14px; border: 0; border-radius: var(--radius-lg); background: var(--color-white); box-shadow: inset 0 0 0 1px var(--border-default); font: 400 18px/1 var(--font-secondary); letter-spacing: 0.2em; outline: 0; }
.cabinet__code-input::placeholder { font: 400 14px/1 var(--font-primary); letter-spacing: 0; color: var(--text-tertiary); }
.cabinet__code-input:focus { box-shadow: inset 0 0 0 1.5px var(--brand-primary), var(--focus-ring); }
.cabinet__code-hint { width: 100%; font-size: 13px; color: var(--text-secondary); }
.cabinet__grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: var(--page-gap); align-items: start; }
.cabinet__nav { position: sticky; top: var(--page-gap); display: flex; flex-direction: column; gap: 2px; padding: 10px; }
.cabinet__nav-item { display: flex; align-items: center; justify-content: space-between; height: 48px; padding: 0 14px; border-radius: var(--radius-lg); font: 400 15px/1.2 var(--font-primary); color: var(--text-primary); text-align: left; transition: background var(--dur-fast) var(--ease); }
.cabinet__nav-item:hover { background: var(--surface-secondary); }
.cabinet__nav-item b { display: flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: var(--radius-full); background: var(--surface-secondary); font: 500 12px/1 var(--font-secondary); }
.cabinet__nav-item[aria-current='page'] { background: var(--surface-inverse); color: var(--color-white); }
.cabinet__nav-item[aria-current='page'] b { background: var(--brand-primary); color: var(--color-white); }
.cabinet__body { min-width: 0; min-height: 420px; padding: var(--space-5) 28px; }
.cabinet__sec-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); margin-bottom: 18px; }
.cabinet__sec-head h2 { margin: 0; font: var(--font-h3); }
.cabinet__sec-head p { margin: var(--space-1) 0 0; font-size: 14px; color: var(--text-secondary); }
.cabinet__sec-link { font-size: 14px; color: var(--text-link); white-space: nowrap; }
.cabinet__state { padding: var(--space-4) 0; }
.cabinet__cars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.cabinet__saved { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.cabinet__saved > .card { flex: 1; }
.cabinet__dealer { display: flex; flex-direction: column; gap: 2px; padding: 0 var(--space-2); font: var(--font-ui-text); }
.cabinet__dealer--unknown { color: var(--text-tertiary); }
.cabinet__dealer-name { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cabinet__dealer-links { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.cabinet__dealer-phone { color: var(--text-primary); }
.cabinet__dealer-write { color: var(--text-link); }
.cabinet__chat { display: grid; grid-template-columns: 280px minmax(0, 1fr); min-height: 440px; overflow: hidden; border-radius: 14px; box-shadow: inset 0 0 0 1px var(--border-subtle); }
.cabinet__threads { display: flex; flex-direction: column; border-right: 1px solid var(--border-subtle); }
.cabinet__thread { display: flex; align-items: center; gap: var(--space-3); width: 100%; padding: 14px var(--space-4); border-bottom: 1px solid var(--border-subtle); text-align: left; color: var(--text-primary); }
.cabinet__thread[aria-current='true'] { background: var(--surface-secondary); }
.cabinet__thread small { flex: none; align-self: flex-start; font-size: 12px; color: var(--text-tertiary); }
.cabinet__thread-ava { display: flex; flex: none; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--surface-inverse); color: var(--color-white); font-weight: 600; }
.cabinet__thread-text { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
.cabinet__thread-text b { font: 500 14px/20px var(--font-primary); }
.cabinet__thread-text span { overflow: hidden; font-size: 13px; color: var(--text-secondary); text-overflow: ellipsis; white-space: nowrap; }
.cabinet__pane { display: flex; flex-direction: column; min-width: 0; }
.cabinet__pane-head { display: flex; flex-direction: column; gap: 2px; padding: 14px 18px; border-bottom: 1px solid var(--border-subtle); }
.cabinet__pane-head b { font-weight: 500; }
.cabinet__pane-head small { font-size: 13px; color: var(--text-secondary); }
.cabinet__pane-back { display: none; }
.cabinet__bubbles { display: flex; flex: 1; flex-direction: column; gap: var(--space-2); max-height: 520px; padding: 18px; overflow-y: auto; background: var(--surface-secondary); }
.cabinet__bubble { display: flex; flex-direction: column; gap: 2px; max-width: 75%; padding: 10px 14px; border-radius: var(--radius-xl); font: 400 15px/21px var(--font-primary); overflow-wrap: anywhere; white-space: pre-line; }
.cabinet__bubble time { align-self: flex-end; font-size: 11px; opacity: 0.7; }
.cabinet__bubble--in { align-self: flex-start; border-bottom-left-radius: var(--radius-sm); background: var(--color-white); box-shadow: inset 0 0 0 1px var(--border-subtle); }
.cabinet__bubble--out { align-self: flex-end; border-bottom-right-radius: var(--radius-sm); background: var(--brand-primary); color: var(--color-white); }
.cabinet__pane-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3); border-top: 1px solid var(--border-subtle); font-size: 14px; color: var(--text-secondary); }
.cabinet__form { display: flex; flex-direction: column; gap: var(--space-4); max-width: 480px; padding-bottom: 18px; }
.cabinet__form > .btn { align-self: flex-start; }
.cabinet__group { padding: 18px 0; border-top: 1px solid var(--border-subtle); }
.cabinet__group-title { margin: 0 0 var(--space-3); font: 500 16px/22px var(--font-primary); }
.cabinet__form .cabinet__group-title { margin-bottom: 0; }
.cabinet__seg { display: inline-flex; gap: var(--space-1); padding: var(--space-1); border-radius: var(--radius-lg); background: var(--surface-secondary); }
.cabinet__seg-item { display: flex; align-items: center; height: 36px; padding: 0 var(--space-4); border-radius: 9px; font-size: 14px; color: var(--text-secondary); }
.cabinet__seg-item[aria-current='true'] { background: var(--color-white); color: var(--text-primary); box-shadow: var(--shadow-sm); }
.cabinet__hero, .cabinet__bar, .cabinet__menu, .cabinet__help, .cabinet__out, .cabinet__tabs { display: none; }
@media (max-width: 1279px) { .cabinet__cars { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1023px) {
  .cabinet__grid { grid-template-columns: 1fr; }
  .cabinet__nav { position: static; flex-direction: row; overflow-x: auto; scrollbar-width: none; }
  .cabinet__nav-item { flex: none; gap: var(--space-2); }
}
@media (max-width: 759px) {
  .cabinet { gap: 10px; padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
  .cabinet__crumbs, .cabinet__head, .cabinet__nav { display: none; }
  .cabinet:not(.cabinet--profile) .cabinet__warn { display: none; }
  .cabinet__warn { flex-direction: column; align-items: stretch; padding: var(--space-4); border-radius: 18px; box-shadow: none; }
  .cabinet__warn-icon { display: none; }
  .cabinet__code-input { width: 100%; }
  .cabinet__code > .btn { width: 100%; }
  .cabinet__body { display: flex; flex-direction: column; gap: 10px; min-height: 0; padding: 0; background: transparent; }
  .cabinet__sec-head { align-items: flex-end; margin: 0; padding: 6px var(--space-1) 2px; }
  .cabinet__sec-head h2 { font: 700 26px/32px var(--font-primary); letter-spacing: var(--tracking-tight); }
  .cabinet__sec-head p { margin-top: 0; color: var(--text-tertiary); }
  .cabinet__sec-head--desk { display: none; }
  .cabinet__state { padding: 0; border-radius: 18px; background: var(--color-white); }
  .cabinet__cars { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
  .cabinet__saved { padding-bottom: var(--space-2); border-radius: 18px; background: var(--color-white); }
  .cabinet__dealer { padding: 0 10px; font-size: 13px; }
  .cabinet--profile .cabinet__hero { position: relative; display: flex; align-items: center; gap: 14px; padding: 20px var(--space-4); overflow: hidden; border-radius: 22px; background: var(--surface-inverse); color: var(--color-white); }
  .cabinet__hero::after { content: ''; position: absolute; right: -40px; top: -40px; width: 160px; height: 160px; border-radius: 50%; background: radial-gradient(circle, rgba(62, 198, 150, 0.35), rgba(62, 198, 150, 0) 70%); pointer-events: none; }
  .cabinet__hero-ava { position: relative; z-index: 1; width: 60px; height: 60px; }
  .cabinet__hero-who { position: relative; z-index: 1; display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
  .cabinet__hero-who h1 { margin: 0 0 2px; font: 600 22px/26px var(--font-primary); overflow-wrap: anywhere; }
  .cabinet__hero-who span { overflow: hidden; font-size: 14px; color: rgba(255, 255, 255, 0.7); text-overflow: ellipsis; white-space: nowrap; }
  .cabinet__hero-edit { position: relative; z-index: 1; display: flex; flex: none; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, 0.12); color: var(--color-white); }
  .cabinet__menu { display: block; padding: var(--space-1) 0; border-radius: 18px; background: var(--color-white); }
  .cabinet__item { display: flex; align-items: center; gap: var(--space-3); width: 100%; min-height: 56px; padding: 0 var(--space-4); color: var(--text-primary); text-align: left; }
  .cabinet__item + .cabinet__item { box-shadow: inset 0 1px 0 var(--border-subtle); }
  .cabinet__item > svg:last-child { flex: none; color: var(--text-tertiary); }
  .cabinet__item-icon { display: flex; flex: none; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; background: var(--surface-secondary); }
  .cabinet__item-label { flex: 1; font-size: 16px; }
  .cabinet__help { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-4); border-radius: 18px; background: var(--color-white); color: var(--text-primary); }
  .cabinet__help span { display: flex; flex-direction: column; gap: 2px; }
  .cabinet__help small { font-size: 13px; color: var(--text-tertiary); }
  .cabinet__help b { font: 500 19px/1.2 var(--font-secondary); }
  .cabinet__help i { display: flex; flex: none; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--brand-primary); color: var(--color-white); }
  .cabinet__out { display: block; min-height: 52px; border-radius: 18px; background: var(--color-white); font-size: 16px; color: var(--state-error); }
  .cabinet__bar:not([hidden]) { position: sticky; top: 0; z-index: 30; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 48px; margin: -8px -8px 0; padding: 0 var(--space-2); background: rgba(238, 240, 242, 0.96); }
  .cabinet__bar b { max-width: 200px; overflow: hidden; font: 600 17px/1.2 var(--font-primary); text-overflow: ellipsis; white-space: nowrap; }
  .cabinet__back { display: flex; justify-self: start; align-items: center; gap: 2px; min-height: 44px; padding: 0 var(--space-1) 0 0; font-size: 16px; color: var(--brand-primary-pressed); }
  .cabinet__form, .cabinet__group { max-width: none; padding: var(--space-4); border: 0; border-radius: 18px; background: var(--color-white); }
  .cabinet__prefs { display: flex; flex-direction: column; gap: 10px; }
  .cabinet--settings .cabinet__prefs { display: none; }
  .cabinet--prefs .cabinet__form { display: none; }
  .cabinet__form > .btn { align-self: stretch; }
  .cabinet__seg { display: flex; }
  .cabinet__seg-item { flex: 1; justify-content: center; height: 44px; }
  .cabinet__chat { display: block; min-height: 0; border-radius: 18px; background: var(--color-white); box-shadow: none; }
  .cabinet__threads { border-right: 0; }
  .cabinet__thread { min-height: 72px; border-bottom: 0; }
  .cabinet__thread[aria-current='true'] { background: none; }
  .cabinet__pane { display: none; }
  .cabinet__chat--open .cabinet__threads { display: none; }
  .cabinet__chat--open .cabinet__pane { display: flex; }
  .cabinet__pane-back { display: flex; }
  .cabinet__bubbles { max-height: none; padding: var(--space-3) var(--space-2); }
  .cabinet__bubble { max-width: 80%; }
  .cabinet__pane-foot { flex-direction: column; align-items: stretch; }
  .cabinet__tabs { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: grid; grid-auto-columns: 1fr; grid-auto-flow: column; padding: 6px var(--space-1) calc(6px + env(safe-area-inset-bottom)); background: var(--color-white); box-shadow: 0 -1px 0 var(--border-subtle); }
  .cabinet__tab { display: flex; flex-direction: column; align-items: center; gap: 3px; min-height: 56px; font: 400 11px/1.2 var(--font-primary); color: var(--text-tertiary); }
  .cabinet__tab[aria-current='page'] { color: var(--brand-primary-pressed); }
  .cabinet__tab-icon { position: relative; display: flex; }
  .cabinet__tab-icon i { position: absolute; top: -4px; left: 14px; display: flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: var(--radius-full); background: var(--brand-primary); box-shadow: 0 0 0 2px var(--color-white); color: var(--color-white); font: normal 500 11px/1 var(--font-secondary); }
  body:has(.cabinet) .widget { bottom: 84px; }
}

/* ---------- Избранное ---------- */
.favorites { display: flex; flex-direction: column; gap: var(--page-gap); }
.favorites__head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-4); padding: 28px 30px; }
.favorites__title { margin: 0; font: var(--font-h1); letter-spacing: var(--tracking-h1); }
.favorites__sub { margin: 6px 0 0; color: var(--text-secondary); }
.favorites__sub b { font-weight: 500; color: var(--text-primary); }
.favorites__warn { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: var(--space-4) 20px; background: color-mix(in oklch, #eab308 10%, #ffffff); box-shadow: inset 0 0 0 1px color-mix(in oklch, #eab308 30%, #ffffff); }
.favorites__box { padding: 22px 30px 30px; }
.favorites__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--page-gap); align-items: stretch; }
.favorites__grid > .card { box-shadow: none; }
.favorites__grid > .card:hover { box-shadow: var(--shadow-md); }
.favorites__note { margin: 0; padding-inline: var(--space-1); font: var(--font-ui-text); color: var(--text-secondary); }
.favorites__confirm { margin: 0 0 16px; color: var(--text-secondary); }
@media (max-width: 1279px) { .favorites__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .favorites__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 759px) {
  .favorites { gap: var(--space-2); }
  .favorites__crumbs { display: none; }
  .favorites__head { padding: 6px var(--space-1) 2px; background: transparent; gap: var(--space-3); }
  .favorites__title { font-size: 26px; line-height: 32px; }
  .favorites__sub { margin-top: 2px; font-size: 14px; }
  .favorites__warn { flex-direction: column; align-items: flex-start; }
  .favorites__warn > .btn { width: 100%; }
  .favorites__box { padding: 18px var(--space-4); }
  .favorites__grid { gap: var(--space-2); }
}

/* ---------- Демо кабинета без API (только при NUXT_PUBLIC_SHOW_WIP): заявки, уведомления ---------- */
.orders { display: flex; flex-direction: column; gap: 12px; }
.orders__demo { margin: 0; padding: 8px 12px; border-radius: 12px; background: var(--surface-secondary); font: 400 14px/1.4 "Suisse Intl", Arial, Helvetica, sans-serif; color: var(--text-secondary); }
.orders__item { display: flex; flex-direction: column; gap: 20px; padding: 20px; border-radius: 16px; background: #ffffff; box-shadow: inset 0 0 0 1px var(--border-subtle); }
.orders__head { display: flex; align-items: flex-start; gap: 14px; }
.orders__pic { display: flex; flex: none; align-items: center; justify-content: center; width: 88px; height: 66px; border-radius: 10px; background: var(--surface-tertiary); color: var(--text-tertiary); }
.orders__title { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
.orders__title small { font-size: 13px; color: var(--text-tertiary); }
.orders__title b { font: 500 18px/24px "Suisse Intl", Arial, Helvetica, sans-serif; }
.orders__title span { font-size: 14px; color: var(--text-secondary); }
.orders__status { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; font: 500 13px/1.2 "Suisse Intl", Arial, Helvetica, sans-serif; white-space: nowrap; }
.orders__status i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.orders__status--ok { background: var(--color-accent-v2); color: var(--brand-primary-pressed); }
.orders__status--warn { background: color-mix(in oklch, var(--state-warning) 16%, #ffffff); color: color-mix(in oklch, var(--state-warning) 55%, #060812); }
.orders__status--done { background: var(--surface-secondary); color: var(--text-secondary); }
.orders__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.orders__step { position: relative; display: flex; flex-direction: column; gap: 2px; padding-right: 12px; }
.orders__step::before { content: ""; position: absolute; left: 28px; right: 4px; top: 13px; height: 2px; border-radius: 1px; background: var(--border-subtle); }
.orders__step:last-child::before { display: none; }
.orders__step b { font: 500 14px/19px "Suisse Intl", Arial, Helvetica, sans-serif; }
.orders__step small { font-size: 12px; color: var(--text-tertiary); }
.orders__step--done::before { background: var(--brand-primary); }
.orders__step--next b { font-weight: 400; color: var(--text-tertiary); }
.orders__step--now small { font-weight: 500; color: var(--brand-primary-pressed); }
.orders__dot { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin-bottom: 8px; border-radius: 50%; background: #ffffff; box-shadow: inset 0 0 0 2px var(--border-default); color: var(--text-tertiary); }
.orders__dot em { font: normal 12px/1 "Gotham", Arial, Helvetica, sans-serif; }
.orders__dot i { width: 10px; height: 10px; border-radius: 50%; background: var(--brand-primary); }
.orders__step--done .orders__dot { background: var(--brand-primary); box-shadow: none; color: #ffffff; }
.orders__step--now .orders__dot { box-shadow: inset 0 0 0 2px var(--brand-primary), 0 0 0 5px var(--color-accent-v2); }
.orders__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 16px; border-top: 1px solid var(--border-subtle); font-size: 14px; color: var(--text-secondary); }
@media (max-width: 759px) {
  .orders { gap: 10px; }
  .orders__item { gap: 12px; padding: 16px; border-radius: 18px; box-shadow: none; }
  .orders__head { flex-wrap: wrap; }
  .orders__pic { width: 64px; height: 48px; }
  .orders__status { order: -1; }
  .orders__steps { grid-template-columns: 1fr; }
  .orders__step { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 10px; padding: 0 0 14px; }
  .orders__step::before { left: 13px; right: auto; top: 28px; bottom: 0; width: 2px; height: auto; }
  .orders__step small { width: 100%; margin-top: -4px; padding-left: 38px; }
  .orders__dot { margin-bottom: 0; }
  .orders__foot { flex-direction: column; align-items: stretch; }
}
.cabinet__nav-item:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(62, 198, 150, 0.32); }
.cabinet__demo { margin: 0 0 8px; font-size: 13px; color: var(--text-tertiary); }
.cabinet__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; font-size: 15px; }
.cabinet__danger { min-height: 44px; padding: 0; border: 0; background: none; font: inherit; font-size: 15px; color: var(--state-error); cursor: pointer; }
@media (max-width: 759px) {
  .cabinet__hero { position: relative; display: flex; align-items: center; gap: 14px; padding: 20px 16px; overflow: hidden; border-radius: 22px; background: var(--surface-inverse); color: #ffffff; }
  .cabinet__bar { position: sticky; top: 0; z-index: 30; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 48px; margin: -8px -8px 0; padding: 0 8px; background: rgba(238, 240, 242, 0.96); }
  .cabinet__danger { width: 100%; min-height: 52px; }
}

/* Экраны кабинета — обёртки только для переключения: раскладку и отступы задаёт .cabinet__body, как в редизайне. */
.cabinet__body > [data-cab-screen] { display: contents; }
.cabinet__cars:empty { display: none; }
.favorites__grid:empty { display: none; }
