/* ED-EMS: мобильная вёрстка и правка #root (перекрывает index-LQJ9Aq9F.css) */
#root {
  width: 100%;
  max-width: 100%;
  text-align: left;
  border-inline: none;
  margin: 0;
  overflow-x: clip;
  box-sizing: border-box;
}
@media (min-width: 1200px) {
  #root {
    max-width: 1126px;
    margin: 0 auto;
    border-inline: 1px solid var(--border, #e5e4e7);
  }
}
.ant-layout,
.ant-layout-content {
  text-align: left;
}
.ant-table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}
.ant-table {
  min-width: 900px;
  table-layout: auto;
}
/* ФИО и др.: убираем посимвольный перенос (буква в столбик) */
.ant-table-wrapper .ant-table-thead > tr > th,
.ant-table-wrapper .ant-table-tbody > tr > td {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word;
  vertical-align: top;
}
.ant-table-wrapper .ant-table-thead > tr > th:first-child,
.ant-table-wrapper .ant-table-tbody > tr > td:first-child {
  min-width: 14rem;
}
.ant-layout-header {
  height: auto !important;
  min-height: 64px;
  line-height: 1.3 !important;
  padding-inline: 12px !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.ant-menu.ant-menu-horizontal {
  flex: 1 1 auto;
  min-width: 0;
  flex-wrap: wrap;
  line-height: 46px;
  border-bottom: none;
}
/* основная область рядом с Sider — не сжимать в ноль */
.ant-layout-has-sider {
  min-width: 0;
}
.ant-layout-has-sider > .ant-layout {
  min-width: 0;
  flex: 1 1 auto;
}
.ant-layout-content {
  padding: 8px !important;
  box-sizing: border-box;
}
@media (min-width: 992px) {
  .ant-layout-content {
    padding: 12px 16px !important;
  }
}
/* ФИО в шапке не ломает строку */
.ant-layout-header .ant-typography,
.ant-layout-header .ant-dropdown-trigger {
  max-width: min(200px, 42vw);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .ant-layout-header {
    padding-inline: 8px !important;
  }
  .ant-card .ant-card-body {
    padding: 12px;
  }
  .ant-modal {
    max-width: calc(100vw - 16px) !important;
    margin: 8px auto;
  }
  .ant-table {
    min-width: 720px;
  }
  .ant-tabs-nav {
    margin-bottom: 8px !important;
  }
  .ant-tabs-tab {
    padding: 8px 10px !important;
  }
}
