/* ========================================
   АДАПТИВНЫЕ СТИЛИ (MEDIA QUERIES)
   ======================================== */

/* Планшеты и мобильные (до 768px) */
@media (max-width: 768px) {
  body {
    flex-direction: column;
  }

  /* Показываем кнопку меню */
  .mobile-menu-btn {
    display: flex;
  }

  /* Сайдбар — выезжающий слева drawer: закреплён к левому краю,
     на всю высоту экрана, без отступов и скруглений (не «висит в воздухе»). */
  .sidebar {
    left: 0;
    right: auto;
    top: 0;
    bottom: 0;
    width: 280px;
    max-width: 85vw;
    transform: translateX(-100%);
    border-radius: 0;
    box-shadow: 4px 0 20px var(--shadow-md, rgba(0,0,0,0.2));
    z-index: 999;
    transition: transform 0.3s ease;
  }

  .sidebar.mobile-open {
    transform: translateX(0);
  }

  .sidebar-header {
    border-radius: 0;
  }

  /* Основной контент на всю ширину */
  .main-content {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 12px;
  }

  /* Шапка на мобильных */
  .page-header {
    margin: 0 0 12px 0;
    border-radius: 8px;
    padding: 12px 16px;
    min-height: 56px;
    box-sizing: border-box;
  }

  .page-header h1 {
    font-size: 18px;
    flex: 1;
  }

  /* Дашборд */
  .dashboard {
    padding: 12px;
  }

  .dashboard-btn {
    font-size: 15px;
    padding: 14px 16px;
  }
}

/* Маленькие мобильные (до 480px) */
@media (max-width: 480px) {
  .main-content {
    padding: 8px;
  }

  .page-header {
    flex-direction: row;
    align-items: center;
    gap: 12px;
    margin: 0 0 8px 0;
    padding: 8px 12px;
  }

  .mobile-menu-btn {
    width: 48px;
    height: 48px;
  }

  /* Drawer остаётся прикреплённым к краю на всю высоту */
  .sidebar {
    left: 0;
    right: auto;
    top: 0;
    bottom: 0;
    width: 260px;
  }

  /* Выпадайка уведомлений не выходит за пределы экрана */
  .notif-dropdown {
    width: min(360px, calc(100vw - 24px));
    max-height: 60vh;
  }

  .user-info {
    display: none;
  }
}
