.hi-cabinet .user-menu__balance { display: none; }
.hi-cabinet [hidden] { display: none !important; }
.hi-cabinet .account-heading { padding-top: 0; }
.hi-cabinet .account-heading h1 { font-size: clamp(30px,3vw,42px); }
/* Кнопки кабинета не выше 36 px (замечание пользователя 14.10.2026, 0.93.2): и рамочные
   .auth-secondary, и фиолетовые .auth-submit; высота задана точно, а не min-height, чтобы
   padding и line-height её не раздували. Поля ввода правило не трогает */
.hi-cabinet .auth-secondary { height: 36px; min-height: 36px; padding: 0 14px; }
.hi-cabinet .auth-submit { height: 36px; min-height: 36px; padding: 0 18px; font-size: 15px; }
/* Прокрутка и стрелки вкладок разделов — общие для вкладок-ссылок, channel.css (0.148.0) */
.hi-section-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin: 0 0 22px; }
/* Шапка раздела кабинета — размеры как у шапки вкладки канала (channel-dashboard.css):
   заголовок 25 px, пояснение 14 px (замечание пользователя 15.10.2026) */
.hi-section-head h2 { margin: 0; font-size: 25px; line-height: 1.15; letter-spacing: -.025em; color: var(--bp-ink); }
.hi-section-head p { margin: 5px 0 0; color: var(--bp-muted); font-size: 14px; line-height: 1.5; }
.hi-overview-grid, .hi-two-column { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; align-items: start; }
.hi-overview-grid { align-items: stretch; }
.hi-panel { width: 100%; min-width: 0; padding: 28px; margin: 0; border-radius: 18px; box-shadow: none; }
.hi-panel h3 { font-size: 22px; line-height: 1.3; margin: 0 0 12px; }
.hi-panel h4 { font-size: 17px; margin: 0 0 5px; }
.hi-panel > .auth-link { display: inline-block; margin-top: 18px; font-size: 14px; }
.hi-profile .hi-panel { scroll-margin-top: 24px; }
/* «Профиль и вход» (0.93.3, решение пользователя 14.10.2026): слева узкая карточка-аккаунт
   (фото, имя, почта, роль), справа стопка карточек. На узком экране — одна колонка */
.hi-profile-layout { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 20px; align-items: start; }
.hi-profile-main { display: grid; gap: 20px; min-width: 0; }
.hi-account-card { position: sticky; top: 24px; }
.hi-account-photo { display: grid; justify-items: center; gap: 14px; text-align: center; }
.hi-account-card .hi-profile-avatar { width: 96px; height: 96px; flex-basis: 96px; }
.hi-account-card .hi-profile-avatar__initials { font-size: 34px; }
.hi-account-name { display: grid; gap: 3px; min-width: 0; max-width: 100%; }
.hi-account-name strong { font-size: 18px; line-height: 1.3; overflow-wrap: anywhere; }
.hi-account-name span { color: var(--bp-muted); font-size: 14px; overflow-wrap: anywhere; }
.hi-account-photo .auth-hint { font-size: 13px; }
.hi-profile .connection-card h4, .hi-profile .auth-security-row h4 { margin: 0 0 5px; font-size: 17px; }
.hi-profile .hi-profile-fields, .hi-profile .connections-list { margin-top: 20px; }
.hi-profile .connections-list { gap: 0; }
.hi-profile .connection-card { padding: 20px 0; border: 0; border-radius: 0; grid-template-columns: 40px minmax(0,1fr) auto; gap: 16px; }
.hi-profile .connection-card + .connection-card { border-top: 1px solid var(--line); }
.hi-profile .auth-security-row { flex-wrap: wrap; padding: 20px 0; gap: 16px; }
.hi-profile .auth-security-row > div { flex: 1 1 220px; }
.hi-profile .auth-security-row > a { flex-shrink: 0; }
.hi-profile-email { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin: 8px 0; font-size: 15px; overflow-wrap: anywhere; }
.hi-profile .hi-notice { margin-bottom: 0; }
.hi-personal-data form { display: grid; gap: 0; }
.hi-personal-data .hi-label { display: grid; align-content: start; gap: 8px; }
.hi-profile-avatar { display: grid; place-items: center; flex: 0 0 76px; width: 76px; height: 76px; overflow: hidden; border: 1px solid var(--line); border-radius: 50%; background: color-mix(in srgb, var(--brand) 10%, var(--bp-surface)); color: var(--text-purple); }
.hi-profile-avatar__initials { font-size: 26px; font-weight: 700; line-height: 1; }
.hi-profile-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hi-avatar-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 14px; }
.hi-avatar-actions .auth-link { border: 0; background: transparent; font: inherit; font-size: 14px; cursor: pointer; }
/* Поле файла спрятано зрительно, но остаётся в документе: с клавиатуры на него
   приходит фокус (Tab), и тогда рамку фокуса получает подпись-кнопка рядом */
