* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Segoe UI', Tahoma, Arial, sans-serif; background:#12161f; color:#e8eaf0; min-height:100vh; }
a { text-decoration:none; color:inherit; }
h1 { margin-top:8px; }
h3 { margin:16px 0 8px; color:#8b96ab; font-size:14px; text-transform:uppercase; }
.none { display:none !important; }
.centro { text-align:center; }

/* ===== Menu ===== */
.nav { display:flex; align-items:center; gap:16px; background:#0c0f16; padding:12px 24px; border-bottom:2px solid #2c3446; flex-wrap:wrap; }
.nav .logo { font-size:19px; font-weight:bold; color:#2ecc71; margin-right:12px; }
.nav a { color:#aab3c5; padding:6px 14px; border-radius:6px; }
.nav a:hover, .nav a.ativo { background:#2c3446; color:#fff; }

/* ===== PDV ===== */
.pdv { display:grid; grid-template-columns:1fr 340px; gap:16px; padding:16px; max-width:1300px; margin:0 auto; }
.painel { background:#1c2230; border:1px solid #2c3446; border-radius:10px; padding:16px; align-self:start; }
.busca { display:flex; gap:8px; margin-bottom:12px; }
.busca input { flex:1; padding:12px; font-size:15px; background:#0f131c; border:1px solid #2c3446; color:#fff; border-radius:8px; }

.tabela-carrinho { width:100%; border-collapse:collapse; }
.tabela-carrinho th { text-align:left; padding:10px; border-bottom:2px solid #2c3446; color:#8b96ab; font-size:12px; text-transform:uppercase; }
.tabela-carrinho td { padding:10px; border-bottom:1px solid #232b3d; }
.tabela-carrinho .qtd button { background:#2c3446; color:#fff; border:none; border-radius:4px; width:24px; height:24px; cursor:pointer; margin:0 6px; }

.total-destaque { display:flex; justify-content:space-between; align-items:center; background:#0f131c; border:1px dashed #2c3446; border-radius:8px; padding:16px; margin-top:12px; font-size:26px; font-weight:bold; color:#2ecc71; }

#resultados-cliente { list-style:none; margin-top:8px; }
#resultados-cliente li { padding:9px; background:#0f131c; border:1px solid #2c3446; border-radius:6px; margin-bottom:6px; cursor:pointer; font-size:14px; }
#resultados-cliente li:hover { border-color:#3498db; }
#resultados-cliente li.vazio { cursor:default; color:#8b96ab; }
.cliente-selecionado { background:#14532d; color:#bbf7d0; padding:10px; border-radius:8px; margin-top:8px; font-size:14px; }

.campo-select { width:100%; padding:11px; background:#0f131c; border:1px solid #2c3446; color:#fff; border-radius:8px; font-size:15px; }
.check-nota { display:flex; gap:8px; align-items:center; margin:14px 0; font-size:14px; cursor:pointer; }

/* ===== Botões ===== */
.btn { border:none; border-radius:6px; padding:11px 16px; font-size:14px; cursor:pointer; font-weight:600; }
.btn.verde { background:#2ecc71; color:#06281a; }
.btn.azul { background:#3498db; color:#fff; }
.btn.vermelho { background:#e74c3c; color:#fff; }
.btn.cinza { background:#5a6478; color:#fff; }
.btn.mini { padding:4px 9px; font-size:12px; }
.btn.finalizar { width:100%; background:#2ecc71; color:#06281a; font-size:18px; padding:14px; }
.btn.limpar { width:100%; margin-top:8px; }

/* ===== Páginas de cadastro ===== */
.pagina { max-width:1100px; margin:0 auto; padding:24px; }
.alerta { padding:11px 14px; border-radius:8px; margin-top:16px; }
.alerta.ok { background:#14532d; color:#bbf7d0; }
.alerta.erro { background:#7f1d1d; color:#fecaca; }

.formulario { background:#1c2230; border:1px solid #2c3446; border-radius:10px; padding:16px; margin-top:16px; }
.formulario .linha { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.campo { display:flex; flex-direction:column; gap:4px; }
.campo.grow { flex:1; min-width:220px; }
.campo label { font-size:12px; color:#8b96ab; text-transform:uppercase; }
.campo input { padding:10px; background:#0f131c; border:1px solid #2c3446; border-radius:6px; color:#fff; }

.tabela { width:100%; border-collapse:collapse; margin-top:20px; background:#1c2230; border-radius:10px; overflow:hidden; }
.tabela th, .tabela td { padding:11px 14px; text-align:left; border-bottom:1px solid #232b3d; }
.tabela th { background:#0f131c; color:#8b96ab; text-transform:uppercase; font-size:12px; }
.tabela tr:last-child td { border-bottom:none; }

/* ===== Nota (cupom) ===== */
.nota { max-width:460px; margin:24px auto; background:#fff; color:#111; padding:26px; font-family:'Arial', monospace; border-radius:4px; }
.nota h1 { font-size:18px; text-align:center; margin:0; }
.nota h2.total { font-size:20px; margin:8px 0; }
.nota p { font-size:13px; margin:3px 0; }
.nota table { width:100%; border-collapse:collapse; margin:10px 0; font-size:12.5px; }
.nota th, .nota td { padding:4px 2px; text-align:left; border-bottom:1px solid #ddd; }
.nota hr { border:none; border-top:1px dashed #555; margin:10px 0; }
.acoes-nota { text-align:center; margin:0 auto 30px; display:flex; gap:10px; justify-content:center; }

@media print {
    .nav, .acoes-nota { display:none !important; }
    body { background:#fff; }
    .nota { margin:0; border-radius:0; }
}
@media (max-width: 900px) { .pdv { grid-template-columns:1fr; } }


/* ===== Modal de pagamento ===== */
.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.75); display:flex; align-items:center; justify-content:center; z-index:100; }
.modal { background:#1c2230; border:1px solid #2c3446; border-radius:12px; padding:24px; width:460px; max-width:94vw; max-height:92vh; overflow-y:auto; }
.modal h2 { margin-bottom:14px; }
.modal-total { display:flex; justify-content:space-between; background:#0f131c; border:1px dashed #2c3446; border-radius:8px; padding:14px; font-size:22px; color:#2ecc71; font-weight:bold; margin-bottom:14px; }
.modal-label { display:block; font-size:13px; color:#8b96ab; text-transform:uppercase; margin:14px 0 6px; }
.modal-nota { margin:0 0 6px; font-size:15px; }
.modal-cliente-info { font-size:13px; padding:8px 10px; border-radius:6px; margin-bottom:6px; }
.modal-cliente-info.ok { background:#14532d; color:#bbf7d0; }
.modal-cliente-info.alerta { background:#7f1d1d; color:#fecaca; }

/* Dinheiro */
#campo-valor-recebido { width:100%; padding:12px; font-size:22px; background:#0f131c; border:1px solid #2c3446; color:#fff; border-radius:8px; }
.valores-rapidos { display:flex; gap:6px; margin-top:8px; }
.troco-linha { display:flex; justify-content:space-between; align-items:center; margin-top:14px; font-size:20px; font-weight:bold; }
#troco-exibido { font-size:24px; }
#troco-exibido.ok { color:#2ecc71; }
#troco-exibido.falta { color:#e74c3c; font-size:16px; }

/* PIX */
.qrcode-box { background:#fff; padding:12px; border-radius:8px; display:flex; justify-content:center; align-items:center; margin:8px auto; min-height:120px; width:fit-content; }
.qrcode-box img, .qrcode-box canvas { display:block; }
#pix-copia-cola { width:100%; background:#0f131c; color:#9fb0c9; border:1px solid #2c3446; border-radius:6px; padding:8px; font-size:11px; resize:none; margin-bottom:6px; }
.aviso-pix { font-size:12px; color:#8b96ab; margin-top:8px; }

/* Botões do modal e sucesso */
.modal-botoes { display:flex; gap:10px; margin-top:22px; }
.modal-botoes .btn { flex:1; padding:14px; font-size:16px; }
.modal-botoes .btn:disabled { opacity:.5; cursor:not-allowed; }
.tela-sucesso { text-align:center; padding:16px 0; }
.tela-sucesso h3 { color:#2ecc71; font-size:24px; margin-bottom:12px; }
.tela-sucesso p { font-size:18px; margin-bottom:20px; color:#e8eaf0; }
.dica { margin-top:14px; font-size:12px; color:#8b96ab; }


/* ===== Fiado / situação ===== */
.badge { padding:3px 10px; border-radius:12px; font-size:12px; font-weight:bold; }
.badge.fiado { background:#7f1d1d; color:#fecaca; }
.badge.paga  { background:#14532d; color:#bbf7d0; }

.aviso-fiado { background:#0f131c; border:1px dashed #f1c40f; color:#f1c40f; border-radius:8px; padding:12px; font-size:14px; margin-bottom:8px; }

.situacao { text-align:center; padding:8px; border-radius:6px; font-size:14px; font-weight:bold; margin:8px 0; }
.situacao.fiado { background:#7f1d1d; color:#fecaca; }
.situacao.paga  { background:#14532d; color:#bbf7d0; }

/* ===== Pedidos do WhatsApp ===== */
.badge.whats     { background:#14532d; color:#bbf7d0; }
.badge.caixa     { background:#1e3a5f; color:#bfdbfe; }
.badge.pendente  { background:#78350f; color:#fde68a; }
.badge.cancelado { background:#7f1d1d; color:#fecaca; }

.card-pedido { background:#1c2230; border:1px solid #2c3446; border-left:4px solid #25d366;
               border-radius:10px; padding:16px; margin-top:14px; }
.card-pedido .topo-pedido { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.card-pedido .detalhes { color:#aab3c5; font-size:14px; margin-top:8px; line-height:1.7; }
.card-pedido .acoes-pedido { display:flex; gap:8px; margin-top:12px; flex-wrap:wrap; align-items:center; }

.formulario select { padding:10px; background:#0f131c; border:1px solid #2c3446; border-radius:6px; color:#fff; }

/* Busca + paginação */
.busca-pagina { display:flex; gap:8px; margin:16px 0; }
.busca-pagina input { flex:1; padding:11px 14px; background:#0f131c; border:1px solid #2c3446; color:#fff; border-radius:8px; font-size:15px; }
.paginacao { display:flex; align-items:center; gap:6px; margin:20px 0; flex-wrap:wrap; }
.pag { min-width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center;
       background:#1c2230; border:1px solid #2c3446; color:#e8eaf0; border-radius:8px; font-size:14px; }
.pag:hover { background:#2c3446; }
.pag.ativo { background:#2ecc71; color:#06281a; border-color:#2ecc71; font-weight:bold; }
.pag.desabilitado { opacity:.4; cursor:default; }
.pag-info { margin-left:auto; color:#8b96ab; font-size:13px; }

/* Card de informações do entregador selecionado */
.card-entregador { display:flex; justify-content:space-between; align-items:center; gap:12px;
    background:#1c2230; border:1px solid #2c3446; border-left:4px solid #25d366;
    border-radius:10px; padding:16px; margin:14px 0; flex-wrap:wrap; line-height:1.7; }

    /* ===== Painel de separação (PDV) ===== */
.card-stats-sep { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px; }
.stat-pdv { background:#1c2230; border:1px solid #2c3446; border-radius:10px; padding:18px; text-align:center; }
.stat-pdv .num { font-size:30px; font-weight:bold; }
.stat-pdv .rotulo { font-size:12px; color:#8b96ab; text-transform:uppercase; margin-top:4px; }
.barra-progresso { background:#0f131c; border:1px solid #2c3446; border-radius:8px; height:18px; overflow:hidden; min-width:160px; }
.barra-progresso .preenchida { background:linear-gradient(90deg,#16a34a,#2ecc71); height:100%; transition:width .5s; }

/* Aviso da busca de produto (não bloqueia o bipe) */
.status-busca { padding:8px 12px; margin:8px 0; border-radius:8px; font-size:14px; font-weight:600; }
.status-busca.ok   { background:#14532d; color:#bbf7d0; }
.status-busca.erro { background:#7f1d1d; color:#fecaca; }
.status-busca:empty { display:none; padding:0; margin:0; }

/* ===== Estatísticas da Loja Online (PDV) ===== */
.stats-loja-pdv { display:flex; gap:12px; flex-wrap:wrap; margin:14px 24px; }
.stats-item { flex:1; min-width:130px; background:#1c2230; border:1px solid #2c3446; border-radius:10px; padding:12px 16px; text-align:center; }
.stats-num { display:block; font-size:26px; font-weight:bold; color:#e8eaf0; }
.stats-item.online .stats-num { color:#2ecc71; }
.stats-label { display:block; font-size:11px; color:#8b96ab; text-transform:uppercase; margin-top:4px; letter-spacing:.4px; }