@media (max-width: 980px) {
  .quest-main-grid,
  .quest-step-form {
    grid-template-columns: 1fr;
  }

  .quest-roles-editor {
    grid-template-columns: 1fr;
  }

  .quest-role-row__media-grid {
    grid-template-columns: 1fr;
  }

  .quest-role-modal {
    padding: 12px;
  }

  .quest-role-modal__head,
  .quest-role-modal__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .quest-step-add-bar,
  .quest-step-modal__head {
    flex-direction: column;
    align-items: stretch;
  }

  .quest-step-details__summary,
  .quest-step-details__summary-main,
  .quest-step-details__summary-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .quest-step-modal {
    padding: 12px;
  }

  .control-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .control-spoiler-grid {
    grid-template-columns: 1fr;
  }

  .admin-shell {
    grid-template-columns: 1fr;
  }

  .admin-shell__sidebar {
    position: sticky;
    top: 72px;
    z-index: 20;
    padding: 10px;
  }

  .admin-side-head {
    justify-content: flex-start;
  }

  .admin-side-toggle {
    display: none;
  }

  .admin-side-nav {
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .admin-side-nav a {
    white-space: nowrap;
  }

  .admin-side-subnav {
    margin-top: 10px;
    padding-top: 10px;
  }

  .admin-shell.is-sidebar-collapsed .admin-side-label,
  .admin-shell.is-sidebar-collapsed .admin-side-nav__label {
    opacity: 1;
    width: auto;
    overflow: visible;
    pointer-events: auto;
  }

  .admin-shell.is-sidebar-collapsed .admin-side-nav a {
    justify-content: flex-start;
    padding-inline: 12px;
  }

  .admin-shell.is-sidebar-collapsed .admin-side-head > .admin-side-label,
  .admin-shell.is-sidebar-collapsed .admin-side-subnav .admin-side-label {
    display: block;
  }
}

@media (max-width: 600px) {
  .container {
    width: min(100% - 16px, 720px);
  }

  .control-stats-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-stats-grid {
    grid-template-columns: 1fr;
  }

  .topbar__inner {
    flex-wrap: wrap;
  }

  .admin-topbar {
    align-items: stretch;
  }

  .brand__subtitle {
    display: none;
  }

  .admin-topbar-right {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .admin-game-picker {
    width: 100%;
  }

  .admin-game-picker select {
    min-width: 0;
    width: 100%;
  }

  .topbar__inner--player {
    flex-wrap: nowrap;
  }

  .topbar-status {
    width: 100%;
    justify-content: space-between;
  }

  .player-menu-toggle {
    margin-left: auto;
  }

  .nav {
    width: 100%;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
  }

  .nav a {
    margin-left: 0;
  }

  .page-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .page-head--page .inline-controls,
  .page-head--page .inline-controls .btn {
    width: 100%;
  }

  .page-head--centered-title {
    align-items: center;
  }

  .card {
    padding: 16px;
  }

  .status-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  .eyebrow {
    font-size: 0.78rem;
  }

  .tips-list {
    gap: 8px;
  }

  .choice-card {
    align-items: flex-start;
  }

  .task-stage {
    border-radius: 16px;
    padding: 12px;
  }

  .task-stage__heading {
    grid-template-columns: 1fr auto;
    column-gap: 8px;
    row-gap: 2px;
  }

  .task-stage__reward {
    font-size: 0.88rem;
  }

  .start-brand {
    margin-top: 2px;
  }

  .start-stats-card__grid strong {
    font-size: 1.7rem;
  }

  .table th,
  .table td {
    font-size: 14px;
    padding: 8px;
  }

  .inline-form {
    flex-direction: column;
    align-items: stretch;
  }

  #control-log-filter {
    flex-wrap: wrap;
  }

  #control-log-filter label {
    width: 100%;
  }

  #control-log-filter .control-live-logs,
  #control-log-filter .btn,
  #control-log-filter .control-logs-export-btn {
    width: 100%;
    margin-left: 0;
  }

  .inline-controls {
    flex-direction: column;
  }

  .quest-flag-option {
    align-items: flex-start;
  }

  .progress-workspace {
    grid-template-columns: 1fr;
  }

  .progress-live-feed {
    grid-template-columns: 1fr;
  }

  .admin-section-meta__item--wide {
    grid-column: auto;
  }

  .progress-view-toggle {
    width: 100%;
    justify-content: stretch;
  }

  .progress-workspace-toolbar {
    width: 100%;
    justify-content: flex-start;
  }

  .progress-refresh-btn,
  .progress-realtime-indicator,
  .progress-search-field {
    width: 100%;
  }

  .progress-view-toggle__btn {
    flex: 1 1 0;
    min-width: 0;
  }

  .progress-session-list__head,
  .progress-live-feed__meta,
  .progress-session-list__footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .progress-live-feed__item,
  .progress-session-list__metrics {
    grid-template-columns: 1fr;
  }

  .progress-session-summary__head,
  .progress-session-summary__actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .progress-session-summary__metrics {
    grid-template-columns: 1fr;
  }

  .progress-session-summary__metric--wide {
    grid-column: auto;
  }

  .progress-answer-log__item {
    grid-template-columns: 1fr;
  }

  .progress-live-feed__item {
    grid-template-columns: 1fr;
  }

  .progress-answer-log__actions {
    flex-direction: row;
    justify-content: flex-end;
  }

  .role-picker-modal {
    width: min(96vw, 520px);
    max-height: 84vh;
    padding: 14px;
  }

  .role-picker-modal__actions {
    flex-direction: column;
  }

  .role-picker-modal__actions .btn {
    width: 100%;
  }
}
