@media (max-width: 1100px) {
  .catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .planner-layout { grid-template-columns: minmax(190px, .7fr) minmax(0, 1.6fr); }
  .unassigned-panel { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); }
  .organization-create-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  body { font-size: 16px; }
  .topbar { position: static; align-items: flex-start; flex-wrap: wrap; padding: 12px 16px; }
  .brand { flex: 1 1 auto; }
  .context {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    flex: 0 0 100%;
    order: 3;
    overflow: visible;
  }
  .context label { min-width: 0; }
  .context select { min-width: 0; width: 100%; }
  .account { max-width: 48%; }
  .account span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  main { padding: 16px 10px 96px; }
  .steps { display: flex; overflow-x: auto; scroll-snap-type: x proximity; }
  .steps button { flex: 0 0 160px; scroll-snap-align: start; }
  .panel, .admin-panel, .organization-panel { padding: 20px 14px; border-radius: 18px; }
  .panel-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  h1 { font-size: clamp(1.8rem, 9vw, 2.5rem); }
  .source-layout,
  .catalog-toolbar,
  .planner-layout,
  .organization-create-form,
  .organization-resume-form { grid-template-columns: minmax(0, 1fr); }
  .source-secondary { border-left: 0; border-top: 1px solid var(--line); }
  .catalog-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .table-wrap { overflow-x: auto; }
  .table-wrap table { min-width: 720px; }
  .course-sidebar,
  .unassigned-panel { border-left: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .course-sidebar { max-height: 280px; overflow-y: auto; }
  .planner-item { grid-template-columns: minmax(0, 1fr); }
  .lesson-card header { grid-template-columns: minmax(0, 1fr) auto auto; }
  .lesson-card header > span { grid-column: 1 / -1; }
  .setup-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  button,
  input,
  select,
  textarea,
  .icon-button { min-height: 44px; }
  .icon-button { min-width: 44px; }
  dialog { width: calc(100% - 20px); max-height: calc(100dvh - 20px); }
  dialog::backdrop { backdrop-filter: blur(2px); }
  .actions { align-items: stretch; }
  .review-list, .review-card, .review-card header > *, .qa-summary { min-width: 0; }
  .review-card header, .review-card footer { flex-wrap: wrap; }
  .review-card h3, .review-card p, .qa-summary { overflow-wrap: anywhere; }
  .review-card footer button { flex: 1 1 140px; }
}

@media (max-width: 480px) {
  .catalog-grid { grid-template-columns: minmax(0, 1fr); }
  .context { grid-template-columns: minmax(0, 1fr); }
  .trainer-type-catalog, .trainer-builder, .release-gates { grid-template-columns: minmax(0, 1fr); }
  .version-row { grid-template-columns: auto minmax(0, 1fr); }
  .version-row > :last-child { grid-column: 2; }
  .account { max-width: 100%; }
  .catalog-summary,
  .setup-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .item-photo { aspect-ratio: 16 / 9; }
  .inline-input { grid-template-columns: minmax(0, 1fr); }
  .inline-input button { width: 100%; }
  .view-switch { width: 100%; }
  .view-switch button { flex: 1; }
}
