/* Фирменные цвета в админке: тот же зелёный и лайм, что на сайте и в приложении. */
:root { --mi-brand: #1C4B42; --mi-accent: #B4E717; }
.main-sidebar, .brand-link { background-color: var(--mi-brand) !important; }
.nav-sidebar .nav-link.active, .nav-pills .nav-link.active { background-color: var(--mi-accent) !important; color: var(--mi-brand) !important; }
.btn-primary, .btn-success { background-color: var(--mi-brand) !important; border-color: var(--mi-brand) !important; border-radius: 100px; }
.btn-primary:hover, .btn-success:hover { background-color: var(--mi-accent) !important; border-color: var(--mi-accent) !important; color: var(--mi-brand) !important; }
.card-primary.card-outline { border-top-color: var(--mi-brand) !important; }
/* На телефоне таблицы листаются вбок, а не ломают вёрстку. */
.results, .tabular { overflow-x: auto; }
/* Поля ввода удобнее пальцем. */
.form-control, .select2-selection { min-height: 42px; }

/* ---------- телефон: владелец работает с админкой только с него ---------- */
@media (max-width: 767px) {
  .content-wrapper > .content { padding: 8px; }
  .content-header { padding: 8px; }
  .content-header h1 { font-size: 1.3rem; }
  .card-body { padding: 12px; }
  /* Вкладки формы — одной строкой с прокруткой, а не лесенкой. */
  .nav-tabs { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; }
  .nav-tabs .nav-link { white-space: nowrap; }
  /* Поле под подписью, а не в узкой колонке справа. */
  .form-group.row > label, .form-group.row > div { flex: 0 0 100%; max-width: 100%; }
  .form-group.row > label { text-align: start !important; margin-bottom: 4px; }
  /* Кнопки сохранения — во всю ширину, их удобно нажимать пальцем. */
  .submit-row .btn, #jazzy-actions .btn { width: 100%; margin-bottom: 8px; min-height: 44px; }
  /* Действия над списком и поиск — друг под другом. */
  .actions, #changelist-search { display: flex; flex-wrap: wrap; gap: 8px; }
  .actions select, #changelist-search input { min-width: 0; flex: 1 1 100%; }
  /* Таблицы листаются вбок внутри своей рамки. */
  #result_list { display: block; overflow-x: auto; white-space: nowrap; }
  .main-sidebar .nav-link p { white-space: normal; }
}

/* Кнопки формы (сессия 18): главное действие видно сразу. */
.mi-submit .btn { min-height: 46px; font-weight: 600; border-radius: 100px; white-space: normal; }
.mi-submit .mi-btn-main, .mi-submit .mi-btn-publish { background-color: var(--mi-brand) !important; border-color: var(--mi-brand) !important; color: #fff !important; font-size: 1.05rem; }
.mi-submit .mi-btn-publish { background-color: #e2680f !important; border-color: #e2680f !important; }
.mi-submit .btn-outline-success { color: var(--mi-brand) !important; border: 1.5px solid var(--mi-brand) !important; background: #fff !important; }
.mi-submit .btn-outline-success:hover { background: var(--mi-brand) !important; color: #fff !important; }
.mi-submit .btn-outline-danger { border-width: 1.5px; }
.mi-submit .mi-danger-zone { margin-top: 18px; padding-top: 12px; border-top: 1px solid rgba(20, 23, 26, 0.12); }
/* Кнопки действий над списком и в окне удаления. */
.actions .button, .delete-confirmation .btn-danger, input[type=submit].btn-danger { border-radius: 100px; font-weight: 600; min-height: 44px; }

/* Уроки в курсе: название — ссылка, кнопка «Добавить урок» заметна. */
.mi-lesson-link { font-weight: 600; font-size: 1.02rem; color: var(--mi-brand) !important; text-decoration: underline; text-underline-offset: 3px; }
.mi-add-lesson { display: inline-block; padding: 10px 22px; border-radius: 100px; color: #fff !important; font-weight: 600; }
.field-upload_method ul { list-style: none; padding: 0; margin: 0; }
.field-upload_method li { margin-bottom: 8px; }
.field-upload_method label { font-weight: 400; }

/* Панель форматирования блоков материала. */
.mi-rich { display: flex; gap: 6px; margin-bottom: 6px; }
.mi-rich button { min-width: 40px; min-height: 36px; border: 1px solid rgba(20, 23, 26, 0.2); border-radius: 10px; background: #fff; font-weight: 700; }
.mi-rich button:nth-child(2) { font-style: italic; }
.mi-rich button:nth-child(3) { text-decoration: line-through; }

/* ---------- поддержка (сессия 32) ---------- */
.mi-pill { display: inline-block; padding: 2px 10px; border-radius: 100px; color: #fff; font-size: 12px; font-weight: 600; white-space: nowrap; }
.mi-desk { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 20px; }
@media (max-width: 900px) { .mi-desk { grid-template-columns: 1fr; } }
.mi-desk__head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; font-size: 1.1rem; }
.mi-chat { display: grid; gap: 10px; margin-bottom: 16px; }
.mi-msg { max-width: 85%; padding: 10px 14px; border-radius: 16px; background: #F4F6F5; }
.mi-msg--admin, .mi-msg--ai { justify-self: end; background: #E4EFEC; }
.mi-msg--ai { background: #EEF6D8; }
.mi-msg__meta { font-size: 12px; color: #6B7075; margin-bottom: 4px; }
.mi-msg__text { white-space: normal; word-break: break-word; }
.mi-reply textarea { font-size: 16px; border-radius: 16px; }
.mi-reply__buttons { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.mi-reply__buttons .btn { border-radius: 100px; min-height: 44px; font-weight: 600; }
.mi-quick { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 8px; }
.mi-chip { border: 1px solid rgba(20, 23, 26, 0.15); background: #fff; border-radius: 100px; padding: 4px 12px; font-size: 13px; }
.mi-desk__side { background: #F4F6F5; border-radius: 20px; padding: 16px; align-self: start; }
.mi-desk__side h3 { font-size: 1rem; margin-top: 0; }
.mi-desk__side p { margin: 4px 0; }
/* Счётчик «ждут ответа» в меню и на дашборде. */
.mi-badge { display: inline-block; min-width: 22px; margin-left: 6px; padding: 1px 7px; border-radius: 100px; background: #D7443E; color: #fff; font-size: 12px; font-weight: 700; text-align: center; }
.mi-banner { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; padding: 16px 20px; border-radius: 20px; background: #D7443E; color: #fff; font-size: 1.1rem; font-weight: 600; }
.mi-banner a { color: #fff; text-decoration: underline; }
/* Уроки: узкое поле «порядок». */
.field-order input, td.field-order input, input[name$="-order"], input[name="order"] { max-width: 80px; }
/* Избранное в меню. */
.mi-fav-star { margin-left: auto; padding: 0 6px; color: rgba(255, 255, 255, 0.45); cursor: pointer; }
.mi-fav-star.is-on { color: var(--mi-accent); }
.mi-fav-title { padding: 8px 16px 4px; color: rgba(255, 255, 255, 0.6); font-size: 12px; text-transform: uppercase; }
/* Панель форматирования. */
.mi-rich { display: flex; gap: 6px; margin-bottom: 6px; flex-wrap: wrap; }

/* ---------- дашборд (сессия 33) ---------- */
.mi-dash { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin-bottom: 16px; }
.mi-kpi { display: grid; gap: 4px; padding: 16px; border-radius: 20px; background: #F4F6F5; color: #14171A !important; text-decoration: none !important; }
.mi-kpi__value { font-size: 1.6rem; font-weight: 700; line-height: 1.1; }
.mi-kpi__title { font-size: 13px; color: #6B7075; }
.mi-kpi--alert { background: #D7443E; }
.mi-kpi--alert .mi-kpi__value, .mi-kpi--alert .mi-kpi__title { color: #fff; }
.mi-charts { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; margin-bottom: 20px; }
.mi-chart { padding: 16px; border-radius: 20px; background: #F4F6F5; }
.mi-chart__title { font-weight: 600; margin-bottom: 10px; }
.mi-bars { display: flex; align-items: flex-end; gap: 3px; height: 120px; }
.mi-bars span { flex: 1; min-height: 2px; border-radius: 3px 3px 0 0; background: var(--mi-brand); }
.mi-bars--money span { background: #8FB814; }

/* ---------- админка на телефоне (сессия 33) ---------- */
@media (max-width: 768px) {
  /* Окно «изменить связанный объект» — на весь экран, а не крошечное. */
  .modal-dialog { max-width: 100% !important; width: 100% !important; margin: 0 !important; }
  .modal-content { min-height: 100vh; border-radius: 0; }
  .modal-body, .modal-body iframe, iframe.related-iframe, #related-modal-iframe { height: calc(100vh - 60px) !important; width: 100% !important; }
  .content-wrapper, .content { padding: 8px !important; }
  .mi-dash { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mi-kpi__value { font-size: 1.3rem; }
  .card-body { padding: 12px; }
  #changelist table, .results table { font-size: 14px; }
  .form-group.row > label { flex: 0 0 100%; max-width: 100%; }
  .form-group.row > div { flex: 0 0 100%; max-width: 100%; }
  input, select, textarea { font-size: 16px !important; }
}
/* Таблицы дашборда на телефоне листаются вбок, а не ломают экран. */
@media (max-width: 768px) {
  .content table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* ---------- дашборд и шапка на телефоне (сессия 34) ---------- */
@media (max-width: 768px) {
  .dash { gap: 12px !important; max-width: 100% !important; }
  .dash__block { padding: 12px !important; border-radius: 16px !important; overflow: hidden; }
  .dash__numbers { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px !important; }
  .dash__number { min-inline-size: 0 !important; }
  .dash__value { font-size: 20px !important; }
  .dash__periods { display: flex; flex-wrap: wrap; gap: 8px; }
  .dash__periods a { padding: 6px 12px; border-radius: 100px; background: #F4F6F5; }
  .dash table { display: block; overflow-x: auto; white-space: nowrap; }
  /* Два поля поиска в шапке не помещаются — вместо них кнопка-лупа. */
  .main-header form.form-inline, .main-header .navbar-search-block, .main-header .form-inline { display: none !important; }
  .mi-search-btn { display: inline-flex !important; }
}
.mi-search-btn { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; font-size: 20px; }
.mi-search-modal { position: fixed; inset: 0; z-index: 2000; background: rgba(20, 23, 26, 0.5); display: flex; align-items: flex-start; justify-content: center; padding: 16px; }
.mi-search-modal__box { width: 100%; max-width: 520px; background: #fff; border-radius: 20px; padding: 16px; display: grid; gap: 12px; }
.mi-search-modal__box form { display: flex !important; gap: 8px; }
.mi-search-modal__box input { flex: 1; min-height: 44px; font-size: 16px; border-radius: 12px; border: 1px solid rgba(20, 23, 26, 0.2); padding: 0 12px; }
.mi-fav-remove { margin-left: auto; padding: 0 8px; color: rgba(255, 255, 255, 0.6); cursor: pointer; font-size: 16px; }
/* Сессия 108 (1.29): единый поиск и заметное сохранение правки списком. */
.mi-unisearch { display: flex; align-items: center; gap: 0; margin: 0 12px; border: 1px solid #d5dbd8; border-radius: 100px; overflow: hidden; background: #fff; }
.mi-unisearch select { border: none; background: #f2f4f3; padding: 6px 10px; font-size: 14px; max-width: 140px; }
.mi-unisearch input { border: none; padding: 6px 10px; min-width: 200px; font-size: 14px; outline: none; }
.mi-unisearch button { border: none; background: var(--mi-brand); color: #fff; padding: 6px 16px; font-size: 14px; font-weight: 600; }
.mi-search-modal .mi-unisearch { margin: 0; width: 100%; }
.mi-search-modal .mi-unisearch input { min-width: 0; flex: 1; }
@media (max-width: 767px) { .main-header > .mi-unisearch, .main-header .navbar-nav + .mi-unisearch { display: none; } .mi-search-modal .mi-unisearch { display: flex; } }
.mi-list-save { background: var(--mi-brand) !important; color: #fff !important; border: none !important; border-radius: 100px !important;
  min-height: 44px; padding: 0 28px !important; font-weight: 600; margin: 12px 0; }
.mi-save-bar { position: fixed; left: 50%; bottom: 16px; transform: translate(-50%, 140%); z-index: 1100; display: flex; align-items: center; gap: 12px;
  padding: 10px 10px 10px 18px; border-radius: 100px; background: #14171a; color: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.25);
  transition: transform .2s ease; max-width: calc(100vw - 24px); }
.mi-save-bar.is-on { transform: translate(-50%, 0); }
.mi-save-bar .btn { min-height: 40px; border-radius: 100px; background: var(--mi-brand); color: #fff; border: none; padding: 0 20px; }
/* Массовое изменение. */
.mi-bulk__table td { vertical-align: middle; }
.mi-bulk__apply { white-space: nowrap; width: 1%; }
.mi-bulk__apply label { display: flex; gap: 8px; align-items: center; margin: 0; font-weight: 600; }
.mi-bulk__list { margin: 12px 0; }

/* ---------- 1.30: разделы меню — плитки и вкладки ---------- */
.mi-section { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.mi-tile { position: relative; display: flex; align-items: flex-start; gap: 14px; padding: 16px 44px 16px 16px; border-radius: 20px;
  background: #F4F6F5; color: #14171A !important; text-decoration: none !important; min-height: 72px; }
.mi-tile:hover { background: #E4EFEC; }
.mi-tile__icon { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: var(--mi-brand); color: #fff; font-size: 16px; }
.mi-tile__text { display: grid; gap: 2px; min-width: 0; }
.mi-tile__name { font-weight: 600; font-size: 1.02rem; line-height: 1.3; }
.mi-tile__hint { font-size: 13px; color: #6B7075; line-height: 1.35; }
.mi-tile .mi-fav-star { position: absolute; top: 12px; right: 12px; margin: 0; padding: 4px 6px; color: rgba(20, 23, 26, 0.25); font-size: 18px; }
.mi-tile .mi-fav-star.is-on { color: #8FB814; }
.mi-tabs { display: flex; align-items: center; gap: 6px; overflow-x: auto; scrollbar-width: none; margin: 0 0 12px; padding: 2px 0 6px; }
.mi-tabs::-webkit-scrollbar { display: none; }
.mi-tabs a { flex: 0 0 auto; white-space: nowrap; text-decoration: none !important; border-radius: 100px; padding: 7px 14px; font-size: 14px; line-height: 1.2; }
.mi-tabs__section { color: #6B7075 !important; padding-left: 0 !important; font-weight: 600; }
.mi-tabs__section::after { content: '›'; margin-left: 8px; }
.mi-tabs__tab { background: #F4F6F5; color: #14171A !important; }
.mi-tabs__tab.is-on { background: var(--mi-brand); color: #fff !important; font-weight: 600; }
.mi-fav-link { display: flex !important; }
.main-sidebar .nav-header { font-size: 12px; opacity: .7; padding-top: 12px; }
@media (max-width: 767px) { .mi-section { grid-template-columns: 1fr; gap: 8px; } .mi-tile { padding: 14px 44px 14px 14px; } }
/* 1.30: кнопки над списком — без точки списка; плашка сохранения на телефоне — в одну строку. */
.page-actions > li { list-style: none; margin-inline-end: 8px; }
@media (max-width: 767px) { .mi-save-bar { font-size: 14px; white-space: nowrap; gap: 8px; padding-left: 14px; } }
.mi-save-bar:not(.is-on) { visibility: hidden; }

/* ================= 1.35: удобство админки — в первую очередь телефон ================= */
.mi-tabs-head { display: block; margin: 2px 0 4px; font-size: 13px; font-weight: 600; }
.mi-tabs-head a { color: #6B7075 !important; text-decoration: none !important; }
.mi-tabs-head::before { content: '‹ '; }
.mi-tabs__section { display: none; }
.mi-note { margin: 0 0 12px; padding: 12px 16px; border-radius: 16px; background: #F4F6F5; color: #14171A; font-size: 14px; line-height: 1.45; }
.page-actions .mi-add, .page-actions a.btn.float-right {
  border-radius: 100px; border: 1.5px solid var(--mi-brand); color: var(--mi-brand) !important; font-weight: 600; padding: 6px 16px; }
.page-actions .mi-add:hover { background: var(--mi-brand); color: #fff !important; }
.page-actions > li { list-style: none; }
.mi-filters-toggle { display: none; }
@media (min-width: 768px) {
  .mi-filters { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; margin-bottom: 8px; }
  .mi-filters .form-group { margin: 0 !important; }
  .mi-filters .select2-container { min-width: 180px; }
}
.mi-history { display: inline-block; margin-top: 4px; color: #6B7075 !important; font-size: 14px; text-decoration: none !important; }
.mi-history::before { content: '\f1da'; font-family: 'Font Awesome 5 Free'; font-weight: 900; margin-right: 6px; }
#jazzy-actions .object-tools { text-align: center; }
.main-footer .float-right, .main-footer .d-none.d-sm-inline-block { display: none !important; }

@media (max-width: 767px) {
  /* Отступы по краям — одни, а не пять вложенных. */
  .content-wrapper { padding: 0 !important; }
  .content-wrapper > .content, .content-wrapper .content { padding: 0 12px !important; }
  .container-fluid { padding-left: 0 !important; padding-right: 0 !important; }
  /* Заголовок во всю ширину, «хлебные крошки» — одной тихой строкой под ним. */
  .content.border-bottom { padding-top: 10px !important; padding-bottom: 6px !important; margin-bottom: 10px !important; }
  .content.border-bottom .row { margin: 0; }
  .content.border-bottom .row > div { padding: 0; }
  .content.border-bottom .row > div:first-child { flex-direction: column; align-items: flex-start !important; }
  .content.border-bottom h1 { border: none !important; padding: 0 !important; margin: 0 !important; font-size: 1.35rem; line-height: 1.25; }
  .content.border-bottom .breadcrumb { order: -1; flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; max-width: 100%;
    margin: 0 0 2px; padding: 0; background: none; font-size: 12px; scrollbar-width: none; }
  .content.border-bottom .breadcrumb::-webkit-scrollbar { display: none; }
  .content.border-bottom .breadcrumb-item:first-child { display: none; }
  .content.border-bottom .breadcrumb-item:nth-child(2)::before { display: none; }
  .page-actions { justify-content: flex-start !important; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
  .page-actions .btn, .page-actions a { float: none !important; margin: 0 !important; }
  .page-actions > li .btn { border-radius: 100px; font-size: 14px; padding: 6px 14px; }
  .mi-tabs { margin-bottom: 4px; }

  /* Поиск и фильтры: строка поиска + кнопка «Фильтры», сами фильтры — по нажатию, по два в ряд. */
  #changelist-search { display: flex !important; flex-wrap: wrap; gap: 8px; align-items: stretch; }
  #changelist-search > .form-group { margin: 0 !important; }
  #changelist-search .mi-filters-toggle { display: inline-flex; align-items: center; gap: 6px; order: 2; min-height: 42px; padding: 0 14px;
    border: 1px solid #d5dbd8; border-radius: 100px; background: #fff; font-weight: 600; color: #14171A; }
  #changelist-search .mi-filters-toggle b { display: inline-grid; place-items: center; min-width: 20px; height: 20px; border-radius: 10px;
    background: var(--mi-brand); color: #fff; font-size: 12px; padding: 0 5px; }
  .mi-filters { display: none; order: 4; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .mi-filters > * { min-width: 0; max-width: 100%; }
  .mi-filters .select2-selection, .mi-filters .btn, .mi-filters a { width: 100% !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .mi-filters.is-open { display: grid; }
  .mi-filters .form-group { margin: 0 !important; min-width: 0; }
  .mi-filters .select2-container { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
  #changelist-search input[name="q"] { order: 1; flex: 1 1 140px; min-width: 0; border-radius: 100px; padding: 0 16px; }
  #changelist-search > .form-group:has(input[name="q"]) { order: 1; flex: 1 1 140px; display: flex; }
  #changelist-search > .form-group:has(input[name="q"]) input { width: 100%; min-height: 42px; }
  #changelist-search > .form-group:has(button[type="submit"]) { order: 2; }
  #changelist-search .mi-filters-toggle { order: 3; }
  #changelist-search button[type="submit"], #changelist-search input[type="submit"] { border-radius: 100px; min-height: 42px; }
  /* Список — без белой рамки вокруг карточек. */
  #changelist .card { background: none !important; box-shadow: none !important; border: none !important; }
  #changelist .card-body.table-responsive { padding: 0 !important; overflow: visible; }
  #result_list.mi-cards tbody td select:not(.select2-hidden-accessible) { min-height: 40px; padding: 0 8px; border: 1px solid #d5dbd8;
    border-radius: 10px; background: #fff; font-size: 15px; }
  #result_list.mi-cards tbody td input[type=text], #result_list.mi-cards tbody td input[type=number] { min-height: 40px; border-radius: 10px; }
  #result_list.mi-cards tbody td .datetimeshortcuts { display: block; margin-top: 4px; font-size: 13px; }
  .date-hierarchy, .xfull { overflow-x: auto; white-space: nowrap; }

  /* Действия над списком — только когда что-то отмечено. */
  #changelist-form .actions { display: none !important; }
  body.mi-has-selection #changelist-form .actions { display: flex !important; position: sticky; top: 0; z-index: 5; padding: 8px; margin: 0 0 8px;
    border-radius: 16px; background: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.12); align-items: center; }
  body.mi-has-selection #changelist-form .actions label { flex: 1 1 100%; margin: 0; }
  body.mi-has-selection #changelist-form .actions .btn { margin: 0 !important; }

  /* Таблица → карточки «подпись: значение». */
  #result_list.mi-cards { display: block; border: none; white-space: normal; }
  #result_list.mi-cards thead { display: none; }
  #result_list.mi-cards tbody { display: grid; gap: 8px; }
  #result_list.mi-cards tbody tr { position: relative; display: grid; gap: 2px; padding: 12px 44px 12px 14px; border-radius: 16px;
    background: #fff !important; border: 1px solid rgba(20, 23, 26, 0.08); }
  #result_list.mi-cards tbody td, #result_list.mi-cards tbody th { display: flex; align-items: baseline; gap: 8px; padding: 2px 0 !important;
    border: none !important; min-width: 0; white-space: normal; word-break: break-word; font-size: 14px; text-align: left; }
  #result_list.mi-cards tbody td::before, #result_list.mi-cards tbody th::before { content: attr(data-label); flex: 0 0 38%; color: #6B7075;
    font-size: 12px; line-height: 1.4; }
  #result_list.mi-cards tbody td.action-checkbox { position: absolute; top: 10px; right: 10px; padding: 0 !important; }
  #result_list.mi-cards tbody td.action-checkbox::before { display: none; }
  #result_list.mi-cards tbody td.action-checkbox input { width: 22px; height: 22px; }
  /* Первая ссылка карточки — заголовком, без подписи. */
  #result_list.mi-cards tbody tr > :nth-child(2) { font-size: 16px; font-weight: 600; margin-bottom: 4px; }
  #result_list.mi-cards tbody tr > :nth-child(2)::before { display: none; }
  #result_list.mi-cards tbody td input:not([type=checkbox]), #result_list.mi-cards tbody td select { flex: 1 1 auto; min-width: 0; max-width: 100%; }
  #result_list.mi-cards tbody td .select2-container { flex: 1 1 auto; width: auto !important; min-width: 0; }
  .paginator { margin-top: 10px; font-size: 14px; }

  /* Форма: поля во всю ширину, без внутренних отступов по 48 px. */
  .tab-content > .tab-pane > .card { border: none !important; box-shadow: none !important; margin: 0; }
  .tab-content .p-5, .card-body .p-5 { padding: 4px 0 !important; }
  .card-body { padding: 12px !important; }
  .form-group .row { margin: 0; }
  .form-group .row > [class*="col-"] { padding: 0; flex: 0 0 100%; max-width: 100%; }
  .form-group .row > label { margin-bottom: 4px; font-weight: 600; }
  .vTextField, .vURLField, .vIntegerField, .vBigIntegerField, .vLargeTextField, .vDateField, .vTimeField, .vEmailField,
  .form-group input[type="text"], .form-group input[type="number"], .form-group input[type="url"], .form-group input[type="email"],
  .form-group textarea, .form-group select { width: 100% !important; max-width: 100%; box-sizing: border-box; }
  .form-group .select2-container { width: 100% !important; }
  .help-block, .help, .form-text { font-size: 13px; }
  /* Вкладки формы — таблетками в одну строку с прокруткой. */
  #jazzy-tabs { border: none; gap: 6px; padding-bottom: 6px; scrollbar-width: none; }
  #jazzy-tabs::-webkit-scrollbar { display: none; }
  #jazzy-tabs .nav-link { border: none !important; border-radius: 100px; background: #F4F6F5; color: #14171A; padding: 7px 14px; font-size: 14px; }
  #jazzy-tabs .nav-link.active { background: var(--mi-brand) !important; color: #fff !important; font-weight: 600; }
  /* Кнопки сохранения: главная — заметная, остальные — тише и ниже. */
  #jazzy-actions .mi-submit .btn { min-height: 46px; }
  #jazzy-actions .mi-submit .btn-outline-success { min-height: 42px; font-size: 15px; }
  .main-footer { display: none; }
}

/* 1.35: «Внимание: ваше время опережает время сервера» — у каждого поля даты; владелец живёт в другом поясе, предупреждение
   только загромождало формы и списки. Время в админке показывается в поясе сервера (Москва). */
.timezonewarning { display: none !important; }

/* 1.35: «Инвесторы из раундов без справочника». */
.mi-adopt { max-width: 900px; display: grid; gap: 12px; }
.mi-adopt__filter { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.mi-adopt__filter input[type=search] { flex: 1 1 220px; min-height: 42px; border-radius: 100px; padding: 0 16px; }
.mi-adopt__filter .btn { border-radius: 100px; min-height: 42px; padding: 0 20px; }
.mi-check { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 400; cursor: pointer; }
.mi-check input { width: 20px; height: 20px; }
.mi-adopt__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 4px 2px; }
.mi-adopt__list { display: grid; gap: 8px; }
.mi-adopt__row { display: flex; gap: 12px; align-items: flex-start; margin: 0; padding: 12px 14px; border-radius: 16px; background: #fff;
  border: 1px solid rgba(20, 23, 26, 0.08); font-weight: 400; cursor: pointer; }
.mi-adopt__row:has(input:checked) { border-color: var(--mi-brand); background: #EEF4F2; }
.mi-adopt__row input { width: 22px; height: 22px; margin-top: 2px; flex: none; }
.mi-adopt__main { display: grid; gap: 2px; min-width: 0; }
.mi-adopt__name { font-weight: 600; font-size: 16px; word-break: break-word; }
.mi-adopt__meta { font-size: 13px; color: #4A5055; }
.mi-adopt__projects { font-size: 13px; color: #6B7075; word-break: break-word; }
.mi-adopt__actions { position: sticky; bottom: 0; z-index: 5; display: grid; gap: 12px; padding: 14px; border-radius: 20px 20px 0 0;
  background: #fff; box-shadow: 0 -6px 20px rgba(0,0,0,.1); }
.mi-adopt__group { display: grid; gap: 6px; }
.mi-adopt__label { font-size: 13px; font-weight: 600; color: #6B7075; }
.mi-adopt__buttons { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 6px; }
.mi-adopt__buttons .btn, .mi-adopt__alias .btn { border-radius: 100px; min-height: 42px; font-weight: 600; font-size: 14px; padding: 0 10px; white-space: nowrap; }
.mi-adopt__alias { display: flex; gap: 8px; }
.mi-adopt__alias input { flex: 1 1 auto; min-width: 0; min-height: 42px; border-radius: 100px; padding: 0 16px; }

.mi-adopt__meta, .mi-adopt__projects { font-weight: 400 !important; }
.mi-adopt__meta b { font-weight: 600; }
@media (max-width: 767px) {
  .mi-filters .form-group { position: relative; }
  .mi-filters select.select2-hidden-accessible { width: 1px !important; left: 0; }
  #changelist-search { max-width: 100%; }
}

@media (max-width: 767px) {
  .mi-adopt form:not(.has-picked) .mi-adopt__actions { display: none; }
}

/* 1.36: подразделы на странице раздела и путь «Раздел › Подраздел» над вкладками */
.mi-subsection { margin-top: 28px; }
.mi-subsection__title { font-size: 18px; font-weight: 600; margin: 0 0 12px; }
.mi-subsection__title a { color: inherit !important; text-decoration: none !important; display: inline-flex; gap: 10px; align-items: center; }
.mi-subsection__title a::after { content: '›'; color: #6B7075; font-weight: 400; }
.mi-subsection__title i { color: var(--mi-brand); width: 22px; text-align: center; }
.mi-section-parent { display: block; font-size: 13px; font-weight: 600; color: #6B7075 !important; margin-bottom: 4px; text-decoration: none !important; }
.mi-tabs-head .mi-tabs-head__sep { margin: 0 6px; color: #9AA0A6; }
.mi-connect { border-radius: 100px !important; border: 1.5px solid var(--mi-brand) !important; color: var(--mi-brand) !important; font-weight: 600; }
.mi-connect:hover { background: var(--mi-brand) !important; color: #fff !important; }
.mi-section-page { display: block; width: 100%; flex: 1 1 100%; }
/* 1.37: сотрудники в админ-боте — карточками, на телефоне без горизонтальной прокрутки */
.mi-staff-list { display: grid; gap: 10px; max-width: 640px; }
.mi-staff { display: grid; gap: 6px; padding: 12px 14px; border-radius: 14px; background: #F4F6F5; }
.mi-staff__who { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.mi-staff__who b { word-break: break-all; }
.mi-staff__who span { font-size: 13px; color: #6B7075; }
.mi-staff input { width: 100%; min-height: 42px; border-radius: 12px; border: 1px solid #ccd3d0; padding: 0 12px; background: #fff; }
.mi-staff__note { font-size: 13px; color: #4A5055; }
.mi-staff-help { font-size: 13px; color: #6B7075; margin: 8px 0 0; max-width: 640px; }
.mi-show { border-radius: 100px !important; background: #e2680f !important; border-color: #e2680f !important; color: #fff !important; font-weight: 600; min-height: 44px; margin-bottom: 10px; }
.mi-show:hover { filter: brightness(0.95); }

/* 1.73: таблицы-вставки (группы, состав портфеля, уроки курса) — по ширине карточки, без прокрутки вбок.
   Поля сжимаются до колонки, у актива и названия — колонка шире. */
.inline-group .tabular table { inline-size: 100%; table-layout: fixed; }
.inline-group .tabular td input:not([type=checkbox]):not([type=hidden]),
.inline-group .tabular td select,
.inline-group .tabular td textarea,
.inline-group .tabular td .select2-container { inline-size: 100% !important; min-inline-size: 0; max-inline-size: 100%; }
.inline-group .tabular th, .inline-group .tabular td { padding-inline: 6px; vertical-align: middle; word-break: normal; }
.inline-group .tabular th { white-space: normal; font-size: 0.8rem; line-height: 1.2; }
/* Состав готового портфеля. */
#all_items-group table { inline-size: 100%; }
#all_items-group th.column-asset { inline-size: auto; }
#all_items-group th.column-priority { inline-size: 64px; }
#all_items-group th.column-group_title { inline-size: 104px; }
#all_items-group th.column-target_pct { inline-size: 68px; }
#all_items-group th.column-min_pct, #all_items-group th.column-max_pct { inline-size: 60px; }
#all_items-group th.column-hold_only { inline-size: 64px; text-align: center; }
#all_items-group th.column-note { inline-size: 92px; }
#all_items-group th:last-child { inline-size: 76px; }
#all_items-group td input[type=number] { padding-inline: 4px; }
#all_items-group th { word-break: normal; overflow-wrap: normal; hyphens: auto; }
#all_items-group td.field-priority select { inline-size: 100%; padding-inline: 8px 20px; text-overflow: clip; }
/* Группы готового портфеля. */
#groups-group th.column-title { inline-size: 40%; }
#groups-group th.column-min_pct, #groups-group th.column-max_pct, #groups-group th.column-order { inline-size: 14%; }
/* Таблицы составов: ссылка «посмотреть актив» и пустая первая колонка заняли бы место полей. */
#all_items-group .view-related, #all_items-group .add-related { display: none; }
#all_items-group td.original, #all_items-group th.original { display: table-cell; inline-size: 0; padding: 0; overflow: hidden; font-size: 0; border: 0; }
#all_items-group td select, #all_items-group td input { padding-inline: 6px; font-size: 0.85rem; }
#all_items-group .select2-selection__rendered { padding-inline-start: 6px !important; }

.inline-group .tabular td.field-hold_only { text-align: center; }
.inline-group .tabular th:last-child { inline-size: 92px; }
.inline-group .tabular td.delete .btn, .inline-group .tabular td.delete a { white-space: nowrap; font-size: 0.75rem; padding: 4px 8px; }
.inline-group .tabular td.original, .inline-group .tabular th.original { inline-size: 28px; }
.inline-group .tabular td.field-asset .related-widget-wrapper { display: flex; align-items: center; gap: 4px; }
.inline-group .tabular td.field-asset .related-widget-wrapper > :first-child { flex: 1 1 auto; min-inline-size: 0; }
.inline-group .add-row td { text-align: start !important; }

/* 1.75: вложения-таблицы на телефоне — карточками, без горизонтальной прокрутки. */
@media (max-width: 767px) {
  .inline-group .tabular { overflow-x: visible; }
  .inline-group .tabular table, .inline-group .tabular tbody { display: block; inline-size: 100%; }
  .inline-group .tabular thead { display: none; }
  .inline-group .tabular tr.form-row, .inline-group .tabular tr.add-row {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px 12px; margin: 0;
    padding: 14px 0; border-bottom: 1px solid #E3E6E8;
  }
  .inline-group .tabular tr.add-row { display: block; border: 0; }
  .inline-group .tabular tr.form-row td { display: block; padding: 0 !important; border: 0; inline-size: auto !important; min-inline-size: 0; }
  .inline-group .tabular tr.form-row td[data-label]::before {
    content: attr(data-label); display: block; font-size: 12px; font-weight: 600; color: #6B7075; margin-block-end: 4px;
  }
  .inline-group .tabular tr.form-row td.original { display: none !important; }
  .inline-group .tabular tr.form-row td.field-asset, .inline-group .tabular tr.form-row td.field-title,
  .inline-group .tabular tr.form-row td.field-note, .inline-group .tabular tr.form-row td.field-text { grid-column: 1 / -1; }
  .inline-group .tabular tr.form-row td.delete { display: flex; align-items: flex-end; }
  .inline-group .tabular td.field-hold_only { text-align: start; }
  .inline-group .tabular tr.form-row td input:not([type=checkbox]), .inline-group .tabular tr.form-row td select { min-block-size: 40px; font-size: 16px !important; }
}
@media (max-width: 767px) {
  .inline-group .tabular tr.form-row td input[type=text], .inline-group .tabular tr.form-row td input[type=number] {
    border: 1px solid #CED4DA !important; border-radius: 8px; padding-inline: 10px !important; inline-size: 100% !important;
  }
}
@media (max-width: 767px) {
  .inline-group .tabular tr.form-row td.delete::before, .inline-group .tabular tr.form-row td:last-child:has(.inline-deletelink)::before { display: none !important; }
  .inline-group .tabular tr.form-row td:last-child { grid-column: 1 / -1; }
  .inline-group .tabular .select2-container .select2-selection--single { block-size: 40px !important; display: flex; align-items: center; }
  .inline-group .tabular .select2-container .select2-selection__arrow { block-size: 38px !important; }
}
@media (max-width: 767px) { .inline-group .tabular tr.form-row td:last-child .inline-deletelink, .inline-group .tabular tr.form-row td:last-child > * { margin-inline-start: 0 !important; } }
