/* Ajustes responsivos e de usabilidade do CRM */
:root{padding:0;--side:#000;--side-active:#1c1c1c;}
html,body{min-height:100%;}
body{padding:0;overflow:hidden;}
.app{height:100vh;height:100dvh;min-height:0;}
.main,.view{min-width:0;min-height:0;}
.side{min-width:0;}
.view{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}
button,a,select{touch-action:manipulation;}
input,select,textarea{font-size:16px;}
.todo{min-height:44px;}
.nav-btn{min-height:44px;}

@media (min-width:821px) and (max-width:1100px){
  .app{grid-template-columns:190px minmax(0,1fr);}
  .view{padding:20px;}
  .figures{grid-template-columns:repeat(2,minmax(0,1fr));}
  .figure:nth-child(2){border-right:0;}
  .figure:nth-child(-n+2){border-bottom:1px solid var(--line);}
  .cols{grid-template-columns:minmax(0,1fr);}
}

@media (max-width:820px){
  html,body{width:100%;height:100%;}
  .app{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;overflow:hidden;}
  .main{grid-row:1;overflow:hidden;}
  .side{grid-row:2;order:2;padding:5px max(6px,env(safe-area-inset-left)) calc(5px + env(safe-area-inset-bottom));gap:2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;border-top:1px solid var(--line);}
  .side::-webkit-scrollbar{display:none;}
  .nav-btn{min-width:64px;min-height:54px;flex:0 0 auto;justify-content:center;padding:5px 8px;font-size:11px;line-height:1.15;}
  .nav-btn svg{width:19px;height:19px;}
  .topbar{padding:calc(10px + env(safe-area-inset-top)) 14px 10px;gap:8px;}
  .topbar h1{font-size:20px;}
  .topbar .btn{min-height:42px;padding:8px 10px;font-size:13px;}
  .search{order:5;width:100%;}
  .search input{min-height:42px;}
  .view{padding:14px;}
  .figures{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px;}
  .figure{padding:13px 14px;}
  .figure .val{font-size:23px;overflow-wrap:anywhere;}
  .cols{grid-template-columns:minmax(0,1fr);gap:14px;}
  .panel{padding:16px;}
  .board{min-height:100%;width:max-content;max-width:none;}
  .col{max-height:calc(100dvh - 200px);}
  .table-wrap{max-width:100%;}
  .toolbar select{min-height:42px;}
  .prio-item{grid-template-columns:minmax(0,1fr);gap:8px;padding:13px;}
  .prio-score{text-align:left;display:flex;align-items:center;gap:10px;}
  .prio-side{flex-direction:row;flex-wrap:wrap;align-items:center;}
  .h-item{grid-template-columns:1fr;gap:5px;}
  .h-item .pill{margin-left:0;}
  dialog{width:min(620px,calc(100vw - 16px));max-height:calc(100dvh - 16px);margin:auto;}
  dialog .dlg-body{max-height:calc(100dvh - 170px);padding:16px;}
  .dlg-head{padding:13px 16px;}
  .tabs{padding:0 10px;}
  .tabs button{min-height:44px;padding:10px;}
  .dlg-foot{padding:12px 16px;}
  .dlg-foot .btn{min-height:42px;}
  .ia-grid{grid-template-columns:minmax(0,1fr);}
  .ia-grid select,.ia-grid button{width:100%;min-height:42px;}
  .mail-send .btn{min-height:42px;}
}

@media (max-width:420px){
  .topbar{padding-inline:10px;}
  .topbar h1{font-size:18px;}
  .topbar .btn{font-size:12px;padding-inline:8px;}
  .view{padding:10px;}
  .figure{padding:11px;}
  .figure .lbl{font-size:12px;}
  .figure .val{font-size:20px;}
  .bar-row{grid-template-columns:88px minmax(30px,1fr) auto;gap:7px;font-size:12px;}
  .bar-row .n{min-width:0;font-size:11px;}
  .nav-btn{min-width:60px;padding-inline:6px;}
  .grid2{gap:8px;}
  .note-add{flex-wrap:wrap;}
  .note-add textarea,.note-add input{min-width:100%;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}
}