.hi-cabinet main form .hi-avatar-input { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; margin: -1px; border: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hi-avatar-pick { cursor: pointer; white-space: nowrap; }
.hi-avatar-actions:has(.hi-avatar-input:focus-visible) .hi-avatar-pick { outline: 2px solid var(--brand); outline-offset: 2px; }
.hi-personal-fields .auth-submit { margin-top: 16px; }
.hi-personal-data .auth-submit { width: auto; justify-self: start; }
@media (min-width: 901px) and (max-width: 1100px) {
  .hi-profile .connection-card { grid-template-columns: 40px minmax(0,1fr); }
  .hi-profile .connection-card__action { grid-column: 2; justify-self: start; }
}
@media (max-width: 760px) {
  .hi-profile .auth-security-row > div { flex-basis: auto; }
  .hi-profile .connection-card { grid-template-columns: 40px minmax(0,1fr); gap: 12px; }
  .hi-profile .connection-card__action { grid-column: 2; justify-self: start; }
  .hi-personal-fields .hi-form-row { grid-template-columns: minmax(0,1fr); gap: 0; }
}
@media (max-width: 440px) {
  .hi-personal-data .auth-submit { width: 100%; }
}
.hi-panel-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.hi-panel-head h3 { margin: 0; }
.hi-panel-head a { font-size: 14px; }
.hi-organization-card { background: color-mix(in srgb,var(--brand) 6%,var(--bp-surface)); border-color: color-mix(in srgb,var(--brand) 18%,var(--bp-surface)); }
/* Текст о роли в организации — тем же шрифтом, что подсказки других карточек (.auth-hint) */
.hi-organization-card .hi-overview-who p { max-width: 430px; }
.hi-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 24px 0 0; padding: 18px 0 0; border-top: 1px solid var(--line); }
.hi-facts dt { font-size: 13px; color: var(--bp-muted); }
.hi-facts dd { margin: 8px 0 0; font-size: 22px; font-weight: 700; }
.hi-project { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 22px; }
.hi-project img { flex: 0 0 40px; }
.hi-project > div { flex: 1; min-width: 140px; }
.hi-project h3, .hi-project h4 { margin: 0 0 5px; }
/* «Обзор» (0.93.0): логотип организации или квадрат с первой буквой названия и кружок
   участника рядом с заголовком карточки; текст справа не ужимается ниже нуля */
.hi-overview-who { display: flex; align-items: flex-start; gap: 16px; }
.hi-overview-who > div { min-width: 0; flex: 1; }
.hi-overview-who h3, .hi-overview-who h4 { margin: 0 0 6px; overflow-wrap: anywhere; }
.hi-overview-who .auth-hint { overflow-wrap: anywhere; }
.hi-overview-who .auth-hint + .auth-hint { margin-top: 4px; }
.hi-organization-card .hi-overview-who > div > p { margin: 0; }
.hi-org-logo { display: grid; place-items: center; flex: 0 0 56px; width: 56px; height: 56px; overflow: hidden; border: 1px solid var(--line); border-radius: 50%; background: var(--bp-surface); }
.hi-org-logo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hi-org-mark { display: grid; place-items: center; flex: 0 0 56px; width: 56px; height: 56px; border-radius: 50%; background: color-mix(in srgb, var(--brand) 14%, var(--bp-surface)); color: var(--text-purple); font-size: 22px; font-weight: 700; }
.hi-overview-who .hi-profile-avatar { width: 56px; height: 56px; flex-basis: 56px; }
.hi-overview-who .hi-profile-avatar__initials { font-size: 20px; }
.hi-panel .hi-overview-who + .auth-link { margin-top: 16px; }
.hi-spaced { margin-top: 20px; }
/* Поля форм кабинета — только внутри содержимого страницы (main). Без `main` правило
   задевало и поиск в шапке: серый фон и рамка поверх поля, а при наведении правило
   шапки `:hover` их снимало — поле «прыгало» и отличалось по цвету от max. */
