.header-logo {
    width: 149px;
    height: auto;
    margin-left: 0rem;
}

.dashboard-navigator {
  padding: 0rem;
}

@media screen and (max-width: 789px) {
  .header-logo {
      width: 149px;
      height: auto;
      margin-left: 0rem;
  }

  .dashboard-navigator {
    padding: 1.5rem;
  }

}

.bb4-price-reco {
  border-radius: 14px;
  overflow: hidden;
}

.bb4-price-reco .message-body {
  background: #fff;
}

/* Teljes képernyős overlay */
.dashboard-loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(255, 255, 255, 0.8); /* Félátlátszó fekete háttér */
  z-index: 9999; /* Magas z-index, hogy minden elem fölé kerüljön */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Loading spinner stílus */
.dashboard-loading-spinner {
  border: 3px solid rgba(0, 0, 0, 0.05);
  border-top: 3px solid #000; /* Fete színű felső rész */
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: spin 0.5s linear infinite;
}

/* Animáció */
@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}


.dashboard-grid {
    display: flex;
    min-height: 100vh; /* Teljes képernyőmagasság, DE nőhet, ha a tartalom hosszabb */
}

.dashboard-left {
    width: 249px; /* Fix szélesség */
    background-color: #f9f9f9;
    padding: 1.5rem;
    flex-shrink: 0; /* Ne zsugorodjon össze */
    border-width: 0px 1px 0px 0px;
    border-style: solid;
    border-color: #fff;
}

.dashboard-right {
    flex-grow: 1; /* Kitölti a maradék helyet */
    padding: 1.5rem;
}

.dashboard-container {
  border-width: 1px 1px 1px 1px;
  border-style: solid;
  border-color: #ECECEC;
  padding: 1.5rem;
}

@media screen and (max-width: 789px) {
    .dashboard-grid {
        flex-direction: column; /* Oszlopirányú elrendezés mobilon */
    }

    .dashboard-left {
        width: 100%; /* Teljes szélesség */
    }

    .dashboard-right {
        width: 100%; /* Teljes szélesség */
        padding: 0rem;
    }

    .dashboard-container {
      border-width: 1px 0px 1px 0px;
      border-style: solid;
      border-color: #ECECEC;
      padding: 1.5rem;
    }
}

.dashboard-menus {
  display: flex;
  align-items: center;
  border-radius: 6px;
  padding-left: 0rem;
  padding-right: 0rem;
  padding-top: 0.5rem;
  padding-bottom: 0.1rem;
  margin-bottom: 0.5rem;
  display: flex;
  transition: 0.5s;
  color: #000;
  margin-left: 0rem;
}

.dashboard-menus:hover {
  transition: 0.5s;
  color: #888;
  margin-left: 0.1rem;
}

.dashboard-menus.menu-is-active {
  border-radius: 6px;
  display: flex;
}

.dashboard-submenus {
  border-radius: 6px;
  padding-left: 2rem;
  padding-right: 1.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  display: flex;
  transition: 0.5s;
  color: #888;
  margin-left: 0rem;
}

.dashboard-submenus:hover {
  border-radius: 6px;
  padding-left: 2rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  display: flex;
  transition: 0.5s;
  color: #000;
  margin-left: 0.1rem;
}

.dashboard-submenus.menu-is-active {
  border-radius: 6px;
  display: flex;
}

/* 🔹 Grid konténer */
/* 🔹 Grid konténer teljes szélességben */
.flex-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    width: calc(100% + 16px); /* Kompenzálja a gap okozta szélességnövekedést */
    margin-left: -0px; /* Korrigálás az egyenletes margókhoz */
    margin-right: -0px;
}


/* 🔹 Alapértelmezett oszlopok – minden sor 12 oszlopos */
.grid-col {
    flex: 1 1 auto;
    min-width: 0;
}

