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

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

.hidden{
  display:none!important;
}

/* LOGIN */

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

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

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

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

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

.login-box input:focus{
  outline:none;
  border-color:#fe7d09;
}

.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:#fe7d09;
}

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

/* APP */

.app{
  min-height:100vh;
  display:grid;
  grid-template-columns:250px 1fr;
}

/* MENU */

.sidebar{
  background:#000;
  color:#fff;
  padding:18px;
  display:flex;
  flex-direction:column;
}

.brand{
  margin-bottom:25px;
}

.brand h2{
  font-size:26px;
}

.brand span{
  color:#fe7d09;
  font-size:12px;
  font-weight:bold;
}

nav{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.menu{
  width:100%;
  height:46px;
  border:none;
  border-radius:5px;
  background:#111;
  color:#fff;
  cursor:pointer;
  text-align:left;
  padding:0 14px;
  font-weight:bold;
  transition:.2s;
}

.menu:hover,
.menu.ativo{
  background:#fe7d09;
}

.logout{
  margin-top:auto;
  height:46px;
  border:none;
  border-radius:5px;
  background:#222;
  color:#fff;
  cursor:pointer;
  font-weight:bold;
}

/* CONTEUDO */

.conteudo{
  padding:16px;
}

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

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

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

.status-online{
  background:#fe7d09;
  color:#fff;
  padding:10px 14px;
  border-radius:5px;
  font-size:12px;
  font-weight:bold;
}

/* MODULOS */

.modulo{
  display:none;
}

.modulo.ativo{
  display:block;
}

/* CARDS */

.cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:16px;
}

.card{
  background:#fff;
  border-radius:5px;
  padding:20px;
  box-shadow:0 5px 14px rgba(0,0,0,.08);
  border-top:4px solid #fe7d09;
}

.card span{
  color:#666;
  font-size:12px;
  font-weight:bold;
}

.card strong{
  display:block;
  margin:10px 0;
  font-size:32px;
}

.card p{
  color:#777;
  font-size:13px;
}

/* BOX */

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

.painel h2{
  margin-bottom:8px;
}

/* MESAS */

.mapa-mesas{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:16px;
}

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

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

.mesa-card h3{
  margin-bottom:10px;
  font-size:22px;
  color:#000;
}

.mesa-card p{
  margin-bottom:5px;
  color:#333;
}

.mesa-livre{
  background:rgba(40,199,111,.16);
  border-color:rgba(40,199,111,.55);
}

.mesa-ocupada{
  background:rgba(234,84,85,.16);
  border-color:rgba(234,84,85,.55);
}

.mesa-fechada{
  background:rgba(255,159,67,.18);
  border-color:rgba(255,159,67,.6);
}

@media(max-width:1200px){

.cards{
  grid-template-columns:1fr 1fr;
}

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

}

@media(max-width:700px){

.app{
  grid-template-columns:1fr;
}

.cards{
  grid-template-columns:1fr;
}

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

.topbar{
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}

}

.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;
  background:#fff;
  border-radius:5px;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
  overflow:hidden;
}

.modal-header{
  background:#000;
  color:#fff;
  padding:16px;
  border-left:6px solid #fe7d09;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.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:#fe7d09;
  color:#fff;
  font-weight:bold;
  cursor:pointer;
}

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

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

.btn-laranja{
  background:#fe7d09;
  color:#fff;
}

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

.mesa-card{
  cursor:pointer;
  transition:.2s;
}

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

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

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

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

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

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

.box-total-comanda{
  background:rgba(254,125,9,.12);
  border:1px solid rgba(254,125,9,.45);
  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;
}

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

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

.btn-mini{
  height:30px;
  border:none;
  border-radius:5px;
  font-size:11px;
  font-weight:bold;
  cursor:pointer;
}

.btn-cozinha{
  background:#fe7d09;
  color:#fff;
}

.btn-excluir{
  background:#000;
  color:#fff;
}

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

.comanda-card{
  background:#fff;
  border:1px solid #ddd;
  border-left:5px solid #fe7d09;
  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;
}

.btn-card-laranja{
  background:#fe7d09;
  color:#fff;
}

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

.resumo-movimento{
  background:rgba(254,125,9,.12);
  border:1px solid rgba(254,125,9,.35);
  border-radius:5px;
  padding:14px;
  margin-bottom:12px;
}

@media(max-width:700px){
  .comanda-card{
    grid-template-columns:1fr;
  }
}

.btn-imprimir{
  background:#1d4ed8;
  color:#fff;
}

.form-cardapio{
  display:grid;
  grid-template-columns:1fr 160px 120px 1fr 180px 160px;
  gap:10px;
  margin-top:15px;
}

.form-cardapio input,
.form-cardapio select{
  height:44px;
  border:1px solid #ccc;
  border-radius:5px;
  padding:0 10px;
  font-size:14px;
}

@media(max-width:900px){
  .form-cardapio{
    grid-template-columns:1fr;
  }
}

.drop-imagem{
  border:2px dashed #fe7d09;
  border-radius:5px;
  min-height:90px;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  cursor:pointer;
  background:rgba(254,125,9,.08);
  color:#333;
  font-size:13px;
  overflow:hidden;
}

.drop-imagem img{
  width:100%;
  max-height:120px;
  object-fit:cover;
  border-radius:5px;
}

.produto-img-card{
  width:90px;
  height:70px;
  object-fit:cover;
  border-radius:5px;
  border:1px solid #ddd;
}

.form-ficha,
.form-ingrediente{
  display:grid;
  grid-template-columns:1.5fr 160px 150px 150px 1fr;
  gap:10px;
  margin-top:15px;
}

