.sidebar {
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
}

.chat-folder-tabs {
  align-self: start;
}

.chat-folder-tabs a {
  height: 34px;
  min-height: 34px;
}

@media (max-width: 1180px) and (min-width: 821px) {
  .app-shell { grid-template-columns: clamp(285px, 31vw, 340px) minmax(0, 1fr); }
  .sidebar__topbar { min-height: 64px; }
}

@media (max-width: 820px), (max-height: 540px) and (max-width: 1100px) {
  .app-shell { grid-template-columns: minmax(0, 1fr); }
  .sidebar { grid-column: 1; grid-row: 1; width: 100%; border-right: 0; }
  .conversation { display: none; }
  .sidebar__topbar {
    min-height: 62px;
    padding-top: env(safe-area-inset-top, 0px);
    padding-left: max(10px, env(safe-area-inset-left, 0px));
    padding-right: max(10px, env(safe-area-inset-right, 0px));
  }
  .sidebar__footer {
    padding-bottom: env(safe-area-inset-bottom, 0px);
    padding-left: max(12px, env(safe-area-inset-left, 0px));
    padding-right: max(12px, env(safe-area-inset-right, 0px));
  }
  .search input, .field input { font-size: 16px; }
  .toast { bottom: max(18px, calc(env(safe-area-inset-bottom, 0px) + 10px)); }
}

@media (max-width: 470px) {
  .auth-shell { padding: 16px 10px; }
  .auth-card { padding: 24px 18px; border-radius: 18px; }
  .auth-heading { margin-top: 23px; }
  .search-wrap { padding-inline: 10px; }
  .account-mini__name { max-width: 92px; }
}

@media (max-width: 360px) {
  .brand { gap: 6px; }
  .brand__word { font-size: 14px; letter-spacing: .05em; }
  .brand__mark { width: 27px; height: 27px; }
  .logout-form button { font-size: 0; }
  .logout-form button::after { content: "↪"; font-size: 17px; }
}

@media (max-height: 620px) {
  .sidebar__topbar { min-height: 56px; }
  .search-wrap { padding-top: 8px; padding-bottom: 6px; }
  .search { height: 38px; }
  .sidebar__footer { min-height: 42px; }
}

@media (min-width: 1600px) {
  .app-shell { grid-template-columns: clamp(360px, 23vw, 440px) minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
