/* responsive.css — Ajustes para telas menores: ≤1100px (Home em uma coluna), tablet ≤960px (barra lateral vira faixa de ícones),
   ≤760px (tabela empilhada) e celular ≤560px. Mantido por último de propósito: precisa sobrescrever regras de TODOS os outros arquivos CSS. */

@media(max-width:1100px){
  .homegrid{grid-template-columns:minmax(0,1fr)}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:960px){
  :root{--sidebar-w:72px}
  .sidebar{padding:1.2rem .6rem 1rem;align-items:center}
  .sidebar .brandmark{width:42px;margin:0 auto 1.4rem}
  .menu{width:100%}
  .nav{justify-content:center;padding:.8rem 0}
  .nav span{display:none}
  .cards{grid-template-columns:1fr}
  .booking.with-slots{grid-template-columns:1fr}
  .wrap{padding:0 1.2rem}
  body.auth main>.wrap{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;min-height:100vh;padding:0}
  body.auth .authhero{padding:2rem 1.2rem 1.8rem}
  body.auth .view.active{align-items:flex-start}
}
@media(max-width:760px){
  .filters .search{width:100%}
  .nextcard{grid-template-columns:minmax(0,1fr)}
  .nextimg{display:none}
  .tbl thead{display:none}
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
  .tbl tr{padding:.6rem 0;border-top:1px solid var(--border)}
  .tbl tr:first-child{border-top:0}
  .tbl td{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:0;padding:.3rem 0;text-align:right}
  .tbl td::before{content:attr(data-label);color:var(--muted);font-size:.8rem;text-align:left}
}
@media(max-width:560px){
  :root{--sidebar-w:64px}
  .sidebar{padding:1rem .4rem .8rem}
  .sidebar .brandmark{width:38px}
  .topbar{gap:.6rem}
  .topbar .pinfo{display:none}
  .profile .avatar{width:36px;height:36px}
  .profilecard{width:272px}
  .pagehead h1{font-size:1.35rem}
  .homehead h1{font-size:1.7rem}
  .homeact{width:100%}
  .hsearch{width:100%}
  .homeact .btn{width:100%;justify-content:center}
  .stats{gap:.7rem}
  .stat{padding:.9rem .8rem;gap:.7rem}
  .stat>.i{display:none}
  .stat .ico{display:none}
  .stat-txt b{font-size:1.45rem}
  .nextbtns,.nextbtns.two{grid-template-columns:1fr}
  .invite{flex-wrap:wrap}
  .invite .ico{display:none}
  .invbtns{width:100%}
  .invbtns .btn{flex:1}
  .dlgbtns .btn{flex:1}
  .drawer{border-radius:0;max-width:100%}
  .wk{border-spacing:2px}
  .wk tbody th{width:2.8rem;font-size:.7rem}
  .wc{height:16px}
  .qgrid{grid-template-columns:1fr}
  .box{padding:1.1rem}
  .panel{padding:1.1rem}
  .cal{gap:.35rem}
  .day{font-size:.9rem;border-radius:10px}
  .calhead h2{font-size:1.3rem}
  .sq{width:42px;height:42px}
  .meeting{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;padding:.9rem}
  .meeting .meta{flex-direction:column;gap:.3rem}
  .meeting .macts{order:2}
  .meeting .badge{order:3;grid-column:1/-1;justify-self:start}
  .date{width:68px;height:68px}
  .date b{font-size:1.5rem}
  .dbtns{grid-template-columns:1fr}
  .done{padding:1.6rem}
  .legend{font-size:.78rem}
  .authsymbol{width:60px;margin-bottom:1.2rem}
  .slide-title{font-size:clamp(1.25rem,6vw,1.6rem)}
  .slide-sub{font-size:.88rem;margin-top:.7rem}
  .dots{margin-top:1.3rem}
  body.auth .view.active{padding:1.6rem 1.2rem 2rem}
  .authcard h1{font-size:1.45rem}
  .authcard .input input{font-size:.88rem}
}