.hi-cabinet .site-select__option[aria-selected=true] { font-weight: 400; }
/* Вид полей, списков и их фокуса (одинаковый у поля и у раскрытого списка) — общий для всего
   сайта, в static/site/css/fields.css (0.103.0): высота 36 px как у кнопок, заливка как у поиска
   в шапке, кольцо в фокусе. Здесь — только раскладка. */
/* Подпись поля — обычным начертанием, без жирного (замечание пользователя 15.10.2026, 0.103.0) */
.hi-label { display: block; margin: 18px 0 8px; font-size: 14px; font-weight: 400; }
/* Приписка в подписи поля («КПП если есть»): в строку, не выше самой подписи — иначе соседнее поле
   в ряду .hi-form-row опускается на разницу высот (замечено на «Подписках и оплате» 15.10.2026, 0.100.1) */
.hi-label > .auth-hint { display: inline; font-size: 13px; line-height: inherit; font-weight: 400; }
.hi-cabinet form > .auth-hint { margin-top: 12px; }
.hi-cabinet form > .auth-submit { margin-top: 20px; }
.hi-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.hi-status { margin: 0; color: var(--text-purple); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.hi-status:not(:empty) { margin-top: 16px; padding: 12px 14px; border-radius: 10px; background: var(--bp-hover); }
.hi-status.is-error { color: var(--text-red); }
/* position: relative — чтобы скрытые подписи колонок (.visually-hidden, position: absolute) считались внутри
   прокрутки таблицы, а не от main: иначе на телефоне страница получала фантомную горизонтальную прокрутку
   до правого края широкой таблицы (найдено на вкладке «Партнёрам» 15.10.2026, 0.101.0) */
.hi-table-scroll { position: relative; overflow-x: auto; margin-top: 18px; border: 1px solid var(--line); border-radius: 12px; max-width: 100%; }
.hi-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 14px; }
.hi-table th, .hi-table td { padding: 16px; text-align: left; border-bottom: 1px solid var(--line); }
.hi-table thead th { background: var(--bp-surface-2); color: var(--bp-muted); font-size: 13px; font-weight: 400; }
.hi-table tr:last-child > * { border-bottom: 0; }
.hi-table tbody th { font-weight: 400; }
.hi-row-hint { display: block; margin-top: 5px; color: var(--bp-muted); font-size: 12px; }
.hi-member-actions { display: flex; flex-wrap: wrap; gap: 8px 14px; }
.hi-session-list { display: grid; margin-top: 18px; border-top: 1px solid var(--line); }
.hi-session-list article { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.hi-session-list article > div { display: grid; gap: 4px; }
.hi-session-list span:not(.account-badge) { color: var(--bp-muted); font-size: 14px; }
.hi-details { margin-top: 20px; font-size: 14px; }
.hi-details summary { cursor: pointer; color: var(--text-purple); }
.hi-details p { color: var(--bp-muted); line-height: 1.6; }
.hi-plan-copy { font-size: 15px; line-height: 1.6; color: var(--bp-muted); }
[data-hi-panel=billing] .hi-facts { margin-bottom: 24px; }
[data-hi-panel=billing] .hi-facts dd { font-size: 16px; }
.hi-usage { margin: 20px 0 16px; color: var(--bp-muted); font-size: 18px; }
.hi-usage strong { font-size: 34px; font-weight: 700; color: var(--bp-ink); }
.hi-panel progress { width: 100%; height: 10px; border: 0; border-radius: 8px; overflow: hidden; background: var(--bp-surface-2); accent-color: var(--brand); margin-bottom: 18px; }
.hi-panel progress::-webkit-progress-bar { background: var(--bp-surface-2); }
.hi-panel progress::-webkit-progress-value { background: var(--brand); border-radius: 8px; }
.hi-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.hi-actions .auth-submit { width: auto; }
.hi-notice { padding: 14px 16px; margin: 20px 0; border-radius: 12px; background: var(--bp-hover); color: var(--bp-ink-2); font-size: 14px; line-height: 1.6; }
.hi-account-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 14px; color: var(--bp-muted); }
.hi-dialog { width: min(560px,calc(100% - 32px)); max-height: calc(100dvh - 40px); margin: auto; padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--bp-surface); color: var(--bp-ink); overflow-y: auto; box-shadow: 0 24px 80px #0003; }
.hi-dialog::backdrop { background: #13112780; }
.hi-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.hi-dialog h2 { font-size: 24px; line-height: 1.3; margin: 0; }
/* Крестик вместо кнопки «Закрыть» в углу окна (замечание пользователя 14.10.2026, 0.95.8): 36 px,
   без рамки, подпись для экранного диктора — aria-label */
.hi-dialog__close { display: grid; place-items: center; flex: 0 0 auto; width: 36px; height: 36px; margin: -6px -6px 0 0; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--bp-muted); cursor: pointer; }
.hi-dialog__close:hover { background: var(--bp-hover); color: var(--text-purple); }
.hi-dialog__close:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.hi-dialog__close svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.hi-dialog p { font-size: 15px; line-height: 1.6; }
/* Кнопка, открывающая окно-подсказку (cabinet.js, «Окно по кнопке»): выглядит как
   фиолетовая ссылка со значком «i», без рамки и фона кнопки */
