/* Global CEOBI responsive stability layer */
:root{--ceobi-page-gutter:clamp(14px,3vw,32px);--ceobi-section-gap:clamp(18px,3vw,36px)}
html{overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
main,section,article,aside,header,footer,nav,div{min-width:0}
img,svg,canvas,video{max-width:100%;height:auto}
svg{overflow:visible}
:is(h1,h2,h3,h4,h5,h6,p,li,span,a,button,label,small,strong,em){overflow-wrap:anywhere;word-break:normal}
:is(h1,h2,h3,h4,h5,h6){text-wrap:balance;margin-block-start:0}
:is(p,ul,ol){margin-block-start:0}
:is(.icon,[class*="icon"],button svg,a svg,[role="img"]){flex:0 0 auto}
:is(.icon,[class*="icon"]){display:inline-flex;align-items:center;justify-content:center;line-height:1;min-width:1.25em;min-height:1.25em}
:is(.icon,[class*="icon"]) :is(svg,img){display:block;width:1em;height:1em;max-width:none}
:is(.card,.panel,.tile,.widget,.metric-card,.kpi-card,.chart-card,.section,.report-section){contain:layout style;overflow:visible}
:is(.card,.panel,.tile,.widget,.metric-card,.kpi-card,.chart-card) > *:last-child{margin-bottom:0}
:is(.grid,.cards,.tiles,[class*="grid"]){align-items:stretch}
:is(.actions,.toolbar,.button-row,.cta-row){display:flex;flex-wrap:wrap;gap:10px}
:is(button,.button,[role="button"],.actions a,.toolbar a){min-height:44px;white-space:normal;text-align:center}

@media(max-width:768px){
  body{font-size:16px;line-height:1.65}
  :is(main,.page,.page-main,.shell,.container,.wrap,.content,.reports-shell,.ceobi-blog){width:100%;max-width:100%;padding-inline:var(--ceobi-page-gutter);margin-inline:auto}
  :is(section,.section,.report-section,.card,.panel,.tile,.widget){margin-block-end:var(--ceobi-section-gap)}
  :is(.grid,.grid2,.grid3,.cards,.tiles,.metrics,.kpis,.dashboard-grid,.report-grid,[class*="grid"]){grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  :is(.row,.actions,.toolbar,.button-row,.cta-row,.topbar,.top,.header-actions){flex-wrap:wrap!important;gap:10px!important}
  :is(.card,.panel,.tile,.widget,.metric-card,.kpi-card,.chart-card,.section,.report-section){width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;padding:clamp(16px,4vw,22px)!important;overflow:visible!important}
  :is(h1){font-size:clamp(1.7rem,7vw,2.45rem)!important;line-height:1.25!important}
  :is(h2){font-size:clamp(1.35rem,5.6vw,1.9rem)!important;line-height:1.3!important}
  :is(h3){font-size:clamp(1.08rem,4.4vw,1.35rem)!important;line-height:1.35!important}
  :is(p,li,span,a,button,label){line-height:1.65}
  :is(.metric-value,.kpi-value,[class*="value"]){line-height:1.1!important}
  :is(.icon,[class*="icon"]){min-width:24px;min-height:24px;font-size:20px}
  :is(.icon,[class*="icon"]) :is(svg,img){width:20px!important;height:20px!important}
  :is(button,.button,[role="button"],.actions a,.toolbar a){max-width:100%;padding:10px 14px}
  table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  iframe{width:100%;max-width:100%}
}

@media(max-width:420px){
  :root{--ceobi-page-gutter:12px;--ceobi-section-gap:16px}
  :is(.card,.panel,.tile,.widget,.metric-card,.kpi-card,.chart-card,.section,.report-section){padding:15px!important;border-radius:14px!important}
  :is(.actions,.toolbar,.button-row,.cta-row)>*{width:100%;justify-content:center}
}
