/* Modo celular compartilhado (telas até 760 px) — usado por saude.html, condominio.html e páginas do hub.
 * O app.html (Gestão Financeira) tem a própria versão destas regras dentro dele.
 * Barra no topo com menu ☰ (montada por js/celular.js), formulários empilhados, painéis com rolagem própria. */
[hidden]{display:none !important;}
.side .topo{display:none;}
@media (max-width: 760px){
  .app{flex-direction:column;}
  .side{width:100% !important;height:auto !important;position:sticky !important;top:0;z-index:60;padding:0 !important;box-shadow:0 1px 4px rgba(0,0,0,.25);}
  .side .topo{display:flex;align-items:center;gap:10px;padding:0 6px 0 4px;min-height:48px;}
  .side .topo .hamb{all:unset;cursor:pointer;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;border-radius:4px;}
  .side .topo .hamb:active{background:rgba(255,255,255,.12);}
  .side .topo .titulo{flex:1;min-width:0;line-height:1.2;}
  .side .topo .titulo b{display:block;font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .side .topo .titulo span{display:block;font-size:11px;color:#9aa79f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .side .topo a{color:#cfd6d0;font-size:12px;text-decoration:none;padding:8px;}
  .side .menu{display:none;padding:6px 0 14px;border-top:1px solid rgba(255,255,255,.12);max-height:calc(100vh - 48px);overflow:auto;}
  .side.aberto .menu{display:block;}
  .side .menu h1,.side .menu .sub{display:none;}
  .side nav{flex-direction:column !important;flex-wrap:nowrap !important;padding:0 !important;}
  .side nav button{padding:13px 20px;font-size:15px;}
  .main{padding:12px 12px 40px !important;max-width:none;overflow-x:hidden;}
  .main h2{font-size:19px;} .main .lede{font-size:12.5px;margin-bottom:14px;}
  .panel{padding:14px 12px;margin-bottom:14px;overflow-x:auto;}
  .form-grid{gap:10px;} .form-grid > div,.form-grid > div.narrow,.form-grid > div.grow{flex:1 1 100% !important;min-width:0 !important;}
  .form-grid > div.btn-wrap{flex:1 1 100% !important;} .form-grid > div.btn-wrap .btn{display:block;text-align:center;}
  select,input:not([type=checkbox]):not([type=radio]),textarea{font-size:16px;}   /* 16px: o iPhone não dá zoom ao focar */
  button.btn{padding:10px 16px;font-size:14px;}
  .toolbar{gap:8px;} .toolbar select{max-width:100% !important;flex:1 1 100%;} .toolbar .btn{flex:1 1 auto;text-align:center;margin-left:0 !important;}
  .subtabs{gap:5px;} .subtabs button{padding:8px 11px;font-size:12.5px;}
  .grid3{grid-template-columns:1fr !important;gap:10px;}
  .stat .value{font-size:18px;}
  .pagectl{justify-content:space-between;} .pagectl button{padding:8px 12px;}
  /* páginas do hub (usuários, projetos, atualizar, minha conta) */
  .wrap{padding:16px 12px 40px !important;}
  .wrap header{flex-wrap:wrap;gap:6px 14px;}
  .wrap .panel{overflow-x:auto;}
}
