@media (max-width: 87.5rem) {
  .topbar__phase {
    display: none;
  }
}

@media (max-width: 75rem) {
  :root {
    --sidebar-width: 15rem;
  }

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

  .content-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.75fr);
  }

  .topbar {
    grid-template-columns: minmax(12rem, 0.8fr) minmax(12rem, 1fr) auto;
  }

  .profile-trigger__copy {
    display: none;
  }

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

  .owner-detail-grid {
    grid-template-columns: 1fr;
  }

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

  .operations-queue-grid {
    grid-template-columns: 1fr;
  }

  .engineering-snapshot-grid,
  .housekeeping-evidence-grid,
  .housekeeping-report__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

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

  .housekeeping-report__grid > article:nth-child(3n) {
    border-right: 1px solid var(--color-border);
  }

  .housekeeping-report__grid > article:nth-child(2n) {
    border-right: 0;
  }

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

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

  .report-filters__status {
    padding: 0;
    border-left: 0;
  }

  .reporting-home-grid {
    grid-template-columns: 1fr;
  }

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

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

@media (max-width: 64rem) {
  .content-grid {
    grid-template-columns: 1fr;
  }

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

  .login-page__main {
    gap: var(--space-8);
  }

  .owner-summary-grid,
  .erp-expense-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .owner-command-card {
    min-height: 16rem;
  }

  .health-score {
    width: 8.5rem;
    height: 8.5rem;
  }

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

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

  .engineering-attention-grid,
  .engineering-bottom-grid {
    grid-template-columns: 1fr;
  }

  .engineering-handover__grid {
    grid-template-columns: 1fr;
  }

  .engineering-handover__grid > article {
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .engineering-handover__grid > article:last-child {
    border-bottom: 0;
  }

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

  .report-visual-grid,
  .report-section-grid {
    grid-template-columns: 1fr;
  }

  .report-meta {
    gap: var(--space-4) 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .report-meta > div:nth-child(2) {
    border-right: 0;
  }

  .configuration-profile-preview,
  .configuration-settings-grid,
  .configuration-template-preview,
  .configuration-branding-preview,
  .collaboration-grid,
  .transfer-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 51.25rem) {
  .app-shell {
    display: block;
  }

  .sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: min(19rem, 88vw);
    min-height: 0;
    box-shadow: var(--shadow-md);
    transform: translateX(-105%);
    transition: transform var(--transition-base);
  }

  .app-shell[data-sidebar-open="true"] .sidebar {
    transform: translateX(0);
  }

  .sidebar__close,
  .menu-toggle {
    display: inline-grid;
  }

  .sidebar-overlay {
    position: fixed;
    z-index: var(--z-overlay);
    inset: 0;
    display: block;
    border: 0;
    background: rgb(17 27 46 / 46%);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition-base);
  }

  .app-shell[data-sidebar-open="true"] .sidebar-overlay {
    opacity: 1;
    pointer-events: auto;
  }

  .topbar {
    padding-right: var(--space-5);
    padding-left: var(--space-5);
    grid-template-columns: auto minmax(12rem, 1fr) auto;
  }

  .topbar__mobile-brand {
    display: block;
  }

  .topbar__mobile-brand .brand__logo {
    width: 2.55rem;
    height: 2rem;
  }

  .context-display {
    display: none;
  }

  .engineering-page-header,
  .configuration-page-header {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-5);
  }

  .configuration-scope {
    width: 100%;
  }

  .engineering-page-header__meta {
    justify-items: start;
  }

  .operations-page-header {
    align-items: stretch;
    flex-direction: column;
    gap: var(--space-5);
  }

  .role-switch {
    width: 100%;
  }

  .role-switch__options a {
    flex: 1;
  }

  .ops-command-card {
    align-items: flex-start;
  }

  .ops-readiness {
    width: 12rem;
  }

  .owner-page-header {
    align-items: stretch;
    flex-direction: column;
    gap: var(--space-5);
  }

  .building-selector {
    width: 100%;
    min-width: 0;
  }

  .owner-command-card {
    align-items: flex-start;
  }

  .health-score {
    width: 7.5rem;
    height: 7.5rem;
  }

  .health-score__inner strong {
    font-size: 1.8rem;
  }

  .page-heading {
    flex-direction: column;
    gap: var(--space-5);
  }

  .page-heading__actions {
    width: 100%;
    justify-content: flex-start;
  }

  .login-page__main {
    max-width: 40rem;
    grid-template-columns: 1fr;
  }

  .login-intro h1 {
    font-size: clamp(2.35rem, 9vw, 3.6rem);
  }

  .login-intro > p,
  .assurance-list {
    max-width: 36rem;
  }

  .login-card {
    max-width: none;
    justify-self: stretch;
  }
}

