/* JP Smart Manager — Wave 7E.1 Mobile Foundation
   Structural responsive layer only. No business/data behavior. */
html{width:100%;max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;max-width:100%;margin:0;overflow-x:clip}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas,iframe{max-width:100%}
img,video{height:auto}
.app,.main,.page,.jp-page,.jp-page-content,.card,.card-bd,.section,[id^="pg-"]{min-width:0;max-width:100%}
.main{width:100%;overflow-x:clip!important}
.main>div{width:100%;min-width:0}

/* Inputs: prevent iOS focus zoom while preserving accessible page zoom. */
@media(max-width:767px){
  input,select,textarea,.jp-input,.jp-select,.jp-textarea{font-size:16px!important}
  .main input,.main select,.main textarea{font-size:16px!important}

  /* Mobile shell is a real drawer, never a horizontal navigation rail. */
  .app{width:100%!important;max-width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:var(--jp-topbar-h,64px) minmax(0,1fr)!important;overflow-x:clip!important}
  .topbar{width:100%!important;max-width:100%!important;grid-column:1!important;position:sticky!important;top:0!important;left:0!important;right:0!important;display:flex!important;overflow:visible!important}
  .topbar-brand{flex:0 1 auto!important;max-width:112px!important}
  .topbar-logo{max-width:94px!important;object-fit:contain!important}
  .topbar-center{min-width:0!important;flex:1 1 auto!important}
  .topbar-right{flex:0 0 auto!important;min-width:0!important}
  .sidebar{display:flex!important;position:fixed!important;top:var(--jp-topbar-h,64px)!important;left:0!important;bottom:0!important;width:min(300px,86dvw)!important;max-width:86dvw!important;height:auto!important;flex-direction:column!important;overflow-x:hidden!important;overflow-y:auto!important;transform:translateX(-102%)!important;z-index:1200!important;overscroll-behavior:contain!important}
  .app.jp-nav-open .sidebar{transform:translateX(0)!important}
  .sidebar .nav-item{width:100%!important;min-width:0!important;flex:0 0 auto!important;justify-content:flex-start!important}
  .sidebar .nav-label{display:block!important;white-space:normal!important}
  .sidebar .nav-sep{display:block!important;width:100%!important}
  .main{grid-column:1!important;width:100%!important;max-width:100%!important;padding:16px!important;overflow-x:clip!important}

  /* Flexible layout primitives: content stacks instead of widening viewport. */
  .metrics,.cli-metrics,.metric-grid{grid-template-columns:1fr!important}
  .cgrid,.bgrid,.cli-layout,.form-grid,.cfg-grid,.ai-grid-2,.auto-regras-grid,.fsc-grid,.agd-form-grid,.par-rel-grid,.cop-v7-grid{grid-template-columns:minmax(0,1fr)!important}
  .jp-toolbar,.ph,.page-head,.section-head,.card-hd{max-width:100%}
  .jp-toolbar{align-items:stretch!important}
  .jp-toolbar__group{width:100%;min-width:0}
  .jp-toolbar__group>*{max-width:100%}
  .jp-search{width:100%!important;min-width:0!important}

  /* Tables are allowed to scroll internally; the document itself is not. */
  .main table{width:100%;max-width:100%}
  .jp-table-wrap,.table-wrap,[class*="table-wrap"],[class*="-table-wrap"]{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

  /* Inline desktop widths cannot force the phone viewport. */
  .modal-box,.modal-content,.fin-modal-box,.atd-modal,.auto-modal,.auto-wpp-modal,[class*="modal-box"]{width:min(100%,calc(100dvw - 24px))!important;max-width:calc(100dvw - 24px)!important}
}

@media(max-width:420px){
  .main{padding-left:12px!important;padding-right:12px!important}
  .topbar{padding-left:8px!important;padding-right:8px!important}
}

/* V29.9.8 — o shell do JP Aluno possui geometria própria.
   Evita que a foundation administrativa imponha linha fixa de 64px. */
@media(max-width:767px){
  #memberApp.app{
    grid-template-rows:auto minmax(0,1fr)!important;
    overflow-x:hidden!important;
  }
  #memberApp .main{
    min-height:0!important;
  }
}
