/* Четыре значения только у переключателей доступности меню. */
.fine-tri-toggle[data-menu-visibility-toggle] {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 184px;
  min-width: 184px;
}
.fine-tri-toggle[data-menu-visibility-toggle]::before {
  width: calc((100% - 6px) / 4);
}
.fine-tri-toggle[data-menu-visibility-toggle][data-mode="adm"] { --fine-toggle-index: 1; }
.fine-tri-toggle[data-menu-visibility-toggle][data-mode="ctrl"] { --fine-toggle-index: 2; }
.fine-tri-toggle[data-menu-visibility-toggle][data-mode="on"] { --fine-toggle-index: 3; }
.fine-tri-toggle[data-menu-visibility-toggle][data-mode="adm"] [data-toggle-segment="adm"] { color: #174ea6; }
/* Фаза 15.5: адресные рамки и действия Журнала/Клиентов. */
/* 15.8 G06–G14: обратная связь и компактные интервалы выбранных настроек. */
.phase15-workspace-feedback {
  position: fixed;
  z-index: 900;
  font-size: 12px;
  line-height: 1.35;
  pointer-events: none;
  flex: 0 0 auto;
  margin: 0;
}

#settingsList :is([data-settings-panel="users"], [data-settings-panel="sessions"]) {
  gap: 12px;
  align-content: start;
}

#settingsList [data-settings-panel="users"] > p,
#settingsList :is([data-settings-panel="users"], [data-settings-panel="sessions"]) .settings-section-head p,
#settingsList .settings-subsection:is([aria-labelledby="securityParametersTitle"], [aria-labelledby="ownerEmergencyTitle"], [aria-labelledby="ipBlocksTitle"]) > div:first-child p {
  margin: 0;
}

#settingsList :is([data-settings-panel="users"], [data-settings-panel="sessions"]) .settings-inline-form,
#settingsList :is(.settings-users-data-table, .settings-ip-blocks-data-table) {
  margin-block: 0;
}

#settingsList :is([data-settings-panel="users"], [data-settings-panel="sessions"]) .form-message {
  margin: 0;
}

#settingsList :is([data-settings-panel="users"], [data-settings-panel="sessions"]) .form-message:empty {
  display: none;
}

#settingsList .settings-subsection:is([aria-labelledby="securityParametersTitle"], [aria-labelledby="ownerEmergencyTitle"], [aria-labelledby="ipBlocksTitle"]) {
  gap: 12px;
}

#settingsList .settings-subsection + .settings-subsection:is([aria-labelledby="ownerEmergencyTitle"], [aria-labelledby="ipBlocksTitle"]) {
  padding-top: 16px;
}

#settingsList .settings-subsection[aria-labelledby="ownerEmergencyTitle"] .settings-form-actions {
  justify-content: flex-start;
}

#settingsList .smsgate-runtime-block {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}

#settingsList .smsgate-runtime-block > div:first-child {
  grid-column: 1 / -1;
}

#settingsList .smsgate-runtime-block .smsgate-form-actions {
  margin: 0;
  justify-content: flex-end;
}

#settingsList .public-upload-info-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
}

#settingsList .public-upload-info-actions {
  justify-content: flex-end;
  align-items: center;
  margin: 0;
}

@media (max-width: 760px) {
  #settingsList .smsgate-runtime-block,
  #settingsList .public-upload-info-card {
    grid-template-columns: minmax(0, 1fr);
  }
  #settingsList .public-upload-info-actions {
    align-items: stretch;
  }
}

#appShell:is([data-main-view="audit"], [data-main-view="clients"]) #bigWorkspacePanel > .w-topbar {
  grid-template-columns: minmax(0, 1fr) auto;
}

/* 15.8 F11–F25: компактные настройки и единая шапка второстепенных таблиц. */
#settingsList :is(.settings-inline-form, .notification-sound-controls, .smsgate-settings-form, .recognition-filter-label) :is(input:not([type="checkbox"]):not([type="range"]):not([type="hidden"]), select),
#settingsList :is(.settings-inline-form, .notification-sound-controls, .smsgate-settings-form, .settings-ip-blocks-data-table, .settings-users-data-table) button,
#settingsList .settings-subsection:is([aria-labelledby="activeSessionsTitle"], [aria-labelledby="loginHistoryTitle"]) :is(select, button:not(.work-table-resizer):not(.work-table-sort-button)) {
  box-sizing: border-box;
  height: 34px;
  min-height: 34px;
  padding: 5px 8px;
  font-family: inherit;
  font-size: 12px;
  line-height: 18px;
}

#settingsList :is(.settings-inline-form, .notification-sound-base-row, .notification-sound-pattern-row, .smsgate-form-actions, .settings-row-actions) {
  gap: 8px;
}

/* Высота данных естественная: вертикально прокручивается раздел настроек. */
#settingsList .settings-subsection[aria-labelledby="loginHistoryTitle"] .work-table-scroll,
#settingsList .settings-ip-blocks-data-table {
  height: auto;
  min-height: 0;
  max-height: none;
  overflow-x: auto;
  overflow-y: visible;
}