.form-ingrediente{
  grid-template-columns:1fr 150px 120px 120px 140px 140px;
}

.form-ficha input,
.form-ficha select,
.form-ingrediente input,
.form-ingrediente select,
.resumo-ficha input{
  height:44px;
  border:1px solid #ccc;
  border-radius:5px;
  padding:0 10px;
  font-size:14px;
}

.resumo-ficha{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  margin-top:15px;
}

@media(max-width:1000px){
  .form-ficha,
  .form-ingrediente,
  .resumo-ficha{
    grid-template-columns:1fr;
  }
}

.box-taxa-servico{
  margin-top:12px;
  padding:12px;
  border:1px solid #ff7a00;
  border-radius:12px;
  background:#fff4e8;
}

.taxa-check{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  margin-bottom:12px;
}

.taxa-check input{
  width:18px;
  height:18px;
  accent-color:#ff7a00;
}

.taxa-grid{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:10px;
  margin-bottom:14px;
}

.taxa-grid select,
.taxa-grid input,
#caixaFormaPagamento,
#caixaValorPago,
#caixaTotalComanda{
  width:100%;
  height:46px;
  border:1px solid #d6d6d6;
  border-radius:8px;
  padding:0 12px;
  font-size:15px;
  background:#fff;
  color:#111;
  box-sizing:border-box;
}

.taxa-grid select:focus,
.taxa-grid input:focus,
#caixaFormaPagamento:focus,
#caixaValorPago:focus{
  outline:none;
  border-color:#ff7a00;
  box-shadow:0 0 0 2px rgba(255,122,0,.15);
}

.resumo-taxa{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:14px;
}

.resumo-taxa div{
  background:#fff;
  border-radius:10px;
  padding:12px;
  border:1px solid #ffd0a3;
}

.resumo-taxa span{
  display:block;
  font-size:13px;
  font-weight:700;
  color:#555;
  margin-bottom:4px;
}

.resumo-taxa strong{
  font-size:18px;
  color:#111;
}

#modalFinalizarCaixa .modal-conteudo{
  border-radius:14px;
  overflow:hidden;
}

#modalFinalizarCaixa label{
  display:block;
  font-weight:800;
  margin:14px 0 6px;
}

#caixaTrocoPreview{
  background:#fff4e8;
  border:1px solid #ffb36b;
  border-radius:10px;
  padding:16px;
  font-size:28px;
  font-weight:900;
  color:#111;
}

/* ===== ENTRADA RAPIDA ESTOQUE ===== */

.box-chatgpt-estoque{
  display:grid;
  grid-template-columns:420px 1fr 170px;
  gap:12px;
  align-items:start;
  margin-top:14px;
}

.info-chatgpt{
  background:#fff;
  border:1px solid #e3e3e3;
  border-radius:12px;
  padding:14px;
}

.info-chatgpt h3{
  margin:0 0 8px;
  font-size:22px;
}

.info-chatgpt p{
  margin:0 0 10px;
  font-size:14px;
  color:#444;
}

.info-chatgpt ol{
  margin:0;
  padding-left:18px;
  line-height:1.5;
  font-size:14px;
}

.prompt-box{
  margin-top:12px;
  background:#fff4e8;
  border:1px solid #ffb066;
  border-radius:10px;
  padding:10px;
}

.prompt-box span{
  display:block;
  margin-bottom:6px;
  font-size:13px;
  font-weight:800;
}

.prompt-box textarea{
  width:100%;
  min-height:130px;
  resize:none;
  border:none;
  background:transparent;
  font-size:12px;
  line-height:1.35;
  outline:none;
  color:#222;
}

#entradaRapidaEstoque{
  width:100%;
  min-height:320px;
  border:1px solid #d8d8d8;
  border-radius:12px;
  padding:12px;
  font-size:13px;
  line-height:1.4;
  resize:none;
  box-sizing:border-box;
}

#btnImportarEntradaRapida{
  height:52px;
  font-size:15px;
  font-weight:800;
  border-radius:10px;
  align-self:start;
}

@media(max-width:1200px){

  .box-chatgpt-estoque{
    grid-template-columns:1fr;
  }

  #entradaRapidaEstoque{
    min-height:220px;
  }

  #btnImportarEntradaRapida{
    width:100%;
  }

}

.entrada-chatgpt-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
  padding:18px;
  background:#fff;
  border:1px solid #eee;
  border-radius:14px;
}

.entrada-chatgpt-info h3{
  margin:0 0 6px;
  font-size:20px;
}

.entrada-chatgpt-info p,
.entrada-chatgpt-info li{
  font-size:14px;
  line-height:1.45;
}

.entrada-chatgpt-info ol{
  padding-left:18px;
  margin:8px 0 12px;
}

.entrada-chatgpt-card label{
  display:block;
  font-weight:800;
  margin-bottom:6px;
}

.prompt-chatgpt,
#entradaRapidaEstoque{
  width:100%;
  min-height:150px;
  border:1px solid #ddd;
  border-radius:10px;
  padding:10px;
  font-size:13px;
  line-height:1.4;
  box-sizing:border-box;
  resize:vertical;
}

#entradaRapidaEstoque{
  min-height:230px;
}

#btnImportarEntradaRapida{
  margin-top:10px;
  width:100%;
}

@media(max-width:1000px){
  .entrada-chatgpt-card{
    grid-template-columns:1fr;
  }
}

.modal-entrada-rapida{
  max-width:1020px;
  width:90%;
}