/* 🔹 12 oszlopos rendszer - egyedi osztályok */
.grid-1 { flex: 0 0 calc(8.33% - 16px); max-width: calc(8.33% - 16px); }
.grid-2 { flex: 0 0 calc(16.66% - 16px); max-width: calc(16.66% - 16px); }
.grid-3 { flex: 0 0 calc(25% - 16px); max-width: calc(25% - 16px); }
.grid-4 { flex: 0 0 calc(33.33% - 16px); max-width: calc(33.33% - 16px); }
.grid-5 { flex: 0 0 calc(41.66% - 16px); max-width: calc(41.66% - 16px); }
.grid-6 { flex: 0 0 calc(50% - 16px); max-width: calc(50% - 16px); }
.grid-7 { flex: 0 0 calc(58.33% - 16px); max-width: calc(58.33% - 16px); }
.grid-8 { flex: 0 0 calc(66.66% - 16px); max-width: calc(66.66% - 16px); }
.grid-9 { flex: 0 0 calc(75% - 16px); max-width: calc(75% - 16px); }
.grid-10 { flex: 0 0 calc(83.33% - 16px); max-width: calc(83.33% - 16px); }
.grid-11 { flex: 0 0 calc(91.66% - 16px); max-width: calc(91.66% - 16px); }
.grid-12 { flex: 0 0 calc(100% - 16px); max-width: calc(100% - 16px); }

/* 🔹 Reszponzív osztályok */
/* ✅ Mobilnézet (max 768px) */
@media (max-width: 768px) {
    .mobile-12 { flex: 0 0 calc(100% - 16px); max-width: calc(100% - 16px); }
    .mobile-7 { flex: 0 0 calc(58.33% - 16px); max-width: calc(58.33% - 16px); }
    .mobile-8 { flex: 0 0 calc(66.66% - 16px); max-width: calc(66.66% - 16px); }
    .mobile-6 { flex: 0 0 calc(50% - 16px); max-width: calc(50% - 16px); }
    .mobile-4 { flex: 0 0 calc(33.33% - 16px); max-width: calc(33.33% - 16px); }
    .mobile-3 { flex: 0 0 calc(25% - 16px); max-width: calc(25% - 16px); }
}

/* ✅ Tablet nézet (768px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
    .tablet-12 { flex: 0 0 calc(100% - 16px); max-width: calc(100% - 16px); }
    .tablet-6 { flex: 0 0 calc(50% - 16px); max-width: calc(50% - 16px); }
    .tablet-4 { flex: 0 0 calc(33.33% - 16px); max-width: calc(33.33% - 16px); }
    .tablet-3 { flex: 0 0 calc(25% - 16px); max-width: calc(25% - 16px); }
}

/* 🔹 Alap beállítások */
.custom-radio {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    color: #333;
    margin-bottom: 8px;
}

/* 🔹 Az alapértelmezett rádiógomb elrejtése */
.custom-radio input {
    display: none;
}

/* 🔹 Külső kör */
.radio-mark {
    width: 20px;
    height: 20px;
    border: 2px solid #333;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    position: relative;
    transition: border-color 0.3s ease-in-out;
}

/* 🔹 Animált fekete pont (rejtve alapból) */
.radio-mark::before {
    content: "";
    width: 12px;
    height: 12px;
    background-color: black;
    border-radius: 50%;
    opacity: 0;
    transform: scale(0);
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

/* 🔹 Ha be van jelölve, a kör és a pont animálódik */
.custom-radio input:checked + .radio-mark {
    border-color: black;
}

.custom-radio input:checked + .radio-mark::before {
    opacity: 1;
    transform: scale(1);
}

.add-product-image {
  width: 100%;
  aspect-ratio: 1 / 1; /* Négyzet alak */
  padding: 0rem;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
  border-width: 1px;
  border-style: dashed;
  border-color: #d8d8d8;
  background-color: #f9f9f9;
}

.add-product-image:hover {
  background-color: #ECECEC;
}

#imagePreviewCanvas {
  max-width: 100%;
  max-height: 200px;
  display: block;
  margin: 0 auto;
}

.relative {
    position: relative;
}

.preview-controls {
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    text-align: center;
}