#settingsList :is(.sla-reference-row, .settings-data-table-row).is-head,
#clarificationList :is(.clarification-table-row, .clarification-inbox-row).is-head {
  box-sizing: border-box;
  min-height: 42px;
  align-items: center;
  padding: 8px 10px;
  border-top: 0;
  border-bottom: 1px solid #e4ebf4;
  color: #40536a;
  background: #f6f9fe;
  font: 600 12px/1.35 var(--font-ui, Arial, sans-serif);
}

#settingsList :is(.sla-reference-row, .settings-data-table-row).is-head > [role="columnheader"],
#clarificationList :is(.clarification-table-row, .clarification-inbox-row).is-head > [role="columnheader"] {
  align-self: stretch;
  display: flex;
  align-items: center;
  min-width: 0;
  margin-block: -8px;
  padding-block: 8px;
  padding-right: 8px;
}

#settingsList :is(.sla-reference-row, .settings-data-table-row).is-head > [role="columnheader"]:not(:last-child),
#clarificationList :is(.clarification-table-row, .clarification-inbox-row).is-head > [role="columnheader"]:not(:last-child) {
  border-right: 1px solid #e4ebf4;
}

/* Таблицы подробностей; мобильное скрытие шапки остаётся в её исходном паттерне. */
:is(#requestDialog, #appointmentDialog, #clientDialog, #estimateDialog) table thead th {
  box-sizing: border-box;
  height: 42px;
  padding: 8px 10px;
  border-bottom: 1px solid #e4ebf4;
  color: #40536a;
  background: #f6f9fe;
  font: 600 12px/1.35 var(--font-ui, Arial, sans-serif);
  vertical-align: middle;
}

:is(#requestDialog, #appointmentDialog, #clientDialog, #estimateDialog) table thead th:not(:last-child) {
  border-right: 1px solid #e4ebf4;
}

@media (max-width: 760px) {
  html[data-phase10-mobile="true"] #settingsList :is(.settings-inline-form, .notification-sound-controls, .smsgate-settings-form, .recognition-filter-label) :is(input:not([type="checkbox"]):not([type="range"]):not([type="hidden"]), select),
  html[data-phase10-mobile="true"] #settingsList :is(.settings-inline-form, .notification-sound-controls, .smsgate-settings-form, .settings-ip-blocks-data-table, .settings-users-data-table) button,
  html[data-phase10-mobile="true"] #settingsList .settings-subsection:is([aria-labelledby="activeSessionsTitle"], [aria-labelledby="loginHistoryTitle"]) :is(select, button:not(.work-table-resizer):not(.work-table-sort-button)) {
    height: 32px;
    min-height: 32px;
    padding: 4px 8px;
    line-height: 18px;
  }

  html[data-phase10-mobile="true"] #settingsList :is(.settings-inline-form, .notification-sound-controls, .smsgate-settings-form, .settings-ip-blocks-data-table, .settings-users-data-table) button:is(.primary-button, .danger-button, [type="submit"], [data-ip-unblock]) {
    height: 40px;
    min-height: 40px;
  }


}

#workspaceAuditShareButton.audit-workspace-share {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  min-height: 34px;
  padding: 5px 8px;
  border: 0;
  border-radius: 6px;
  color: #2d5f91;
  background: transparent;
  font: 500 13px/18px var(--font-ui);
  white-space: nowrap;
  cursor: pointer;
}

#workspaceAuditShareButton.audit-workspace-share:hover {
  color: var(--primary);
  background: #f5f9ff;
}

#workspaceAuditShareButton.audit-workspace-share:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}

#workspaceAuditShareButton.audit-workspace-share .svg-icon {
  width: 16px;
  min-width: 16px;
  height: 16px;
}

#workspaceNewClientButton.list-command {
  width: auto;
  min-width: 0;
  margin: 0;
  white-space: nowrap;
}

#clientList > .work-table-section {
  margin-top: 0;
}

/* 15.8 B11: подпись сброса помещается целиком, без увеличения высоты. */
@media (min-width: 761px) {
  #clientList .work-table-filters.is-clients {
    grid-template-columns: repeat(9, minmax(0, 1fr)) repeat(3, minmax(46px, 1fr));
  }
  #clientList .work-table-filters.is-clients > .client-filter-sort {
    grid-column: 1 / span 9;
  }
  #clientList .work-table-filters.is-clients > .work-table-filter-reset {
    grid-column: 10 / -1;
    padding-inline: 11px;
    font-size: 12px;
    white-space: nowrap;
  }
}

/* 15.6: граница полноты существующей истории входящих заявок. */
#integrationList .integration-source-note {
  flex: 0 0 auto;
  margin: 0;
  padding: 8px 14px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  line-height: 18px;
}

