/* HEVEXO COMPACT LAPTOP UI V1 */
.table-wrap {
  max-width: 100%;
  min-width: 0;
  overflow-x: auto !important;
  overflow-y: visible;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

.table-wrap.hx-table-overflowing {
  background-image: linear-gradient(to right, transparent calc(100% - 18px), rgba(15, 23, 42, .035));
  background-repeat: no-repeat;
  background-position: right top;
}

@media (min-width: 901px) and (max-width: 1500px) {
  html {
    --hx-laptop-space-1: 6px;
    --hx-laptop-space-2: 10px;
    --hx-laptop-space-3: 14px;
  }

  .shell {
    grid-template-columns: clamp(220px, 18vw, 250px) minmax(0, 1fr) !important;
  }

  .sidebar-resize-handle {
    display: none !important;
  }

  .sidebar {
    padding: 12px 9px !important;
    gap: 12px !important;
  }

  .sidebar .brand-row {
    padding: 9px 8px 12px !important;
  }

  .sidebar .brand-row img {
    max-width: 165px !important;
    max-height: 54px !important;
  }

  .sidebar .nav button {
    min-height: 34px !important;
    padding: 6px 8px !important;
    gap: 8px !important;
    font-size: 12.5px !important;
  }

  .sidebar .nav .mark {
    width: 19px !important;
    min-width: 19px !important;
  }

  .topbar {
    min-height: 58px !important;
    padding: 8px 14px !important;
    gap: 12px !important;
  }

  .topbar h1 {
    font-size: 19px !important;
  }

  .topbar .meta {
    font-size: 12px !important;
  }

  .content {
    padding: 12px 14px 16px !important;
    gap: 14px !important;
  }

  .band-head,
  .card-head,
  .section-heading,
  .screen-headline,
  .toolbar {
    gap: 10px !important;
    flex-wrap: wrap !important;
  }

  .band-head {
    padding: 11px 13px !important;
  }

  .band-body {
    padding: 13px !important;
  }

  button {
    min-height: 33px;
    padding: 6px 9px;
    font-size: 12.5px;
  }

  input,
  select,
  textarea {
    min-height: 36px;
    padding: 7px 9px;
    font-size: 12.5px;
  }

  th,
  td {
    padding: 8px 9px !important;
  }

  th {
    font-size: 11.5px !important;
  }

  td {
    font-size: 12.2px !important;
  }

  .summary-strip,
  .stat-grid,
  .dashboard-stat-grid,
  .crm-stat-grid,
  .fleet-stat-grid {
    gap: 9px !important;
  }

  .summary-item,
  .stat,
  .stat-card,
  .dashboard-stat,
  .crm-stat-card,
  .fleet-stat-card {
    min-height: 78px !important;
    padding: 11px 13px !important;
  }

  .form-grid.three,
  .form-grid.four {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  dialog,
  .modal-card,
  .panel-modal {
    max-width: calc(100vw - 28px) !important;
    max-height: calc(100vh - 28px) !important;
  }

  /* Tabellen mit Aktionen: rechte Spalte bleibt immer erreichbar. */
  .hx-responsive-action-table th.hx-responsive-actions,
  .hx-responsive-action-table td.hx-responsive-actions {
    position: sticky !important;
    right: 0 !important;
  }

  .hx-responsive-action-table th.hx-responsive-actions {
    z-index: 6 !important;
    background: #f8fafc !important;
    box-shadow: -10px 0 14px -13px rgba(15, 23, 42, .65);
  }

  .hx-responsive-action-table td.hx-responsive-actions {
    z-index: 4 !important;
    min-width: 190px;
    background: var(--panel, #fff) !important;
    box-shadow: -10px 0 14px -13px rgba(15, 23, 42, .55);
  }

  .hx-responsive-action-table tbody tr:hover td.hx-responsive-actions {
    background: #f8fafc !important;
  }

  .hx-responsive-action-table td.hx-responsive-actions.actions,
  .hx-responsive-action-table td.hx-responsive-actions.nowrap {
    display: table-cell !important;
    white-space: normal !important;
    text-align: right !important;
  }

  .hx-responsive-action-table td.hx-responsive-actions > button,
  .hx-responsive-action-table td.hx-responsive-actions > a,
  .hx-responsive-action-table td.hx-responsive-actions .actions > button {
    margin: 2px !important;
    white-space: nowrap !important;
  }

  /* Bewerber/Recruiting ist besonders breit. */
  .applicant-screen .crm-stat-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  }

  .applicant-screen .crm-stat-card {
    min-height: 82px !important;
    padding: 12px 14px !important;
  }

  .applicant-screen .crm-stat-card strong {
    font-size: 1.55rem !important;
  }

  .applicant-screen .crm-toolbar {
    grid-template-columns: minmax(230px, 2fr) minmax(145px, 1fr) minmax(155px, 1fr) auto !important;
    gap: 8px !important;
    padding: 10px !important;
  }

  .applicant-screen .crm-table {
    min-width: 1080px !important;
  }

  .applicant-screen .crm-table td:nth-child(1) { min-width: 185px !important; }
  .applicant-screen .crm-table td:nth-child(2) { min-width: 135px !important; }
  .applicant-screen .crm-table td:nth-child(3) { min-width: 190px !important; }
  .applicant-screen .crm-table td:nth-child(4) { min-width: 145px !important; }
  .applicant-screen .crm-table td:nth-child(5) { min-width: 130px !important; }
  .applicant-screen .crm-table td:nth-child(6) { min-width: 120px !important; }
  .applicant-screen .crm-table td:nth-child(7) { min-width: 78px !important; }
  .applicant-screen .crm-table td:nth-child(8) {
    width: 235px !important;
    min-width: 235px !important;
  }

  .applicant-screen .crm-table .actions.nowrap {
    display: table-cell !important;
    white-space: normal !important;
    text-align: right !important;
  }

  .applicant-screen .crm-table .actions.nowrap button {
    min-height: 31px !important;
    padding: 5px 8px !important;
    margin: 2px !important;
    font-size: 12px !important;
  }

  .applicant-screen .crm-pagination {
    padding-top: 6px !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .applicant-screen .crm-toolbar {
    grid-template-columns: 1fr 1fr !important;
  }

  .section-heading > .actions,
  .screen-headline > .actions {
    max-width: 100%;
  }
}

@media (max-height: 800px) and (min-width: 901px) {
  .topbar {
    min-height: 52px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  .content {
    padding-top: 10px !important;
    padding-bottom: 12px !important;
    gap: 11px !important;
  }

  .band-head,
  .band-body {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}

/* HEVEXO COMPACT LAPTOP / TABLET DESKTOP FIX V2 */
/*
 * Breite Tabellen dürfen als Grid-/Flex-Kinder nicht auf ihre Mindestbreite
 * anwachsen und anschließend von .content (overflow-x:hidden) abgeschnitten
 * werden. Der Scrollbereich muss innerhalb der jeweiligen Karte bleiben.
 */
.main,
.content,
.content > *,
.content > .band,
.band,
.band-body,
.crm-screen,
.applicant-screen,
.table-wrap,
.crm-table-wrap,
.fleet-table-wrap {
  min-width: 0 !important;
}

.table-wrap,
.crm-table-wrap,
.fleet-table-wrap,
.applicant-screen .table-wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
}

/* Auf Touch-Geräten im Desktop-Modus bleibt am Tabellenende etwas Platz,
   damit die horizontale Wischfläche nicht mit der System-Gestenleiste kollidiert. */
body.hevexo-tablet-desktop .table-wrap,
body.hevexo-tablet-desktop .crm-table-wrap,
body.hevexo-tablet-desktop .fleet-table-wrap {
  padding-bottom: 10px;
  scrollbar-width: auto;
  scrollbar-color: rgba(48, 92, 142, .55) rgba(219, 231, 244, .55);
}

body.hevexo-tablet-desktop .table-wrap::-webkit-scrollbar,
body.hevexo-tablet-desktop .crm-table-wrap::-webkit-scrollbar,
body.hevexo-tablet-desktop .fleet-table-wrap::-webkit-scrollbar {
  height: 12px;
}

body.hevexo-tablet-desktop .table-wrap::-webkit-scrollbar-thumb,
body.hevexo-tablet-desktop .crm-table-wrap::-webkit-scrollbar-thumb,
body.hevexo-tablet-desktop .fleet-table-wrap::-webkit-scrollbar-thumb {
  background: rgba(48, 92, 142, .55);
  border: 3px solid rgba(255, 255, 255, .85);
  border-radius: 999px;
}

body.hevexo-tablet-desktop .table-wrap::-webkit-scrollbar-track,
body.hevexo-tablet-desktop .crm-table-wrap::-webkit-scrollbar-track,
body.hevexo-tablet-desktop .fleet-table-wrap::-webkit-scrollbar-track {
  background: rgba(219, 231, 244, .55);
  border-radius: 999px;
}

/* Die Aktionsspalte wird immer dann fixiert, wenn die Tabelle tatsächlich
   breiter als ihr Scrollcontainer ist. Das ist unabhängig von der gemeldeten
   Desktop-Breite und funktioniert daher auch im Samsung-Desktopmodus. */
@media (min-width: 901px) {
  .hx-table-overflowing .hx-responsive-action-table th.hx-responsive-actions,
  .hx-table-overflowing .hx-responsive-action-table td.hx-responsive-actions {
    position: sticky !important;
    right: 0 !important;
  }

  .hx-table-overflowing .hx-responsive-action-table th.hx-responsive-actions {
    z-index: 8 !important;
    min-width: 190px !important;
    background: #f8fafc !important;
    box-shadow: -12px 0 16px -14px rgba(15, 23, 42, .75);
  }

  .hx-table-overflowing .hx-responsive-action-table td.hx-responsive-actions {
    z-index: 7 !important;
    min-width: 210px !important;
    max-width: 250px !important;
    background: var(--panel, #fff) !important;
    box-shadow: -12px 0 16px -14px rgba(15, 23, 42, .65);
  }

  .hx-table-overflowing .hx-responsive-action-table tbody tr:hover td.hx-responsive-actions {
    background: #f8fafc !important;
  }

  .hx-table-overflowing .hx-responsive-action-table td.hx-responsive-actions.actions,
  .hx-table-overflowing .hx-responsive-action-table td.hx-responsive-actions.nowrap {
    display: table-cell !important;
    white-space: normal !important;
    text-align: right !important;
  }

  .hx-table-overflowing .hx-responsive-action-table td.hx-responsive-actions > button,
  .hx-table-overflowing .hx-responsive-action-table td.hx-responsive-actions > a,
  .hx-table-overflowing .hx-responsive-action-table td.hx-responsive-actions .actions > button {
    margin: 2px !important;
    white-space: nowrap !important;
  }
}

/* Bewerber/Recruiting: Der Scrollcontainer besitzt eine echte begrenzte Breite.
   Die Aktionsspalte bleibt rechts sichtbar, alle übrigen Spalten sind seitlich
   per Finger/Trackpad erreichbar. */
.applicant-screen {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.applicant-screen .table-wrap {
  position: relative;
  border-radius: inherit;
}

.applicant-screen .crm-table {
  width: 100% !important;
  min-width: 1120px !important;
}

@media (min-width: 901px) {
  .applicant-screen .hx-table-overflowing .crm-table th:last-child,
  .applicant-screen .hx-table-overflowing .crm-table td:last-child {
    min-width: 225px !important;
    width: 225px !important;
  }

  .applicant-screen .hx-table-overflowing .crm-table td:last-child button {
    min-height: 31px !important;
    padding: 5px 8px !important;
    margin: 2px !important;
    font-size: 12px !important;
  }
}

/* Kleiner visueller Hinweis nur bei Touch-Desktop und echter Überbreite. */
body.hevexo-tablet-desktop .table-wrap.hx-table-overflowing::after,
body.hevexo-tablet-desktop .crm-table-wrap.hx-table-overflowing::after,
body.hevexo-tablet-desktop .fleet-table-wrap.hx-table-overflowing::after {
  content: "Seitlich wischen für weitere Spalten";
  position: sticky;
  left: 10px;
  display: inline-block;
  margin: 7px 0 0;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(239, 246, 255, .96);
  color: #315d8c;
  font-size: 11px;
  font-weight: 700;
  pointer-events: none;
}
/* HEVEXO COMPACT LAPTOP / TABLET DESKTOP FIX V2 END */