.preview-controls .buttons {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.product-changes {
  width: 449px;
  max-width: 449px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 100;
}

.product-changes-overlay {
  position: fixed; /* Az egész képernyőt lefedje */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.3; /* Halvány fekete háttér */
  z-index: 99;
}

.employee-changes {
  width: 449px;
  max-width: 449px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 100;
}

.employee-changes-overlay {
  position: fixed; /* Az egész képernyőt lefedje */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.3; /* Halvány fekete háttér */
  z-index: 99;
}

.reservation-changes {
  width: 549px;
  max-width: 549px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 100;
}

.reservation-changes-overlay {
  position: fixed; /* Az egész képernyőt lefedje */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.3; /* Halvány fekete háttér */
  z-index: 99;
}


/* 🔹 Alap grid beállítások asztali nézethez */
.all-products-grid {
  display: grid;
  grid-template-columns: 40px 239px 120px 60px 200px 100px 50px auto;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #ECECEC;
}

/* 🔹 Általános oszlopformázás */
.all-product-item {
  display: flex;
}

/* 🔹 Kép oszlop */
.all-product-item-1 {
  display: flex;
}

/* 🔹 Terméknév (balra igazítva) */
.all-product-item-2 {
  display: flex;
}

.all-product-item-2-title {
  white-space: nowrap; /* 🔹 Ne törje meg a sort */
  overflow: hidden; /* 🔹 Levágja a túlfutó tartalmat */
  text-overflow: ellipsis; /* 🔹 „…” hozzáadása */
  width: 369px;
  max-width: 369px;
}

/* 🔹 Lejárati dátum */
.all-product-item-3 {
  display: flex;
}

/* 🔹 Ár */
.all-product-item-4 {
  display: flex;
}

/* 🔹 Kategória */
.all-product-item-5 {
  display: flex;
}

/* 🔹 Láthatóság */
.all-product-item-6 {
  display: flex;
}

.all-product-item-6 {
  display: flex;
}

/* 🔹 Készlet */
.all-product-item-7 {
  display: flex;
}

.all-products-image {
  width: 30px;
  height: 30px;
}

/* 🔹 Műveletek (jobbra igazítva) */
.all-product-item-8 {
  display: flex;
  justify-content: flex-end;
}

@media screen and (max-width: 768px) {

  .all-products-grid {
    display: grid;
    grid-template-columns: 50px auto; /* 📌 Kép 50px, a többi auto */
    grid-template-rows: auto auto auto; /* 📌 Három sor: (1) Kép + Név, (2) Lejárat + Láthatóság, (3) Műveletek */
    gap: 10px;
    border-bottom: 1px solid #ECECEC;
    align-items: center;
  }

  /* 🔹 Kép oszlop (50px széles) */
  .all-product-item-1 {
    grid-column: 1 / span 1; /* 📌 Első oszlop */
    grid-row: 1 / span 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* 🔹 Terméknév (auto szélesség) */
  .all-product-item-2 {
    grid-column: 2 / span 1; /* 📌 Második oszlop */
    grid-row: 1 / span 1;
    display: flex;
    align-items: center;
    font-weight: bold;
  }

  .all-product-item-2-title {
    white-space: nowrap; /* 🔹 Ne törje meg a sort */
    overflow: hidden; /* 🔹 Levágja a túlfutó tartalmat */
    text-overflow: ellipsis; /* 🔹 „…” hozzáadása */
    width: 189px;
    max-width: 189px;
  }


  /* 🔹 Lejárati dátum és láthatóság egy sorban (két oszlopban) */
  .all-product-item-3 {
    grid-column: 1 / span 1; /* 📌 Balra, első oszlop */
    grid-row: 2 / span 1;
    display: flex;
    align-items: center;
    width: 150px;
  }

  .all-product-item-6 {
    grid-column: 2 / span 1; /* 📌 Jobbra, második oszlop */
    grid-row: 2 / span 1;
    display: flex;
    align-items: center;
    justify-content: flex-end; /* 📌 Jobbra igazítva */
  }

  /* 🔹 Az alábbi oszlopok rejtve lesznek mobilon */
  .all-product-item-4, /* Ár */
  .all-product-item-5, /* Kategória */
  .all-product-item-7 { /* Készlet */
    display: none;
  }

  /* 🔹 Műveletek oszlop teljes szélességben az alján */
  .all-product-item-8 {
    grid-column: 1 / span 2; /* 📌 Teljes szélesség */
    grid-row: 3 / span 1;
    display: flex;
    justify-content: flex-start;
  }

  /* 🔹 Kép mérete mobilon */
  .all-products-image {
    width: 50px;
    height: 50px;
  }

}

/* 🔹 Alap grid beállítások asztali nézethez */
.inactive-products-grid {
  display: grid;
  grid-template-columns: 40px 289px 140px 250px auto;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #ECECEC;
}

/* 🔹 Általános oszlopformázás */
.inactive-product-item {
  display: flex;
}

/* 🔹 Terméknév oszlop (balra igazítva) */
.inactive-product-item-2 {
  display: flex;
}

.inactive-product-item-2-title {
  white-space: nowrap; /* 🔹 Ne törje meg a sort */
  overflow: hidden; /* 🔹 Levágja a túlfutó tartalmat */
  text-overflow: ellipsis; /* 🔹 „…” hozzáadása */
  width: 289px;
  max-width: 289px;
}

/* 🔹 Utoljára aktív */
.inactive-product-item-3 {
  display: flex;
}

/* 🔹 Kategória */
.inactive-product-item-5 {
  display: flex;
}

/* 🔹 Műveletek (jobbra igazítva) */
.inactive-product-item-8 {
  display: flex;
  justify-content: flex-end;
}

/* 🔹 Kép méret */
.inactive-products-image {
  width: 30px;
  height: 30px;
}

/* 🔹 Mobil verzió */
@media screen and (max-width: 768px) {

  .inactive-products-grid {
    display: grid;
    grid-template-columns: 50px auto; /* 📌 Kép 50px, a többi auto */
    grid-template-rows: auto auto; /* 📌 Két sor: (1) Kép + Név, (2) Utoljára aktív + Műveletek */
    gap: 10px;
    border-bottom: 1px solid #ECECEC;
    align-items: center;
  }

  /* 🔹 Kép oszlop (50px széles) */
  .inactive-product-item-1 {
    grid-column: 1 / span 1; /* 📌 Első oszlop */
    grid-row: 1 / span 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* 🔹 Terméknév (auto szélesség) */
  .inactive-product-item-2 {
    grid-column: 2 / span 1; /* 📌 Második oszlop */
    grid-row: 1 / span 1;
    display: flex;
    align-items: center;
    font-weight: bold;
  }

  .inactive-product-item-2-title {
    white-space: nowrap; /* 🔹 Ne törje meg a sort */
    overflow: hidden; /* 🔹 Levágja a túlfutó tartalmat */
    text-overflow: ellipsis; /* 🔹 „…” hozzáadása */
    width: 189px;
    max-width: 189px;
  }

  /* 🔹 Utoljára aktív */
  .inactive-product-item-3 {
    grid-column: 1 / span 1; /* 📌 Balra, első oszlop */
    grid-row: 2 / span 1;
    display: flex;
    align-items: center;
    width: 150px;
  }

  /* 🔹 Az alábbi oszlopokat elrejtjük mobilon */
  .inactive-product-item-5 { /* Kategória */
    display: none;
  }

  /* 🔹 Műveletek oszlop teljes szélességben az alján */
  .inactive-product-item-8 {
    grid-column: 1 / span 2; /* 📌 Teljes szélesség */
    grid-row: 2 / span 1;
    display: flex;
    justify-content: flex-start;
  }

  /* 🔹 Kép mérete mobilon */
  .inactive-products-image {
    width: 50px;
    height: 50px;
  }

}

/* Messages list container */
.messages-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Egy üzenet tételének stílusa */
.messages-item {
  padding: 0rem 0;
  border-bottom: 1px solid #ECECEC;
}

.messages-item:last-child {
  padding: 0rem 0;
  border-bottom: 0px solid #ECECEC;
}

/* CSS Grid a tétel elemeihez (asztali nézet) */
.messages-grid {
  display: grid;
  grid-template-columns: 60px auto 100px;
  align-items: start; /* Az elemek a tetejére igazodnak */
  gap: 1rem;
  padding: 0rem;
}

/* Bal oszlop: profilkép */
.messages-left {
  width: 55px;
  height: 55px;
}

.messages-left img {
  width: 49px;
  height: 49px;
  border-radius: 50%;
  object-fit: cover;
}

/* Ha nincs profilkép, megjelenítjük a felhasználónév első betűjét */
.messages-placeholder {
  width: 49px;
  height: 49px;
  border-radius: 50%;
  background: #f9f9f9;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: bold;
}

/* Középső oszlop: felhasználói adatok */
.messages-middle {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.messages-username {
  font-size: 1rem;
  font-weight: bold;
  margin: 0;
}

.messages-last-message {
  font-size: 0.9rem;
  color: #666;
  margin: 0;
}

.messages-timestamp {
  font-size: 0.8rem;
  color: #999;
  margin: 0;
}

.messages-unread {
  font-size: 0.8rem;
  font-weight: bold;
  color: #fff;
  background: #d9534f;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  align-self: flex-start;
}

.messages-no-new {
  background: #ECECEC;
  color: #666;
}

/* Jobb oszlop: gomb */
.messages-right {
  text-align: right;
}

.messages-open-btn {
  width: 100px;
}

/* Mobil nézet: rejtjük a jobb oszlopot és csökkentjük az oszlopok méretét */
@media (max-width: 768px) {
  .messages-grid {
    display: grid;
    grid-template-columns: 40px auto;
    align-items: start;
    gap: 1rem;
    padding: 0rem;
  }

  .messages-left {
    width: 40px;
    height: 40px;
  }

  .messages-left img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
  }

  .messages-placeholder {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ccc;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: bold;
  }

  .messages-right {
    display: none;
  }
}

/* Desktop nézet */
.reservation-grid {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.reservation-row {
    display: grid;
    grid-template-columns: 179px 279px 140px 130px 219px auto;
    align-items: center;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #ECECEC;
}

.reservation-header {
    background-color: #f5f5f5;
    font-weight: bold;
}

.reservation-col {
  display: block;
}

.reservation-col-title {
  white-space: nowrap; /* 🔹 Ne törje meg a sort */
  overflow: hidden; /* 🔹 Levágja a túlfutó tartalmat */
  text-overflow: ellipsis; /* 🔹 „…” hozzáadása */
  width: 269px;
  max-width: 269px;
}

.reservation-btn-manage {

}

.reservation-col-action {
  display: flex;
  justify-content: flex-end;
}

/* Mobil nézet: minden oszlop full szélességű, egymás alatt */
@media (max-width: 768px) {
    .reservation-row {
        grid-template-columns: 1fr;
        margin-bottom: 1rem;
    }
    .reservation-header {
        display: none;
    }
    .reservation-col {
        display: block;
        margin-bottom: 0.5rem;
    }
    .reservation-col-title {
      white-space: nowrap; /* 🔹 Ne törje meg a sort */
      overflow: hidden; /* 🔹 Levágja a túlfutó tartalmat */
      text-overflow: ellipsis; /* 🔹 „…” hozzáadása */
      width: 189px;
      max-width: 189px;
    }
    .reservation-btn-manage {
        width: 100%;
    }
    .reservation-col-action {
      display: block;
    }
}


/* Desktop nézet */
.banned-users-grid {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.banned-users-row {
    display: grid;
    grid-template-columns: 179px 279px 280px 140px auto;
    align-items: center;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #ECECEC;
}

.banned-users-header {
    background-color: #f5f5f5;
    font-weight: bold;
}

.banned-users-col {
  display: block;
}

.banned-users-col-title {
  white-space: nowrap; /* 🔹 Ne törje meg a sort */
  overflow: hidden; /* 🔹 Levágja a túlfutó tartalmat */
  text-overflow: ellipsis; /* 🔹 „…” hozzáadása */
  width: 269px;
  max-width: 269px;
}

.banned-users-col-action {
  display: flex;
  justify-content: flex-end;
}

/* Mobil nézet: minden oszlop full szélességű, egymás alatt */
@media (max-width: 768px) {
    .banned-users-row {
        grid-template-columns: 1fr;
        margin-bottom: 1rem;
    }
    .banned-users-header {
        display: none;
    }
    .banned-users-col {
        display: block;
        margin-bottom: 0.5rem;
    }
    .banned-users-col-title {
      white-space: nowrap; /* 🔹 Ne törje meg a sort */
      overflow: hidden; /* 🔹 Levágja a túlfutó tartalmat */
      text-overflow: ellipsis; /* 🔹 „…” hozzáadása */
      width: 189px;
      max-width: 189px;
    }
    .banned-users-btn-manage {
        width: 100%;
    }
    .banned-users-col-action {
      display: block;
    }
}

.store-modal {
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, background-color 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

/* 🔹 Megjelenítés fade-in */
.store-modal.show {
    opacity: 1;
    visibility: visible;
    background-color: rgba(0, 0, 0, 0.4);
}

/* 🔹 Bezárás fade-out */
.store-modal.hide {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0);
    visibility: hidden;
}

.store-modal-content {
    background: white;
    width: 549px;
    max-width: 90%;
    max-height: 90vh; /* Maximum 90% of viewport height */
    overflow-y: auto; /* Vertikális scrollozás, ha szükséges */
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    transform: translateY(-20px);
    transition: transform 0.3s ease-in-out;
}

.notification-badge {
  position: absolute;
  right: -3px;
  top: -4px;
  background-color: red;
  border-radius: 50%;
  width:14px;
  height:14px;
  border-color: #fff;
  border-width: 2px;
  border-style: solid;
}

.menu-icon-hover {
  opacity: 1;
}

.menu-icon-hover:hover {
  opacity: 0.7;
}


.store-is-unread {
  background-color: #FFD7CC;
  font-weight: bold;
}

.store-notification-item {
  padding: 0rem;
  border-radius: 8px;
  font-family: normal;
  margin-bottom: 0.5rem;
}

.store-notification-item:last-child {
  font-family: normal;
  margin-bottom: 0.0rem;
}

.is-opacty-50 {
  opacity: 0.5;
}

.is-opacty-30 {
  opacity: 0.3;
}

.store-edit-collapsible {
  margin-bottom: 1rem;
  border-radius: 8px;
  overflow: hidden;
}

.store-edit-collapsible-header {
  background-color: #F5EB29; 
  margin-bottom: 1rem;
  padding: 0.5rem 1rem;
  cursor: pointer;
  font-weight: bold;
  border-radius: 9px;
}

.store-edit-collapsible-content {
  overflow: hidden;
  height: 0;
  transition: height 0.3s ease;
  padding: 0rem; /* Választható: belső margó, ha szükséges */
  border: 0px;
  border-radius: 0px;
}

@media (max-width: 768px) {
  .store-edit-collapsible {
    overflow: hidden;
    border: 0px;
    border-radius: 0px;
  }

  .store-edit-collapsible-header {
    background-color: #93F3EB;
    border-radius: 0px;

  }
}

.employee-row {
    display: grid;
    grid-gap: 10px;
    align-items: center;
    padding: 0px;
    border-bottom: 1px solid #ECECEC;
}

/* Desktop: egy sorban az oszlopok a megadott szélességekkel */
@media (min-width: 768px) {
    .employee-row {
        grid-template-columns: 150px 250px 270px 180px auto;
    }
}

/* Mobil: átrendezés, grid template-areas használatával */
@media (max-width: 767px) {
    .employee-row {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "name status"
            "identifier identifier"
            "last_login last_login"
            "operations operations";
    }
    .employee-cell.name {
        grid-area: name;
    }
    .employee-cell.status {
        grid-area: status;
        display: flex;
        justify-content: flex-end;
    }
    .employee-cell.identifier {
        grid-area: identifier;
    }
    .employee-cell.last-login {
        grid-area: last_login;
    }
    .employee-cell.operations {
        grid-area: operations;
    }
}

.employee-hours-grid {
  display: grid;
  grid-row-gap: 10px;
}

.employee-hours-row {
  display: grid;
  grid-template-columns: 40px 150px 200px 200px;
  grid-gap: 10px;
  align-items: center;
  padding: 10px;
  border-bottom: 0px solid #ECECEC;
}

/* A wrapper alapértelmezetten nem zavarja a grid elrendezést */
.employee-hours-time-wrapper {
  display: contents;
}

/* Mobil nézet */
@media (max-width: 767px) {
  .employee-hours-row {
    grid-template-columns: 40px 1fr;
    grid-template-rows: auto auto;
    grid-template-areas:
      "employee-hours-checkbox employee-hours-day"
      "employee-hours-time-wrapper employee-hours-time-wrapper";
    grid-gap: 10px;
    padding-bottom: 1rem;
    border-bottom: 1px solid #ECECEC;
  }
  .employee-hours-checkbox { grid-area: employee-hours-checkbox; }
  .employee-hours-day { grid-area: employee-hours-day; }
  .employee-hours-time-wrapper {
    grid-area: employee-hours-time-wrapper;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 10px;
  }
}

/* 🔹 Alap grid beállítások asztali nézethez */
.reservation-users-grid {
  display: grid;
  grid-template-columns: 200px 120px 499px 220px auto; /* Név, Státusz, Comment, Confirmed_at, Gomb */
  align-items: center;
  border-bottom: 1px solid #ECECEC;
}

.reservation-users-grid:last-child {
  border-bottom: 0px solid #ECECEC;
}


/* 🔹 Általános oszlopformázás */
.reservation-users-item {
  display: flex;
  align-items: center;
}

/* 🔹 Fejléc */
.reservation-users-header {
  display: block;
}

.reservation-users-item-5 {
  justify-content: flex-end;
}

/* 🔹 Mobil nézet */
@media screen and (max-width: 768px) {
  .reservation-users-grid {
    display: grid;
    grid-template-columns: 60% 40%; /* Név 60%, Státusz 40% */
    grid-template-rows: auto auto auto auto; /* 4 sor: Név+Státusz, Comment, Confirmed_at, Gomb */
    border-bottom: 1px solid #ECECEC;
  }

  /* 🔹 Név */
  .reservation-users-item-1 {
    grid-column: 1 / span 1; /* Első oszlop */
    grid-row: 1 / span 1; /* Első sor */
    display: flex;
    align-items: center;
  }

  /* 🔹 Státusz */
  .reservation-users-item-2 {
    grid-column: 2 / span 1; /* Második oszlop */
    grid-row: 1 / span 1; /* Első sor */
    display: flex;
    align-items: center;
    justify-content: flex-end; /* Jobbra igazítás */
  }

  /* 🔹 Comment */
  .reservation-users-item-3 {
    grid-column: 1 / span 2; /* Teljes szélesség */
    grid-row: 2 / span 1; /* Második sor */
    display: flex;
    align-items: center;
  }

  /* 🔹 Confirmed_at */
  .reservation-users-item-4 {
    grid-column: 1 / span 2; /* Teljes szélesség */
    grid-row: 3 / span 1; /* Harmadik sor */
    display: flex;
    align-items: center;
  }

  /* 🔹 Kezel gomb */
  .reservation-users-item-5 {
    grid-column: 1 / span 2; /* Teljes szélesség */
    grid-row: 4 / span 1; /* Negyedik sor */
    display: flex;
    justify-content: flex-start;
  }

  /* 🔹 Fejléc elrejtése mobilon */
  .reservation-users-header {
    display: none;
  }
}

.wholesale-partners-grid {
  display: grid;
  grid-template-columns: 150px 300px 200px 120px auto;
  align-items: center;
  gap: 0px;
  border-bottom: 1px solid #ECECEC;
}

/* 🔹 Általános oszlopformázás */
.wholesale-partner-item {
  display: flex;
  padding: 0px;
}

/* 🔹 Fejléc stílus */
.wholesale-partner-header {
  font-weight: bold;
}

/* 🔹 Cégnév oszlop (balra igazítva, szövegvágás) */
.wholesale-partner-company {
  display: flex;
}

.wholesale-partner-company-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 300px;
  max-width: 300px;
}

/* 🔹 Státusz oszlop */
.wholesale-partner-status {
  display: flex;
}

/* 🔹 Műveletek oszlop (jobbra igazítva) */
.wholesale-partner-action {
  display: flex;
  justify-content: flex-end;
}

/* 🔹 Mobil verzió */
@media screen and (max-width: 768px) {
  .wholesale-partners-grid {
    display: grid;
    grid-template-columns: 150px auto;
    grid-template-rows: auto auto auto auto;
    gap: 5px;
    border-bottom: 1px solid #ECECEC;
    align-items: center;
  }

  /* 🔹 Felhasználónév (első oszlop, első sor) */
  .wholesale-partner-username {
    grid-column: 1 / span 1;
    grid-row: 1 / span 1;
    display: flex;
    align-items: center;
    font-weight: bold;
  }

  /* 🔹 Státusz (második oszlop, első sor, jobbra igazítva) */
  .wholesale-partner-status {
    grid-column: 2 / span 1;
    grid-row: 1 / span 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }

  /* 🔹 Adószám (teljes szélesség, második sor) */
  .wholesale-partner-tax {
    grid-column: 1 / span 2;
    grid-row: 2 / span 1;
    display: flex;
    align-items: center;
  }

  /* 🔹 Cégnév (teljes szélesség, harmadik sor) */
  .wholesale-partner-company {
    grid-column: 1 / span 2;
    grid-row: 3 / span 1;
    display: flex;
    align-items: center;
  }

  .wholesale-partner-company-title {
    width: 100%;
    max-width: 100%;
  }

  /* 🔹 Műveletek (teljes szélesség, negyedik sor) */
  .wholesale-partner-action {
    grid-column: 1 / span 2;
    grid-row: 4 / span 1;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
}

/* Tömeges foglalások grid desktop nézet */
.mass-reservation-grid {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.mass-reservation-row {
    display: grid;
    grid-template-columns: 160px 300px 200px 150px 100px auto;
    align-items: center;
    border-bottom: 1px solid #ECECEC;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0.8rem;
    padding-bottom: 1rem;
}

.mass-reservation-header {
    background-color: #f5f5f5;
    font-weight: bold;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.mass-reservation-col-title {
    display: flex;
    align-items: center;
}

.mass-reservation-col-action {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

/* Mobil nézet */
@media (max-width: 768px) {
    .mass-reservation-grid {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .mass-reservation-row {
        grid-template-columns: 1fr;
        margin-bottom: 0rem;
        border-bottom: 1px solid #ECECEC;
        padding: 1.5rem;
        background: #fff;
    }
    .mass-reservation-header {
        display: none;
    }
    .mass-reservation-col-title {
        max-width: 100%;
        width: 100%;
    }
    .mass-reservation-col-action {
        justify-content: center;
        margin-top: 0.75rem;
    }
}

.mass-reservation-items-grid {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.mass-reservation-item-row {
    display: grid;
    grid-template-columns: 3fr 2fr 1fr auto;
    align-items: center;
    border-bottom: 0px solid #ECECEC;
    padding: 1rem;
    background: #fafafa;
    border-radius: 8px;
}

.mass-reservation-item-col {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mass-reservation-item-action {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
}

@media (max-width: 768px) {
    .mass-reservation-item-row {
        grid-template-columns: 1fr;
        gap: 0.5rem;
        background: #ffffff;
        padding: 0;
        border-bottom: 1px solid #ECECEC;

    }
    .mass-reservation-item-action {
        justify-content: flex-start;
        padding-bottom: 1rem;
    }
}

.reservation-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 2rem;
  grid-template-areas:
    "first second"
    "third third";
}

.rw-first-column { grid-area: first; }
.rw-second-column { grid-area: second; }
.rw-third-column { grid-area: third; }

@media (max-width: 768px) {
  .reservation-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "third"
      "first"
      "second";
  }
}

.bb4-wysiwyg-editor {
  /* kinézet */
  min-height: 140px;         /* alap magasság */
  max-height: 260px;         /* ennél hosszabb szöveg már scrollozik */
  overflow-y: auto;          /* ne folyjon ki, hanem görgessen */
  outline: none;

  /* tördelés */
  white-space: pre-wrap;     /* sortörések, több space is látszik */
  word-wrap: break-word;
  word-break: break-word;    /* nagyon hosszú szavakat is tördje */

  /* biztos ami biztos, ha a Bulma .textarea mást kényszerít rá */
  height: auto;
}

.bb4-editor-toolbar .button + .button {
  margin-left: 0.25rem;
}

.bb4-wysiwyg-editor ul,
.bb4-wysiwyg-editor ol {
  margin-left: 1.5rem;
  list-style: disc;
}

.bb4-wysiwyg-editor ol {
  list-style: decimal;
}

/* A teljes képernyős befoglaló */
.stores-login-warp {
  width: 100%;
  height: 100vh;
  position: relative; /* Ez kell, hogy a sarkokban lévő elemek ehhez képest igazodjanak */
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff; /* Csak a láthatóság kedvéért */
}

/* A középső form konténer - NINCS absolute, a flex intézi a közepelést */
.stores-login-cnt {
  width: 100%;
  max-width: 469px; /* Érdemes adni neki egy szélességet */
  padding: 2rem;
  z-index: 10; /* Hogy biztosan a sarkok felett legyen, ha átfednének */
}

/* Közös stílus a sarok-elemeknek */
.stores-login-top-left,
.stores-login-top-right,
.stores-login-bottom-right {
  position: absolute;
}

.stores-login-top-left {
  top: 1.5rem;
  left: 1.5rem;
}

.stores-login-top-right {
  top: 1.5rem;
  right: 1.5rem;
}

/* Az új, jobb alsó konténer */
.stores-login-bottom-right {
  bottom: 1.5rem;
  right: 1.5rem;
}

.navbar-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-end; /* Mindent jobbra tol */
  width: 50%;
  gap: 12px; /* Egyenlő távolság az elemek között */
  padding: 10px;
}

.navbar-text-cnt {
  font-size: 14px;
  color: #333;
  white-space: nowrap; /* Nem törik meg a név */
  font-weight: 500;
}

.navbar-img-cnt, 
.navbar-icon-cnt {
  width: 40px;
  height: 40px;
  border-radius: 50%; /* Tökéletes kör */
  flex-shrink: 0; /* Nem engedi ellapulni a köröket */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden; /* Mindent levág, ami kilóg a körből */
}

.navbar-img-cnt {
  border: 1px solid #eee;
}

/* Ez a rész felel azért, hogy a kép ne legyen óriási */
.navbar-img-cnt img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Kitölti a kört torzítás nélkül */
  object-position: center;
}

.navbar-icon-cnt {
  background-color: #f5f5f5;
  cursor: pointer;
}