/* GCD ECP V22.9.9.19 — LIVE Navigation, RBAC & Mobile Polish
   Surgical responsive hardening only. No business logic. */
:root{--gcd-mobile-radius:14px;--gcd-mobile-gap:.75rem}
.table-responsive,.v22941-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.card,.v2287-card,.v22941-card{max-width:100%}
form .row,[class*="row g-"]{min-width:0}
.sidebar-link{word-break:normal;overflow-wrap:anywhere}
.btn,.form-control,.form-select{touch-action:manipulation}
@media (max-width: 991.98px){
  body{font-size:15px;overflow-x:hidden}
  .app-shell{display:block;min-width:0;width:100%}
  .topbar{position:sticky;top:0;z-index:1035;gap:.5rem;min-height:64px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .topbar .navbar-brand{flex:0 0 auto;max-width:48vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar .navbar-nav{display:none!important}
  .topbar .search-wrap,.topbar form[role="search"],.topbar .global-search{display:none!important}
  .topbar .btn,.topbar .nav-link{min-height:42px}
  .content-area,.main-content,main{width:100%!important;max-width:100%!important;padding:1rem!important;margin:0!important}
  .desktop-sidebar,.sidebar:not(.mobile-sidebar){display:none!important}
  .page-hero,.v2288-page-hero,.v22941-page-hero{padding:1rem!important;border-radius:var(--gcd-mobile-radius)!important;margin-bottom:1rem!important}
  .page-hero h1,.v2288-page-hero h1,.v22941-page-hero h1,h1{font-size:1.45rem!important;line-height:1.2!important}
  h2{font-size:1.25rem!important} h3{font-size:1.1rem!important}
  .row>[class*="col-"]{margin-bottom:var(--gcd-mobile-gap)}
  .card,.v2287-card,.v22941-card,.metric-card{border-radius:var(--gcd-mobile-radius)!important;padding:1rem!important;box-shadow:0 10px 28px rgba(15,23,42,.08)}
  .btn{width:auto;min-height:42px;border-radius:12px;white-space:normal}
  .btn-group,.btn-toolbar,.action-row,.actions,.page-actions{display:flex!important;flex-wrap:wrap!important;gap:.5rem!important}
  .btn-group>.btn{flex:1 1 auto}
  form .btn[type="submit"], form button[type="submit"]{min-width:140px}
  .form-control,.form-select,textarea{font-size:16px!important;min-height:44px;border-radius:12px!important}
  table{font-size:.875rem;min-width:720px}
  .table td,.table th{white-space:nowrap;vertical-align:middle;padding:.65rem .75rem}
  .nav-tabs,.nav-pills{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.35rem;padding-bottom:.25rem;-webkit-overflow-scrolling:touch}
  .nav-tabs .nav-link,.nav-pills .nav-link{white-space:nowrap;border-radius:12px;padding:.65rem .85rem}
  .accordion-button,.v2287-nav-heading,.v22941-nav-heading{min-height:48px;border-radius:12px!important}
  .offcanvas.mobile-sidebar{width:min(88vw,360px)}
  .mobile-sidebar .sidebar-link{min-height:44px;display:flex;align-items:center;padding:.7rem .85rem;border-radius:12px}
  .v22941-sidebar-groups{padding-bottom:2rem}
}
@media (max-width:575.98px){
  .content-area,.main-content,main{padding:.75rem!important}
  .page-hero,.v2288-page-hero,.v22941-page-hero{padding:.9rem!important}
  .row{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem}
  .card,.v2287-card,.v22941-card,.metric-card{padding:.85rem!important}
  .btn,.form-control,.form-select{width:100%}
  .topbar .dropdown .btn{width:auto;max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .metric-card .display-6,.card .display-6{font-size:1.6rem!important}
}