/* Следуем существующим боковым gutter12; вне диапазона он равен18. */
@media (min-width: 961px) and (max-width: 1920px) {
  #integrationList.main-list {
    padding-top: 12px;
  }
}

@media (min-width: 761px) {
  #auditList.main-list {
    min-width: 0;
    min-height: 0;
    padding: 12px;
    overflow: hidden;
  }

  #auditList .audit-table-workspace {
    min-height: 0;
    box-sizing: border-box;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
  }

  /* Меню выходит над строками; сам region продолжает ограничивать таблицу. */
  #auditList .audit-table-workspace:has(.audit-columns-menu[open]) {
    overflow: visible;
  }

  #auditList .audit-columns-menu-panel {
    max-height: min(38dvh, 320px);
    box-sizing: border-box;
    overflow: auto;
    overscroll-behavior: contain;
  }

  /* Скрытая строка новых событий не перемещает footer в растяжимый track. */
  #auditList .audit-table-filters { grid-row: 1; }
  #auditList .audit-table-toolbar { grid-row: 2; }
  #auditList .audit-new-events { grid-row: 3; }
  #auditList .audit-table-region { grid-row: 4; }
  #auditList .audit-table-footer { grid-row: 5; }

  #auditList .audit-table-region {
    margin: 0;
    border: 0;
    border-radius: 0;
  }

  #auditList .audit-table-scroll {
    min-height: 0;
    overscroll-behavior: contain;
  }

  #auditList .audit-table-footer {
    border-top: 1px solid var(--line);
  }
}

@media (max-width: 760px) {
  html[data-phase10-mobile="true"] #integrationList .work-table-filters.is-integrations {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    padding: 8px;
  }

  html[data-phase10-mobile="true"] #integrationList .work-table-filters :is(select, button) {
    min-height: 44px;
  }

  html[data-phase10-mobile="true"] #integrationList .work-table-scroll {
    max-height: none;
  }

  /* H02/H04: заголовок и обычные действия на общей оси. */
  html[data-phase10-mobile="true"] #appShell:is([data-main-view="audit"], [data-main-view="clients"]) #bigWorkspacePanel > .w-topbar {
    height: auto; min-height: 44px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-rows: auto; gap: 4px 8px; padding: 6px 8px;
    align-items: start;
  }
  html[data-phase10-mobile="true"] #appShell:is([data-main-view="audit"], [data-main-view="clients"]) #bigWorkspacePanel > .w-topbar .pane-title {
    grid-column: 1; grid-row: 1; min-width: 0; align-self: center;
  }
  html[data-phase10-mobile="true"] #appShell:is([data-main-view="audit"], [data-main-view="clients"]) #bigWorkspacePanel > .w-topbar .pane-title :is(h2,p) {
    max-width: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  html[data-phase10-mobile="true"] #appShell:is([data-main-view="audit"], [data-main-view="clients"]) #mobileFilterToggleButton {
    grid-column: 3; grid-row: 1; height: 32px; min-height: 32px;
    min-width: 32px; padding: 4px 8px; font-size: 12px; box-shadow: none;
  }
  html[data-phase10-mobile="true"] #appShell:is([data-main-view="audit"], [data-main-view="clients"]) #phase10MobileFilterReset {
    grid-column: 3; grid-row: 2; height: 32px; min-height: 32px; font-size: 12px;
  }
  html[data-phase10-mobile="true"] #workspaceAuditShareButton.audit-workspace-share,
  html[data-phase10-mobile="true"] #workspaceNewClientButton.list-command {
    grid-column: 2; grid-row: 1; justify-self: end; margin: 0;
    height: 32px; min-height: 32px; padding: 4px 8px;
    font-size: 12px; line-height: 18px; box-shadow: none;
  }
  html[data-phase10-mobile="true"] #workspaceAuditShareButton.audit-workspace-share {
    width: 32px; padding: 0;
  }
  html[data-phase10-mobile="true"] #workspaceAuditShareButton.audit-workspace-share > span:not(.svg-icon) { display: none; }

}

html[data-phase10-mobile="true"] .calendar-period-status.phase15-workspace-feedback {
  position: fixed;
  z-index: 900;
  font-size: 12px;
  line-height: 1.35;
  pointer-events: none;
  left: auto; bottom: auto; width: auto; transform: none;
}

/* H05/H06: настройки владеют вертикальным scroll; таблицы — только горизонтальным. */
#settingsList .settings-subsection:is([aria-labelledby="activeSessionsTitle"], [aria-labelledby="loginHistoryTitle"]) .work-table-scroll {
  height: auto; min-height: 0; max-height: none;
  overflow-x: auto; overflow-y: visible; overscroll-behavior-y: auto;
}
/* H08: Save рядом с переключателями, в прежней форме. */
#settingsList .smsgate-switch-save-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
#settingsList .smsgate-switch-save-row .smsgate-switch-grid { margin: 0; }
#settingsList .smsgate-switch-save-row .smsgate-form-actions { margin: 0; }
