/* BCH Central v0.15.10 — project-wide responsive foundation.
   Loaded last. It normalizes mobile layouts across legacy and newer modules. */
html,body{max-width:100%;overflow-x:hidden}
.main{min-width:0;max-width:100%}
.main>*{min-width:0;max-width:100%}
.main img,.main video,.main canvas{max-width:100%;height:auto}
.main svg{max-width:100%}
.main :where(p,small,span,strong,a,code,pre,td,th){overflow-wrap:anywhere;word-break:normal}
.main pre{max-width:100%;overflow:auto}
.main :where([class$="-page"],[class*="-page "]){min-width:0;max-width:100%;width:100%}
.main :where([class$="-card"],[class*="-card "],[class$="-panel"],[class*="-panel "]){min-width:0;max-width:100%}

@media(max-width:900px){
  .main{margin-right:0!important;margin-left:0!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:18px 16px calc(108px + env(safe-area-inset-bottom))!important;overflow-x:hidden!important}
  .main>*{width:100%!important;max-width:100%!important;min-width:0!important}

  .main :where(.page-head,.exp-head,.finance-head,.sys-head,.reports-head,.cx-head,.com-head,.alerts-head,.ops-head,.inc-head,.sla-head,.ntf-head,.mnt-head,.update-head,.admins-head,.work-head,.health-head,.recovery-head,.readiness-head,.od-head){
    display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:12px!important;width:100%!important;min-width:0!important
  }
  .main :where(.page-head,.exp-head,.finance-head,.sys-head,.reports-head,.cx-head,.com-head,.alerts-head,.ops-head,.inc-head,.sla-head,.ntf-head,.mnt-head,.update-head,.admins-head,.work-head,.health-head,.recovery-head,.readiness-head,.od-head)>*{min-width:0!important;max-width:100%!important}
  .main :where(.page-head,.exp-head,.finance-head,.sys-head,.reports-head,.cx-head,.com-head,.alerts-head,.ops-head,.inc-head,.sla-head,.ntf-head,.mnt-head,.update-head,.admins-head,.work-head,.health-head,.recovery-head,.readiness-head,.od-head) h1{
    margin-top:0!important;font-size:clamp(1.55rem,6vw,2.05rem)!important;line-height:1.35!important;letter-spacing:0!important;white-space:normal!important
  }
  .main :where(.page-head,.exp-head,.finance-head,.sys-head,.reports-head,.cx-head,.com-head,.alerts-head,.ops-head,.inc-head,.sla-head,.ntf-head,.mnt-head,.update-head,.admins-head,.work-head,.health-head,.recovery-head,.readiness-head,.od-head) p{
    max-width:100%!important;font-size:.93rem!important;line-height:1.9!important;white-space:normal!important;overflow-wrap:anywhere!important
  }
  .main :where(.head-actions,.finance-actions,.exp-actions,.sys-actions,.cx-actions,.alert-actions,.inc-actions,.ops-actions,.mnt-actions,.ntf-actions,.recovery-actions,.readiness-actions,.od-head-actions,.camp-actions,.auto-actions,.inline-actions,.table-actions,.history-actions,.control-actions){
    max-width:100%!important;min-width:0!important;flex-wrap:wrap!important
  }
  .main :where(.head-actions,.finance-actions,.exp-actions,.sys-actions,.cx-actions,.inc-actions,.ops-actions,.mnt-actions,.ntf-actions,.recovery-actions,.readiness-actions,.od-head-actions) form{max-width:100%!important;min-width:0!important}

  .main :where(.exp-kpis,.finance-kpis,.sys-kpis,.alerts-kpis,.ops-kpis,.inc-kpis,.sla-kpis,.ntf-kpis,.readiness-kpis,.health-kpis,.work-kpis,.renew-kpis,.life-kpis,.exec-kpis,.report-kpis,.plugin-kpis,.ws-kpis,.metric-grid,.ui-kpi-grid){
    grid-template-columns:repeat(2,minmax(0,1fr))!important
  }

  .main :where(.exp-table,.sys-table,.table-wrap,.ui-table-wrap,.cx-table-wrap,.report-table,.com-table-wrap,.ws-table-wrap){max-width:100%!important;min-width:0!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .main table{max-width:100%}

  .main :where(input,select,textarea){max-width:100%!important;min-width:0!important}
  .main :where(.exp-filters,.finance-filters,.ws-filters,.alerts-filters,.module-filterbar,.module-filterbar--orders){max-width:100%!important;min-width:0!important}
}

@media(max-width:640px){
  .main{padding:14px 12px calc(104px + env(safe-area-inset-bottom))!important}
  .main :where(.page-head,.exp-head,.finance-head,.sys-head,.reports-head,.cx-head,.com-head,.alerts-head,.ops-head,.inc-head,.sla-head,.ntf-head,.mnt-head,.update-head,.admins-head,.work-head,.health-head,.recovery-head,.readiness-head,.od-head) h1{font-size:clamp(1.45rem,7.3vw,1.9rem)!important}

  .main :where([class$="-grid"],[class*="-grid "]){grid-template-columns:minmax(0,1fr)!important}
  .main :where([class$="-kpis"],[class*="-kpis "],.metric-grid,.ui-kpi-grid){grid-template-columns:minmax(0,1fr)!important}
  .main :where([class$="-filters"],[class*="-filters "],.module-filterbar,.module-filterbar--orders){display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;gap:9px!important}
  .main :where([class$="-filters"],[class*="-filters "],.module-filterbar,.module-filterbar--orders)>*{width:100%!important;min-width:0!important;grid-column:auto!important}
  .main :where(.head-actions,.finance-actions,.exp-actions,.sys-actions,.cx-actions,.inc-actions,.ops-actions,.mnt-actions,.ntf-actions,.recovery-actions,.readiness-actions,.od-head-actions){display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;gap:9px!important}
  .main :where(.head-actions,.finance-actions,.exp-actions,.sys-actions,.cx-actions,.inc-actions,.ops-actions,.mnt-actions,.ntf-actions,.recovery-actions,.readiness-actions,.od-head-actions)>*{width:100%!important;max-width:100%!important}
  .main :where(.head-actions,.finance-actions,.exp-actions,.sys-actions,.cx-actions,.inc-actions,.ops-actions,.mnt-actions,.ntf-actions,.recovery-actions,.readiness-actions,.od-head-actions) :where(button,.button,.primary,.secondary,a){max-width:100%}

  .main :where(.exp-card,.finance-card,.sys-card,.ws-card,.panel,.ui-card,.cx-card,.com-card){padding:15px!important;border-radius:17px!important}
  .main :where(.exp-kpis,.finance-kpis,.sys-kpis,.alerts-kpis,.ops-kpis,.inc-kpis,.sla-kpis,.ntf-kpis,.readiness-kpis,.health-kpis,.work-kpis,.renew-kpis,.life-kpis,.exec-kpis,.report-kpis,.plugin-kpis,.ws-kpis,.metric-grid,.ui-kpi-grid) article{min-width:0!important}

  /* Project-wide mobile table -> card pattern. Labels are injected by responsive-foundation-v01510.js. */
  .main :where(.exp-table,.sys-table,.table-wrap,.ui-table-wrap,.cx-table-wrap,.report-table,.com-table-wrap,.ws-table-wrap){overflow:visible!important;width:100%!important}
  .main table.bch-rtable{display:block!important;width:100%!important;min-width:0!important;border-collapse:separate!important;border-spacing:0!important;background:transparent!important}
  .main table.bch-rtable thead{display:none!important}
  .main table.bch-rtable tbody{display:grid!important;gap:11px!important;width:100%!important}
  .main table.bch-rtable tr{display:grid!important;width:100%!important;min-width:0!important;background:#fff!important;border:1px solid #e5eaf1!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 6px 20px rgba(15,23,42,.045)!important}
  .main table.bch-rtable td{display:grid!important;grid-template-columns:minmax(94px,38%) minmax(0,1fr)!important;align-items:start!important;gap:10px!important;width:100%!important;min-width:0!important;padding:11px 12px!important;border:0!important;border-bottom:1px solid #eef1f5!important;text-align:start!important;white-space:normal!important;overflow:visible!important;line-height:1.7!important}
  .main table.bch-rtable td:last-child{border-bottom:0!important}
  .main table.bch-rtable td::before{content:attr(data-label);font-weight:800;color:#667085;font-size:.78rem;line-height:1.7;min-width:0}
  .main table.bch-rtable td[data-mobile-full="1"]{display:block!important;padding:16px!important;text-align:center!important}
  .main table.bch-rtable td[data-mobile-full="1"]::before{display:none!important}
  .main table.bch-rtable td>*{min-width:0!important;max-width:100%!important}
  .main table.bch-rtable td :where(a,button,input,select,textarea){max-width:100%}
  .main table.bch-rtable td code{white-space:normal!important;overflow-wrap:anywhere!important}
  .main table.bch-rtable td small{white-space:normal!important}

  .main .exp-btn,.main .ws-primary,.main .button,.main button{white-space:normal}
}

@media(max-width:390px){
  .main{padding-inline:10px!important}
  .main table.bch-rtable td{grid-template-columns:minmax(82px,36%) minmax(0,1fr)!important;padding:10px!important;gap:8px!important}
}
