@media (max-width: 991.98px) {
  .cp-mobile-only { display:block!important; }
  .cp-desktop-only { display:none!important; }
  html, body { overflow-x:hidden; }
  .cp-layout { display:block; min-height:100vh; }
  .cp-main { width:100%; min-width:0; }
  .cp-topbar { display:flex!important; position:sticky; top:0; z-index:1040; min-height:58px; }
  .cp-sidebar { position:fixed; top:0; left:0; bottom:0; width:84vw; max-width:340px; min-width:0; transform:translateX(-105%); z-index:1060; overflow-y:auto; box-shadow:18px 0 42px rgba(0,0,0,.35); }
  html:not(.cp-sidebar-collapsed) .cp-sidebar { transform:translateX(0); }
  html.cp-sidebar-collapsed .cp-sidebar { width:84vw; max-width:340px; min-width:0; transform:translateX(-105%); }
  .cp-sidebar-inner { min-height:100%; padding:.9rem; }
  .cp-sidebar .desktop-heavy, .cp-sidebar .cp-nav-group.desktop-heavy { display:none!important; }
  .cp-nav-link { min-height:46px; font-size:.98rem; }
  .cp-content, main, .container, .container-fluid, .container-xl { padding-left:.85rem!important; padding-right:.85rem!important; max-width:100%!important; }
  .page-body { margin-top:0!important; }
  .card,.cp-card,.cp-section-card,.cp-panel { border-radius:12px; margin-bottom:.85rem; }
  .card-body,.card-header,.card-footer { padding:.95rem!important; }
  h1 { font-size:1.45rem; } h2 { font-size:1.25rem; } h3,h4 { font-size:1.1rem; }
  .btn,.form-control,.form-select { min-height:44px; }
  .btn { white-space:normal; }
  .btn-group,.cp-action-row { display:grid!important; grid-template-columns:1fr; gap:.5rem; }
  .cp-table-actions { white-space:normal; }
  .table-responsive { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .table { min-width:720px; }
  .cp-grid-cards { grid-template-columns:1fr!important; }
  .cp-kpi-card { border-radius:12px; }
  .cp-lifecycle-stepper { display:grid; grid-template-columns:1fr; gap:.45rem; }
  .cp-lifecycle-arrow { display:none; }
  .cp-lifecycle-step { width:100%; text-align:center; }
  .cp-timeline { padding-left:1rem; }
  .cp-public-verify { margin:0; padding:.85rem; }
  .cp-public-card { border-radius:16px; }
  .cp-mobile-sidebar-backdrop { display:none; position:fixed; inset:0; background:rgba(15,23,42,.58); z-index:1050; }
  html:not(.cp-sidebar-collapsed) .cp-mobile-sidebar-backdrop { display:block; }
}
@media (min-width: 992px) {
  .cp-desktop-heavy-notice { display:none!important; }
}
