/* DGAIA Hospitality 360 · Anti-solapamiento visual */
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
button,a,input,select,textarea{max-width:100%}
button{white-space:normal;line-height:1.15}

/* Barras superiores con muchos botones */
header,.topbar,.nav,.menu,.actions{
  flex-wrap:wrap!important;
  gap:10px!important;
  align-items:center!important;
}

/* Botones de navegación */
header button,
header a,
.topbar button,
.topbar a,
.nav button,
.nav a{
  min-height:38px;
  white-space:nowrap;
}

/* Contenedores principales: más ancho útil sin miniaturizar */
main,.wrap,.page,.container{
  width:min(1480px,94vw)!important;
  max-width:1480px!important;
}

/* Botones flotantes: que no se pisen */
.floating-btn,
.fixed-btn,
#miRestauranteBtn,
#verReservasBtn{
  z-index:999!important;
}

/* Botón flotante izquierdo */
a[href*="restaurant"],
button[onclick*="restaurant"],
button:has(+ .no-match-never){
  max-width:calc(50vw - 24px);
}

/* Reserva de espacio inferior para flotantes */
body{padding-bottom:76px}

/* Móvil/tablet */
@media(max-width:900px){
  header,.topbar,.nav,.menu,.actions{
    justify-content:flex-start!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    padding-bottom:8px!important;
  }

  header button,
  header a,
  .topbar button,
  .topbar a,
  .nav button,
  .nav a{
    flex:0 0 auto;
    font-size:13px!important;
    padding:10px 12px!important;
  }

  main,.wrap,.page,.container{
    width:96vw!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .ai-waiter-grid,
  .grid,
  .kpi{
    grid-template-columns:1fr!important;
  }

  .row{
    flex-wrap:wrap!important;
  }

  .row button,
  .row select{
    flex:1 1 160px!important;
  }
}

@media(max-width:560px){
  body{padding-bottom:110px}

  .floating-btn,
  .fixed-btn{
    position:static!important;
    display:block!important;
    width:100%!important;
    margin:10px 0!important;
  }

  button{
    min-height:42px;
  }
}