@media (max-width: 42rem) {
  .topbar {
    grid-template-columns: 1fr auto;
  }

  .topbar-search,
  .profile-trigger > .icon {
    display: none;
  }

  .topbar__start {
    justify-content: flex-start;
  }

  .owner-command-card,
  .ops-command-card {
    min-height: 0;
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-6);
  }

  .ops-readiness {
    width: 100%;
  }

  .health-score {
    width: 7rem;
    height: 7rem;
  }

  .owner-summary-grid,
  .management-kpi-grid,
  .erp-expense-grid {
    grid-template-columns: 1fr;
  }

  .section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .department-status-grid,
  .ops-activity-grid,
  .ops-quick-nav__grid,
  .engineering-snapshot-grid,
  .housekeeping-area-grid,
  .housekeeping-evidence-grid,
  .housekeeping-report__grid {
    grid-template-columns: 1fr;
  }

  .experience-content-grid,
  .report-catalog-grid,
  .report-kpi-grid,
  .report-viewer-kpis {
    grid-template-columns: 1fr;
  }

  .report-filters,
  .report-meta {
    grid-template-columns: 1fr;
  }

  .report-meta > div,
  .report-meta > div:first-child,
  .report-meta > div:last-child {
    padding: 0 0 var(--space-3);
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .report-meta > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .report-overview__heading {
    align-items: stretch;
    padding: var(--space-5);
    flex-direction: column;
  }

  .report-overview__heading .btn {
    width: 100%;
  }

  .report-kpi-card > header {
    align-items: flex-start;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .report-kpi-card > header > .status-pill {
    grid-column: 1 / -1;
  }

  .report-kpi-card__metrics,
  .configuration-record-grid,
  .configuration-org-tree {
    grid-template-columns: 1fr;
  }

  .configuration-workspace-preview {
    grid-template-columns: 1fr;
  }

  .configuration-workspace-preview aside {
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .configuration-workspace-preview main {
    padding: var(--space-5);
  }

  .configuration-detail__section,
  .configuration-edit-form {
    padding: var(--space-4);
  }

  .housekeeping-report__grid > article,
  .housekeeping-report__grid > article:nth-child(2n),
  .housekeeping-report__grid > article:nth-child(3n) {
    border-right: 0;
  }

  .engineering-table-panel .owner-panel__header,
  .engineering-handover > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .engineering-handover > header .btn {
    width: 100%;
  }

  .engineering-focus-item {
    padding: var(--space-3) var(--space-4);
  }

  .access-identity-grid {
    grid-template-columns: 1fr;
  }

  .access-role-switch .role-switch__options a {
    min-width: 0;
  }

  .notification-center-item {
    align-items: flex-start;
    padding: var(--space-4);
    gap: var(--space-3);
    grid-template-columns: 0.4rem auto minmax(0, 1fr);
  }

  .notification-center-item > .status-pill,
  .notification-center-item > .icon {
    margin-left: 3rem;
    grid-column: 1 / -1;
  }

  .notification-preference-list > article {
    align-items: flex-start;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .notification-preference-list > article > .status-pill {
    grid-column: 2;
  }

  .shared-timeline::before {
    left: 0.35rem;
  }

  .shared-timeline li {
    gap: var(--space-3);
    grid-template-columns: 0.8rem 1fr;
  }

  .shared-timeline__time {
    padding: 0 0 var(--space-2) var(--space-6);
    grid-column: 1 / -1;
    text-align: left;
  }

  .shared-timeline__dot {
    grid-column: 1;
  }

  .shared-timeline button {
    grid-column: 2;
  }

  .shared-search-form {
    flex-direction: column;
  }

  .shared-search-form > .icon {
    top: 0.95rem;
  }

  .shared-search-form .btn {
    width: 100%;
  }

  .audit-filters {
    flex-direction: column;
  }

  .audit-filters label {
    width: 100%;
    min-width: 0;
  }

  .ops-record {
    align-items: flex-start;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .ops-record__priority {
    grid-column: 1 / -1;
  }

  .ops-detail {
    width: 100%;
  }

  .ops-detail__header,
  .ops-detail__body {
    padding: var(--space-5);
  }

  .ops-detail__footer {
    align-items: stretch;
    padding: var(--space-4) var(--space-5);
    flex-direction: column-reverse;
  }

  .ops-detail__footer .btn {
    width: 100%;
  }

  .owner-panel__header {
    min-height: 0;
    padding: var(--space-5);
  }

  .building-table {
    display: grid;
    padding: var(--space-3);
    gap: var(--space-3);
  }

  .building-table__header {
    display: none;
  }

  .building-row {
    min-height: 0;
    padding: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    gap: var(--space-3);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .building-row__name {
    padding-bottom: var(--space-3);
    border-bottom: 1px solid var(--color-border);
    grid-column: 1 / -1;
  }

  .building-row > span[data-label]::before {
    display: block;
    margin-bottom: var(--space-1);
    color: var(--color-ink-400);
    content: attr(data-label);
    font-size: 0.58rem;
    font-weight: var(--weight-bold);
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  .metrics-grid,
  .skeleton-grid {
    grid-template-columns: 1fr;
  }

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

  .page-wrap {
    padding-top: var(--space-6);
    padding-bottom: var(--space-8);
  }

  .card__header,
  .card__body {
    padding: var(--space-5);
  }

  .state-switcher {
    width: 100%;
    overflow-x: auto;
  }

  .state-switcher__button {
    min-width: max-content;
    flex: 1;
  }

  .state-message {
    min-height: 22rem;
    padding: var(--space-6);
  }

  .login-page {
    padding: var(--space-5);
  }

  .login-page__header,
  .login-page__footer {
    align-items: flex-start;
  }

  .login-page__header .badge {
    display: none;
  }

  .login-page__footer {
    flex-direction: column;
  }
}

@media (max-width: 27rem) {
  .topbar {
    padding-right: var(--space-4);
    padding-left: var(--space-4);
  }

  .topbar__end .btn span {
    display: none;
  }

  .topbar__end .btn {
    width: 2.65rem;
    padding: 0;
  }

  .page-wrap {
    padding-right: var(--space-4);
    padding-left: var(--space-4);
  }
}

/* ── CR-VD-01 · Request-to-Payment responsive adjustments ──────────────── */

@media (max-width: 75rem) {
  .r2p-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 51.25rem) {
  .r2p-dependency-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 42rem) {
  .r2p-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .r2p-stage {
    grid-template-columns: 1.75rem minmax(0, 1fr);
  }

  .r2p-stage__card header {
    flex-direction: column;
  }

  .r2p-stage__meta span,
  .r2p-stage__meta strong,
  .r2p-trace-node__meta div {
    display: block;
  }

  .r2p-doc-relation-row {
    grid-template-columns: 1fr;
    gap: var(--space-1);
  }

  .r2p-detail-progress-row {
    grid-template-columns: 1fr;
  }

  .r2p-trace-node__head .status-pill {
    width: 100%;
    justify-content: center;
  }
}