.box-prompt-ia{
  background:#f4f4f4;
  border:1px solid #d8d8d8;
  border-radius:8px;
  padding:14px;
  font-size:14px;
  color:#333;
  line-height:1.45;
  margin-bottom:14px;
}

.box-prompt-ia p{
  margin:8px 0;
}

.textarea-entrada-rapida{
  width:100%;
  min-height:145px;
  border:1px solid #d0d0d0;
  border-radius:8px;
  padding:12px;
  font-size:14px;
  line-height:1.45;
  resize:vertical;
  box-sizing:border-box;
}

.acoes-entrada-rapida{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}

.acoes-entrada-rapida .btn-modal{
  height:48px;
}

.estoque-ok{
  font-size:16px;
  font-weight:800;
  color:#198754;
  margin:6px 0;
}

.estoque-baixo{
  font-size:16px;
  font-weight:900;
  color:#d71920;
  margin:6px 0;
}

/* AJUSTES VISUAIS CAIXA E MODAIS */

#caixa .painel-topo{
  margin-bottom:16px;
}

#caixa .cards{
  margin-top:18px;
  margin-bottom:18px;
}

#caixa .form-ingrediente{
  align-items:stretch;
  gap:12px;
}

#btnFecharCaixaDia,
#btnRelatorioCaixaDia,
#btnAbrirCaixaDia{
  min-width:150px;
  height:56px;
  white-space:normal;
  line-height:1.15;
  padding:0 16px;
  text-align:center;
}

.status-aberto{
  color:#198754 !important;
}

.status-fechado{
  color:#d71920 !important;
}

#modalNovaComanda select,
#modalAdicionarItem select,
#selectMesaVinculo,
#selectProdutoItem{
  width:100%;
  height:46px;
  border:1px solid #cfcfcf;
  border-radius:8px;
  padding:0 12px;
  font-size:15px;
  box-sizing:border-box;
  background:#fff;
}

#modalNovaComanda input,
#modalNovaComanda textarea,
#modalAdicionarItem input,
#modalAdicionarItem textarea{
  width:100%;
  border:1px solid #cfcfcf;
  border-radius:8px;
  padding:12px;
  font-size:15px;
  box-sizing:border-box;
}

#modalAdicionarItem .modal-box,
#modalNovaComanda .modal-box{
  max-width:560px;
}

#modalAdicionarItem .modal-conteudo,
#modalNovaComanda .modal-conteudo{
  padding:18px;
}

#modalAdicionarItem label,
#modalNovaComanda label{
  display:block;
  margin:12px 0 6px;
  font-weight:800;
}

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

#caixa .form-ingrediente{
  display:grid;
  grid-template-columns:220px 180px 160px 190px 190px;
  gap:12px;
  align-items:center;
}

#btnAbrirCaixaDia,
#btnFecharCaixaDia,
#btnRelatorioCaixaDia{
  width:100%;
  height:56px;
  border-radius:8px;
  white-space:normal;
  line-height:1.15;
  text-align:center;
}

#btnFecharCaixaDia{
  min-width:190px;
}

#btnRelatorioCaixaDia{
  min-width:170px;
}

.acoes-caixa-dia{
  display:flex;
  gap:14px;
  margin-top:16px;
  align-items:center;
  flex-wrap:wrap;
}

.acoes-caixa-dia button{
  width:auto !important;
  min-width:220px;
  height:56px;
  border-radius:10px;
  font-size:16px;
  font-weight:800;
  padding:0 24px;
  white-space:nowrap;
  flex:none !important;
}

#btnFecharCaixaDia{
  background:#111;
  color:#fff;
}

#btnRelatorioCaixaDia{
  background:#111;
  color:#fff;
}

