/* VPS ITC — личный кабинет, общие стили */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #edeae2; color: #16150f; font-family: 'IBM Plex Mono', monospace; }
a { color: #16150f; }
::selection { background: #d92b04; color: #edeae2; }

/* видимый фокус с клавиатуры (§1 доступность) */
a:focus-visible, button:focus-visible { outline: 3px solid #d92b04; outline-offset: 2px; }
.side__link:focus-visible, .bnav__item:focus-visible { outline-offset: -3px; }

/* цифры одинаковой ширины — суммы и даты не «прыгают» */
.row__v, .tile__v, .pay, .keybox__val, .subbox__val, .geo__ping { font-variant-numeric: tabular-nums; }

/* якоря не уезжают под липкие панели */
section[id] { scroll-margin-top: 20px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ticker__track { animation: none; }
  * { transition: none !important; }
}

@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.ticker { background: #16150f; color: #edeae2; overflow: hidden; padding: 8px 0; border-bottom: 3px solid #16150f; }
.ticker__track { display: flex; white-space: nowrap; animation: marquee 22s linear infinite; width: max-content; }
.ticker__track span { font-size: 13px; letter-spacing: 0.08em; }

/* shell */
.shell { display: grid; grid-template-columns: 320px 1fr; min-height: calc(100vh - 35px); }
/* дети грида по умолчанию не ужимаются (min-width:auto) — длинный текст
   распирал колонку и страница ездила вбок; разрешаем ужиматься */
.shell > * { min-width: 0; }
.side__user { min-width: 0; }
/* предохранитель: что бы ни вылезло, страница вбок не ходит (clip не ломает sticky) */
html { overflow-x: clip; }

/* sidebar */
.side { border-right: 3px solid #16150f; display: flex; flex-direction: column; background: #edeae2; }
.side__brand { padding: 22px 26px; border-bottom: 3px solid #16150f; display: flex; gap: 14px; align-items: center; text-decoration: none; }
.side__mark { width: 46px; height: 46px; flex-shrink: 0; background: #d92b04; color: #edeae2; display: flex; align-items: center; justify-content: center; font-family: 'Unbounded', sans-serif; font-weight: 900; font-size: 15px; letter-spacing: -0.04em; }
.side__label { font-size: 11px; letter-spacing: 0.18em; color: #7d786a; }
.side__name { font-family: 'Unbounded', sans-serif; font-weight: 900; font-size: 19px; letter-spacing: -0.02em; margin-top: 2px; }
.side__user { padding: 16px 26px; border-bottom: 1px solid #16150f; font-size: 13px; display: flex; flex-direction: column; gap: 4px; }
.side__user .mail { font-weight: 700; word-break: break-all; }
.side__user .id { font-size: 11px; letter-spacing: 0.1em; color: #7d786a; }
.side__sheet { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.side__nav { flex: 1; padding: 6px 0 20px; min-height: 0; overflow-y: auto; }
.side__group { font-size: 11px; letter-spacing: 0.18em; color: #7d786a; padding: 22px 26px 8px; }
.side__link { display: flex; align-items: center; gap: 14px; padding: 13px 26px; text-decoration: none; font-size: 14px; border-left: 4px solid transparent; }
.side__link:hover { background: #e2ded2; border-left-color: #16150f; }
.side__link.is-active { background: #d92b04; color: #edeae2; border-left-color: #16150f; font-weight: 700; }
.side__link.is-active .ic { border-color: #edeae2; color: #edeae2; }
.ic { width: 26px; height: 26px; flex-shrink: 0; border: 2px solid #16150f; display: flex; align-items: center; justify-content: center; font-size: 13px; line-height: 1; }
.side__foot { padding: 20px 26px; border-top: 3px solid #16150f; }
.side__logout { display: block; text-align: center; text-decoration: none; border: 2px solid #16150f; padding: 13px; font-weight: 700; font-size: 13px; letter-spacing: 0.1em; }
.side__logout:hover { background: #16150f; color: #edeae2; }
.side__burger { display: none; }

/* на ПК: сайдбар зафиксирован на всю высоту окна, скроллится только правая колонка */
@media (min-width: 861px) {
  body { height: 100vh; overflow: hidden; display: flex; flex-direction: column; }
  .ticker { flex-shrink: 0; }
  .shell { flex: 1; min-height: 0; }
  .side { height: 100%; min-height: 0; }
  .main { overflow-y: auto; max-height: 100%; overscroll-behavior: contain; padding: 28px 30px 44px; gap: 20px; }
  .card { padding: 26px; }
  .sheet-bd, .bnav { display: none !important; }

  /* ссылка-подписка всегда под рукой при прокрутке инструкций */
  .subbox { position: sticky; top: 0; z-index: 20; box-shadow: 0 6px 0 rgba(22,21,15,0.10); }
  section[id] { scroll-margin-top: 8px; }

  .side__brand { padding: clamp(9px, 2vh, 22px) 26px; }
  .side__mark { width: clamp(30px, 4.8vh, 46px); height: clamp(30px, 4.8vh, 46px); font-size: clamp(12px, 1.9vh, 15px); }
  .side__name { font-size: clamp(15px, 2.3vh, 19px); }
  .side__user { padding: clamp(6px, 1.5vh, 16px) 26px; }
  .side__nav { padding: clamp(1px, 0.6vh, 6px) 0 clamp(4px, 1.6vh, 20px); }
  .side__group { padding: clamp(6px, 1.8vh, 22px) 26px clamp(2px, 0.8vh, 8px); }
  .side__link { padding: clamp(5px, 1.2vh, 13px) 26px; }
  .side__link .ic { width: clamp(20px, 3vh, 26px); height: clamp(20px, 3vh, 26px); }
  .side__foot { padding: clamp(6px, 1.6vh, 20px) 26px; }
  .side__logout { padding: clamp(6px, 1.3vh, 13px); }
}

/* main */
.main { padding: 34px 34px 90px; display: flex; flex-direction: column; gap: 26px; max-width: 1180px; }
.crumbs { font-size: 12px; letter-spacing: 0.14em; color: #7d786a; display: flex; gap: 12px; flex-wrap: wrap; }
.crumbs .live { color: #d92b04; font-weight: 700; }

/* баннер ошибки загрузки/действия — скрыт, пока нечего показывать */
.err { display: none; border: 2px solid #d92b04; background: #f9dad3; color: #7a1c02; padding: 14px 18px; font-size: 13px; line-height: 1.5; }
.err.is-shown { display: block; }

.card { background: #f7f4ec; border: 3px solid #16150f; padding: 30px; }
.card--accent { box-shadow: 8px 8px 0 #d92b04; }
.card__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; flex-wrap: wrap; }
.card__title { font-family: 'Unbounded', sans-serif; font-weight: 900; font-size: 24px; text-transform: uppercase; margin: 0; letter-spacing: -0.01em; }
.card__sub { margin: 8px 0 0; font-size: 14px; color: #45412f; }
.card__head-row { display: flex; align-items: center; gap: 14px; }
.edit-btn { width: 38px; height: 38px; flex-shrink: 0; border: 2px solid #16150f; border-radius: 50%; background: transparent; color: #16150f; font-size: 17px; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 0; font-family: inherit; }
.edit-btn:hover, .edit-btn[aria-expanded="true"] { background: #16150f; color: #f7f4ec; }
/* hidden проигрывает авторскому display у .btn/.actions — возвращаем ему силу */
[hidden] { display: none !important; }
.badge { border: 2px solid #16150f; padding: 7px 14px; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.badge .dot { width: 8px; height: 8px; background: #1c7a3c; border-radius: 50%; }
.badge--on { background: #dff0e2; }
.badge--warn { background: #f7ecc4; }
.badge--red { background: #d92b04; color: #f7f4ec; border-color: #16150f; }
.badge--red .dot { background: #f7f4ec; }

/* блоки без бэкенда: видны, но не обещают то, чего нет */
.is-soon { opacity: .45; pointer-events: none; }
.soon-tag { display: inline-block; font-size: 10px; letter-spacing: 0.08em; font-weight: 700;
  color: #7d786a; border: 2px solid #7d786a; padding: 3px 9px; margin-left: 8px; vertical-align: middle; }

.tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; margin-top: 24px; }
.tile { border: 2px solid #16150f; padding: 16px 18px; display: flex; gap: 14px; align-items: center; background: #edeae2; min-width: 0; }
.tile > div { min-width: 0; }
.tile__ic { width: 40px; height: 40px; flex-shrink: 0; border: 2px solid #d92b04; color: #d92b04; display: flex; align-items: center; justify-content: center; font-size: 17px; }
.tile__k { font-size: 12px; letter-spacing: 0.08em; color: #7d786a; }
.tile__v { font-family: 'Unbounded', sans-serif; font-weight: 700; font-size: 19px; margin-top: 3px; hyphens: auto; overflow-wrap: anywhere; }
.tile__v.ok { color: #1c7a3c; }
.tile__v.warn { color: #a8730a; }
.tile__v.bad { color: #d92b04; }

.rows { margin-top: 24px; border-top: 2px dashed #16150f; }
.row { display: flex; justify-content: space-between; gap: 16px; padding: 15px 2px; border-bottom: 2px dashed #16150f; font-size: 14px; }
.row__k { color: #45412f; }
.row__v { font-weight: 700; text-align: right; }

/* срок действия подписки */
.term { margin-top: 22px; }
.term__head { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; letter-spacing: 0.06em; color: #45412f; margin-bottom: 8px; }
.term__left { font-weight: 700; color: #d92b04; }
.term__bar { height: 12px; border: 2px solid #16150f; background: repeating-linear-gradient(45deg, #edeae2, #edeae2 4px, #e2ded2 4px, #e2ded2 8px); display: block; }
.term__fill { display: block; height: 100%; background: #d92b04; }

.actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 24px; }
.btn { text-decoration: none; padding: 16px 28px; font-weight: 700; font-size: 14px; letter-spacing: 0.08em; cursor: pointer; display: inline-flex; align-items: center; gap: 10px; border: 2px solid #16150f; font-family: inherit; }
.btn--main { background: #d92b04; color: #f7f4ec; }
.btn--main:hover { background: #16150f; color: #f7f4ec; }
.btn--ghost { background: transparent; color: #16150f; }
.btn--ghost:hover { background: #16150f; color: #f7f4ec; }
.btn--sm { padding: 11px 18px; font-size: 13px; }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.btn:disabled:hover { background: inherit; color: inherit; }

.strip { background: #f7f4ec; border: 3px solid #16150f; padding: 24px 30px; display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.strip__ic { width: 52px; height: 52px; flex-shrink: 0; border: 2px solid #d92b04; color: #d92b04; display: flex; align-items: center; justify-content: center; font-size: 22px; }
.strip__body { flex: 1; min-width: 240px; }
.strip__title { font-family: 'Unbounded', sans-serif; font-weight: 700; font-size: 18px; text-transform: uppercase; }
.strip__text { font-size: 14px; color: #45412f; margin-top: 6px; }

.duo { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.mini__title { font-family: 'Unbounded', sans-serif; font-weight: 700; font-size: 17px; text-transform: uppercase; }
.mini__head { display: flex; gap: 16px; align-items: center; }
.mini__text { font-size: 14px; color: #45412f; line-height: 1.6; margin: 16px 0 0; }
.mini__foot { margin-top: 20px; }

.devices { display: flex; flex-direction: column; margin-top: 20px; border-top: 1px solid #16150f; }
.device { display: grid; grid-template-columns: 34px 1fr auto auto; gap: 16px; align-items: center; padding: 14px 2px; border-bottom: 1px solid #16150f; font-size: 14px; }
.device__meta { font-size: 12px; color: #7d786a; }
.device__act { font-size: 12px; letter-spacing: 0.08em; color: #d92b04; text-decoration: none; font-weight: 700; }

.keybox { margin-top: 20px; border: 2px dashed #16150f; padding: 16px 18px; display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap; background: #edeae2; }
.keybox__val { font-size: 13px; word-break: break-all; color: #45412f; }

.paylist { margin-top: 20px; border-top: 2px dashed #16150f; }
.pay { display: grid; grid-template-columns: 130px 1fr 110px 120px; gap: 16px; padding: 14px 2px; border-bottom: 2px dashed #16150f; font-size: 13px; align-items: center; }
.pay__sum { font-weight: 700; text-align: right; }
.pay__st { font-size: 12px; letter-spacing: 0.06em; text-align: right; }
.pay__st.ok { color: #1c7a3c; }
.pay__st.bad { color: #d92b04; }
.pay__head { color: #7d786a; font-size: 11px; letter-spacing: 0.12em; }

/* telegram float */
.tg { position: fixed; right: 24px; bottom: 24px; background: #d92b04; color: #edeae2; border: 3px solid #16150f; box-shadow: 6px 6px 0 #16150f; text-decoration: none; padding: 14px 20px; display: flex; align-items: center; gap: 14px; z-index: 40; }
.tg:hover { background: #16150f; color: #edeae2; }
.tg__ic { width: 40px; height: 40px; border-radius: 50%; background: #f5c518; color: #16150f; display: flex; align-items: center; justify-content: center; font-size: 19px; flex-shrink: 0; }
.tg__k { font-size: 11px; letter-spacing: 0.14em; }
.tg__v { font-family: 'Unbounded', sans-serif; font-weight: 900; font-size: 14px; letter-spacing: 0.02em; margin-top: 2px; }

/* ===== INSTALL PAGE ===== */
.tabs { display: flex; flex-wrap: wrap; border: 3px solid #16150f; background: #f7f4ec; }
.tab { flex: 1 1 130px; padding: 16px 10px; border-right: 2px solid #16150f; background: transparent; font-family: inherit; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 8px; border-top: none; border-bottom: none; border-left: none; }
.tab:last-child { border-right: none; }
.tab:hover { background: #e2ded2; }
.tab.is-active { background: #d92b04; color: #f7f4ec; }
.tab__ic { font-size: 20px; }

.subbox { border: 3px solid #16150f; background: #16150f; color: #edeae2; padding: 24px 28px; display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.subbox__k { font-size: 11px; letter-spacing: 0.16em; color: #9a9587; }
.subbox__val { font-size: 13px; word-break: break-all; margin-top: 8px; color: #edeae2; }
.subbox__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.btn--light { background: #f7f4ec; color: #16150f; border-color: #f7f4ec; }
.btn--light:hover { background: #d92b04; color: #f7f4ec; border-color: #d92b04; }

.apps { display: flex; flex-direction: column; gap: 22px; }
.app { border: 3px solid #16150f; background: #f7f4ec; }
.app--best { box-shadow: 8px 8px 0 #d92b04; }
.app__head { display: flex; gap: 18px; align-items: center; padding: 22px 26px; border-bottom: 2px dashed #16150f; flex-wrap: wrap; }
.app__logo { width: 48px; height: 48px; flex-shrink: 0; border: 2px solid #d92b04; color: #d92b04; display: flex; align-items: center; justify-content: center; font-family: 'Unbounded', sans-serif; font-weight: 900; font-size: 17px; }
.app__name { font-family: 'Unbounded', sans-serif; font-weight: 900; font-size: 20px; text-transform: uppercase; }
.app__note { font-size: 13px; color: #45412f; margin-top: 4px; }
.app__body { padding: 22px 26px; display: grid; grid-template-columns: 1fr 300px; gap: 30px; }
.steps { counter-reset: st; display: flex; flex-direction: column; gap: 14px; }
.step { display: grid; grid-template-columns: 30px 1fr; gap: 14px; font-size: 14px; line-height: 1.6; }
.step__no { font-family: 'Unbounded', sans-serif; font-weight: 900; color: #d92b04; font-size: 15px; }
.dl { display: flex; flex-direction: column; gap: 10px; }
.dl__k { font-size: 11px; letter-spacing: 0.14em; color: #7d786a; }
.dl__btn { display: block; text-align: center; text-decoration: none; border: 2px solid #16150f; padding: 12px; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; }
.dl__btn:hover { background: #16150f; color: #f7f4ec; }
.dl__btn--main { background: #d92b04; color: #f7f4ec; }
.dl__btn--main:hover { background: #16150f; }

.hint { border: 2px dashed #16150f; background: #edeae2; padding: 16px 20px; font-size: 13px; line-height: 1.65; color: #45412f; }
.hint b { color: #16150f; }

/* яблочко на вкладке iPhone / iPad */
.apple-ic { width: 20px; height: 20px; display: block; }

/* «открыта чужая вкладка» — плашка висит поверх страницы, пока не вернутся на свою */
.devwarn { position: fixed; left: 24px; bottom: 24px; z-index: 45; max-width: 430px;
  background: #d92b04; color: #f7f4ec; border: 3px solid #16150f; box-shadow: 6px 6px 0 #16150f;
  padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; font-size: 13px; line-height: 1.55; }
.devwarn b { color: #fff; }
.devwarn .btn { justify-content: center; }

@media (max-width: 1080px) {
  .duo { grid-template-columns: 1fr; }
  .app__body { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 860px) {
  .shell { grid-template-columns: 1fr; }
  /* шапка: логотип слева, аккаунт справа, липнет к верху */
  .side { border-right: none; border-bottom: 3px solid #16150f; flex-direction: row; align-items: center;
          position: sticky; top: 0; z-index: 30; }
  .side__brand { border-bottom: none; padding: 10px 16px; gap: 10px; }
  .side__mark { width: 36px; height: 36px; font-size: 12px; }
  .side__label { font-size: 9px; letter-spacing: 0.14em; }
  .side__name { font-size: 15px; }
  .side__user { border-bottom: none; margin-left: auto; padding: 8px 16px; text-align: right; max-width: 55%; }
  .side__user .mail { font-size: 12px; font-weight: 400; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .side__user .id { font-size: 10px; }

  /* меню — выдвижная панель снизу */
  .side__sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; background: #edeae2;
                 border-top: 3px solid #16150f; max-height: 78vh; display: flex; flex-direction: column;
                 transform: translateY(103%); transition: transform 220ms ease-out;
                 padding-bottom: env(safe-area-inset-bottom); box-shadow: 0 -8px 0 rgba(22,21,15,0.12); }
  .side__sheet.is-open { transform: translateY(0); }
  .side__nav { overflow-y: auto; padding: 4px 0 8px; }
  .side__group { padding: 14px 20px 4px; }
  .side__link { padding: 14px 20px; min-height: 52px; font-size: 15px; }
  .side__link:active { background: #e2ded2; }
  .side__foot { padding: 12px 20px 16px; }
  .side__logout { padding: 15px; }
  .sheet-bd { position: fixed; inset: 0; background: rgba(22,21,15,0.55); z-index: 60; }
  body.is-locked { overflow: hidden; }

  /* нижняя навигация */
  .bnav { display: grid; }
  .main { padding: 20px 16px calc(96px + env(safe-area-inset-bottom)); gap: 18px; }
  .card, .strip { padding: 20px 18px; }
  .card__title { font-size: 20px; }
  .tiles { grid-template-columns: 1fr 1fr; gap: 10px; }
  /* полколонки не хватает Unbounded-шрифту — слова рвутся («АК-ТИВН-А») */
  @media (max-width: 479px) { .tiles { grid-template-columns: 1fr; } }
  .tile { padding: 12px 12px; gap: 10px; }
  .tile__ic { width: 34px; height: 34px; font-size: 15px; }
  .tile__v { font-size: 17px; }
  .row { padding: 13px 2px; }
  .actions .btn, .mini__foot .btn, .strip .btn { flex: 1 1 100%; justify-content: center; }
  .btn { min-height: 48px; padding: 14px 22px; }
  .pay { grid-template-columns: 1fr auto; }
  .pay__desc, .pay__head-desc { display: none; }
  .device { grid-template-columns: 30px 1fr auto; }
  .device__meta { display: none; }
  .device__act { min-height: 44px; display: flex; align-items: center; }

  /* плашка Telegram — над нижней навигацией, компактная */
  .tg { right: 12px; bottom: calc(78px + env(safe-area-inset-bottom)); padding: 9px 13px; gap: 10px; }
  .tg__ic { width: 32px; height: 32px; font-size: 16px; }
  .tg__v { font-size: 12px; }

  /* вкладки устройств — одна строка с горизонтальной прокруткой */
  .tabs { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
  .tab { flex: 0 0 auto; min-width: 116px; scroll-snap-align: start; padding: 13px 14px; }
  .subbox { position: sticky; top: 60px; z-index: 20; padding: 16px 18px; }
  .subbox__btns { width: 100%; }
  .subbox__btns .btn { flex: 1; justify-content: center; }
  .app__head, .app__body { padding: 18px 18px; }
  .dl__btn { min-height: 48px; display: flex; align-items: center; justify-content: center; }

  /* плашка «чужая вкладка» — над нижней навигацией, на всю ширину */
  .devwarn { left: 12px; right: 12px; max-width: none;
             bottom: calc(78px + env(safe-area-inset-bottom)); padding: 13px 14px; gap: 10px; }
}

/* ===== нижняя навигация (только телефон) ===== */
.bnav { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
        grid-template-columns: repeat(5, 1fr); background: #edeae2; border-top: 3px solid #16150f;
        padding-bottom: env(safe-area-inset-bottom); }
.bnav__item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
              padding: 9px 4px; min-height: 58px; text-decoration: none; color: #16150f; font-family: inherit;
              font-size: 10px; letter-spacing: 0.06em; font-weight: 700; background: transparent;
              border: none; border-right: 1px solid #16150f; cursor: pointer; }
.bnav__item:last-child { border-right: none; }
.bnav__item:active { background: #e2ded2; }
.bnav__ic { width: 26px; height: 26px; border: 2px solid #16150f; display: flex; align-items: center; justify-content: center; font-size: 13px; }
.bnav__item.is-current { background: #d92b04; color: #f7f4ec; }
.bnav__item.is-current .bnav__ic { border-color: #f7f4ec; }

/* чат */
.chat { display: flex; flex-direction: column; gap: 12px; margin-top: 18px; }
.chat__log { height: 380px; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; padding: 14px; border: 2px solid #16150f; background: #f6f4ee; }
.chat__log:empty::before { content: 'Задайте вопрос — ответ появится здесь.'; color: #7d786a; font-size: 13px; margin: auto; }
.chat__msg { max-width: 85%; padding: 10px 12px; font-size: 14px; line-height: 1.5; white-space: pre-wrap; word-break: break-word; border: 1px solid #16150f; }
.chat__msg--me { align-self: flex-end; background: #16150f; color: #edeae2; }
.chat__msg--ai { align-self: flex-start; background: #edeae2; }
.chat__msg--typing { color: #7d786a; font-style: italic; }
.chat__hint { font-size: 13px; color: #d92b04; }
.chat__form { display: flex; gap: 10px; align-items: stretch; }
.chat__input { flex: 1; resize: none; padding: 10px 12px; font: inherit; font-size: 14px; border: 2px solid #16150f; background: #fff; }
.chat__input:disabled, .chat__form .btn:disabled { opacity: 0.5; cursor: not-allowed; }
@media (max-width: 640px) { .chat__form { flex-direction: column; } .chat__log { height: 300px; } }

/* ===== чат на отдельной странице — лог выше, чем в общей ленте ===== */
.chat--page .chat__log { height: 56vh; min-height: 300px; }
@media (max-width: 640px) { .chat--page .chat__log { height: calc(100vh - 420px); min-height: 260px; } }

/* ===== FAQ (страница /lk/faq/) ===== */
.faq { border: 3px solid #16150f; background: #f7f4ec; }
.faq-item { border-bottom: 2px dashed #16150f; padding: 20px 24px; cursor: pointer; }
.faq-item:last-child { border-bottom: none; }
.faq-item:hover { background: #e2ded2; }
.faq-item__head { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.faq-item__q { font-weight: 700; font-size: 15px; }
.faq-item__mark { color: #d92b04; font-weight: 700; font-size: 18px; flex-shrink: 0; }
.faq-item__a { margin: 12px 0 0; font-size: 14px; line-height: 1.65; color: #45412f; max-width: 640px; }
.faq-item:not(.is-open) .faq-item__a { display: none; }
@media (max-width: 860px) { .faq-item { padding: 16px 16px; } }
