*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:Arial,sans-serif;
}

:root{
  --ng-vermelho:#c1121f;
  --ng-preto:#050505;
  --ng-branco:#ffffff;
  --ng-cinza:#f5f5f5;
}

body{
  background:#f5f5f5;
  color:#000;
}

.hidden{
  display:none!important;
}

/* LOGIN IGUAL AO SISTEMA CENTRAL */

.login-container{
  width:100%;
  height:100vh;
  display:flex;
  justify-content:center;
  align-items:center;
  background:#fff;
  padding:18px;
}

.login-box{
  width:420px;
  max-width:100%;
  background:#fff;
  border-radius:5px;
  padding:35px;
  box-shadow:0 8px 30px rgba(0,0,0,.12);
  border-top:6px solid #c1121f;
}

.login-box h1{
  font-size:34px;
  margin-bottom:6px;
  color:#000;
}

.login-box p{
  color:#666;
  margin-bottom:25px;
}

.login-box label{
  display:block;
  margin:12px 0 6px;
  font-size:12px;
  font-weight:900;
}

.login-box input,
.login-box select{
  width:100%;
  height:48px;
  border:1px solid #ccc;
  border-radius:5px;
  padding:0 14px;
  margin-bottom:14px;
  font-size:15px;
  background:#fff;
}

.login-box input:focus,
.login-box select:focus{
  outline:none;
  border-color:#c1121f;
}

.login-box button{
  width:100%;
  height:50px;
  border:none;
  border-radius:5px;
  background:#000;
  color:#fff;
  font-size:15px;
  font-weight:bold;
  cursor:pointer;
  transition:.2s;
}

.login-box button:hover{
  background:#c1121f;
}

.erro{
  margin-top:14px;
  color:red;
  font-weight:bold;
}

/* APP MOBILE */

.app-garcons{
  min-height:100vh;
  display:block;
  padding-bottom:76px;
}

.topbar{
  background:#000;
  color:#fff;
  padding:18px 22px;
  border-radius:5px;
  margin-bottom:16px;
  border-left:6px solid #c1121f;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.topbar-mobile{
  position:sticky;
  top:0;
  z-index:50;
  border-radius:0;
  margin-bottom:0;
  border-left:none;
  border-bottom:5px solid #c1121f;
}

.topbar h1{
  font-size:24px;
}

.topbar p{
  margin-top:5px;
  color:#ddd;
}

.btn-trocar{
  width:auto!important;
  height:42px!important;
  padding:0 16px!important;
}

.conteudo-mobile{
  padding:14px;
  max-width:980px;
  margin:0 auto;
}

.view{
  display:none;
}

.view.ativo{
  display:block;
}

.painel{
  background:#fff;
  border-radius:5px;
  padding:18px;
  box-shadow:0 5px 14px rgba(0,0,0,.08);
}

.painel-topo-mobile{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}

.painel-topo-mobile h2{
  margin-bottom:4px;
}

.painel-topo-mobile p{
  color:#666;
  font-size:13px;
}

.btn-compacto{
  width:auto!important;
  min-width:110px;
  padding:0 14px!important;
}

/* BOTÕES E MODAIS DO SISTEMA CENTRAL */

