body {
  min-height: 100vh;
  background: #f5f5f5;
  /* Ne az oldal görögjön oldalra, de a belső görgethető dobozok (pl. .dash-scroll)
     működjenek – a clip nem hoz létre új görgetési kontextust, ellentétben a hidden-nel. */
  overflow-x: clip;
}

.page-title {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.table-sm td,
.table-sm th {
  padding: 0.25rem 0.5rem;
}

/* A .table-responsive alapból csak overflow-x:auto-t kap, de a CSS-szabály miatt
   overflow-y is "auto"-ra vált -> érintőképernyőn a függőleges húzás beragad benne
   (nem görget az oldal). Explicit overflow-y:hidden -> csak vízszintesen görög,
   a függőleges gesztus átmegy az oldalra. */
.table-responsive {
  overflow-y: hidden;
}

.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* ===== Kezdőoldal – napi áttekintő táblázat (dashboard.js) ===== */

/* A széles tábla CSAK a saját dobozában görög, nem az oldal. */
.dash-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  position: relative;
}
/* Jobb szélen halvány árnyék-jelzés, hogy van még oszlop oldalt. */
.dash-scroll::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 14px;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(to left, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0));
}

/* A tábla a tartalma szélességét veszi fel, de legalább a dobozt kitölti -> ha
   szélesebb a kijelzőnél, a .dash-scroll vízszintesen görgethető lesz. */
.dash-table {
  width: max-content;
  min-width: 100%;
}

/* Ragadós első oszlop (Dátum): jobbra görgetéskor is látszik a viszonyítási pont. */
.dash-table td.dash-sticky,
.dash-table th.dash-sticky {
  position: sticky;
  left: 0;
  z-index: 2;
  background-color: #eef1f4;
  border-right: 2px solid #ced4da;
}
.dash-table thead th.dash-sticky {
  z-index: 3;
  background-color: #e2e6ea;
}
.dash-table tr.table-secondary td.dash-sticky {
  background-color: #d6dae0;
}

/* ===== Egy nap részletes nézete (napi.js) ===== */

/* A panelek tartalma ne legyen túl széles keskeny kijelzőn. */
.day-panel > .card {
  max-width: 560px;
  margin-inline: auto;
}
@media (min-width: 1200px) {
  .day-panel > .card {
    max-width: none;
  }
}

/* A szekcióváltó fülek maradjanak elérhetők görgetés közben is. */
.nav-pills.nav-fill.d-xl-none {
  position: sticky;
  top: 0;
  z-index: 1020;
  background: #f5f5f5;
  padding-block: 0.35rem;
}

/* Rendezhető táblázat-fejléc. */
.dash-table thead th[style*='cursor'] {
  user-select: none;
}
.dash-table thead th[style*='cursor']:hover {
  background-color: #dee2e6;
}

/* ===== Összecsukható üzlet-blokkok fejléce ===== */
details > summary.h5 {
  cursor: pointer;
  list-style: none;
  background: #e9ecef;
  border-radius: 0.375rem;
  margin-bottom: 0.5rem;
}
details > summary.h5::-webkit-details-marker {
  display: none;
}
details > summary.h5::before {
  content: '▸ ';
  color: #6c757d;
}
details[open] > summary.h5::before {
  content: '▾ ';
}