.hi-help-link { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; padding: 0; border: 0; background: none; color: var(--text-purple); font: inherit; font-size: 14px; cursor: pointer; }
.hi-help-link:hover { text-decoration: underline; }
.hi-help-link:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; border-radius: 4px; }
.hi-help-link svg { width: 16px; height: 16px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
.hi-demo-token { display: block; padding: 16px; background: var(--bp-surface-2); border-radius: 9px; font-size: 14px; overflow-wrap: anywhere; }
@media (max-width: 900px) { .hi-overview-grid, .hi-two-column, .hi-profile-layout { grid-template-columns: minmax(0,1fr); } .hi-account-card { position: static; } }
@media (max-width: 760px) {
  .hi-panel { padding: 22px 18px; }
  .hi-form-row { grid-template-columns: minmax(0,1fr); gap: 0; }
  .hi-dialog { padding: 22px 18px; }
  .hi-dialog header { flex-wrap: wrap; }
  .hi-actions > button { width: 100% !important; }
}

/* «Организация и участники» (0.93.7, выбор пользователя 14.10.2026): визитка сверху,
   участники во всю ширину, полоса с открытым ID внизу. Размеры заданы точно (логотип 96 px,
   поле 44 px, кнопки 36 px), чтобы блоки не меняли высоту при смене состояния */
.hi-org-card { display: grid; grid-template-columns: 96px minmax(0,1fr) auto; gap: 20px 24px; align-items: start; }
/* Логотип — кружок, как фото участника: картинка заполняет круг (object-fit: cover), края обрезаются */
.hi-org-card__logo { display: grid; place-items: center; width: 96px; height: 96px; overflow: hidden; border: 1px solid var(--line); border-radius: 50%; background: var(--bp-surface); }
.hi-org-card__logo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hi-org-card__logo .hi-org-mark { width: 100%; height: 100%; border-radius: 0; font-size: 36px; }
.hi-org-card__main { display: grid; gap: 10px; min-width: 0; }
.hi-org-card__name { margin: 0; font-size: 22px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.hi-org-card__main .hi-actions { margin-top: 4px; }
.hi-org-name-form { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
/* Поле названия в строке с кнопкой «Сохранить»: высота общая (36 px, fields.css), здесь ширина */
.hi-cabinet main .hi-org-name-form input:not([type=checkbox]) { flex: 1 1 240px; max-width: 460px; }
/* Сильнее общего `.hi-cabinet form > .auth-submit { margin-top: 20px }`: кнопка в строке с полем, без отступа сверху */
.hi-cabinet form.hi-org-name-form > .auth-submit { width: auto; margin: 0; }
.hi-seats { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; color: var(--bp-muted); font-size: 14px; }
.hi-seats__bar { display: block; flex: 0 0 160px; height: 6px; border-radius: 6px; background: var(--bp-surface-2); overflow: hidden; }
.hi-seats__bar > span { display: block; height: 100%; border-radius: 6px; background: var(--brand); }
.hi-org-card__logo-form { display: grid; justify-items: start; gap: 8px; max-width: 260px; }
.hi-org-card__logo-form .hi-avatar-actions { justify-content: flex-start; }
.hi-org-card__logo-form .auth-hint { font-size: 13px; }
/* Участники: панель приглашения над таблицей; скрипт прячет её до нажатия «Пригласить участника» */
.hi-members .hi-panel-head .auth-secondary { flex-shrink: 0; }
.hi-invite-panel { margin: 0 0 18px; padding: 18px 20px; border: 1px dashed var(--line); border-radius: 14px; background: var(--bs-body-bg); }
.hi-invite-panel .hi-notice { margin: 0 0 14px; }
/* Поля приглашения на одной линии: подпись — ровно одна строка 20 px, поле — 44 px,
   подсказка «вместо почты» и выпадающий список высоту строки подписи не меняют */
.hi-invite-form .hi-label { display: grid; align-content: start; gap: 8px; margin: 0; }
.hi-invite-form .hi-label__text { display: block; height: 20px; font-size: 14px; line-height: 20px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hi-invite-form .hi-label__text .auth-hint { display: inline; font-size: 13px; line-height: inherit; }
.hi-invite-form .hi-form-row--three { align-items: start; }
.hi-invite-form .site-select { display: block; }
.hi-form-row--three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.hi-invite-form__foot { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; margin-top: 16px; }
.hi-invite-form__foot .auth-submit { width: auto; margin: 0; flex-shrink: 0; }
.hi-invite-form__foot .auth-hint { flex: 1 1 320px; }
.hi-field-error { display: block; margin-top: 6px; color: var(--text-red); font-size: 13px; font-weight: 400; }
.hi-members .hi-table-scroll { margin-top: 0; }
.hi-table--members th:nth-child(2), .hi-table--members td:nth-child(2) { width: 220px; }
.hi-table--members th:nth-child(3), .hi-table--members td:nth-child(3) { width: 190px; }
.hi-table--members th:nth-child(4), .hi-table--members td:nth-child(4) { width: 230px; }
.hi-table--members td, .hi-table--members tbody th { height: 68px; padding-block: 12px; vertical-align: middle; }
.hi-member { display: flex; align-items: center; gap: 12px; min-width: 0; }
.hi-member .hi-profile-avatar { width: 40px; height: 40px; flex-basis: 40px; }
.hi-member .hi-profile-avatar__initials { font-size: 15px; }
.hi-profile-avatar--invite { background: var(--bp-surface-2); color: var(--bp-muted); }
.hi-member__copy { display: grid; gap: 2px; min-width: 0; }
.hi-member__copy strong { font-size: 15px; overflow-wrap: anywhere; }
.hi-member__copy .hi-row-hint { margin-top: 0; }
.hi-member__copy code { font-size: 12px; overflow-wrap: anywhere; }
.hi-role-form { display: flex; align-items: center; gap: 10px; }
/* Выпадающие списки кабинета: высота и вид общие (36 px, fields.css); стрелка — блочный svg
   по центру строки, без наследования line-height */
.hi-cabinet .site-select__trigger > svg { display: block; align-self: center; margin: 0; }
.hi-cabinet .hi-table .site-select { display: block; width: 100%; max-width: 190px; }
/* Полоса внизу: открытый ID и выход */
.hi-org-strip { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 20px; margin-top: 20px; padding: 16px 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--bp-surface); }
.hi-org-strip__id { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; min-width: 0; }
.hi-org-strip__id code { padding: 6px 10px; border-radius: 8px; background: var(--bp-surface-2); font-size: 13px; overflow-wrap: anywhere; }
.hi-org-strip__id .auth-link { border: 0; background: transparent; font: inherit; font-size: 14px; cursor: pointer; }
.hi-org-strip__hint { flex: 1 1 260px; }
.hi-org-strip .hi-inline { margin-left: auto; }
@media (max-width: 900px) {
  .hi-org-card { grid-template-columns: 96px minmax(0,1fr); }
  .hi-org-card__logo-form { grid-column: 1 / -1; max-width: none; }
  .hi-form-row--three { grid-template-columns: minmax(0,1fr); gap: 0; }
  .hi-invite-form .hi-label + .hi-label { margin-top: 14px; }
  .hi-org-strip .hi-inline { margin-left: 0; }
}
@media (max-width: 560px) {
  .hi-org-card { grid-template-columns: minmax(0,1fr); }
}

/* «Подписки и оплата» (0.97.0, выбор пользователя 15.10.2026): полоса-сводка сверху — кто, числа по тарифу,
   кнопки; две карточки (реквизиты, промокод и оплата); платежи. Размеры точные, чтобы блоки не прыгали */
.hi-billing-strip { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 28px; }
.hi-billing-strip__who { display: flex; align-items: center; gap: 14px; min-width: 0; flex: 1 1 320px; }
.hi-billing-strip__who img { flex: 0 0 40px; }
.hi-billing-strip__who h3 { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin: 0 0 4px; font-size: 20px; line-height: 1.3; }
.hi-billing-strip__who h3 .account-badge { font-size: 13px; }
.hi-billing-strip__who .auth-hint { margin: 0; }
.hi-billing-strip__kpis { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 0; }
.hi-billing-strip__kpis div { display: grid; gap: 2px; }
.hi-billing-strip__kpis dt { color: var(--bp-muted); font-size: 12.5px; }
.hi-billing-strip__kpis dd { margin: 0; font-size: 16px; font-weight: 700; white-space: nowrap; }
.hi-billing-strip__kpis dd .hi-row-hint { white-space: normal; }
.hi-billing-strip__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-left: auto; }
.hi-billing-strip__actions .auth-submit { width: auto; display: inline-flex; }
.hi-billing-grid { margin-top: 20px; align-items: stretch; }
.hi-billing-details .hi-label:first-of-type { margin-top: 18px; }
.hi-billing-details .hi-actions { align-items: center; }
.hi-billing-details .hi-actions .auth-submit { width: auto; }
/* Промокод одной строкой: поле и кнопка «Активировать» рядом */
.hi-promo-inline__row { display: flex; align-items: center; gap: 10px; }
/* Поле промокода в строке с кнопкой: высота общая (36 px, fields.css), код — прописными */
.hi-cabinet main form .hi-promo-inline__row input:not([type=hidden]) { flex: 1 1 160px; text-transform: uppercase; }
.hi-promo-inline__row .auth-submit { width: auto; margin: 0; flex-shrink: 0; }
.hi-promo-inline > .auth-hint { margin-top: 10px; }
.hi-billing-rows { display: grid; margin: 20px 0 0; padding-top: 4px; }
.hi-billing-rows > div { display: grid; grid-template-columns: 150px minmax(0,1fr) auto; align-items: center; gap: 8px 14px; padding: 12px 0; border-top: 1px solid var(--line); font-size: 14px; }
.hi-billing-rows dt { color: var(--bp-muted); }
.hi-billing-rows dd { margin: 0; min-width: 0; }
.hi-billing-rows__action { text-align: right; }
@media (max-width: 900px) {
  .hi-billing-strip__actions { margin-left: 0; }
  .hi-billing-rows > div { grid-template-columns: minmax(0,1fr); }
  .hi-billing-rows__action { text-align: left; }
}

/* «Баланс» (0.98.0, вариант 3 «остаток с разбивкой» — выбор пользователя 15.10.2026): две карточки
   одной высоты (stretch), сумма с меньшими отступами, чем .hi-usage по умолчанию, полоска долей
   остатка и подпись к ней, три числа движения за 30 дней, промокод строкой внизу правой карточки */
.hi-balance-grid { align-items: stretch; }
.hi-balance-card { display: flex; flex-direction: column; }
.hi-balance-sum { margin: 8px 0 12px; }
.hi-balance-sum strong { font-size: 36px; line-height: 1.1; font-variant-numeric: tabular-nums; }
/* Полоска долей: внесено — фиолетовый бренда, по промокоду — светлее, партнёрские — зелёный */
.hi-balance-stack { display: flex; height: 10px; overflow: hidden; border-radius: 6px; background: var(--bp-surface-2); }
.hi-balance-stack > span { display: block; height: 100%; }
.hi-balance-stack > .is-deposited, .hi-balance-legend > .is-deposited::before { background: var(--brand); }
.hi-balance-stack > .is-promo, .hi-balance-legend > .is-promo::before { background: color-mix(in srgb, var(--brand) 45%, var(--bp-surface)); }
.hi-balance-stack > .is-referral, .hi-balance-legend > .is-referral::before { background: var(--text-green); }
.hi-balance-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 12px; padding: 0; list-style: none; color: var(--bp-ink-2); font-size: 13px; }
.hi-balance-legend > li { display: flex; align-items: center; gap: 7px; }
.hi-balance-legend > li::before { content: ''; flex: 0 0 auto; width: 10px; height: 10px; border-radius: 3px; }
.hi-balance-card .hi-actions { margin-top: 18px; }
.hi-balance-card .hi-actions .auth-submit { display: inline-flex; }
.hi-balance-card .hi-soon { margin-top: 12px; }
/* «Как работает баланс» — кнопка-ссылка внизу карточки, открывает окно с правилами
   (0.138.3; раньше — раскрывающийся список, который растягивал карточку) */
.hi-balance-card .hi-help-link { margin-top: auto; padding-top: 16px; }
.hi-balance-rules { margin: 16px 0 0; padding-left: 18px; color: var(--bp-ink-2); font-size: 15px; line-height: 1.6; }
.hi-balance-rules li + li { margin-top: 10px; }
.hi-balance-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 14px 0 0; }
.hi-balance-stats > div { padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--bp-surface-2); }
.hi-balance-stats dt { color: var(--bp-muted); font-size: 12.5px; }
.hi-balance-stats dd { margin: 4px 0 0; font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hi-balance-stats dd.is-plus { color: var(--text-green); }
.hi-balance-stats + .auth-hint { margin-top: 12px; }
/* Промокод прижат к низу карточки, отделён чертой */
.hi-balance-promo { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); }
.hi-balance-promo .hi-label { margin-top: 0; }
.hi-balance-promo > .auth-hint { margin-top: 10px; }
/* Фильтры истории в заголовке карточки: таблетка справа, на узком экране — под заголовком */
[data-hi-panel=balance] .hi-panel-head .dt-tabs { max-width: 100%; }
@media (max-width: 560px) {
  .hi-balance-stats { grid-template-columns: minmax(0, 1fr); }
  .hi-balance-sum strong { font-size: 30px; }
}
/* Подсказки из ЕГРЮЛ под полем «Наименование» (billing_details.js, 0.99.0) */
.hi-suggest { position: relative; }
.hi-suggest__list { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 30; display: grid; max-height: 320px; overflow-y: auto; padding: 6px; border: 1px solid var(--line); border-radius: 12px; background: var(--bp-surface); box-shadow: var(--bp-shadow); }
.hi-suggest__item { display: grid; gap: 2px; width: 100%; padding: 9px 10px; border: 0; border-radius: 8px; background: transparent; color: var(--bp-ink); font: inherit; text-align: left; cursor: pointer; }
.hi-suggest__item:hover, .hi-suggest__item:focus-visible { background: var(--bp-hover); outline: none; }
.hi-suggest__item strong { font-size: 14px; }
.hi-suggest__item span { color: var(--bp-muted); font-size: 12.5px; overflow-wrap: anywhere; }
.hi-suggest__status { min-height: 20px; margin-top: 10px; }
.hi-suggest__status:empty { display: none; }

