/* =========================================================
   Планшет Redmi Pad 2 (≈800×1280 портрет, ≈1280×800 альбом), сенсорный экран.
   Шапка: вкладки Группы…Перенос только иконками, компактные кнопки.
   Список групп: кнопки действий иконками, панель кнопок переносится.
   Окно группы: правые колонки списка курсантов доступны прокруткой.
   ========================================================= */
@media (min-width: 600px) and (max-width: 1920px) and (pointer: coarse) {
  /* ── шапка ── */
  .ias-hdr__in { gap: 6px !important; padding: 0 8px !important; }
  .ias-hdr__pill { padding: 6px 12px !important; font-size: 13px !important; white-space: nowrap; }
  header nav { flex: 1 1 auto !important; justify-content: flex-start !important; gap: 4px !important; min-width: 0; }
  header .header-pill {
    height: 40px !important; padding: 0 12px !important; gap: 6px !important;
    justify-content: center !important; font-size: 13px !important; white-space: nowrap !important;
  }
  header .header-pill svg { width: 18px !important; height: 18px !important; flex-shrink: 0; }
  .ias-hdr__act { gap: 4px !important; flex-shrink: 0; }
  header .notify-btn { width: 38px !important; height: 38px !important; }
  .ias-userinfo { max-width: none !important; overflow: visible !important; white-space: nowrap; }
  .ias-userinfo select, .ias-userinfo button { max-width: 110px !important; font-size: 12px !important; }
  .ias-logout { padding: 0 10px !important; gap: 0 !important; }
  .ias-logout span { display: none !important; }

  /* ── список групп ── */
  .panel__header { flex-wrap: wrap !important; row-gap: 6px !important; }
  .panel__header > div { flex-wrap: wrap !important; flex-shrink: 1 !important; min-width: 0 !important; }
  .groups-table-scroll { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  .groups-table .btn-icon__label { display: none !important; }
  .groups-table .group-card__btns button {
    min-width: 40px !important; min-height: 40px !important; padding: 0 10px !important; justify-content: center;
  }

  /* ── окно группы: состав шире экрана прокручивается по горизонтали ── */
  #docsModalBackdrop #groupStudentsPanel { overflow-x: auto !important; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
  #docsModalBackdrop #groupStudentsPanel .sp-list,
  #docsModalBackdrop #groupStudentsPanel .sp-header,
  #docsModalBackdrop #groupStudentsPanel .sp-list .student-person-btn,
  #docsModalBackdrop #groupStudentsPanel .sp-list > * { width: 100% !important; box-sizing: border-box; }

  /* ── карточка курсанта: крупнее зоны касания ── */
  #studentModalBackdrop button { min-height: 36px; }
  #studentModalBackdrop #studentModalCloseBtn, #studentModalBackdrop .modal__close { min-width: 44px; min-height: 44px; font-size: 26px; line-height: 1; }
  #studentModalBackdrop summary { padding-top: 9px !important; padding-bottom: 9px !important; }
  #studentModalBackdrop button[title^="Удалить привязку"], #studentModalBackdrop button[aria-label^="Удалить привязку"] { min-width: 34px; min-height: 34px; }

  /* ── Анкеты: панель кнопок переносится на строки, без наложения; крупнее кнопки действий ── */
  .main-header, .main-header .filters { height: auto !important; min-height: 0 !important; }
  .main-header .filters > div { flex-wrap: wrap !important; row-gap: 8px !important; }
  .main-header .filters > div > button { white-space: nowrap !important; min-height: 40px; height: auto !important; }
  .action-emoji-btn { min-width: 36px; min-height: 36px; }
}

/* кнопки разделов таблицы курсантов — только планшет в портрете */
.sp-sec-tabs { display: none; }
/* =========================================================
   Redmi Pad 2, проверка 23.10.2026: ничего не скрывается и не наслаивается
   ========================================================= */
@media (min-width: 600px) and (max-width: 1920px) and (pointer: coarse) {
  /* шапка: выбор роли на планшете не показываем (больше места), «Выход» — круглая кнопка, не сплющивается */
  html header.ias-hdr .ias-userinfo { display: none !important; }
  html header.ias-hdr .ias-logout {
    width: 38px !important; height: 38px !important; min-width: 38px !important; flex: 0 0 38px !important;
    padding: 0 !important; border-radius: 9999px !important; justify-content: center !important; align-items: center !important;
  }
  html header.ias-hdr .ias-logout svg { width: 18px !important; height: 18px !important; }

  /* таблица групп: кнопки действий — значок крупнее */
  .groups-table .group-card__btns button svg { width: 18px !important; height: 18px !important; }

  /* карточки групп: «Открыть / Редактировать / Удалить» переносятся, а не обрезаются */
  html body .group-card .group-card__btns--labeled { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)) !important; gap: 6px !important; }
  html body .group-card .group-card__btns--labeled > .btn-icon { width: auto !important; min-width: 0 !important; max-width: none !important; }

  /* окно группы: таблица курсантов — своя область прокрутки по обеим осям,
     шапка таблицы и ФИО закреплены (раньше правые колонки уходили за край без прокрутки) */
  html body #docsModalBackdrop .docs-viewer--students:not(.docs-viewer--markup-workspace):not(.docs-viewer--inline-upload) #groupStudentsPanel#groupStudentsPanel {
    overflow: auto !important; max-height: calc(100vh - 240px) !important; min-height: 360px !important;
    -webkit-overflow-scrolling: touch;
  }
  html body #docsModalBackdrop .docs-viewer--students:not(.docs-viewer--markup-workspace):not(.docs-viewer--inline-upload) #groupStudentsPanel#groupStudentsPanel .sp-header { top: 0 !important; }
  html body #docsModalBackdrop .docs-viewer--students:not(.docs-viewer--markup-workspace):not(.docs-viewer--inline-upload) #groupStudentsPanel#groupStudentsPanel .student-person-btn { overflow: clip !important; }
  /* зебра строк заметнее (во всех разделах) */
  html body #docsModalBackdrop .docs-viewer--students .student-person-btn.registry-enriched:not(.sp-header):nth-child(2n) { background: rgba(148, 163, 184, .16) !important; }

  /* карточка курсанта: на планшете без колонки просмотра — сведения во всю ширину;
     документ открывается отдельным окном поверх карточки, закрывается крестиком */
  html body #studentModalBackdrop .student-split { display: block !important; grid-template-columns: none !important; }
  html body #studentModalBackdrop .student-split > .student-split__left { width: 100% !important; max-width: none !important; display: block !important; }
  html body #studentModalBackdrop .student-split > aside.docs-viewer { display: none !important; }
  html body #studentModalBackdrop .student-split.student-split--viewing > aside.docs-viewer {
    display: flex !important; position: fixed !important; inset: 12px !important; z-index: 5000 !important;
    width: auto !important; height: auto !important; max-width: none !important; max-height: none !important; margin: 0 !important;
    border-radius: 14px !important; background: var(--bg-card, #fff) !important; box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .6) !important;
  }

  /* карточка курсанта: подписи полей контрастнее (в тёмной теме были почти не видны) */
  html.dark #studentModalBackdrop dt { color: #b4b2a9 !important; }
  #studentModalBackdrop dt { font-size: 13px !important; }

  /* карточка курсанта, просмотр документа: шапка в одну строку — название и «Ответственный» слева,
     справа кнопки-значки под палец (влево, вправо, в новой вкладке, закрыть) */
  #studentModalBackdrop .docs-viewer__bar {
    display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; grid-template-rows: auto auto !important;
    column-gap: 10px !important; row-gap: 2px !important; align-items: center !important; padding: 8px 10px !important;
  }
  #studentModalBackdrop .docs-viewer__bar > #studentViewerName { grid-column: 1; grid-row: 1; font-size: 15px !important; line-height: 1.25; margin: 0 !important; }
  #studentModalBackdrop .docs-viewer__bar > #studentViewerUploader { grid-column: 1; grid-row: 2; font-size: 12px !important; margin: 0 !important; }
  #studentModalBackdrop .docs-viewer__bar > .flex { grid-column: 2; grid-row: 1 / span 2; gap: 6px !important; margin: 0 !important; }
  #studentModalBackdrop :is(#studentRotateLeft, #studentRotateRight, #studentViewerOpen):not([style*="none"]) {
    display: inline-flex !important; align-items: center; justify-content: center;
    width: 40px; height: 40px; padding: 0 !important; border: 1px solid var(--border, #475569); border-radius: 10px; text-decoration: none !important;
  }
  #studentModalBackdrop :is(#studentRotateLeft, #studentRotateRight) span { display: none !important; }
  #studentModalBackdrop :is(#studentRotateLeft, #studentRotateRight) svg { width: 20px !important; height: 20px !important; }
  #studentModalBackdrop #studentViewerOpen { font-size: 0 !important; }
  #studentModalBackdrop #studentViewerOpen::before { content: "↗"; font-size: 20px; line-height: 1; }
  #studentModalBackdrop #studentViewerClosePreview { width: 40px !important; height: 40px !important; min-width: 40px !important; }

  /* загрузка документа: ФИО в списке курсантов полностью, в две строки при необходимости */
  html body #docsModalBackdrop .docs-viewer--inline-upload #groupStudentsPanel .sp-fio__text,
  html body #docsModalBackdrop .docs-viewer--markup-workspace #groupStudentsPanel .sp-fio__text {
    white-space: normal !important; overflow: visible !important; text-overflow: clip !important; line-height: 1.2;
  }
  html body #docsModalBackdrop .docs-viewer--inline-upload:not([data-inline-doc-key="exam_sheet"]):not([data-inline-doc-key="gibdd_extract"]) #groupStudentsPanel .student-person-btn.registry-enriched {
    grid-template-columns: 28px 28px minmax(0,1fr) 78px 86px !important;
  }
  html body #docsModalBackdrop .docs-viewer--inline-upload:is([data-inline-doc-key="exam_sheet"],[data-inline-doc-key="gibdd_extract"]) #groupStudentsPanel .student-person-btn.registry-enriched {
    grid-template-columns: 26px 24px minmax(0,1fr) 74px 84px 100px !important;
  }

  /* «Перенос» (список курсантов): длинные ФИО и группы переносятся в ячейке, таблица помещается без прокрутки вбок */
  .transfer-students-table th, .transfer-students-table td { white-space: normal !important; }
  .transfer-students-table td:nth-child(3), .transfer-students-table td:nth-child(4) { white-space: nowrap !important; }

  /* календарь: дни месяца строго под днями недели; имена файлов графиков целиком */
  .gcal-days { grid-template-columns: repeat(7, minmax(0, 1fr)) !important; }
  .gcal-days > * { min-width: 0 !important; }
  .gcal-ref-doc-btn { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; overflow-wrap: anywhere; }

  /* график групп: подпись «сегодня» ниже строки месяцев, подписи у правого края — под конечной точкой */
  .tl-elab.tl-elab--left { transform: translate(calc(-100% + 4px), 70%) !important; }
  /* «Итоги»: заголовки таблиц переносятся по словам, короткие месяцы графиков ВЭК/ГИБДД видны целиком */
  .kompl-tbl.kg-year-tbl th, .kompl-tbl th.kv-h-num { white-space: normal !important; }
  .kompl-tbl th.kv-mon { font-size: 9px !important; letter-spacing: -.04em !important; padding-left: 0 !important; padding-right: 0 !important; overflow: visible !important; text-overflow: clip !important; }
  /* календарь: события дня переносятся, а не обрезаются многоточием */
  .gcal-days [style*="text-overflow:ellipsis"] { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; overflow-wrap: anywhere; }
}

