/* v48 mobile cleanup */
*{
  box-sizing:border-box;
}

html,
body{
  max-width:100%;
  overflow-x:hidden!important;
}

body{
  -webkit-text-size-adjust:100%;
}

img,
svg,
canvas,
video{
  max-width:100%;
}

input,
select,
textarea,
button{
  max-width:100%;
  font:inherit;
}

/* Login mobile */
@media(max-width:768px){
  body{
    min-width:0!important;
  }

  form,
  .login,
  .login-card,
  .auth-card,
  .card{
    max-width:calc(100vw - 28px)!important;
  }

  .login-card,
  .auth-card{
    width:calc(100vw - 28px)!important;
    margin:18px auto!important;
    padding:22px 18px!important;
    border-radius:22px!important;
  }

  .login-card img,
  .auth-card img,
  .login-logo,
  .brand-logo{
    max-width:128px!important;
    max-height:128px!important;
    object-fit:contain!important;
    margin-left:auto!important;
    margin-right:auto!important;
    display:block!important;
  }

  .login-card h1,
  .auth-card h1,
  form h1{
    font-size:28px!important;
    line-height:1.15!important;
    text-align:center!important;
    letter-spacing:-.04em!important;
  }

  .login-card p,
  .auth-card p,
  form p{
    font-size:14px!important;
    line-height:1.45!important;
    text-align:center!important;
  }

  .login-card label,
  .auth-card label,
  form label{
    font-size:13px!important;
    line-height:1.35!important;
  }

  .login-card input,
  .auth-card input,
  form input{
    width:100%!important;
    min-width:0!important;
    height:50px!important;
    font-size:16px!important;
    border-radius:14px!important;
  }

  .login-card button,
  .auth-card button,
  form button[type="submit"]{
    width:100%!important;
    min-height:52px!important;
    border-radius:15px!important;
    font-size:16px!important;
  }

  .login-card small,
  .auth-card small,
  .login-card .hint,
  .auth-card .hint{
    display:block!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    font-size:12px!important;
    line-height:1.45!important;
  }
}

/* App mobile layout */
@media(max-width:900px){
  header,
  nav,
  main,
  section,
  .container,
  .page,
  .content,
  .app,
  #app{
    max-width:100vw!important;
  }

  header{
    padding:12px 14px!important;
  }

  nav{
    overflow-x:auto!important;
    white-space:nowrap!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }

  nav::-webkit-scrollbar{
    display:none!important;
  }

  nav a,
  nav button{
    flex:0 0 auto!important;
    min-width:max-content!important;
  }

  main{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .card,
  .panel,
  .box,
  .report46-card,
  .set38-main,
  .set41-main{
    border-radius:18px!important;
  }

  table{
    min-width:720px;
  }

  .table,
  .table-wrap,
  .report46-table,
  .rep441-table,
  .rep44-table{
    width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .report46-head,
  .report45-head,
  .rep441-head,
  .set38-head,
  .set41-head{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:10px!important;
  }

  .report46-actions,
  .report45-actions,
  .rep441-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .report46-actions button,
  .report45-actions button,
  .rep441-actions button{
    width:100%!important;
  }

  .report46-kpis,
  .report45-kpis,
  .rep441-kpis{
    grid-template-columns:1fr 1fr!important;
  }

  .report46-grid,
  .report46-grid.two,
  .report45-grid,
  .report45-grid.two,
  .rep441-grid,
  .rep441-grid.two{
    grid-template-columns:1fr!important;
  }

  .report46-chart,
  .report45-chart,
  .rep441-chart{
    height:260px!important;
    gap:10px!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }

  .report46-bar i,
  .report45-bar i,
  .rep441-bar i{
    width:24px!important;
  }
}

@media(max-width:520px){
  .report46-kpis,
  .report45-kpis,
  .rep441-kpis{
    grid-template-columns:1fr!important;
  }

  .report46-shell,
  .report45-shell,
  .rep441-shell,
  .set38-shell,
  .set41-shell{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .report46-head h1,
  .report45-head h1,
  .rep441-head h1,
  .set38-head h1,
  .set41-head h1{
    font-size:26px!important;
  }

  .report46-filter,
  .report45-filter,
  .rep441-filter{
    width:100%!important;
  }

  .report46-filter button,
  .report45-filter button,
  .rep441-filter button{
    flex:0 0 auto!important;
  }
}
/* end v48 mobile cleanup */
