/* AALLFAX CONTROL v3.1.0 - responsividade e navegação */
#sidebar{
  height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}
#sidebar > .brand,
#sidebar > .surfacebadge,
#sidebar > .tenant-context-card,
#sidebar > .sidefoot{flex:0 0 auto!important}
#sidebar > nav{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  padding-bottom:12px!important;
}
#sidebar .sidefoot{position:static!important;bottom:auto!important;margin-top:0!important;background:inherit}
.app{min-width:0!important}
main{min-width:0!important;overflow-x:hidden!important}
.tablewrap{overflow-x:auto!important;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.tablewrap table{min-width:max-content}
img,svg,canvas{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}
.system-action-form{display:inline-flex;margin:0 6px 6px 0}
.v310-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v310-help-grid>div{border:1px solid var(--v3-border,#28445e);border-radius:12px;padding:14px;background:rgba(255,255,255,.02)}
.v310-help-grid p{margin:.4rem 0 0}
.aallfax-menu-overlay{display:none}

@media (max-width:1180px){
  .kpis,.kpis.compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .grid2,.grid3,.settings-commercial-grid{grid-template-columns:1fr!important}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pagehead{gap:12px!important}
}

@media (max-width:980px){
  body{overflow-x:hidden!important}
  #sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:min(86vw,320px)!important;
    z-index:10020!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    box-shadow:14px 0 40px rgba(0,0,0,.35)!important;
  }
  body.aallfax-menu-open #sidebar{transform:translateX(0)!important}
  .aallfax-menu-overlay{position:fixed;inset:0;z-index:10010;background:rgba(1,8,16,.58);backdrop-filter:blur(2px)}
  body.aallfax-menu-open .aallfax-menu-overlay{display:block}
  .app{margin-left:0!important;width:100%!important;min-height:100dvh!important}
  header{left:0!important;width:100%!important;padding-inline:14px!important}
  .menubtn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:44px!important;min-height:44px!important}
  .crumbsep,.topbar-left>.crumb:not(.strong){display:none!important}
  .topactions{gap:6px!important}
  .topbar-utility span{display:none!important}
  main{padding:18px 14px 28px!important}
  .pagehead{align-items:flex-start!important;flex-direction:column!important}
  .pagehead .actions{width:100%!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .pagehead .actions form{margin:0!important}
  .v310-help-grid{grid-template-columns:1fr!important}
}

@media (max-width:720px){
  html{font-size:15px}
  main{padding:14px 10px 24px!important}
  header{min-height:64px!important}
  .brandmark{flex:0 0 auto}
  .kpis,.kpis.compact,.formgrid,.feature-grid,.detailgrid,.system-grid,.toggle-grid,.appearancegrid,.settings-status-grid,.settings-commercial-grid,.contract-entry-form{grid-template-columns:1fr!important}
  .card,.kpi{border-radius:12px!important}
  .card{padding:14px!important}
  .kpi{padding:14px!important}
  .pagehead h1{font-size:1.65rem!important;line-height:1.12!important}
  .pagehead p{font-size:.95rem!important}
  .cardhead{flex-direction:column!important;align-items:flex-start!important;gap:10px!important}
  .cardhead .toolbar-actions,.toolbar-actions{width:100%!important;flex-wrap:wrap!important}
  .formactions{width:100%!important;display:flex!important;flex-direction:column-reverse!important;gap:8px!important}
  .formactions .btn,.formactions button,.pagehead .actions .btn,.pagehead .actions button,.system-action-form,.system-action-form .btn{width:100%!important}
  .system-action-form{display:flex!important;margin:0!important}
  input,select,textarea,.btn,button{min-height:44px;font-size:16px!important}
  textarea{min-height:110px}
  .settings-tabs{flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;padding-bottom:8px!important}
  .settings-tabs a{white-space:nowrap}
  .tablewrap{margin-inline:-4px!important;border-radius:10px!important}
  .tablewrap table{font-size:.88rem!important}
  .tablewrap th,.tablewrap td{padding:9px 10px!important;white-space:nowrap}
  .login-shell,.loginwrap{min-height:100dvh!important}
  .login-shell{grid-template-columns:1fr!important}
  .login-brand-panel{display:none!important}
  .login-form-panel{padding:24px 14px!important}
  .appearancegrid{gap:12px!important}
  .themecard{min-height:auto!important}
  .backup-card{flex-direction:column!important;align-items:stretch!important}
  .backup-card form,.backup-card .btn{width:100%!important}
}

@media (max-width:440px){
  main{padding-inline:8px!important}
  .platformpill,.operationpill{font-size:10px!important;padding:5px 7px!important}
  #sidebar{width:90vw!important}
  .card{padding:12px!important}
  .kpi strong{font-size:1.55rem!important}
}