/* портрет */
@media (min-width: 600px) and (max-width: 1920px) and (orientation: portrait) and (pointer: coarse) {
  /* шапка в две строки: разделы отдельной строкой, ничего не прячется под кнопками справа */
  html header.ias-hdr > div.ias-hdr__in { flex-wrap: wrap !important; height: auto !important; min-height: 56px; padding: 6px 8px !important; row-gap: 6px !important; }
  html header.ias-hdr > div.ias-hdr__in > nav { order: 3; flex: 1 1 100% !important; justify-content: center !important; }
  html header.ias-hdr .ias-hdr__act { margin-left: auto; }

  /* счётчики сводки — в две строки, числа с процентами не обрезаются */
  html body #groupsSummaryCards { flex-wrap: wrap !important; }
  html body #groupsSummaryCards > .stat-card-mini { flex: 1 1 calc(25% - 8px) !important; min-width: 0 !important; max-width: none !important; }

  /* таблица групп: перенос только по словам, даты и номера целиком, заголовки не рвутся */
  .groups-table td, .groups-table th { white-space: normal !important; overflow-wrap: normal !important; word-break: normal !important; }
  .groups-table th { font-size: 11px !important; vertical-align: middle !important; }
  .groups-table th button, .groups-table th span { white-space: nowrap !important; }
  .groups-table td:nth-child(5), .groups-table td:nth-child(6) { white-space: nowrap !important; }
  .groups-table .group-card__tag, .groups-table .group-state { white-space: normal !important; }
  .groups-table col.groups-table-col--name { width: 96px !important; }
  .groups-table col.groups-table-col--school { width: 80px !important; }
  .groups-table col.groups-table-col--vus { width: 80px !important; }
  .groups-table col.groups-table-col--students { width: 76px !important; }
  .groups-table col.groups-table-col--date { width: 86px !important; }
  .groups-table col.groups-table-col--state { width: 96px !important; }
  .groups-table col.groups-table-col--actions { width: 150px !important; }

  /* окно группы: таблица по разделам (кнопки «Призыв / Документы / Экзамен и статус» над таблицей),
     слева всегда №, ФИО, дата рождения — без прокрутки вбок */
  .sp-sec-tabs { display: flex !important; gap: 6px; padding: 6px 8px; }
  .sp-sec-tabs button { flex: 1 1 0; height: 40px; border-radius: 10px; border: 1px solid var(--border, #475569); background: transparent; color: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
  .sp-sec-tabs button.is-active { background: #0d9488; border-color: #0d9488; color: #fff; }
  #docsModalBackdrop .docs-viewer--inline-upload .sp-sec-tabs, #docsModalBackdrop .docs-viewer--markup-workspace .sp-sec-tabs { display: none !important; }
  html body #docsModalBackdrop .docs-viewer--students:not(.docs-viewer--markup-workspace):not(.docs-viewer--inline-upload) #groupStudentsPanel#groupStudentsPanel { max-height: calc(100vh - 300px) !important; overflow-x: hidden !important; }
  html body #docsModalBackdrop .docs-viewer--students:not(.docs-viewer--markup-workspace):not(.docs-viewer--inline-upload) #groupStudentsPanel .student-person-btn > .sp-doc-attribute { display: none !important; }
  html body #docsModalBackdrop .docs-viewer--students:not(.docs-viewer--markup-workspace):not(.docs-viewer--inline-upload) #groupStudentsPanel .sp-list .student-person-btn > .sp-dob { display: flex !important; align-items: center !important; align-self: stretch !important; padding-top: 0 !important; }
  html body #docsModalBackdrop .docs-viewer--students:not(.docs-viewer--markup-workspace):not(.docs-viewer--inline-upload) #groupStudentsPanel[data-sp-sec="draft"] .student-person-btn.registry-enriched {
    grid-template-columns: 24px minmax(150px,1fr) 90px 64px 230px 20px !important;
    grid-template-areas: "num fio dob mk draft actions" !important;
  }
  html body #docsModalBackdrop .docs-viewer--students:not(.docs-viewer--markup-workspace):not(.docs-viewer--inline-upload) #groupStudentsPanel[data-sp-sec="draft"] .student-person-btn > :is(.sp-docs, .sp-exam, .sp-registry-training) { display: none !important; }
  html body #docsModalBackdrop .docs-viewer--students:not(.docs-viewer--markup-workspace):not(.docs-viewer--inline-upload) #groupStudentsPanel[data-sp-sec="docs"] .student-person-btn.registry-enriched {
    grid-template-columns: 24px minmax(140px,1fr) 84px minmax(190px,1.2fr) minmax(150px,1fr) 20px !important;
    grid-template-areas: "num fio dob enrollment control actions" !important;
  }
  html body #docsModalBackdrop .docs-viewer--students:not(.docs-viewer--markup-workspace):not(.docs-viewer--inline-upload) #groupStudentsPanel[data-sp-sec="docs"] .student-person-btn > :is(.sp-registry-mk, .sp-registry-draft, .sp-exam, .sp-docs--extension, .sp-docs--prava, .sp-registry-training) { display: none !important; }
  html body #docsModalBackdrop .docs-viewer--students:not(.docs-viewer--markup-workspace):not(.docs-viewer--inline-upload) #groupStudentsPanel[data-sp-sec="exam"] .student-person-btn.registry-enriched {
    grid-template-columns: 24px minmax(130px,1fr) 80px minmax(200px,1.5fr) 72px 72px 112px 20px !important;
    grid-template-areas: "num fio dob exam extension prava training actions" !important;
  }
  html body #docsModalBackdrop .docs-viewer--students:not(.docs-viewer--markup-workspace):not(.docs-viewer--inline-upload) #groupStudentsPanel[data-sp-sec="exam"] .student-person-btn.registry-enriched.registry-enriched--no-gai {
    grid-template-columns: 24px minmax(140px,1fr) 80px minmax(220px,1.6fr) 80px 120px 20px !important;
    grid-template-areas: "num fio dob exam extension training actions" !important;
  }
  html body #docsModalBackdrop .docs-viewer--students:not(.docs-viewer--markup-workspace):not(.docs-viewer--inline-upload) #groupStudentsPanel[data-sp-sec="exam"] .student-person-btn > :is(.sp-registry-mk, .sp-registry-draft, .sp-docs--enrollment, .sp-docs--control) { display: none !important; }

  /* «Итоги» — отчёт на 20 колонок, в портрете не подгоняем: просим повернуть планшет */
  #kompl-stats-inline::before {
    content: "⟳  Отчёт «Итоги» рассчитан на горизонтальный экран — поверните планшет";
    display: block; margin: 8px 8px 12px; padding: 14px 16px; border-radius: 12px;
    border: 2px solid #f59e0b; background: rgba(245, 158, 11, .14); color: inherit;
    font-size: 16px; font-weight: 700; text-align: center; line-height: 1.35;
  }

  /* «Перенос»: все колонки в ширину экрана, телефон в портрете не показываем */
  .transfer-students-table { table-layout: fixed !important; width: 100% !important; }
  .transfer-students-table th, .transfer-students-table td { font-size: 12px !important; padding: 6px 4px !important; }
  .transfer-students-table th { font-size: 11px !important; vertical-align: middle !important; }
  .transfer-students-table :is(th, td):is(:nth-child(4), :nth-child(9), :nth-child(10)) { display: none !important; }
  .transfer-students-table th:nth-child(1) { width: 28px; }
  .transfer-students-table th:nth-child(3) { width: 78px; }
  .transfer-students-table th:nth-child(5) { width: 84px; }
  .transfer-students-table th:nth-child(6) { width: 92px; }
  .transfer-students-table th:nth-child(7) { width: 52px; }
  .transfer-students-table th:nth-child(8) { width: 96px; }
  .transfer-students-table th:nth-child(9) { width: 62px; }
  .transfer-students-table th:nth-child(10) { width: 84px; }
  .transfer-students-table td:nth-child(2), .transfer-students-table td:nth-child(5), .transfer-students-table td:nth-child(6) { overflow-wrap: anywhere; }
  .transfer-students-table td:nth-child(8) * { white-space: normal !important; text-align: center; line-height: 1.15; }

  /* календарь: сводки по школам и привязка к ГИБДД — по три в ряд */
  [style*="repeat(6, 1fr)"] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* альбом: у кнопок действий таблицы групп подпись под значком (места хватает) */