/* «Уведомления» (0.99.3, вариант 3 «карточки каналов доставки» — выбор пользователя 15.10.2026):
   три карточки одной высоты (значок, название, переключатель; список «что приходит»; плашка и ссылка
   внизу), ниже полосы «Какие события приходят» и «Язык писем». Размеры точные, чтобы блоки не прыгали */
.hi-delivery-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; align-items: stretch; }
.hi-delivery { display: grid; grid-template-rows: auto 1fr auto; gap: 14px; }
.hi-delivery.is-placeholder { border-style: dashed; }
.hi-delivery.is-placeholder h3 { color: var(--bp-muted); }
.hi-delivery__top { display: flex; align-items: center; gap: 12px; }
.hi-delivery__icon { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 10px; background: var(--bp-surface-2); color: var(--bp-muted); font-size: 13px; font-weight: 700; }
.hi-delivery__icon.is-email { background: color-mix(in srgb, var(--text-green) 12%, var(--bp-surface)); color: var(--text-green); font-size: 18px; }
/* MAX — фирменный значок сети (тот же файл, что в переключателе проектов шапки), без подложки */
.hi-delivery__icon.is-max { background: none; }
.hi-delivery__icon.is-max img { display: block; width: 40px; height: 40px; border-radius: 10px; }
.hi-delivery__who { flex: 1 1 auto; min-width: 0; }
.hi-delivery__who h3 { margin: 0; font-size: 17px; line-height: 1.3; }
.hi-delivery__who .auth-hint { font-size: 13px; overflow-wrap: anywhere; }
.hi-delivery__list { margin: 0; padding: 0; list-style: none; display: grid; align-content: start; gap: 8px; font-size: 14px; line-height: 1.5; color: var(--bp-ink-2); }
.hi-delivery__list li { position: relative; padding-left: 16px; }
.hi-delivery__list li::before { content: '•'; position: absolute; left: 0; color: var(--brand); }
.hi-delivery__list li.is-soon, .hi-delivery__list.is-off li { color: var(--bp-muted); }
.hi-delivery__list li.is-soon::before, .hi-delivery__list.is-off li::before { color: var(--bp-muted); }
.hi-delivery > .auth-hint { font-size: 13px; }
.hi-delivery__foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 14px; }
.hi-delivery__foot .auth-link { font-size: 14px; }
/* Переключатель вкл/выкл — как у строки «Слежу» (.max-switch в account-max.css); неактивный — бледнее */
.hi-switch { position: relative; display: inline-flex; flex: 0 0 auto; cursor: pointer; }
.hi-switch input { position: absolute; z-index: 1; width: 40px; height: 24px; margin: 0; opacity: 0; cursor: pointer; }
.hi-switch input + span { display: block; width: 40px; height: 24px; padding: 3px; border-radius: 14px; background: var(--bp-muted); transition: background .15s; }
.hi-switch input + span::before { content: ''; display: block; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .15s; }
.hi-switch input:checked + span { background: var(--brand); }
.hi-switch input:checked + span::before { transform: translateX(16px); }
.hi-switch input:focus-visible + span { outline: 2px solid var(--brand); outline-offset: 3px; }
.hi-switch.is-disabled, .hi-switch.is-disabled input { cursor: not-allowed; }
.hi-switch.is-disabled input + span { opacity: .45; }
.hi-notify-strip { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 28px; margin-top: 20px; }
.hi-notify-strip__text { flex: 1 1 320px; min-width: 0; }
.hi-notify-strip__text h3 { margin: 0 0 4px; font-size: 17px; }
.hi-notify-strip__text .auth-hint { font-size: 13.5px; }
.hi-notify-strip__kpis { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 0; }
.hi-notify-strip__kpis div { display: grid; gap: 2px; }
.hi-notify-strip__kpis dt { color: var(--bp-muted); font-size: 12.5px; }
.hi-notify-strip__kpis dd { margin: 0; font-size: 14px; font-weight: 700; }
.hi-notify-strip__kpis dd .auth-link { font-weight: 400; font-size: 13px; }
.hi-notify-strip > .auth-secondary { margin-left: auto; }
/* Строка языка: подпись, список (36 px, как кнопки и все поля — fields.css) и подсказка в одну группу, кнопка справа */
.hi-notify-strip__lang { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; flex: 1 1 420px; min-width: 0; }
.hi-notify-strip__lang .hi-label { margin: 0; }
.hi-cabinet main form .hi-notify-strip__lang select { width: auto; min-width: 180px; }
.hi-notify-strip__lang .site-select { display: block; width: 240px; max-width: 100%; }
.hi-notify-strip__lang .auth-hint { flex: 1 1 100%; font-size: 13px; }
.hi-notify-strip .auth-submit { width: auto; margin-left: auto; }
@media (max-width: 1100px) { .hi-delivery-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 760px) {
  .hi-delivery-grid { grid-template-columns: minmax(0,1fr); }
  .hi-notify-strip > .auth-secondary, .hi-notify-strip .auth-submit { margin-left: 0; }
}