.modal-fundo{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:9999;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.modal-fundo.ativo{
  display:flex;
}

.modal-box{
  width:420px;
  max-width:96vw;
  max-height:92vh;
  background:#fff;
  border-radius:5px;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
  overflow:auto;
}

.modal-grande{
  width:680px;
  max-width:96vw;
}

.modal-header{
  background:#000;
  color:#fff;
  padding:16px;
  border-left:6px solid #c1121f;
  display:flex;
  justify-content:space-between;
  align-items:center;
  position:sticky;
  top:0;
  z-index:2;
}

.modal-header h2{
  margin:0;
  font-size:22px;
}

.modal-header p{
  margin-top:4px;
  color:#ddd;
  font-size:13px;
}

.modal-fechar{
  width:34px;
  height:30px;
  border:none;
  border-radius:5px;
  background:#c1121f;
  color:#fff;
  font-weight:bold;
  cursor:pointer;
}

.modal-conteudo{
  padding:16px;
  display:grid;
  gap:10px;
}

.modal-conteudo label{
  font-size:12px;
  font-weight:bold;
  color:#000;
}

.modal-conteudo input,
.modal-conteudo textarea,
.modal-conteudo select{
  width:100%;
  border:1px solid #ccc;
  border-radius:5px;
  padding:10px;
  font-size:14px;
  outline:none;
  min-height:44px;
  background:#fff;
}

.modal-conteudo textarea{
  height:80px;
  resize:none;
}

.modal-conteudo input:focus,
.modal-conteudo textarea:focus,
.modal-conteudo select:focus{
  border-color:#c1121f;
}

.btn-modal{
  width:100%;
  height:44px;
  border:none;
  border-radius:5px;
  font-weight:bold;
  cursor:pointer;
  font-size:14px;
}

.btn-vermelho,
.btn-card-vermelho{
  background:#c1121f;
  color:#fff;
}

.btn-preto,
.btn-card-preto{
  background:#000;
  color:#fff;
}

/* MAPA DE MESAS SETORIZADO */

.mapa-mesas{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
  margin-top:16px!important;
}

.setor-mesas{
  background:#fff;
  border:1px solid #e5e5e5;
  border-radius:16px;
  padding:16px;
  box-shadow:0 10px 28px rgba(0,0,0,.07);
}

.setor-mesas-topo{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid #eee;
}

.setor-mesas-topo span{
  display:inline-block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  color:#b91c1c;
  margin-bottom:3px;
}

.setor-mesas-topo h3{
  margin:0;
  font-size:18px;
  line-height:1.1;
  color:#111;
}

.setor-mesas-topo small{
  font-size:12px;
  color:#666;
  font-weight:800;
  white-space:nowrap;
}

.grid-setor-mesas{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.mesa-card{
  border-radius:14px;
  padding:13px;
  min-height:104px;
  border:1px solid transparent;
  cursor:pointer;
  transition:.2s;
  box-shadow:0 5px 14px rgba(0,0,0,.08);
}

.mesa-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(0,0,0,.16);
}

.mesa-card-topo{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:flex-start;
  margin-bottom:9px;
}

.mesa-card-topo strong{
  font-size:15px;
  color:#111;
}

.mesa-card-topo span{
  display:inline-flex;
  border-radius:999px;
  padding:5px 8px;
  color:#fff;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}

.mesa-card p{
  font-size:12px;
  color:#333;
  margin:3px 0;
  line-height:1.35;
}

.mesa-livre{
  background:linear-gradient(135deg,rgba(22,163,74,.16),rgba(255,255,255,.92))!important;
  border-color:rgba(22,163,74,.55)!important;
}

.mesa-ocupada{
  background:linear-gradient(135deg,rgba(185,28,28,.18),rgba(255,255,255,.92))!important;
  border-color:rgba(185,28,28,.62)!important;
}

.mesa-cozinha{
  background:linear-gradient(135deg,rgba(37,99,235,.16),rgba(255,255,255,.92))!important;
  border-color:rgba(37,99,235,.55)!important;
}

.mesa-fechada{
  background:linear-gradient(135deg,rgba(245,158,11,.20),rgba(255,255,255,.92))!important;
  border-color:rgba(245,158,11,.62)!important;
}

.mesa-livre .mesa-card-topo span{background:#15803d;}
.mesa-ocupada .mesa-card-topo span{background:#b91c1c;}
.mesa-cozinha .mesa-card-topo span{background:#1d4ed8;}
.mesa-fechada .mesa-card-topo span{background:#f59e0b;color:#111;}

.legenda-mesas{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin:12px 0;
}

.legenda-mesas span{
  display:flex;
  align-items:center;
  gap:6px;
  background:#fafafa;
  border:1px solid #eee;
  border-radius:10px;
  padding:8px;
  font-size:11px;
  font-weight:900;
}

.bolinha{
  width:12px;
  height:12px;
  border-radius:50%;
}

.bolinha.livre{background:#15803d;}
.bolinha.ocupada{background:#b91c1c;}
.bolinha.cozinha{background:#1d4ed8;}
.bolinha.caixa{background:#f59e0b;}

/* COMANDAS */

.lista-comandas{
  display:grid;
  gap:10px;
}

.comanda-card{
  background:#fff;
  border:1px solid #ddd;
  border-left:5px solid #c1121f;
  border-radius:5px;
  padding:14px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
}

.comanda-card h3{
  margin:0 0 5px;
  font-size:17px;
  color:#000;
}

.comanda-card p{
  margin:2px 0;
  color:#555;
  font-size:13px;
}

.comanda-acoes{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.btn-card{
  border:none;
  border-radius:5px;
  padding:9px 12px;
  font-size:12px;
  font-weight:bold;
  cursor:pointer;
}

.comanda-em-caixa{
  border-left:5px solid #c1121f !important;
  background:#fff7ef;
}

.box-total-comanda{
  background:rgba(193,18,31,.08);
  border:1px solid rgba(193,18,31,.25);
  border-radius:5px;
  padding:14px;
}

.box-total-comanda span{
  display:block;
  font-size:12px;
  font-weight:bold;
  color:#333;
  margin-bottom:4px;
}

.box-total-comanda strong{
  font-size:26px;
  color:#000;
}

.lista-itens-comanda{
  border:1px solid #ddd;
  border-radius:5px;
  padding:12px;
  min-height:120px;
  background:#fff;
  max-height:280px;
  overflow:auto;
}

.item-comanda{
  display:grid;
  grid-template-columns:1fr 60px 90px 110px;
  gap:8px;
  align-items:center;
  padding:8px 0;
  border-bottom:1px solid #eee;
  font-size:13px;
}

.item-comanda:last-child{
  border-bottom:none;
}

.item-comanda strong{
  font-size:13px;
}

.acoes-topo-comanda,
.acoes-comanda-operacao,
.acoes-selecao-impressao{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.acoes-comanda-operacao{
  grid-template-columns:1fr;
}

.lista-itens-impressao{
  display:grid;
  gap:10px;
  max-height:360px;
  overflow:auto;
  padding-right:4px;
}

.item-selecao-impressao{
  display:grid!important;
  grid-template-columns:24px 1fr;
  gap:10px;
  align-items:flex-start;
  padding:12px;
  border:1px solid #ddd;
  border-radius:12px;
  background:#fff;
  cursor:pointer;
}

.item-selecao-impressao input{
  width:18px!important;
  height:18px!important;
  margin-top:2px;
  accent-color:#c1121f;
  min-height:18px!important;
}

.item-selecao-impressao strong{
  display:block;
  font-size:14px;
  color:#111;
}

.item-selecao-impressao span{
  display:block;
  font-size:12px;
  color:#555;
  margin-top:3px;
}

/* NAV */

.bottom-nav{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  background:#000;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  z-index:100;
  border-top:4px solid #c1121f;
}

.bottom-nav button{
  height:64px;
  background:#111;
  color:#fff;
  border:none;
  font-size:12px;
  font-weight:900;
}

.bottom-nav button.ativo{
  background:#c1121f;
}

@media(max-width:760px){
  .grid-setor-mesas{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .setor-mesas-topo,
  .painel-topo-mobile{
    align-items:flex-start;
    flex-direction:column;
  }

  .legenda-mesas,
  .acoes-topo-comanda,
  .acoes-selecao-impressao{
    grid-template-columns:1fr 1fr;
  }

  .item-comanda{
    grid-template-columns:1fr;
  }

  .comanda-card{
    grid-template-columns:1fr;
  }
}

@media(max-width:420px){
  .legenda-mesas{
    grid-template-columns:1fr;
  }

  .grid-setor-mesas{
    grid-template-columns:1fr 1fr;
  }

  .mesa-card{
    min-height:112px;
  }
}


/* PWA INSTALL BUTTON */
.topbar-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.btn-instalar-app{
  width:auto!important;
  height:42px!important;
  padding:0 16px!important;
  white-space:nowrap;
}

@media(max-width:520px){
  .topbar-mobile{
    align-items:flex-start;
    gap:10px;
    flex-direction:column;
  }

  .topbar-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .btn-instalar-app,
  .btn-trocar{
    width:100%!important;
  }
}


/* PWA FLOAT INSTALL - V10 */
.install-float{
  position:fixed;
  left:14px;
  right:14px;
  bottom:82px;
  z-index:10000;
  background:#000;
  color:#fff;
  border-radius:16px;
  padding:12px;
  display:grid;
  grid-template-columns:46px 1fr auto 32px;
  gap:10px;
  align-items:center;
  box-shadow:0 18px 45px rgba(0,0,0,.35);
  border:1px solid rgba(193,18,31,.65);
}

.install-float.hidden{
  display:none!important;
}

.install-float-icon{
  width:46px;
  height:46px;
  border-radius:12px;
  background:#c1121f;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:18px;
}

.install-float-text strong{
  display:block;
  font-size:14px;
  line-height:1.15;
}

.install-float-text span{
  display:block;
  font-size:12px;
  color:#ddd;
  margin-top:3px;
}

.install-float-btn{
  height:38px;
  border:none;
  border-radius:10px;
  background:#c1121f;
  color:#fff;
  font-weight:900;
  padding:0 14px;
  white-space:nowrap;
}

.install-float-close{
  width:32px;
  height:32px;
  border:none;
  border-radius:9px;
  background:#222;
  color:#fff;
  font-size:22px;
  line-height:1;
}

.topbar-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

@media(max-width:520px){
  .topbar-actions{
    width:auto;
  }

  .btn-trocar{
    width:auto!important;
    min-width:110px;
  }

  .install-float{
    grid-template-columns:42px 1fr 86px 30px;
    left:10px;
    right:10px;
    bottom:78px;
    padding:10px;
  }

  .install-float-icon{
    width:42px;
    height:42px;
  }

  .install-float-btn{
    padding:0 10px;
  }
}

/* BUSCA INTELIGENTE DE PRODUTO - V11 */
.resultado-busca-produto{
  display:none;
  gap:8px;
  max-height:260px;
  overflow:auto;
  border:1px solid #eee;
  border-radius:12px;
  padding:8px;
  background:#fafafa;
}
.resultado-busca-produto.ativo{display:grid;}
.produto-busca-item{
  width:100%;
  border:1px solid #ddd;
  background:#fff;
  border-radius:10px;
  padding:10px;
  text-align:left;
  cursor:pointer;
}
.produto-busca-item strong{display:block;color:#111;font-size:14px;margin-bottom:4px;}
.produto-busca-item span{display:block;color:#555;font-size:12px;}
.busca-vazia{padding:12px;color:#777;font-weight:800;}

/* TAXA DE SERVIÇO GARÇOM - V11 */
.box-taxa-servico{
  margin-top:2px;
  padding:12px;
  border:1px solid #c1121f;
  border-radius:12px;
  background:#fff0f1;
}
.taxa-check{
  display:flex!important;
  align-items:center;
  gap:10px;
  font-weight:900!important;
  margin:0 0 12px!important;
}
.taxa-check input{
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  accent-color:#c1121f;
}
.taxa-grid{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:10px;
  margin-bottom:12px;
}
.resumo-taxa{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:12px;
}
.resumo-taxa div{
  background:#fff;
  border:1px solid #f5c2c7;
  border-radius:10px;
  padding:10px;
}
.resumo-taxa span{
  display:block;
  font-size:12px;
  font-weight:900;
  color:#555;
  margin-bottom:4px;
}
.resumo-taxa strong{
  font-size:17px;
  color:#111;
}
@media(max-width:760px){
  .taxa-grid,.resumo-taxa{grid-template-columns:1fr;}
}

/* DESIGN CENTRAL 2.0 - CAMADA VISUAL */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:Arial,sans-serif;
}

:root{
  --ng-vermelho:#c1121f;
  --ng-preto:#050505;
  --ng-branco:#ffffff;
  --ng-cinza:#f5f5f5;
}

body{
  background:#f5f5f5;
  color:#000;
}

.hidden{
  display:none!important;
}

/* LOGIN IGUAL AO SISTEMA CENTRAL */

.login-container{
  width:100%;
  height:100vh;
  display:flex;
  justify-content:center;
  align-items:center;
  background:#fff;
  padding:18px;
}

.login-box{
  width:420px;
  max-width:100%;
  background:#fff;
  border-radius:5px;
  padding:35px;
  box-shadow:0 8px 30px rgba(0,0,0,.12);
  border-top:6px solid #c1121f;
}

.login-box h1{
  font-size:34px;
  margin-bottom:6px;
  color:#000;
}

.login-box p{
  color:#666;
  margin-bottom:25px;
}

.login-box label{
  display:block;
  margin:12px 0 6px;
  font-size:12px;
  font-weight:900;
}

.login-box input,
.login-box select{
  width:100%;
  height:48px;
  border:1px solid #ccc;
  border-radius:5px;
  padding:0 14px;
  margin-bottom:14px;
  font-size:15px;
  background:#fff;
}

.login-box input:focus,
.login-box select:focus{
  outline:none;
  border-color:#c1121f;
}

.login-box button{
  width:100%;
  height:50px;
  border:none;
  border-radius:5px;
  background:#000;
  color:#fff;
  font-size:15px;
  font-weight:bold;
  cursor:pointer;
  transition:.2s;
}

.login-box button:hover{
  background:#c1121f;
}

.erro{
  margin-top:14px;
  color:red;
  font-weight:bold;
}

/* APP MOBILE */

.app-garcons{
  min-height:100vh;
  display:block;
  padding-bottom:76px;
}

.topbar{
  background:#000;
  color:#fff;
  padding:18px 22px;
  border-radius:5px;
  margin-bottom:16px;
  border-left:6px solid #c1121f;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.topbar-mobile{
  position:sticky;
  top:0;
  z-index:50;
  border-radius:0;
  margin-bottom:0;
  border-left:none;
  border-bottom:5px solid #c1121f;
}

.topbar h1{
  font-size:24px;
}

.topbar p{
  margin-top:5px;
  color:#ddd;
}

.btn-trocar{
  width:auto!important;
  height:42px!important;
  padding:0 16px!important;
}

.conteudo-mobile{
  padding:14px;
  max-width:980px;
  margin:0 auto;
}

.view{
  display:none;
}

.view.ativo{
  display:block;
}

.painel{
  background:#fff;
  border-radius:5px;
  padding:18px;
  box-shadow:0 5px 14px rgba(0,0,0,.08);
}

.painel-topo-mobile{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}

.painel-topo-mobile h2{
  margin-bottom:4px;
}

.painel-topo-mobile p{
  color:#666;
  font-size:13px;
}

.btn-compacto{
  width:auto!important;
  min-width:110px;
  padding:0 14px!important;
}

/* BOTÕES E MODAIS DO SISTEMA CENTRAL */

.modal-fundo{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:9999;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.modal-fundo.ativo{
  display:flex;
}

.modal-box{
  width:420px;
  max-width:96vw;
  max-height:92vh;
  background:#fff;
  border-radius:5px;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
  overflow:auto;
}

.modal-grande{
  width:680px;
  max-width:96vw;
}

.modal-header{
  background:#000;
  color:#fff;
  padding:16px;
  border-left:6px solid #c1121f;
  display:flex;
  justify-content:space-between;
  align-items:center;
  position:sticky;
  top:0;
  z-index:2;
}

.modal-header h2{
  margin:0;
  font-size:22px;
}

.modal-header p{
  margin-top:4px;
  color:#ddd;
  font-size:13px;
}

.modal-fechar{
  width:34px;
  height:30px;
  border:none;
  border-radius:5px;
  background:#c1121f;
  color:#fff;
  font-weight:bold;
  cursor:pointer;
}

.modal-conteudo{
  padding:16px;
  display:grid;
  gap:10px;
}

.modal-conteudo label{
  font-size:12px;
  font-weight:bold;
  color:#000;
}

.modal-conteudo input,
.modal-conteudo textarea,
.modal-conteudo select{
  width:100%;
  border:1px solid #ccc;
  border-radius:5px;
  padding:10px;
  font-size:14px;
  outline:none;
  min-height:44px;
  background:#fff;
}

.modal-conteudo textarea{
  height:80px;
  resize:none;
}

.modal-conteudo input:focus,
.modal-conteudo textarea:focus,
.modal-conteudo select:focus{
  border-color:#c1121f;
}

.btn-modal{
  width:100%;
  height:44px;
  border:none;
  border-radius:5px;
  font-weight:bold;
  cursor:pointer;
  font-size:14px;
}

.btn-vermelho,
.btn-card-vermelho{
  background:#c1121f;
  color:#fff;
}

.btn-preto,
.btn-card-preto{
  background:#000;
  color:#fff;
}

/* MAPA DE MESAS SETORIZADO */

.mapa-mesas{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
  margin-top:16px!important;
}

.setor-mesas{
  background:#fff;
  border:1px solid #e5e5e5;
  border-radius:16px;
  padding:16px;
  box-shadow:0 10px 28px rgba(0,0,0,.07);
}

.setor-mesas-topo{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid #eee;
}

.setor-mesas-topo span{
  display:inline-block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  color:#b91c1c;
  margin-bottom:3px;
}

.setor-mesas-topo h3{
  margin:0;
  font-size:18px;
  line-height:1.1;
  color:#111;
}

.setor-mesas-topo small{
  font-size:12px;
  color:#666;
  font-weight:800;
  white-space:nowrap;
}

.grid-setor-mesas{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.mesa-card{
  border-radius:14px;
  padding:13px;
  min-height:104px;
  border:1px solid transparent;
  cursor:pointer;
  transition:.2s;
  box-shadow:0 5px 14px rgba(0,0,0,.08);
}

.mesa-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(0,0,0,.16);
}

.mesa-card-topo{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:flex-start;
  margin-bottom:9px;
}

.mesa-card-topo strong{
  font-size:15px;
  color:#111;
}

.mesa-card-topo span{
  display:inline-flex;
  border-radius:999px;
  padding:5px 8px;
  color:#fff;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}

.mesa-card p{
  font-size:12px;
  color:#333;
  margin:3px 0;
  line-height:1.35;
}

.mesa-livre{
  background:linear-gradient(135deg,rgba(22,163,74,.16),rgba(255,255,255,.92))!important;
  border-color:rgba(22,163,74,.55)!important;
}

.mesa-ocupada{
  background:linear-gradient(135deg,rgba(185,28,28,.18),rgba(255,255,255,.92))!important;
  border-color:rgba(185,28,28,.62)!important;
}

.mesa-cozinha{
  background:linear-gradient(135deg,rgba(37,99,235,.16),rgba(255,255,255,.92))!important;
  border-color:rgba(37,99,235,.55)!important;
}

.mesa-fechada{
  background:linear-gradient(135deg,rgba(245,158,11,.20),rgba(255,255,255,.92))!important;
  border-color:rgba(245,158,11,.62)!important;
}

.mesa-livre .mesa-card-topo span{background:#15803d;}
.mesa-ocupada .mesa-card-topo span{background:#b91c1c;}
.mesa-cozinha .mesa-card-topo span{background:#1d4ed8;}
.mesa-fechada .mesa-card-topo span{background:#f59e0b;color:#111;}

.legenda-mesas{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin:12px 0;
}

.legenda-mesas span{
  display:flex;
  align-items:center;
  gap:6px;
  background:#fafafa;
  border:1px solid #eee;
  border-radius:10px;
  padding:8px;
  font-size:11px;
  font-weight:900;
}

.bolinha{
  width:12px;
  height:12px;
  border-radius:50%;
}

.bolinha.livre{background:#15803d;}
.bolinha.ocupada{background:#b91c1c;}
.bolinha.cozinha{background:#1d4ed8;}
.bolinha.caixa{background:#f59e0b;}

/* COMANDAS */

.lista-comandas{
  display:grid;
  gap:10px;
}

.comanda-card{
  background:#fff;
  border:1px solid #ddd;
  border-left:5px solid #c1121f;
  border-radius:5px;
  padding:14px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
}

.comanda-card h3{
  margin:0 0 5px;
  font-size:17px;
  color:#000;
}

.comanda-card p{
  margin:2px 0;
  color:#555;
  font-size:13px;
}

.comanda-acoes{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.btn-card{
  border:none;
  border-radius:5px;
  padding:9px 12px;
  font-size:12px;
  font-weight:bold;
  cursor:pointer;
}

.comanda-em-caixa{
  border-left:5px solid #c1121f !important;
  background:#fff7ef;
}

.box-total-comanda{
  background:rgba(193,18,31,.08);
  border:1px solid rgba(193,18,31,.25);
  border-radius:5px;
  padding:14px;
}

.box-total-comanda span{
  display:block;
  font-size:12px;
  font-weight:bold;
  color:#333;
  margin-bottom:4px;
}

.box-total-comanda strong{
  font-size:26px;
  color:#000;
}

.lista-itens-comanda{
  border:1px solid #ddd;
  border-radius:5px;
  padding:12px;
  min-height:120px;
  background:#fff;
  max-height:280px;
  overflow:auto;
}

.item-comanda{
  display:grid;
  grid-template-columns:1fr 60px 90px 110px;
  gap:8px;
  align-items:center;
  padding:8px 0;
  border-bottom:1px solid #eee;
  font-size:13px;
}

.item-comanda:last-child{
  border-bottom:none;
}

.item-comanda strong{
  font-size:13px;
}

.acoes-topo-comanda,
.acoes-comanda-operacao,
.acoes-selecao-impressao{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.acoes-comanda-operacao{
  grid-template-columns:1fr;
}

.lista-itens-impressao{
  display:grid;
  gap:10px;
  max-height:360px;
  overflow:auto;
  padding-right:4px;
}

.item-selecao-impressao{
  display:grid!important;
  grid-template-columns:24px 1fr;
  gap:10px;
  align-items:flex-start;
  padding:12px;
  border:1px solid #ddd;
  border-radius:12px;
  background:#fff;
  cursor:pointer;
}

.item-selecao-impressao input{
  width:18px!important;
  height:18px!important;
  margin-top:2px;
  accent-color:#c1121f;
  min-height:18px!important;
}

.item-selecao-impressao strong{
  display:block;
  font-size:14px;
  color:#111;
}

.item-selecao-impressao span{
  display:block;
  font-size:12px;
  color:#555;
  margin-top:3px;
}

/* NAV */

.bottom-nav{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  background:#000;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  z-index:100;
  border-top:4px solid #c1121f;
}

.bottom-nav button{
  height:64px;
  background:#111;
  color:#fff;
  border:none;
  font-size:12px;
  font-weight:900;
}

.bottom-nav button.ativo{
  background:#c1121f;
}

@media(max-width:760px){
  .grid-setor-mesas{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .setor-mesas-topo,
  .painel-topo-mobile{
    align-items:flex-start;
    flex-direction:column;
  }

  .legenda-mesas,
  .acoes-topo-comanda,
  .acoes-selecao-impressao{
    grid-template-columns:1fr 1fr;
  }

  .item-comanda{
    grid-template-columns:1fr;
  }

  .comanda-card{
    grid-template-columns:1fr;
  }
}

@media(max-width:420px){
  .legenda-mesas{
    grid-template-columns:1fr;
  }

  .grid-setor-mesas{
    grid-template-columns:1fr 1fr;
  }

  .mesa-card{
    min-height:112px;
  }
}


/* PWA INSTALL BUTTON */
.topbar-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.btn-instalar-app{
  width:auto!important;
  height:42px!important;
  padding:0 16px!important;
  white-space:nowrap;
}

@media(max-width:520px){
  .topbar-mobile{
    align-items:flex-start;
    gap:10px;
    flex-direction:column;
  }

  .topbar-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .btn-instalar-app,
  .btn-trocar{
    width:100%!important;
  }
}


/* PWA FLOAT INSTALL - V10 */
.install-float{
  position:fixed;
  left:14px;
  right:14px;
  bottom:82px;
  z-index:10000;
  background:#000;
  color:#fff;
  border-radius:16px;
  padding:12px;
  display:grid;
  grid-template-columns:46px 1fr auto 32px;
  gap:10px;
  align-items:center;
  box-shadow:0 18px 45px rgba(0,0,0,.35);
  border:1px solid rgba(193,18,31,.65);
}

.install-float.hidden{
  display:none!important;
}

.install-float-icon{
  width:46px;
  height:46px;
  border-radius:12px;
  background:#c1121f;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:18px;
}

.install-float-text strong{
  display:block;
  font-size:14px;
  line-height:1.15;
}

.install-float-text span{
  display:block;
  font-size:12px;
  color:#ddd;
  margin-top:3px;
}

.install-float-btn{
  height:38px;
  border:none;
  border-radius:10px;
  background:#c1121f;
  color:#fff;
  font-weight:900;
  padding:0 14px;
  white-space:nowrap;
}

.install-float-close{
  width:32px;
  height:32px;
  border:none;
  border-radius:9px;
  background:#222;
  color:#fff;
  font-size:22px;
  line-height:1;
}

.topbar-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

@media(max-width:520px){
  .topbar-actions{
    width:auto;
  }

  .btn-trocar{
    width:auto!important;
    min-width:110px;
  }

  .install-float{
    grid-template-columns:42px 1fr 86px 30px;
    left:10px;
    right:10px;
    bottom:78px;
    padding:10px;
  }

  .install-float-icon{
    width:42px;
    height:42px;
  }

  .install-float-btn{
    padding:0 10px;
  }
}

/* BUSCA INTELIGENTE DE PRODUTO - V11 */
.resultado-busca-produto{
  display:none;
  gap:8px;
  max-height:260px;
  overflow:auto;
  border:1px solid #eee;
  border-radius:12px;
  padding:8px;
  background:#fafafa;
}
.resultado-busca-produto.ativo{display:grid;}
.produto-busca-item{
  width:100%;
  border:1px solid #ddd;
  background:#fff;
  border-radius:10px;
  padding:10px;
  text-align:left;
  cursor:pointer;
}
.produto-busca-item strong{display:block;color:#111;font-size:14px;margin-bottom:4px;}
.produto-busca-item span{display:block;color:#555;font-size:12px;}
.busca-vazia{padding:12px;color:#777;font-weight:800;}

/* TAXA DE SERVIÇO GARÇOM - V11 */
.box-taxa-servico{
  margin-top:2px;
  padding:12px;
  border:1px solid #c1121f;
  border-radius:12px;
  background:#fff0f1;
}
.taxa-check{
  display:flex!important;
  align-items:center;
  gap:10px;
  font-weight:900!important;
  margin:0 0 12px!important;
}
.taxa-check input{
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  accent-color:#c1121f;
}
.taxa-grid{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:10px;
  margin-bottom:12px;
}
.resumo-taxa{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:12px;
}
.resumo-taxa div{
  background:#fff;
  border:1px solid #f5c2c7;
  border-radius:10px;
  padding:10px;
}
.resumo-taxa span{
  display:block;
  font-size:12px;
  font-weight:900;
  color:#555;
  margin-bottom:4px;
}
.resumo-taxa strong{
  font-size:17px;
  color:#111;
}
@media(max-width:760px){
  .taxa-grid,.resumo-taxa{grid-template-columns:1fr;}
}


/* PROPOSTA VISUAL — sobre o CSS original, sem reescrever sua estrutura */
:root{--ng-vermelho:#d6404b;--ng-preto:#080809;--ng-branco:#efeff1;--ng-cinza:#28282c}
html{background:#202023}body{background:#202023;color:#e7e7e9}body,button,input,textarea,select{font-family:Arial,sans-serif}
.login-container{background:#202023}.login-box{background:#2b2b2f;border:1px solid #44444b;border-top:5px solid #c72d39;border-radius:9px;box-shadow:0 16px 40px #0006}.login-box h1{color:#fff}.login-box p{color:#bcbcc3}.login-box label,.modal-conteudo label{color:#dbdbe0}.login-box input,.login-box select{background:#202024;color:#fff;border:1px solid #55535b;border-radius:7px}.login-box button{background:#b82b36;border:1px solid #111;border-radius:7px;height:52px}
.app-garcons{background:#202023}.topbar,.topbar-mobile{background:#101012;border-bottom:3px solid #bb2c39}.topbar h1{font-size:21px}.topbar p{color:#b6b6ba}.conteudo-mobile{max-width:1100px;padding:12px 12px 95px}.painel{background:#29292d;border:1px solid #3b3b41;border-radius:9px;box-shadow:0 6px 16px #0003;padding:15px}.painel-topo-mobile h2{color:#f5f5f5;font-size:20px}.painel-topo-mobile p{color:#adaeb5}.btn-modal,.btn-card{border-radius:7px;border:1px solid #0d0d0f;min-height:46px;transition:background .15s,transform .15s}.btn-modal:active,.btn-card:active{transform:scale(.98)}.btn-vermelho,.btn-card-vermelho{background:#c63c48;color:#fff}.btn-vermelho:hover,.btn-card-vermelho:hover{background:#eb3342}.btn-preto,.btn-card-preto{background:#18181b;color:#f2f2f4;border-color:#555}.btn-preto:hover,.btn-card-preto:hover{background:#35353a}.btn-azul{background:#247bd1!important;color:#fff!important;border-color:#0e4d89!important}.btn-azul:hover{background:#146abf!important}
.setor-mesas{background:#232327;border:1px solid #424249;border-radius:9px;box-shadow:none;padding:14px}.setor-mesas-topo{border-bottom:1px solid #404046}.setor-mesas-topo span{color:#e36d75}.setor-mesas-topo h3{color:#f0f0f3}.setor-mesas-topo small{color:#a9a9b0}.grid-setor-mesas{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.mesa-card{border-radius:8px;min-height:110px;box-shadow:none;padding:11px;border-width:1px!important}.mesa-card-topo{flex-wrap:wrap;gap:6px}.mesa-card-topo strong{color:#f7f7f7;font-size:15px}.mesa-card-topo span{font-size:10px;padding:4px 6px}.mesa-card p{color:#d4d4d8}.mesa-livre{background:#183124!important;border-color:#39804d!important}.mesa-ocupada{background:#382326!important;border-color:#a44a51!important}.mesa-cozinha{background:#1e3046!important;border-color:#4778b4!important}.mesa-fechada{background:#393123!important;border-color:#ac8540!important}.legenda-mesas{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.legenda-mesas span{background:#242428;color:#d7d7dc;border:1px solid #46464d;border-radius:7px;padding:7px 5px;font-size:10px}.bolinha{flex-shrink:0}
.comanda-card{background:#232327;border:1px solid #484850;border-left:4px solid #c6404a;border-radius:8px;box-shadow:none}.comanda-card h3{color:#f0f0f1}.comanda-card p{color:#b9b9c0}.comanda-em-caixa{background:#302a26}.modal-fundo{background:#000b;padding:12px}.modal-box{background:#29292d;border-radius:10px;max-height:calc(100dvh - 28px);box-shadow:0 14px 50px #000b,0 0 25px #a71e3528;overflow:auto}.modal-header{background:#0c0c0d;border-left:0;border-bottom:2px solid #aa2b37;padding:15px}.modal-header h2{font-size:19px}.modal-header p{color:#babac1}.modal-fechar{border-radius:7px}.modal-conteudo{padding:15px;gap:10px}.modal-conteudo input,.modal-conteudo textarea,.modal-conteudo select{background:#202024;color:#f0f0f3;border:1px solid #664045;border-radius:7px;min-height:46px}.modal-conteudo textarea::placeholder,.modal-conteudo input::placeholder{color:#92929a}.box-total-comanda{background:#322329;border:1px solid #67424a;border-radius:8px}.box-total-comanda span{color:#c7c7cc}.box-total-comanda strong{color:#fff}.lista-itens-comanda{background:#222226;border:1px solid #44444b;color:#e7e7e9;border-radius:8px}.item-comanda{border-color:#434349}.item-selecao-impressao{background:#222226;border-color:#45454e;border-radius:8px;color:#eee}.item-selecao-impressao strong{color:#f2f2f3}.item-selecao-impressao span{color:#bdbdc3}.bottom-nav{background:#09090b;border-top:3px solid #ac2835;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{background:#151518;color:#c8c8cf;font-size:12px}.bottom-nav button.ativo{background:#bb313d;color:white}.resultado-busca-produto{background:#202024;border:1px solid #55545a}.produto-busca-item{background:#303036;border-color:#55545d;color:white}.produto-busca-item strong{color:white}.produto-busca-item span{color:#c1c1c6}.busca-vazia{color:#b3b3ba}.box-taxa-servico{background:#26272b;border:1px solid #49494f;border-radius:8px}.resumo-taxa{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin:0}.resumo-taxa div{background:#1d1e21;border-color:#47484c;border-radius:7px}.resumo-taxa span{color:#b5b6bd}.resumo-taxa strong{color:#fff}
/* A taxa é apenas visualizada pelo garçom, conforme definição aprovada. */
.taxa-check,.taxa-grid,#btnSalvarTaxaServico{display:none!important}
.preview-bar{background:#482a30;color:#ffdee0;text-align:center;font-size:11px;padding:7px 10px;font-weight:bold;letter-spacing:.03em}.sugestoes-cliente{display:none;flex-direction:column;gap:4px;border:1px solid #55545a;border-radius:7px;background:#1e1e22;padding:5px;max-height:140px;overflow-y:auto}.sugestoes-cliente.ativo{display:flex}.sugestoes-cliente button{padding:11px;border:0;border-radius:6px;background:#333339;color:#f4f4f5;text-align:left;font-weight:700}.mini-aviso{font-size:11px;color:#aeb0b7}.modal-conteudo .automatico{color:#b8e1c3;border-color:#3e7654;background:#1c3025}
@media(max-width:760px){.painel-topo-mobile{flex-direction:row;align-items:center}.grid-setor-mesas{grid-template-columns:repeat(2,minmax(0,1fr))}.setor-mesas-topo{flex-direction:row;align-items:center}.setor-mesas-topo small{white-space:normal;text-align:right}.legenda-mesas{grid-template-columns:repeat(2,minmax(0,1fr))}.comanda-card{grid-template-columns:1fr}.topbar-mobile{flex-direction:row;align-items:center}.topbar-actions{width:auto}.item-comanda{grid-template-columns:1fr auto}.resumo-taxa{grid-template-columns:1fr 1fr!important}}
@media(max-width:390px){.topbar h1{font-size:18px}.painel{padding:10px}.setor-mesas{padding:10px}.mesa-card{padding:8px}.mesa-card-topo strong{font-size:13px}.painel-topo-mobile h2{font-size:18px}.btn-compacto{min-width:88px}}

/* IDENTIDADE VISUAL OFICIAL: CENTRAL NAGASAKI 2.0 — MOBILE */
:root{--ng-vermelho:#e31322;--ng-preto:#000;--ng-branco:#f1f3f6;--ng-cinza:#23262d}
html,body,.app-garcons{background:#101216!important;color:#f1f3f6!important}
.login-container{background:#101216!important}.login-box{background:#23262d!important;border:none!important;border-radius:10px!important;box-shadow:0 26px 65px rgba(0,0,0,.62),0 0 26px 6px rgba(204,34,57,.35),0 0 65px 20px rgba(174,25,48,.23)!important;padding:27px!important;max-width:425px}
.login-box h1{color:#fff!important;text-align:center;font-size:25px}.login-box p{text-align:center;color:#bbc1cb}.login-box label{color:#edf0f5;font-size:13px}.login-box input,.login-box select,.modal-conteudo input,.modal-conteudo textarea,.modal-conteudo select{background:#171b21!important;color:#fff!important;border:1px solid #71404b!important;border-radius:7px!important}.login-box input:focus,.login-box select:focus,.modal-conteudo input:focus,.modal-conteudo textarea:focus,.modal-conteudo select:focus{border-color:#d86d7e!important;box-shadow:0 0 0 2px #ad4e614a}
.login-box button{background:#702f39!important;border:1px solid #c36a76!important;border-radius:7px!important;color:white!important}.login-box button:hover{background:#168a4f!important;border-color:#31b36e!important}
.topbar,.topbar-mobile{background:#050505!important;border-bottom:2px solid #702f39!important}.topbar h1{font-size:20px!important}.topbar p{color:#bbc1cb!important}
.conteudo-mobile{max-width:1040px}.painel{background:#22262e!important;border:1px solid #393d45!important;border-radius:9px!important}.painel-topo-mobile h2{color:#f6f7f9}.painel-topo-mobile p{color:#b7bec9}
.btn-modal,.btn-card{min-height:45px;border-radius:7px!important;border:1px solid #1a1a1a!important;font-size:13px}.btn-vermelho,.btn-card-vermelho{background:#8f3945!important;border-color:#ac6270!important;color:white!important}.btn-vermelho:hover,.btn-card-vermelho:hover{background:#d7192b!important;border-color:#e44754!important}.btn-preto,.btn-card-preto{background:#14161a!important;border-color:#62656d!important}.btn-preto:hover,.btn-card-preto:hover{background:#3d414a!important}.btn-azul{background:#2169ae!important;border-color:#3885cc!important}.btn-azul:hover{background:#307ec7!important}.btn-vermelho:active,.btn-preto:active{transform:scale(.99)}
.setor-mesas{background:#1b1e24!important;border:1px solid #3c424d!important;border-radius:9px!important}.setor-mesas-topo{border-bottom-color:#3d424a!important}.setor-mesas-topo span{color:#da8793!important}.setor-mesas-topo h3{color:#fff!important}.setor-mesas-topo small{color:#aeb7c2!important}.mesa-card{border-radius:7px!important;min-height:116px!important;box-shadow:0 4px 10px #0002!important}.mesa-card:hover{transform:translateY(-1px)!important}.mesa-livre{background:#173224!important;border-color:#31834e!important}.mesa-ocupada{background:#3a2029!important;border-color:#a44a57!important}.mesa-cozinha{background:#1e3046!important;border-color:#4778b4!important}.mesa-fechada{background:#3a3021!important;border-color:#b28a41!important}.mesa-card-topo strong{color:#f8f9fc!important}.mesa-card p{color:#d2d9df!important}.legenda-mesas span{background:#171a1f!important;border-color:#424751!important;color:#e4e5e9!important}
.comanda-card{background:#1c2026!important;border:1px solid #424851!important;border-left:4px solid #b44b5a!important;border-radius:7px!important}.comanda-card h3{color:white!important}.comanda-card p{color:#bfc6d1!important}.modal-fundo{background:rgba(0,0,0,.74)!important}.modal-box{background:#22262e!important;border:none!important;border-radius:10px!important;box-shadow:0 26px 65px rgba(0,0,0,.62),0 0 26px 6px rgba(204,34,57,.35),0 0 65px 20px rgba(174,25,48,.23)!important;max-height:calc(100dvh - 24px)!important}.modal-header{background:#000!important;border:0!important;border-radius:10px 10px 0 0;padding:17px 19px}.modal-fechar{background:#702f39!important;border:1px solid #b76a75!important;width:38px;height:36px}.modal-header p{color:#bbc1cb!important}.modal-conteudo{padding:18px!important}.modal-conteudo label{color:#edf0f5!important}.modal-conteudo input,.modal-conteudo select{min-height:46px}.modal-conteudo textarea{min-height:76px}
.box-total-comanda{background:#1a1c22!important;border:1px solid #593b45!important;border-radius:7px!important}.box-total-comanda span{color:#bac1cb!important}.box-total-comanda strong{color:#fff!important}.box-taxa-servico{background:#1d2026!important;border:1px solid #454953!important;border-radius:7px!important}.resumo-taxa>div{background:#17191e!important;border-color:#434851!important}.resumo-taxa span{color:#bdc3cc!important}.resumo-taxa strong{color:#fff!important}.lista-itens-comanda,.item-selecao-impressao{background:#191d23!important;border-color:#3a414c!important;color:#f0f2f6!important}.bottom-nav{border-top:2px solid #702f39!important;background:#050505!important}.bottom-nav button{background:#15171b!important;color:#c4cad3!important}.bottom-nav button.ativo{background:#702f39!important;color:#fff!important}.sugestoes-cliente{background:#171b21!important;border-color:#71404b!important}.sugestoes-cliente button{background:#2b3039!important}.sugestoes-cliente button:hover{background:#702f39!important}.preview-bar{background:#3b2630!important;color:#e7c5cd!important}
@media(max-width:520px){.topbar-mobile{flex-direction:row!important;align-items:center!important;gap:8px!important;padding:13px 15px!important}.topbar-actions{width:auto!important;display:flex!important}.btn-trocar{min-width:77px!important;padding:0 10px!important}.topbar h1{font-size:17px!important}.topbar p{font-size:12px}.conteudo-mobile{padding:10px 10px 98px}.painel{padding:12px!important}.setor-mesas{padding:11px!important}.modal-box{width:100%!important;max-width:100%!important}.modal-fundo{padding:9px!important}.legenda-mesas{grid-template-columns:repeat(2,minmax(0,1fr))!important}.legenda-mesas span{font-size:10px;padding:7px}.bottom-nav button{height:62px!important}}


.btn-vinho{background:#702f39!important;border:1px solid #ac6270!important;color:#fff!important;}
.btn-vinho:hover{background:#8a3a47!important;border-color:#c97a88!important;}
.btn-verde{background:#168a4f!important;border:1px solid #31b36e!important;color:#fff!important;}
.btn-verde:hover{background:#1ea864!important;border-color:#55d191!important;}

/* BUSCA INTELIGENTE DE CLIENTES — PRÉVIA SEM BANCO */
#sugestoesCliente{max-height:235px;gap:5px;padding:6px}
#sugestoesCliente button{min-height:43px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #49434b;background:#292d34;text-align:left;color:#f4f4f5;border-radius:7px;padding:10px 12px;cursor:pointer}
#sugestoesCliente button:hover,#sugestoesCliente button:focus-visible{background:#702f39;outline:1px solid #d77785}
#sugestoesCliente .cliente-secao{font-size:11px;color:#bbc1cb;padding:4px 8px 2px;font-weight:bold}
#sugestoesCliente .cliente-tipo{font-size:11px;font-weight:normal;color:#b5d7c0;white-space:nowrap}
#sugestoesCliente .cliente-novo{border-color:#397b57;background:#1d3028}
#clienteBuscaAjuda{line-height:1.45}

/* Busca inteligente de produtos — apresentação */
#selectProdutoItem[hidden]{display:none!important}
#buscaProdutoItem{width:100%}
#resultadoBuscaProduto{max-height:245px;overflow-y:auto;gap:5px}
#resultadoBuscaProduto .produto-busca-item{width:100%;min-height:51px;text-align:left;padding:10px 12px;border-radius:7px;border:1px solid #56454b;display:flex;align-items:center;justify-content:space-between;gap:12px}
#resultadoBuscaProduto .produto-busca-item:hover,#resultadoBuscaProduto .produto-busca-item:focus{background:#493039;border-color:#b96b7b;outline:none}
#resultadoBuscaProduto .produto-busca-item strong{margin:0;font-size:14px}
#resultadoBuscaProduto .produto-busca-item span{font-weight:bold;color:#f1dce1;font-size:13px;white-space:nowrap}
.produto-escolhido{background:#22282a;border:1px solid #4c5c55;border-radius:7px;color:#becdc4;padding:10px 12px;font-size:13px}
.produto-escolhido.selecionado{background:#1c3529;border-color:#298453;color:#dcf6e6;font-weight:bold}

/* CONTROLE DE QUANTIDADE — BURRO PREMIUM */
.controle-quantidade{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;gap:9px;align-items:stretch;width:100%}
.controle-quantidade .btn-quantidade{min-height:52px;border:1px solid #ac6270;border-radius:7px;background:#702f39;color:#fff;font-size:28px;font-weight:700;cursor:pointer;touch-action:manipulation}
.controle-quantidade .btn-quantidade:active,.controle-quantidade .btn-quantidade:hover{background:#d7192b;border-color:#e54d5e}
.controle-quantidade #quantidadeItem{min-width:0;width:100%;height:52px;text-align:center;font-size:21px;font-weight:800;appearance:textfield;-moz-appearance:textfield;margin:0}
.controle-quantidade #quantidadeItem::-webkit-inner-spin-button,.controle-quantidade #quantidadeItem::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* AJUSTES DE CONTROLES APROVADOS */
.btn-vinho{background:#702f39!important;border:1px solid #ac6270!important;color:#fff!important}
.btn-vinho:hover{background:#d7192b!important;border-color:#e44754!important}
#btnAbrirComandaMesa:hover,#btnAbrirComandaMesa:focus-visible{background:#168a4f!important;border-color:#31b36e!important}
#btnVerComandasMesa:hover,#btnVerComandasMesa:focus-visible{background:#d7192b!important;border-color:#e44754!important}
.btn-azul{background:#2169ae!important;border:1px solid #3885cc!important;color:#fff!important}
.btn-azul:hover{background:#307ec7!important}
.quantidade-passo{display:grid;grid-template-columns:60px 1fr 60px;gap:10px;align-items:center}
.quantidade-passo button{height:48px;border:1px solid #ac6270;background:#702f39;color:#fff;border-radius:7px;font-size:26px;font-weight:800;cursor:pointer}
.quantidade-passo input{text-align:center;font-size:20px;font-weight:800;min-width:0}
.nota-taxa{font-size:13px;color:#bfc4cd;margin:4px 0 10px}
#sugestoesCliente button{width:100%;text-align:left}
button:disabled{opacity:.45!important;cursor:not-allowed!important}

/* CONFIRMAÇÃO V20 — somente após retorno do Firestore */
.confirmacao-envio{position:fixed;inset:0;z-index:30000;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(0,0,0,.68)}
.confirmacao-envio.hidden{display:none!important}
.confirmacao-envio-card{width:min(100%,360px);background:#252830;border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,.68),0 0 45px rgba(179,33,55,.32);padding:26px 20px;text-align:center;color:#f5f6f8}
.confirmacao-envio-icone{display:flex;margin:0 auto 15px;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:#14663d;color:white;font-size:30px;font-weight:900}
.confirmacao-envio-card.erro .confirmacao-envio-icone{background:#a32736}
.confirmacao-envio-card strong{display:block;font-size:19px;line-height:1.35}
.confirmacao-envio-card p{margin:9px 0 0;color:#d1d5dc;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.confirmacao-envio-card button{margin-top:20px}

/* Diálogos nativos substituídos por modal consistente com a Central Nagasaki. */
.dialogo-garcons{position:fixed;inset:0;z-index:40000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.78)}
.dialogo-garcons.hidden{display:none!important}
.dialogo-garcons-card{width:min(100%,390px);background:#252830;color:#f5f6f8;border-radius:10px;padding:26px 22px;box-shadow:0 25px 75px rgba(0,0,0,.72),0 0 35px rgba(190,35,59,.32);text-align:center}
.dialogo-garcons-card h2{font-family:Arial,sans-serif;font-size:21px;font-weight:800;line-height:1.35;margin:0 0 13px}
.dialogo-garcons-card p{font-family:Arial,sans-serif;font-size:15px;line-height:1.5;margin:0 0 24px;color:#e1e3e7;overflow-wrap:anywhere;white-space:pre-line}
.dialogo-garcons-acoes{display:flex;gap:12px}
.dialogo-garcons-acoes button{flex:1;min-width:0;min-height:51px;border-radius:7px;font-weight:700}

/* V25 — SOMENTE ERGONOMIA DOS BOTÕES (mobile-first).
   Mantém cores, textos, funções, posições e dimensões dos campos. */
.btn-modal,.btn-card,.btn-compacto,.btn-instalar-app,
.modal-conteudo button:not(.modal-fechar):not(.btn-quantidade),
.painel button:not(.mesa-card):not(.btn-quantidade),
.dialogo-garcons-acoes button,.confirmacao-envio-card button {
  min-height:58px!important;
  padding-top:13px!important;
  padding-bottom:13px!important;
  touch-action:manipulation;
}
/* Alvos de toque das buscas inteligentes. */
#sugestoesCliente button,#resultadoBuscaProduto .produto-busca-item {
  min-height:56px!important;
}
/* Botões + e − preservam seu formato e ganham área mais confortável. */
.controle-quantidade .btn-quantidade,.quantidade-passo button {
  min-height:58px!important;
  height:58px!important;
}
/* Navegação fixa do app com altura maior e espaço reservado ao conteúdo. */
.bottom-nav button{height:72px!important;min-height:72px!important}
@media(max-width:520px){
  .bottom-nav button{height:72px!important;min-height:72px!important}
  .conteudo-mobile{padding-bottom:112px!important}
}
/* O X de fechar continua compacto para não deslocar o cabeçalho do modal. */
.modal-fechar{min-height:40px!important}
