/* MB Agenda V2.1 — camada global de responsividade e compatibilidade */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}body{overflow-x:hidden;padding-left:var(--safe-left);padding-right:var(--safe-right)}img,svg,video,canvas{max-width:100%;height:auto}button,input,select,textarea{max-width:100%;font:inherit}select.form-select,input.form-control,textarea.form-control{width:100%}.container-fluid{max-width:100%}.row{min-width:0}.row>*{min-width:0}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%}.card,.card-dark,.metric-card,.app-card,.login-card{max-width:100%}
/* Menus, cabeçalhos e ações */
.navbar .container-fluid,.mb-topbar-inner{flex-wrap:wrap}.mb-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.d-flex{min-width:0}.page-title,.mb-title,h1,h2,h3{overflow-wrap:anywhere}.link-box{overflow-wrap:anywhere;word-break:break-word}
/* Formulários e botões confortáveis no toque */
.btn,.mb-btn,button,a.btn{min-height:42px}.form-control,.form-select,.mb-form-control{font-size:16px}.mb-switch-copy{display:flex;gap:13px;align-items:center;min-width:0}.mb-switch-copy>span:last-child{min-width:0}.mb-switch-copy small{display:block;margin-top:4px;line-height:1.4}.mb-save-permissions{width:100%;margin-top:20px;padding:15px}
/* Tablet */
@media (max-width:1024px){
  .container,.container-fluid{padding-left:18px!important;padding-right:18px!important}
  .mb-shell{padding:18px}
  .mb-grid-4,.mb-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mb-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mb-menu{grid-template-columns:repeat(2,minmax(0,1fr))}
  .col-md-8,.col-md-4{width:100%}
  .navbar-agenda .container-fluid{gap:12px}
}
/* Celular Android/iPhone */
@media (max-width:767px){
  body{background-attachment:scroll!important}
  .container,.container-fluid{padding-left:12px!important;padding-right:12px!important}
  .mt-4{margin-top:14px!important}.mb-5{margin-bottom:18px!important}
  .card-body,.card-dark.p-4,.metric-card.p-4{padding:16px!important}
  .mb-shell{padding:12px}
  .mb-topbar{padding-top:var(--safe-top)}
  .mb-topbar-inner{padding:10px 12px;align-items:center}
  .mb-brand{gap:10px;min-width:0}.mb-brand img{height:44px;width:44px;border-radius:13px}.mb-brand h1{font-size:16px}.mb-brand small{font-size:11px}
  .mb-top-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.mb-top-actions .mb-btn{width:100%}
  .mb-grid-4,.mb-grid-3,.mb-grid-2,.mb-menu,.mb-permissions-grid{grid-template-columns:1fr!important}
  .mb-card,.card-dark,.metric-card,.login-card,.app-card{border-radius:18px!important}
  .mb-card-body{padding:16px}.mb-hero{padding:18px;border-radius:19px}.mb-title{font-size:22px}
  .mb-switch{padding:13px;gap:10px;align-items:center}.mb-switch input{width:46px;height:26px;flex:0 0 auto}
  .mb-menu-item{padding:14px}.mb-stat{min-height:118px;padding:17px}.mb-stat-value{font-size:26px}
  .navbar-agenda{padding-top:var(--safe-top)}.navbar-agenda .container-fluid{align-items:flex-start!important}.navbar-agenda .d-flex.gap-2{width:100%;display:grid!important;grid-template-columns:1fr 1fr}.logo-nav{height:48px!important}
  h1{font-size:clamp(26px,9vw,40px)!important}h2{font-size:clamp(21px,7vw,30px)!important}h4{font-size:18px}
  .table{min-width:680px}.table th,.table td{white-space:nowrap;padding:10px 9px}
  .btn,.mb-btn,a.btn,button{width:auto}.d-grid .btn{width:100%}
  .form-control,.form-select{height:52px!important}
  .codigo-tag{display:inline-flex!important;margin:7px 4px 0 0!important}.btn-copiar-codigo{margin:7px 0 0!important}
  .capa-salao{min-height:250px!important}.conteudo-salao{min-height:250px!important;padding:25px 14px!important}.logo-salao{width:82px!important;height:82px!important}
  .footer-brand{padding-bottom:calc(20px + var(--safe-bottom))}
}
/* Celulares pequenos */
@media (max-width:390px){
  .mb-top-actions{grid-template-columns:1fr}.navbar-agenda .d-flex.gap-2{grid-template-columns:1fr}
  .mb-switch{align-items:flex-start}.mb-switch-copy{align-items:flex-start}.mb-switch input{margin-top:4px}
  .btn,.mb-btn,a.btn,button{font-size:13px}
}
/* Desktop amplo */
@media (min-width:1400px){.container-fluid{padding-left:40px!important;padding-right:40px!important}.mb-shell{max-width:1680px;padding:30px}.mb-grid{gap:22px}}
