.hidden {
  display: none !important;
}

body.presentation-mode {
  background: var(--bg);
}

body.presentation-mode .tool-row,
body.presentation-mode #openFormBtn,
body.presentation-mode .global-action-menu,
body.presentation-mode .section-header .topbar-actions,
body.presentation-mode .event-actions,
body.presentation-mode .table-actions,
body.presentation-mode .small-button,
body.presentation-mode .family-detail-header .secondary-button,
body.presentation-mode #adminPanel {
  display: none !important;
}

body.presentation-mode .section-panel {
  box-shadow: none;
  background: rgba(255, 255, 255, 0.78);
}

body.presentation-mode .topbar h1 {
  font-size: 32px;
}

.presentation-exit-button[hidden] {
  display: none;
}

body.presentation-mode .presentation-exit-button {
  display: inline-flex;
  align-items: center;
}

@media (max-width: 1100px) {
  .batch-comparison-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ps-inbox-kpis,
  .opportunity-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .app-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
    height: auto;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    overflow: visible;
  }

  .nav {
    display: flex;
    flex: 1 1 420px;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .nav-section {
    display: flex;
    flex: 0 0 auto;
    gap: 4px;
  }

  .nav-section-label {
    display: none;
  }

  .nav-item {
    width: auto;
    white-space: nowrap;
    min-height: 36px;
  }

  .sidebar-card {
    margin: 0;
  }

  .stats-grid,
  .decision-grid,
  .task-board,
  .region-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .family-workbench,
  .onboarding-panel,
  .results-layout {
    grid-template-columns: 1fr;
  }

  .focus-card-grid,
  .family-command-grid,
  .onboarding-steps,
  .results-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .library-layout {
    grid-template-columns: 1fr;
  }

  .family-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .xbox-rule-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .platform-command-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .xbox-layout {
    grid-template-columns: 1fr;
  }

  .admin-layout {
    grid-template-columns: 1fr;
  }

  .platform-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-grid {
    grid-template-columns: 1fr;
  }

  .release-year-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portfolio-scale {
    grid-template-columns: 1fr repeat(4, minmax(120px, 1fr));
    min-width: 760px;
  }

  .portfolio-lanes {
    min-width: 760px;
  }

  .portfolio-lane,
  .portfolio-lane.event-lane {
    grid-template-columns: 180px minmax(420px, 1fr);
  }

  .product-status-row {
    grid-template-columns: minmax(180px, 1fr) 140px repeat(3, minmax(76px, 1fr));
  }

  .switch-gantt-scale {
    min-width: 760px;
  }

  .switch-gantt-list {
    min-width: 760px;
  }

  .generator-diagnostic-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lane-actions {
    display: none;
  }
}

@media (max-width: 760px) {
  .batch-comparison-grid {
    grid-template-columns: 1fr;
  }

  .batch-history-heading,
  .batch-history-item {
    align-items: stretch;
    flex-direction: column;
  }

  .batch-history-impact,
  .batch-history-actions {
    justify-content: flex-start;
  }

  .ps-inbox-kpis,
  .opportunity-kpis,
  .ps-candidate-list {
    grid-template-columns: 1fr;
  }

  .ps-invite-main,
  .ps-invite-current,
  .opportunity-main,
  .opportunity-candidate,
  .ps-candidate,
  .ps-family-invite > div:first-child {
    align-items: stretch;
    flex-direction: column;
  }

  .ps-invite-actions,
  .opportunity-actions,
  .ps-candidate-actions {
    justify-content: flex-start;
  }

  .sidebar {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 18px;
  }

  .nav {
    width: 100%;
    max-width: 100%;
    flex: none;
  }

  .workspace {
    padding: 18px;
  }

  .topbar h1 {
    font-size: 28px;
  }

  .topbar,
  .section-header,
  .timeline-item {
    align-items: stretch;
    flex-direction: column;
    display: flex;
  }

  .topbar-actions {
    width: 100%;
    flex: 1 1 auto;
    justify-content: flex-start;
  }

  .section-header > .topbar-actions {
    align-self: auto;
    padding-left: 0;
    border-left: 0;
  }

  .topbar-actions > .muted {
    text-align: left;
  }

  .topbar-actions .primary-button {
    flex: 1;
    min-width: 0;
  }

  .settings-upload-row,
  .platform-icon-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .stats-grid,
  .decision-grid,
  .task-board,
  .region-grid,
  .platform-overview,
  .form-grid,
  .checklist-fieldset,
  .region-checks,
  .switch-selector-grid,
  .family-grid,
  .xbox-family-grid,
  .tool-row {
    grid-template-columns: 1fr;
  }

  .family-workbench,
  .focus-card-grid,
  .family-command-grid,
  .onboarding-panel,
  .onboarding-steps,
  .results-kpi-grid,
  .results-layout,
  .results-form,
  .product-status-row,
  .family-promo-row {
    grid-template-columns: 1fr;
  }

  .switch-plan-card,
  .generator-action-row,
  .generator-diagnostics summary,
  .generator-rejection div,
  .availability-toolbar,
  .history-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .generator-diagnostic-kpis {
    grid-template-columns: 1fr 1fr;
  }

  .generator-action-buttons {
    justify-content: stretch;
  }

  .generator-action-buttons .small-button {
    flex: 1;
  }

  .generator-reason {
    width: max-content;
  }

  .switch-status-regions > span {
    grid-template-columns: 42px minmax(104px, auto);
  }

  .switch-status-regions small {
    grid-column: 1 / -1;
  }

  .switch-gantt-scale,
  .switch-gantt-list {
    min-width: 720px;
  }

  .switch-gantt-row {
    grid-template-columns: 180px minmax(420px, 1fr);
  }

  .xbox-family-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .event-list {
    grid-template-columns: 1fr;
  }

  .xbox-rule-grid {
    grid-template-columns: 1fr;
  }

  .platform-command-grid {
    grid-template-columns: 1fr;
  }

  .xbox-lane {
    grid-template-columns: 1fr;
    min-width: 720px;
  }

  .release-year-grid {
    grid-template-columns: 1fr;
  }

  .release-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .release-period-control,
  .release-period-control label {
    align-items: stretch;
    flex-direction: column;
  }

  .release-period-control select {
    width: 100%;
  }

  .release-month.focused .release-day {
    min-height: 94px;
  }

  .release-side {
    width: min(100vw, 640px);
    padding: 16px;
  }

  .release-finder-grid,
  .release-platform-checks {
    grid-template-columns: 1fr;
  }

  .stat-card {
    min-height: 112px;
  }

  .timeline-item {
    gap: 10px;
  }

  .calendar-scale {
    min-width: 760px;
    padding-left: 0;
  }

  .calendar-lanes {
    min-width: 760px;
  }

  .calendar-lane {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .start-day > header {
    align-items: stretch;
    flex-direction: column;
  }

  .family-detail-header {
    align-items: stretch;
    flex-direction: column;
  }
}

