/* PBM universal responsive layer */
html { -webkit-text-size-adjust: 100%; }
body { min-width: 0; overflow-x: hidden; }
img, video, canvas { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; max-width: 100%; }
.mobile-back-btn { position: sticky; top: 8px; z-index: 1200; margin: 8px; padding: 10px 16px; border: 0; border-radius: 10px; background:#0f172a; color:#fff; font-weight:700; cursor:pointer; box-shadow:0 6px 18px rgba(0,0,0,.18); }
.table-scroll, .recent-bookings, .container { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.customer-booking-switcher { margin-top:16px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.customer-booking-switcher select { min-width:220px; padding:10px; border-radius:10px; border:1px solid #bfdbfe; }
@media (max-width: 768px) {
  body { padding:0 !important; }
  .dashboard { display:block !important; min-height:100dvh; }
  .sidebar { width:100% !important; padding:12px !important; }
  .sidebar .logo { margin-bottom:10px !important; }
  .sidebar-logo { width:64px !important; height:64px !important; }
  .menu { display:flex; overflow-x:auto; gap:6px; padding-bottom:6px; }
  .menu li { margin:0 !important; flex:0 0 auto; }
  .menu li a { padding:10px 12px !important; white-space:nowrap; }
  .main-content { padding:12px !important; width:100% !important; }
  .navbar { padding:14px !important; align-items:stretch !important; }
  .navbar-right { width:100%; flex-direction:column; gap:10px !important; }
  #searchBox { width:100% !important; }
  .cards { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
  .card { padding:16px !important; }
  .card h2 { font-size:26px !important; }
  .recent-bookings { padding:12px !important; }
  table { min-width:720px; }
  .popup { align-items:flex-end !important; padding:0 !important; }
  .popup-box { width:100% !important; max-height:92dvh !important; border-radius:18px 18px 0 0 !important; padding:18px !important; }
  .popup-buttons { position:sticky; bottom:0; background:#fff; padding-top:10px; }
  .customer-section { padding:8px !important; }
  .customer-welcome { padding:20px !important; }
  .customer-details-grid { grid-template-columns:1fr !important; gap:12px !important; }
  .customer-card { padding:18px !important; }
  .container { border-radius:0 !important; padding:12px !important; }
  #searchAlbum { width:100% !important; }
}
@media (max-width: 420px) {
  .cards { grid-template-columns:1fr !important; }
  .section-header { align-items:stretch !important; flex-direction:column; gap:10px; }
}
