.admin-main{margin:0 auto;align-self:start;min-width:0}#overview-calendar{display:block!important}.overview-week{margin:1.2rem 0}.overview-week>h3{margin-bottom:.7rem}.overview-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.overview-rules{display:grid;gap:4px;margin:.5rem 0}.overview-rules span{display:block;padding:.3rem .4rem;border-left:4px solid #8a9b90;background:#f4f8f4;font-size:.7rem}.day-weekend{background:#f1f2f2}.booking-chip{display:block;width:100%;margin-top:4px;padding:.35rem;border:1px solid var(--brand-red);border-radius:6px;background:#fff5f7;color:var(--ink);font-size:.7rem;text-align:left;cursor:pointer}.booking-chip:hover{background:var(--brand-soft)}@media(max-width:900px){.overview-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.overview-week-grid{grid-template-columns:1fr}}
.overview-week-grid .day-editor{border-width:3px}
.mobile-menu-toggle { display: none; }

/* Tableten is egyetlen, teljes szélességű hónapnaptár látszik. */
@media (min-width: 701px) and (max-width: 1100px) {
  #month-calendar { display: block; width: 100%; }
  #month-calendar > .month-panel { width: 100%; }
  #month-calendar > .month-panel:nth-child(n+2) { display: none; }
  #month-calendar > .month-panel > h3 { display: none; }
  #month-calendar .month-single { display: grid; width: 100%; grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .month-toolbar { justify-content: center; }
  .month-toolbar .month-controls { justify-content: center; }
  .admin-main #week-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
}

@media (max-width: 1200px) {
  .admin-app { display: block; min-height: 100vh; }
  .mobile-menu-toggle { display: grid !important; position: absolute; z-index: 5; top: .85rem; right: .85rem; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 9px; background: var(--brand-red); color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; }
  .admin-sidebar { position: relative; z-index: 40; min-height: 68px; height: 68px; padding: .65rem 1rem; display: flex; flex-direction: row; align-items: center; background: var(--brand-dark); }
  .admin-sidebar .brand { display: none; }
  .admin-sidebar.menu-open .brand { display: block; }
  .admin-sidebar .brand { order: 1; }
  .admin-sidebar .brand { width: 180px; height: 54px; margin: 0; background-size: auto 86%; background-position: center; border-radius: 10px; }
  .mobile-menu-toggle { position: static; margin-left: auto; flex: 0 0 40px; }
  .admin-sidebar .mobile-menu-toggle { order: 2; }
  .admin-sidebar nav { display: none; }
  .admin-sidebar.menu-open { height: auto; min-height: 68px; flex-wrap: wrap; }
  .admin-sidebar.menu-open nav { display: grid; order: 3; flex-basis: 100%; }
  .admin-sidebar .sidebar-logout { display: none; }
  .admin-sidebar.menu-open .sidebar-logout { display: block; order: 4; flex-basis: 100%; }
}

/* Mobil admin: a kártyák és táblázatok ne lógjanak ki a keskeny viewportból. */
@media (max-width: 700px) {
  .admin-sidebar { padding: .65rem .75rem; }
  .admin-sidebar { position: relative; z-index: 40; }
  .admin-sidebar .brand { display: none; }
  .admin-sidebar.menu-open .brand { display: block; }
  .mobile-menu-toggle { display: grid; position: static; z-index: 5; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 9px; background: var(--brand-red); color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; }
  .admin-sidebar nav { display: none; }
  .admin-sidebar.menu-open nav { display: grid; }
  .admin-sidebar .sidebar-logout { display: none; }
  .admin-sidebar.menu-open .sidebar-logout { display: block; }
  .admin-sidebar .brand { width: 180px; height: 54px; margin: 0; border-radius: 10px; background-size: auto 86%; }
  .admin-sidebar nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem; margin: .8rem 0; }
  .admin-sidebar nav a, .sidebar-logout { padding: .6rem .55rem; font-size: .82rem; }
  .sidebar-logout { margin-top: .5rem; }
  .admin-main { width: 100%; max-width: 100%; padding: 1rem .75rem 2rem; overflow: hidden; }
  .admin-main header { gap: .8rem; margin-bottom: 1rem; }
  .admin-main header > * { min-width: 0; }
  .admin-main h1 { font-size: 1.55rem; }
  .admin-main h2 { font-size: 1.2rem; }
  .admin-section { padding: 1.1rem 0; }
  .stats, .stats-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
  .stats article, .stats-cards article { min-width: 0; padding: .7rem; font-size: .75rem; }
  .stats strong, .stats-cards strong { font-size: 1.45rem; }
  .month-calendar { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .month-panel { min-width: 0; }
  .month-single { gap: 3px; }
  .month-day { min-height: 48px; padding: 4px; font-size: .78rem; border-radius: 6px; }
  .month-day small { font-size: .62rem; line-height: 1.15; }
  .week-grid, .overview-week-grid { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  #overview-calendar { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
  #overview-calendar .overview-week { min-width: 0; margin: .4rem 0; }
  #overview-calendar .overview-week-grid { grid-template-columns: minmax(0, 1fr); }
  #overview-calendar .overview-week > h3 { font-size: .92rem; line-height: 1.2; }
  #overview-calendar + .admin-section { width: 100%; }
  .day-editor { width: 100%; }
  .week-controls, .month-controls { flex-wrap: wrap; }
  .booking-filters { grid-template-columns: minmax(0, 1fr); }
  .booking-filters label:first-child { grid-column: auto; }
  .bookings-table-wrap, .service-table-wrap, .statistics-table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .bookings-table, .service-table, .statistics-table { min-width: 680px; }
  .chart-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .location-editor-row { grid-template-columns: minmax(0, 1fr); }
  .location-editor-row label:first-child, .location-editor-row .remove-location { grid-column: auto; }
  .service-card-main, .service-location-row { grid-template-columns: minmax(0, 1fr); }
  .booking-history-dialog { width: calc(100vw - 1.5rem); max-width: none; padding: 1rem; }
  /* Időpontok: egy havi naptár és két hasábos heti szerkesztő mobilon. */
  .admin-main .month-calendar { display: block; width: 100%; }
  .admin-main .month-calendar .month-panel { width: 100%; }
  #month-calendar > .month-panel:nth-child(n+2) { display: none; }
  #month-calendar > .month-panel > h3 { display: none; }
  .admin-main .month-single { display: grid; width: 100%; grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .admin-main .month-single > small { min-width: 0; overflow: hidden; padding: .15rem 0; font-size: .62rem; line-height: 1; white-space: nowrap; }
  .admin-main .month-day { min-height: 46px; display: flex; flex-direction: column; justify-content: center; }
  .admin-main #week-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
  .admin-main #week-grid .day-editor { min-width: 0; width: 100%; padding: .6rem; }
  .admin-main #week-grid .day-editor > *, .admin-main #week-grid .interval, .admin-main #week-grid .modern-input { max-width: 100%; min-width: 0; }
  .admin-main #week-grid select, .admin-main #week-grid input { width: 100%; max-width: 100%; }
  .admin-main #week-grid .interval { width: 100%; overflow: hidden; }
  .admin-main #week-grid input[type="time"] { appearance: none; -webkit-appearance: none; display: block; width: 100%; box-sizing: border-box; padding-left: .55rem; padding-right: .55rem; }
  .admin-main #week-grid .interval .remove-interval { max-width: 100%; }
  .admin-main .month-toolbar { display: flex; justify-content: center; align-items: center; text-align: center; }
  .admin-main .month-toolbar .month-controls { justify-content: center; margin-top: 0; }
}