/* «Ключи API» (0.100.0, выбор пользователя 15.10.2026): полоса-сводка — те же классы, что у «Подписок»
   (hi-billing-strip); таблица ключей; «Новый ключ» и «Как подключиться» в две колонки */
.hi-table-scroll--flush { margin-top: 0; }
.hi-table--keys { min-width: 820px; }
.hi-table--keys td, .hi-table--keys tbody th { padding-block: 12px; vertical-align: middle; }
.hi-table--keys tbody th { font-weight: 700; }
.hi-key-mask { display: block; margin-top: 3px; font-size: 13px; font-weight: 400; color: var(--bp-muted); }
/* Отметка «чтение и запись» под полем названия нового ключа (0.157.0) */
.hi-key-write { margin-top: 14px; }
.hi-table--keys .is-revoked th, .hi-table--keys .is-revoked td { color: var(--bp-muted); }
.hi-table__action { text-align: right; }
.hi-table__num { font-variant-numeric: tabular-nums; }
/* Расход запросов в полосе: число из лимита, под ним тонкая полоска доли и процент */
.hi-api-usage dd { display: grid; gap: 5px; }
.hi-api-usage__bar { display: block; width: 160px; max-width: 100%; height: 6px; border-radius: 4px; background: var(--bp-surface-2); overflow: hidden; }
.hi-api-usage__bar i { display: block; height: 100%; border-radius: 4px; background: var(--brand); }
.hi-table__action .hi-inline { display: inline-block; }
.hi-keys-limit { margin: 14px 0 0; }
.hi-api-code { margin: 14px 0; font-size: 13px; white-space: pre-wrap; }
.hi-api-links { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 14px; }
.hi-new-key .hi-copy { margin-top: 14px; }