.acoes-caixa-dia{
  display:flex !important;
  flex-direction:row !important;
  gap:14px !important;
  margin-top:16px !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.btn-caixa-acao{
  width:220px !important;
  max-width:220px !important;
  height:56px !important;
  border:0 !important;
  border-radius:10px !important;
  font-size:16px !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

.btn-caixa-acao.btn-preto{
  background:#111 !important;
  color:#fff !important;
}

.btn-caixa-acao.btn-laranja{
  background:#ff7800 !important;
  color:#fff !important;
}

/* CANCELAMENTO SEGURO DE COMANDA */
.acoes-comanda-operacao{
  display:grid;
  grid-template-columns: minmax(220px,.42fr) 1fr;
  gap:12px;
  align-items:center;
}

.btn-cancelar-comanda{
  background:#fff;
  color:#b42318;
  border:1px solid rgba(180,35,24,.35);
}

.btn-cancelar-comanda:hover{
  background:#fff1f0;
  border-color:#b42318;
}

@media(max-width:760px){
  .acoes-comanda-operacao{
    grid-template-columns:1fr;
  }
}

/* CARDÁPIO - AÇÕES E MODAL */
.modal-produto-cardapio .modal-conteudo{
  padding:20px;
}

.form-cardapio-modal{
  display:grid;
  grid-template-columns:1fr 180px 140px;
  gap:12px;
  align-items:stretch;
}

.form-cardapio-modal input,
.form-cardapio-modal select{
  width:100%;
  height:48px;
  border:1px solid #d7d7d7;
  border-radius:14px;
  padding:0 14px;
  font-size:14px;
  background:#fff;
}

.form-cardapio-modal #produtoDescricao,
.form-cardapio-modal .check-produto-disponivel,
.form-cardapio-modal .drop-imagem,
.form-cardapio-modal #btnSalvarProduto{
  grid-column:1 / -1;
}

.check-produto-disponivel{
  min-height:46px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border:1px solid #ffd2ad;
  border-radius:14px;
  background:#fff7ef;
  font-weight:800;
  color:#111;
}

.check-produto-disponivel input{
  width:18px;
  height:18px;
  accent-color:#fe7d09;
}

.produto-card{
  align-items:center;
}

.produto-card-info{
  display:flex;
  gap:14px;
  align-items:center;
  min-width:0;
}

.produto-card-titulo{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:4px;
}

.produto-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:5px 10px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.status-disponivel{
  background:rgba(40,199,111,.16);
  color:#168a45;
  border:1px solid rgba(40,199,111,.35);
}

.status-indisponivel{
  background:rgba(234,84,85,.14);
  color:#b52b2c;
  border:1px solid rgba(234,84,85,.35);
}

.produto-sem-foto{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  color:#777;
  background:#f4f4f4;
}

.produto-acoes{
  justify-content:flex-end;
}

.btn-card-perigo{
  background:#b91c1c;
  color:#fff;
}

@media(max-width:900px){
  .form-cardapio-modal{
    grid-template-columns:1fr;
  }

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

  .produto-acoes{
    justify-content:flex-start;
  }
}

/* ===== AJUSTES FINAIS SEM CORROMPER FUNÇÕES ===== */

/* Caixa: botões e sangria */
.acoes-caixa-dia{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:12px!important;
  align-items:stretch;
  margin-top:16px!important;
}

.btn-caixa-acao{
  min-height:48px;
  border:none;
  border-radius:12px;
  font-weight:900;
  cursor:pointer;
  padding:0 16px;
  font-size:14px;
}

.btn-sangria{
  background:#b91c1c!important;
  color:#fff!important;
}

.card-sangria-resumo{
  border-top-color:#b91c1c!important;
}

/* Fechamento de pagamento bonito */
.modal-caixa-finalizar{
  width:520px!important;
  max-width:94vw!important;
  border-radius:18px!important;
  overflow:hidden!important;
}

.caixa-finalizar-conteudo{
  padding:22px!important;
  gap:16px!important;
  background:#fff!important;
}

.caixa-total-destaque{
  background:linear-gradient(135deg,#fff7ed,#ffffff);
  border:1px solid rgba(254,125,9,.38);
  border-radius:16px;
  padding:16px;
}

.caixa-total-destaque span,
.caixa-troco-card span{
  display:block;
  font-size:12px;
  font-weight:900;
  color:#555;
  text-transform:uppercase;
  letter-spacing:.03em;
  margin-bottom:8px;
}

.caixa-total-destaque input{
  border:none!important;
  background:transparent!important;
  padding:0!important;
  height:auto!important;
  font-size:34px!important;
  font-weight:900!important;
  color:#111!important;
}

.caixa-grid-pagamento{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.caixa-grid-pagamento label{
  margin:0 0 7px!important;
  font-size:13px!important;
  font-weight:900!important;
}

.caixa-grid-pagamento select,
.caixa-grid-pagamento input{
  height:52px!important;
  border:1px solid #d9d9d9!important;
  border-radius:14px!important;
  padding:0 14px!important;
  font-size:16px!important;
  background:#fff!important;
}

.caixa-troco-card{
  background:#0b0b0b!important;
  color:#fff!important;
  border-radius:16px!important;
  padding:18px!important;
  border:1px solid #111!important;
}

.caixa-troco-card span{
  color:#ddd!important;
}

.caixa-troco-card strong{
  display:block;
  font-size:34px!important;
  font-weight:900!important;
  color:#fff!important;
}

.btn-confirmar-pagamento{
  height:54px!important;
  border-radius:14px!important;
  font-size:16px!important;
}

/* Modal Sangria */
.modal-sangria-caixa{
  width:520px!important;
  max-width:94vw!important;
  border-radius:18px!important;
}

.modal-sangria-caixa textarea{
  min-height:90px;
}

/* Mesa: evitar texto quebrado e deixar status mais limpo */
.mesa-card p{
  line-height:1.35;
}

.mesa-card strong{
  font-weight:900;
}

.mesa-ocupada{
  background:linear-gradient(135deg,rgba(234,84,85,.20),rgba(255,255,255,.92))!important;
  border-color:rgba(234,84,85,.70)!important;
}

.mesa-livre{
  background:linear-gradient(135deg,rgba(40,199,111,.20),rgba(255,255,255,.92))!important;
  border-color:rgba(40,199,111,.70)!important;
}

@media(max-width:900px){
  .acoes-caixa-dia,
  .caixa-grid-pagamento{
    grid-template-columns:1fr!important;
  }
}


/* ===== DASHBOARD EXECUTIVO RESTAURADO ===== */
.dashboard-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-bottom:16px;
  padding:22px;
  border-radius:18px;
  color:#fff;
  background:
    radial-gradient(circle at 15% 10%, rgba(254,125,9,.42), transparent 28%),
    linear-gradient(135deg,#080808 0%,#151515 52%,#fe7d09 140%);
  box-shadow:0 16px 38px rgba(0,0,0,.20);
  overflow:hidden;
}

.dashboard-hero h2{
  font-size:28px;
  margin:6px 0 5px;
  letter-spacing:-.5px;
}

.dashboard-hero p{
  color:rgba(255,255,255,.72);
  font-weight:700;
}

.dash-eyebrow{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#ffb36a;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.8px;
}

.dash-status-pill{
  min-width:145px;
  text-align:center;
  padding:12px 16px;
  border-radius:999px;
  font-weight:900;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.22);
}

.dash-status-pill.aberto{
  background:rgba(34,197,94,.18);
  color:#86efac;
  border-color:rgba(34,197,94,.42);
}

.dash-status-pill.fechado{
  background:rgba(239,68,68,.18);
  color:#fecaca;
  border-color:rgba(239,68,68,.42);
}

.cards-dashboard{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.dash-card{
  position:relative;
  min-height:132px;
  border:0!important;
  overflow:hidden;
  color:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.13);
}

.dash-card::after{
  content:"";
  position:absolute;
  right:-32px;
  top:-32px;
  width:115px;
  height:115px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
}

.dash-card span,
.dash-card p{
  position:relative;
  z-index:1;
  color:rgba(255,255,255,.80);
}

.dash-card strong{
  position:relative;
  z-index:1;
  color:#fff;
  font-size:30px;
  letter-spacing:-.8px;
}

.dash-orange{background:linear-gradient(135deg,#fe7d09,#ff9f43)}
.dash-blue{background:linear-gradient(135deg,#1d4ed8,#38bdf8)}
.dash-green{background:linear-gradient(135deg,#15803d,#22c55e)}
.dash-red{background:linear-gradient(135deg,#be123c,#fb7185)}

.dashboard-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:16px;
}

.dash-panel{
  border-radius:18px;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 14px 34px rgba(0,0,0,.08);
}

.grafico-barras,
.status-chart,
.ranking-produtos,
.alertas-dashboard{
  margin-top:14px;
}

.barra-item{
  margin-bottom:14px;
}

.barra-topo{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:7px;
  font-size:13px;
}

.barra-topo span{
  color:#666;
  font-weight:800;
}

.barra-fundo{
  height:12px;
  background:#f1f1f1;
  border-radius:999px;
  overflow:hidden;
}

.barra-preenchimento{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#fe7d09,#ffb86b);
}

.barra-pix .barra-preenchimento{background:linear-gradient(90deg,#10b981,#34d399)}
.barra-dinheiro .barra-preenchimento{background:linear-gradient(90deg,#15803d,#86efac)}
.barra-debito .barra-preenchimento{background:linear-gradient(90deg,#2563eb,#60a5fa)}
.barra-credito .barra-preenchimento{background:linear-gradient(90deg,#7c3aed,#c084fc)}
.barra-cortesia .barra-preenchimento{background:linear-gradient(90deg,#64748b,#cbd5e1)}

.status-chart{
  display:grid;
  grid-template-columns:1fr 150px;
  gap:18px;
  align-items:center;
}

.status-pills{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.status-box{
  min-height:86px;
  border-radius:15px;
  padding:14px;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.status-box strong{
  font-size:28px;
  line-height:1;
}

.status-box span{
  margin-top:6px;
  font-size:12px;
  font-weight:900;
  opacity:.88;
}

.st-atendimento{background:linear-gradient(135deg,#f97316,#fb923c)}
.st-cozinha{background:linear-gradient(135deg,#2563eb,#38bdf8)}
.st-caixa{background:linear-gradient(135deg,#7c3aed,#a78bfa)}
.st-fechada{background:linear-gradient(135deg,#16a34a,#4ade80)}

.mini-donut{
  width:146px;
  height:146px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:conic-gradient(#f97316 0 var(--a),#2563eb var(--a) var(--b),#7c3aed var(--b) var(--c),#16a34a var(--c) 360deg);
  position:relative;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);
}

.mini-donut::after{
  content:"Total";
  position:absolute;
  width:92px;
  height:92px;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding-bottom:26px;
  box-shadow:0 8px 20px rgba(0,0,0,.10);
  color:#777;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.mini-donut span{
  position:relative;
  z-index:1;
  margin-top:-8px;
  font-size:27px;
  font-weight:900;
  color:#111;
}

.ranking-item{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid #eee;
}

.ranking-item:last-child{border-bottom:0}

.ranking-pos{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#111;
  color:#fff;
  font-weight:900;
}

.ranking-item strong{
  display:block;
  margin-bottom:2px;
}

.ranking-item small{
  color:#777;
  font-weight:800;
}

.ranking-barra{
  height:8px;
  background:#f1f1f1;
  border-radius:999px;
  overflow:hidden;
  margin-top:8px;
}

.ranking-barra i{
  display:block;
  height:100%;
  background:linear-gradient(90deg,#fe7d09,#111);
  border-radius:999px;
}

.alertas-dashboard{
  display:grid;
  gap:10px;
}

.alerta-item{
  display:grid;
  grid-template-columns:12px 1fr;
  gap:10px;
  align-items:center;
  padding:13px;
  border-radius:14px;
  background:#f8f8f8;
  border:1px solid #eee;
}

.alerta-item span{
  width:12px;
  height:12px;
  border-radius:50%;
  background:#999;
}

.alerta-item p{
  margin:0;
  font-weight:800;
  color:#333;
}

.alerta-critico{background:#fff1f2;border-color:#fecdd3}
.alerta-critico span{background:#e11d48}
.alerta-atencao{background:#fff7ed;border-color:#fed7aa}
.alerta-atencao span{background:#f97316}
.alerta-cozinha{background:#eff6ff;border-color:#bfdbfe}
.alerta-cozinha span{background:#2563eb}
.alerta-ok{background:#f0fdf4;border-color:#bbf7d0}
.alerta-ok span{background:#16a34a}
.alerta-sangria{background:#fdf2f8;border-color:#fbcfe8}
.alerta-sangria span{background:#db2777}

@media(max-width:1200px){
  .cards-dashboard,
  .dashboard-grid{
    grid-template-columns:1fr 1fr;
  }

  .status-chart{
    grid-template-columns:1fr;
  }

  .mini-donut{
    margin:auto;
  }
}

@media(max-width:760px){
  .dashboard-hero{
    flex-direction:column;
    align-items:flex-start;
  }

  .cards-dashboard,
  .dashboard-grid,
  .status-pills{
    grid-template-columns:1fr;
  }

  .dash-status-pill{
    width:100%;
  }
}



/* ===== BOX INSTALAÇÃO PWA RESTAURADO ===== */
.instalar-sistema-box{
  margin-top:16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  border:none;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at top left, rgba(254,125,9,.22), transparent 34%),
    linear-gradient(135deg,#111827,#020617);
  color:#fff;
  box-shadow:0 18px 42px rgba(2,6,23,.24);
}

.instalar-sistema-box::after{
  content:"";
  position:absolute;
  right:-70px;
  top:-80px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:rgba(254,125,9,.18);
}

.instalar-sistema-info{
  display:flex;
  align-items:center;
  gap:16px;
  position:relative;
  z-index:1;
}

.instalar-icone{
  width:68px;
  height:68px;
  border-radius:20px;
  background:linear-gradient(135deg,#fe7d09,#f97316,#facc15);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:24px;
  color:#fff;
  box-shadow:0 14px 30px rgba(254,125,9,.32);
  flex:0 0 auto;
}

.instalar-sistema-info h2{
  margin:4px 0 6px;
  color:#fff;
  font-size:24px;
}

.instalar-sistema-info p{
  color:#d1d5db;
  margin:0 0 7px;
  max-width:720px;
  line-height:1.45;
}

.instalar-sistema-info small{
  color:#fbbf24;
  font-weight:800;
}

.instalar-sistema-acoes{
  display:flex;
  gap:10px;
  position:relative;
  z-index:1;
  flex:0 0 auto;
}

.btn-instalar-sistema,
.btn-instalar-secundario{
  height:46px;
  border:none;
  border-radius:14px;
  padding:0 18px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}

.btn-instalar-sistema{
  background:#fe7d09;
  color:#fff;
  box-shadow:0 10px 24px rgba(254,125,9,.32);
}

.btn-instalar-sistema:disabled{
  opacity:.72;
  cursor:not-allowed;
}

.btn-instalar-secundario{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
}

@media(max-width:900px){
  .instalar-sistema-box,
  .instalar-sistema-info,
  .instalar-sistema-acoes{
    flex-direction:column;
    align-items:stretch;
  }

  .instalar-sistema-info{
    align-items:flex-start;
  }

  .btn-instalar-sistema,
  .btn-instalar-secundario{
    width:100%;
  }
}




/* ===== FECHAMENTO DE PAGAMENTO - AJUSTE FINAL ===== */
.modal-caixa-finalizar{
  width:min(620px, 96vw);
  border-radius:20px;
}
.caixa-finalizar-conteudo{
  padding:22px;
  gap:16px;
  background:#fff;
}
.caixa-total-destaque{
  background:linear-gradient(135deg,#fff3e8,#ffffff);
  border:1px solid rgba(254,125,9,.35);
  border-radius:16px;
  padding:16px;
}
.caixa-total-destaque span,
.caixa-troco-card span{
  display:block;
  font-size:12px;
  font-weight:900;
  color:#555;
  text-transform:uppercase;
  letter-spacing:.4px;
  margin-bottom:8px;
}
.caixa-total-destaque input{
  width:100%;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  height:auto!important;
  font-size:34px!important;
  font-weight:900;
  color:#111;
}
.caixa-grid-pagamento{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.caixa-grid-pagamento label{
  display:block;
  margin-bottom:7px;
  font-weight:900;
  color:#111;
}
.caixa-grid-pagamento select,
.caixa-grid-pagamento input{
  height:52px!important;
  border:1px solid #ddd!important;
  border-radius:14px!important;
  padding:0 14px!important;
  font-size:16px!important;
  background:#fff!important;
}
.caixa-troco-card{
  background:#fff8f0;
  border:1px solid rgba(254,125,9,.35);
  border-radius:16px;
  padding:16px;
}
.caixa-troco-card strong,
#caixaTrocoPreview{
  display:block;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  font-size:34px!important;
  font-weight:900!important;
  color:#111!important;
}
.btn-confirmar-pagamento{
  height:56px!important;
  border-radius:15px!important;
  font-size:16px!important;
}
@media(max-width:680px){
  .caixa-grid-pagamento{grid-template-columns:1fr;}
}


/* ===== RESTAURAÇÃO MODAIS FICHA TÉCNICA / ESTOQUE ===== */
#modalFichaTecnica .modal-box,
#modalEstoque .modal-box{
  width:min(980px,96vw);
  max-height:92vh;
  display:flex;
  flex-direction:column;
}

#modalFichaTecnica .modal-conteudo,
#modalEstoque .modal-conteudo{
  overflow:auto;
  max-height:calc(92vh - 82px);
  padding:18px;
}

#fichaTecnica .painel-topo,
#estoque .painel-topo,
#cardapio .painel-topo{
  align-items:center;
}

#fichaTecnica .painel-topo .btn-modal,
#estoque .painel-topo .btn-modal,
#cardapio .painel-topo .btn-modal{
  width:auto;
  min-width:170px;
  padding:0 18px;
}

#modalFichaTecnica .form-ficha,
#modalFichaTecnica .form-ingrediente,
#modalEstoque .form-ingrediente{
  margin-top:12px;
}

#modalFichaTecnica .resumo-ficha .card{
  padding:14px;
}

#modalFichaTecnica .resumo-ficha .card strong{
  font-size:22px;
}

#modalEstoque .modal-conteudo > .form-ingrediente{
  grid-template-columns:1.4fr 150px 120px 100px 160px 150px;
}

@media(max-width:1000px){
  #modalEstoque .modal-conteudo > .form-ingrediente{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   AJUSTE VISUAL FINAL SEM ALTERAR FUNÇÕES
   - restaura visual premium das mesas
   - corrige modal da comanda sem corte
   - corrige fechamento de caixa/troco visível
   - organiza relatórios gerenciais
========================================================= */

body{
  background:#f3f4f6;
  color:#07111f;
}

.conteudo{
  padding:18px;
  background:linear-gradient(180deg,#f6f7f9 0%,#eef0f3 100%);
  min-height:100vh;
}

.topbar{
  border-radius:10px;
  padding:16px 22px;
  margin-bottom:18px;
}

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

.painel{
  border-radius:16px;
  border:1px solid rgba(15,23,42,.06);
  box-shadow:0 14px 30px rgba(15,23,42,.07);
}

.painel h2{font-size:24px;}
.painel p{font-size:14px;color:#5f6b7a;}

/* MESAS — efeito visual restaurado */
#mesas .painel{
  padding:22px;
  overflow:hidden;
}

.mapa-mesas{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(150px,1fr))!important;
  gap:14px!important;
  margin-top:18px!important;
}

.mesa-card{
  position:relative;
  min-height:142px;
  padding:18px 18px 16px!important;
  border-radius:17px!important;
  overflow:hidden;
  box-shadow:0 12px 24px rgba(15,23,42,.08)!important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.mesa-card::after{
  content:"";
  position:absolute;
  width:86px;
  height:86px;
  border-radius:50%;
  top:-22px;
  right:-18px;
  background:rgba(255,255,255,.5);
  pointer-events:none;
}

.mesa-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 34px rgba(15,23,42,.14)!important;
}

.mesa-card h3{
  position:relative;
  z-index:1;
  font-size:21px!important;
  margin-bottom:12px!important;
  letter-spacing:-.4px;
}

.mesa-card p{
  position:relative;
  z-index:1;
  margin:4px 0!important;
  font-size:14px!important;
  line-height:1.25;
  color:#445063!important;
}

.mesa-card strong{color:#111827;}

.mesa-livre{
  background:linear-gradient(135deg,#e9fff3 0%,#f9fffc 100%)!important;
  border:1px solid rgba(34,197,94,.5)!important;
}

.mesa-ocupada{
  background:linear-gradient(135deg,#fff0f0 0%,#fffafa 100%)!important;
  border:1px solid rgba(239,68,68,.55)!important;
}

.mesa-fechada{
  background:linear-gradient(135deg,#fff7ed 0%,#fffdf8 100%)!important;
  border:1px solid rgba(249,115,22,.45)!important;
}

@media(max-width:1450px){.mapa-mesas{grid-template-columns:repeat(4,minmax(160px,1fr))!important;}}
@media(max-width:900px){.mapa-mesas{grid-template-columns:repeat(2,minmax(150px,1fr))!important;}}
@media(max-width:560px){.mapa-mesas{grid-template-columns:1fr!important;}}

/* MODAL COMANDA — compacto e sem corte */
#modalOperarComanda{
  align-items:center!important;
  justify-content:center!important;
  padding:12px!important;
}

#modalOperarComanda .modal-box{
  width:min(860px,96vw)!important;
  max-height:92vh!important;
  border-radius:16px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}

#modalOperarComanda .modal-header{
  flex:0 0 auto;
  padding:14px 22px!important;
}

#modalOperarComanda .modal-header h2{
  font-size:24px!important;
  line-height:1.1;
}

#modalOperarComanda .modal-header p{
  font-size:14px!important;
}

#modalOperarComanda .modal-conteudo{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto!important;
  padding:18px 20px 18px!important;
  gap:12px!important;
  background:#fff;
}

#modalOperarComanda #btnAdicionarItens{
  height:46px!important;
  border-radius:10px!important;
  font-size:15px!important;
}

#modalOperarComanda .box-total-comanda{
  padding:14px 18px!important;
  border-radius:12px!important;
  background:#fff3e8!important;
}

#modalOperarComanda .box-total-comanda span{
  font-size:12px!important;
}

#modalOperarComanda .box-total-comanda strong{
  font-size:28px!important;
}

#modalOperarComanda .box-taxa-servico{
  margin-top:0!important;
  padding:14px!important;
  border-radius:14px!important;
}

#modalOperarComanda .taxa-check{
  margin-bottom:10px!important;
  font-size:14px!important;
}

#modalOperarComanda .taxa-grid{
  grid-template-columns:220px 1fr!important;
  gap:10px!important;
  margin-bottom:10px!important;
}

#modalOperarComanda .taxa-grid select,
#modalOperarComanda .taxa-grid input{
  height:46px!important;
  border-radius:10px!important;
  font-size:15px!important;
}

#modalOperarComanda .resumo-taxa{
  gap:10px!important;
  margin-bottom:10px!important;
}

#modalOperarComanda .resumo-taxa div{
  padding:11px 14px!important;
  border-radius:11px!important;
}

#modalOperarComanda .resumo-taxa span{
  font-size:12px!important;
}

#modalOperarComanda .resumo-taxa strong{
  font-size:18px!important;
}

#modalOperarComanda #btnSalvarTaxaServico{
  height:44px!important;
  border-radius:10px!important;
}

#modalOperarComanda .lista-itens-comanda{
  max-height:178px!important;
  min-height:96px!important;
  overflow:auto!important;
  padding:10px 12px!important;
  border-radius:12px!important;
}

#modalOperarComanda .item-comanda{
  grid-template-columns:minmax(150px,1fr) 40px 82px 92px 96px 96px 86px!important;
  gap:8px!important;
  padding:8px 0!important;
  font-size:13px!important;
}

#modalOperarComanda .item-comanda strong{
  font-size:13px!important;
  line-height:1.15!important;
}

#modalOperarComanda .btn-mini{
  height:34px!important;
  border-radius:8px!important;
  font-size:11px!important;
}

#modalOperarComanda .acoes-comanda-operacao{
  display:grid!important;
  grid-template-columns:280px 1fr!important;
  gap:12px!important;
  position:sticky;
  bottom:-18px;
  background:#fff;
  padding-top:10px;
  z-index:2;
}

#modalOperarComanda .acoes-comanda-operacao .btn-modal{
  height:50px!important;
  border-radius:10px!important;
  font-size:15px!important;
}

#modalOperarComanda .btn-cancelar-comanda{
  background:#fff!important;
  color:#b91c1c!important;
  border:1px solid rgba(185,28,28,.28)!important;
}

@media(max-width:760px){
  #modalOperarComanda .taxa-grid,
  #modalOperarComanda .resumo-taxa,
  #modalOperarComanda .acoes-comanda-operacao{
    grid-template-columns:1fr!important;
  }
  #modalOperarComanda .item-comanda{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
}

/* FECHAMENTO DE CAIXA — troco legível e visual limpo */
#modalFinalizarCaixa{
  padding:14px!important;
}

#modalFinalizarCaixa .modal-box,
.modal-caixa-finalizar{
  width:min(620px,96vw)!important;
  max-height:92vh!important;
  border-radius:18px!important;
  overflow:hidden!important;
}

#modalFinalizarCaixa .modal-header{
  padding:16px 24px!important;
}

#modalFinalizarCaixa .modal-header h2{
  font-size:24px!important;
}

#modalFinalizarCaixa .modal-header p{
  font-size:14px!important;
}

#modalFinalizarCaixa .modal-conteudo,
.caixa-finalizar-conteudo{
  padding:22px 26px 26px!important;
  gap:16px!important;
  background:#fff!important;
}

.caixa-total-destaque{
  background:linear-gradient(135deg,#fff3e8,#ffffff)!important;
  border:1px solid rgba(254,125,9,.38)!important;
  border-radius:15px!important;
  padding:16px 20px!important;
}

.caixa-total-destaque span,
.caixa-troco-card span{
  display:block!important;
  font-size:12px!important;
  font-weight:900!important;
  color:#5f5f5f!important;
  text-transform:uppercase!important;
  letter-spacing:.5px!important;
  margin-bottom:8px!important;
}

.caixa-total-destaque input{
  width:100%!important;
  height:auto!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  font-size:36px!important;
  font-weight:900!important;
  color:#111!important;
}

.caixa-grid-pagamento{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:16px!important;
}

.caixa-grid-pagamento label{
  font-size:14px!important;
  margin-bottom:7px!important;
}

.caixa-grid-pagamento select,
.caixa-grid-pagamento input{
  height:54px!important;
  border-radius:14px!important;
  border:1px solid #ddd!important;
  background:#fff!important;
  color:#111!important;
  font-size:16px!important;
}

.caixa-troco-card{
  background:#fff8f0!important;
  border:1px solid rgba(254,125,9,.38)!important;
  border-radius:15px!important;
  padding:16px 20px!important;
  color:#111!important;
}

.caixa-troco-card strong,
#caixaTrocoPreview{
  display:block!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  font-size:34px!important;
  font-weight:900!important;
  color:#111!important;
  opacity:1!important;
  visibility:visible!important;
}

#btnConfirmarPagamento,
.btn-confirmar-pagamento{
  height:56px!important;
  border-radius:15px!important;
  font-size:17px!important;
}

@media(max-width:680px){.caixa-grid-pagamento{grid-template-columns:1fr!important;}}

/* RELATÓRIOS — layout executivo restaurado */
#relatorios .painel-relatorios-executivo{
  padding:24px!important;
  border-radius:16px!important;
}

#relatorios .painel-topo{
  display:grid!important;
  grid-template-columns:1fr 220px!important;
  align-items:center!important;
  gap:16px!important;
  margin-bottom:18px!important;
}

#relatorios .btn-relatorio-gerar{
  width:100%!important;
  height:48px!important;
  border-radius:12px!important;
}

.filtros-relatorio{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(150px,1fr))!important;
  gap:12px!important;
  margin-top:12px!important;
}

.filtros-relatorio label{
  display:grid!important;
  gap:6px!important;
  font-size:13px!important;
  font-weight:800!important;
  color:#344054!important;
}

.filtros-relatorio input{
  height:44px!important;
  border:1px solid #d8dce2!important;
  border-radius:10px!important;
  padding:0 12px!important;
  font-size:14px!important;
  background:#fff!important;
}

.resultado-relatorio-executivo{
  margin-top:18px!important;
  display:grid!important;
  gap:12px!important;
}

.estado-vazio-relatorio{
  background:#f8fafc!important;
  border:1px dashed #cbd5e1!important;
  border-radius:14px!important;
  padding:18px!important;
  color:#334155!important;
}

.estado-vazio-relatorio strong{
  display:block;
  color:#111827;
  font-size:16px;
  margin-bottom:4px;
}

@media(max-width:900px){
  #relatorios .painel-topo,
  .filtros-relatorio{
    grid-template-columns:1fr!important;
  }
}