@media (min-width: 600px) and (max-width: 1920px) and (orientation: landscape) and (pointer: coarse) {
  /* окно группы: таблица курсантов до низа экрана (шапка окна в альбоме ниже, чем в портрете) */
  html body #docsModalBackdrop .docs-viewer--students:not(.docs-viewer--markup-workspace):not(.docs-viewer--inline-upload) #groupStudentsPanel#groupStudentsPanel { max-height: calc(100vh - 150px) !important; }
  .groups-table .group-card__btns button { flex-direction: column !important; gap: 2px !important; padding: 2px 4px !important; min-height: 44px !important; }
  .groups-table .group-card__btns .btn-icon__label { display: inline !important; font-size: 11px !important; line-height: 1.1 !important; white-space: nowrap !important; }
}

/* Планшет без мыши (Redmi Pad): документы с него не загружаются, кнопки загрузки неактивны.
   Ноутбук с сенсорным экраном сюда не попадает: у него есть наведение (тачпад или мышь, hover: hover). */
@media (min-width: 600px) and (pointer: coarse) and (hover: none) {
  #btnGroupDocs, #btnOpenExamResult, .doc-cell--upload, .docbox .btn-sm--primary, .docbox .btn-replace,
  .registry-exam-doc-btn, .review-mark__btn {
    pointer-events: none !important; opacity: .35 !important; filter: grayscale(1) !important;
  }
  /* карточка курсанта: удаление документов с планшета не делаем — корзин нет */
  #studentModalBackdrop .student-doc-row > button[title="Удалить привязку документа"] { display: none !important; }
}

/* Планшет: кнопки под палец (не меньше 40–44 px) */
@media (min-width: 600px) and (max-width: 1920px) and (pointer: coarse) {
  html body #docsModalBackdrop .group-header-action{min-height:44px!important;padding:0 14px!important;font-size:14px!important}
  html body #docsModalBackdrop .modal__close{width:44px!important;height:44px!important;min-width:44px!important;font-size:22px!important}
  html body #docsModalBackdrop#docsModalBackdrop .doc-cell.doc-cell:not(.doc-cell--hdr){width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:none!important;max-height:none!important;line-height:38px!important;font-size:12px!important}
  html body #docsModalBackdrop .sp-filter-reset{min-width:32px!important;min-height:32px!important}
}
