/* Painel do administrador */
body.admin { background: var(--fundo); }
.tela .caixa-auth .logo { display: inline-block; margin-bottom: 14px; }
.cab-admin { gap: 16px; flex-wrap: wrap; }
.abas { display: flex; gap: 4px; margin-left: auto; flex-wrap: wrap; }
.abas button { border: 0; background: none; padding: 9px 16px; border-radius: 999px; font-weight: 500; font-size: 14px; }
.abas button.ativa { background: var(--escuro); color: #fff; }
#conteudo { padding: 20px clamp(16px, 4vw, 40px) 60px; max-width: 1400px; margin: 0 auto; }
.botao.pequeno { padding: 8px 14px; font-size: 13px; }
.botao.perigo { background: transparent; color: var(--vermelho); border: 1.5px solid var(--vermelho); }
.dica { color: var(--suave); font-size: 13px; margin: 0 0 12px; }

/* Verificação em duas etapas */
.mfa-qr { width: 200px; height: 200px; margin: 10px auto; display: block; background: #fff; border: 1px solid var(--borda); border-radius: 12px; padding: 8px; }
.mfa-segredo { font-family: ui-monospace, monospace; font-size: 13px; background: #f1f1f1; padding: 8px; border-radius: 8px; word-break: break-all; text-align: center; }
.mfa-passos { padding-left: 18px; font-size: 14px; }
.mfa-passos li { margin-bottom: 6px; }
.codigo-6 { font-size: 26px; letter-spacing: 8px; text-align: center; font-family: ui-monospace, monospace; }

/* Produtos */
.prod-layout { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 20px; }
@media (max-width: 960px) { .prod-layout { grid-template-columns: minmax(0, 1fr); } }
.prod-lista { display: flex; flex-direction: column; gap: 8px; align-self: start; }
.prod-lista .filtros-admin { display: flex; gap: 6px; flex-wrap: wrap; }
.prod-lista input[type=search], .filtros-admin select { border: 1px solid var(--borda); border-radius: 999px; padding: 9px 14px; font: inherit; font-size: 14px; background: #fff; }
.prod-lista input[type=search] { width: 100%; }
.itens-lista { display: flex; flex-direction: column; gap: 6px; max-height: 75vh; overflow-y: auto; padding-right: 4px; }
.item-lista { display: flex; gap: 10px; align-items: center; text-align: left; background: var(--superficie); border: 1px solid var(--borda); border-radius: 12px; padding: 8px; width: 100%; }
.item-lista.ativo { border-color: var(--ouro); box-shadow: 0 0 0 2px rgba(184,145,58,.25); }
.item-lista.inativo { opacity: .55; }
.item-lista b { display: block; font-size: 13.5px; }
.item-lista small { color: var(--suave); font-size: 12px; }
.mini { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 8px; object-fit: contain; background: #fff; display: grid; place-items: center; font-size: 20px; border: 1px solid var(--borda); }
.editor-topo { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; position: sticky; top: 0; z-index: 5; background: var(--fundo); padding: 8px 0; }
.editor-topo h2 { font-family: "Playfair Display", serif; font-size: 24px; margin: 0; }
.editor-topo .acoes { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.selo-sujo { font-size: 12px; font-weight: 600; color: #7a5a00; background: #fff4d6; padding: 4px 10px; border-radius: 999px; }
.secao-admin { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); padding: 18px; margin-bottom: 14px; }
.secao-admin h3 { font-size: 16px; margin-bottom: 4px; }
.secao-admin select, .secao-admin textarea { border: 1px solid var(--borda); border-radius: 10px; padding: 10px 12px; font: inherit; font-size: 14px; background: #fff; width: 100%; }
.tres-col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 600px) { .tres-col { grid-template-columns: 1fr 1fr; } }
.check { display: flex; gap: 8px; align-items: center; font-size: 14px; margin: 4px 0 10px; }
.check input { width: 18px; height: 18px; accent-color: var(--ouro); }
.spec-linha { display: grid; grid-template-columns: 1fr 1.3fr 36px; gap: 8px; margin-bottom: 8px; }
.spec-linha input { border: 1px solid var(--borda); border-radius: 10px; padding: 9px 11px; font: inherit; font-size: 14px; }
.spec-linha button { border: 1px solid var(--borda); background: #fff; border-radius: 10px; color: var(--vermelho); }
.fotos-linha { display: flex; gap: 8px; flex-wrap: wrap; }
.vfoto { position: relative; width: 84px; height: 84px; border: 1px solid var(--borda); border-radius: 10px; overflow: hidden; background: #fff; }
.vfoto img { width: 100%; height: 100%; object-fit: contain; }
.vfoto button { position: absolute; top: 3px; width: 24px; height: 24px; border-radius: 6px; border: 1px solid var(--borda); background: rgba(255,255,255,.95); font-size: 12px; padding: 0; }
.vfoto .b-apagar { right: 3px; color: var(--vermelho); }
.vfoto .b-principal { left: 3px; }
.vfoto-add { width: 84px; height: 84px; border: 2px dashed #cbbf9f; border-radius: 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: pointer; font-size: 22px; background: #fffdf8; }
.vfoto-add small { font-size: 11px; color: var(--suave); }
.vfoto-add.enviando { opacity: .5; pointer-events: none; }
.variante { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: start; padding: 14px 0; border-top: 1px solid var(--borda); }
.variante .fotos-linha { max-width: 280px; }
.variante .quatro { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 8px; }
@media (max-width: 760px) { .variante { grid-template-columns: 1fr; } .variante .quatro { grid-template-columns: 1fr 1fr; } }
.variante .campo { margin-bottom: 8px; }

/* Pedidos */
.pedidos-filtros { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }
.pedido-card { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); padding: 16px; margin-bottom: 12px; display: grid; grid-template-columns: 1.3fr 1fr auto; gap: 16px; font-size: 14px; }
@media (max-width: 860px) { .pedido-card { grid-template-columns: 1fr; } }
.pedido-card ul { margin: 6px 0 0; padding-left: 18px; }
.pedido-card select { border: 1px solid var(--borda); border-radius: 10px; padding: 8px 10px; font: inherit; }
.teste-pix { display: flex; gap: 16px; align-items: center; background: #f3fbf6; border: 1px solid #cfe9d9; border-radius: 12px; padding: 14px; margin-top: 6px; }
.teste-pix-qr { width: 140px; flex: 0 0 140px; background: #fff; border-radius: 8px; }
.teste-pix-qr svg { width: 100%; height: auto; display: block; }

/* ===== Layout novo: menu lateral (computador) e abas embaixo (celular) ===== */
.tela.painel { display: block; padding-left: 240px; min-height: 100vh; }
.tela.painel[hidden] { display: none; }
.lateral { position: fixed; top: 0; bottom: 0; left: 0; width: 240px; z-index: 30; overflow-y: auto; background: var(--escuro); color: #d8d1c0; display: flex; flex-direction: column; gap: 18px; padding: 22px 14px; }
.lateral .logo { color: #fff; padding: 0 10px; font-size: 22px; }
.lateral .abas { flex-direction: column; margin: 0; gap: 4px; }
.lateral .abas button { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; color: #d8d1c0; padding: 11px 12px; border-radius: 12px; font-size: 14.5px; position: relative; }
.lateral .abas button svg { width: 20px; height: 20px; flex: 0 0 20px; }
.lateral .abas button:hover { background: #24221e; color: #fff; }
.lateral .abas button.ativa { background: var(--ouro); color: #fff; }
.badge { margin-left: auto; background: var(--vermelho); color: #fff; font-size: 11px; min-width: 20px; height: 20px; border-radius: 10px; display: grid; place-items: center; padding: 0 6px; }
.lateral-rodape { margin-top: auto; display: flex; flex-direction: column; gap: 8px; padding: 0 10px; }
.lateral-rodape small { color: #8f887a; word-break: break-all; }
.lateral-rodape .link-ouro { color: var(--ouro-claro); }
.lateral-rodape .botao.contorno { color: #fff; box-shadow: inset 0 0 0 1.5px #5a554c; }
.topo-movel { display: none; }
#conteudo { padding: 26px clamp(16px, 3vw, 36px) 60px; max-width: 1300px; width: 100%; min-width: 0; margin: 0; }
@media (max-width: 860px) {
  .tela.painel { padding-left: 0; }
  .topo-movel { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 20; background: rgba(247,244,238,.95); backdrop-filter: blur(8px); border-bottom: 1px solid var(--borda); padding: 10px 16px; }
  .topo-movel .logo { font-size: 20px; }
  .lateral { position: fixed; top: auto; bottom: 0; left: 0; right: 0; width: auto; height: auto; overflow: visible; z-index: 30; padding: 0 0 env(safe-area-inset-bottom); flex-direction: row; gap: 0; }
  .lateral .logo, .lateral-rodape { display: none; }
  .lateral .abas { flex-direction: row; width: 100%; flex-wrap: nowrap; }
  .lateral .abas button { flex: 1 1 0; width: auto; min-width: 0; flex-direction: column; gap: 3px; font-size: 11px; padding: 9px 2px; border-radius: 0; text-align: center; justify-content: center; }
  .lateral .abas button.ativa { background: none; color: var(--ouro-claro); }
  .badge { position: absolute; top: 4px; right: calc(50% - 24px); margin: 0; }
  #conteudo { padding-bottom: 96px; }
  .editor-topo { top: 57px; }
}

/* ===== Visão geral ===== */
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-bottom: 16px; }
@media (max-width: 900px) { .kpis { grid-template-columns: 1fr 1fr; } .kpis .kpi:last-child:nth-child(odd) { grid-column: 1 / -1; } }
.kpi { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); padding: 16px 18px; display: flex; flex-direction: column; }
.kpi small { color: var(--suave); font-size: 13px; }
.kpi b { font-size: 28px; letter-spacing: -.02em; margin: 2px 0; }
.kpi span { color: var(--suave); font-size: 12.5px; }
.visao-grade { display: grid; grid-template-columns: 1.3fr 1fr; gap: 16px; align-items: start; }
@media (max-width: 900px) { .visao-grade { grid-template-columns: 1fr; } }
.tarefas { list-style: none; padding: 0; margin: 8px 0 0; }
.tarefas li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--borda); }
.tarefas li:first-child { border-top: 0; }
.tarefas li div { flex: 1; display: flex; flex-direction: column; }
.tarefas small { color: var(--suave); font-size: 12.5px; }
.t-alerta, .t-ok, .t-info { width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 14px; }
.t-alerta { background: #fff4d6; color: #8a6200; } .t-ok { background: #e8f6ee; color: #17633a; } .t-info { background: #e2f0ff; color: #164f8a; }
.mini-pedido { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; border-top: 1px solid var(--borda); font-size: 14px; }
.mini-pedido:first-child { border-top: 0; }
#ultimos .botao { margin-top: 10px; }

/* ===== Edição rápida de preços ===== */
.tabela-rapida { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); overflow: hidden; }
.tr-cab, .tr { display: grid; grid-template-columns: 52px minmax(0, 1fr) 64px 130px 130px 120px 110px 60px; gap: 10px; align-items: center; padding: 8px 14px; }
.tr-cab { background: var(--fundo); font-size: 12px; color: var(--suave); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; border-bottom: 1px solid var(--borda); }
.tr { border-bottom: 1px solid var(--borda); }
.tr:last-child { border-bottom: 0; }
.tr.mudou { background: #fffaea; }
.tr-nome { display: flex; flex-direction: column; min-width: 0; }
.tr-nome b { font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tr-nome small, .tr-est { color: var(--suave); font-size: 12.5px; }
.tr input[type=number] { border: 1px solid var(--borda); border-radius: 10px; padding: 9px 10px; font: inherit; font-size: 14px; width: 100%; background: #fff; }
.tr input[type=number]:focus { outline: 2px solid var(--ouro); border-color: transparent; }
.tr-ativo { display: flex; justify-content: center; }
.tr-ativo input { width: 20px; height: 20px; accent-color: var(--ouro); }
@media (max-width: 760px) {
  .tr-cab { display: none; }
  .tr { grid-template-columns: 48px 1fr 1fr; grid-template-areas: "foto nome nome" "foto custo lucro" "foto preco antigo" "foto est ativo"; row-gap: 6px; }
  .tr-custo { grid-area: custo; } .tr-custo::before { content: "Custo: "; color: var(--suave); }
  .tr-lucro { grid-area: lucro; align-items: flex-end; }
  .tr > .mini { grid-area: foto; align-self: start; }
  .tr-nome { grid-area: nome; } .tr input[data-k=preco] { grid-area: preco; } .tr input[data-k=preco_antigo] { grid-area: antigo; }
  .tr-est { grid-area: est; } .tr-est::before { content: "Estoque: "; }
  .tr-ativo { grid-area: ativo; justify-content: flex-end; gap: 6px; font-size: 12.5px; color: var(--suave); } .tr-ativo::before { content: "Na loja"; }
}
.filtros-admin select { flex: 1; min-width: 0; }

/* Ícone de produto sem foto e quadro vazio do editor */
.mini svg { width: 60%; height: 60%; color: #b9ae94; }
.editor-vazio { text-align: center; padding: 48px 24px; }
.editor-vazio svg { width: 54px; height: 54px; color: var(--ouro); margin-bottom: 8px; }
.editor-vazio h3 { font-family: "Playfair Display", serif; font-size: 22px; }
.editor-vazio .acoes-vazio { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 16px; }
.duas-col.sempre { grid-template-columns: 1fr 1fr; }

/* Clientes */
.kpi.clicavel { cursor: pointer; transition: border-color .15s; }
.kpi.clicavel:hover { border-color: var(--ouro); }
.kpi .kpi-nome { font-size: 22px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kpi-destaque { background: linear-gradient(135deg, #fff, #fbf5e6); }
.clientes-barra { display: flex; gap: 8px; margin: 14px 0; }
.clientes-barra input, .clientes-barra select { border: 1px solid var(--borda); border-radius: 999px; padding: 10px 14px; font: inherit; font-size: 14px; background: #fff; min-width: 0; }
.clientes-barra input { flex: 1; }
.cliente-card { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); margin-bottom: 10px; overflow: hidden; }
.cliente-card.aberto { border-color: var(--ouro); }
.cliente-linha { display: grid; grid-template-columns: 44px minmax(0, 2.2fr) repeat(3, minmax(0, 1fr)); gap: 14px; align-items: center; padding: 14px 16px; cursor: pointer; }
.cliente-linha:hover { background: #fcfaf5; }
.avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--escuro); color: var(--ouro); display: grid; place-items: center; font-weight: 700; font-size: 18px; }
.cliente-nome small { color: var(--suave); word-break: break-word; }
.cliente-dado { display: flex; flex-direction: column; font-size: 13px; }
.cliente-dado small, .cliente-dado span { color: var(--suave); font-size: 12px; }
.cliente-dado b { font-size: 15px; }
.tag-cliente { display: inline-block; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: #eef1f6; margin-left: 6px; vertical-align: middle; }
.tag-cliente.ouro { background: #f6ecd2; color: #7a5a00; }
.cliente-detalhe { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 4px 16px 18px; border-top: 1px solid var(--borda); font-size: 14px; }
.cliente-detalhe h4 { margin: 14px 0 8px; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--suave); }
.cliente-detalhe p { margin: 0 0 8px; }
.codigo-ind { letter-spacing: 2px; color: var(--ouro); }
.amigo { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 0; border-top: 1px solid var(--borda); }
.amigo:first-of-type { border-top: 0; }
@media (max-width: 900px) {
  .cliente-linha { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 10px; }
  .cliente-linha .avatar { display: none; }
  .cliente-nome { grid-column: 1 / -1; }
  .cliente-dado b { font-size: 14px; }
  .cliente-detalhe { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
.so-pc { display: inline; }
@media (max-width: 860px) { .so-pc { display: none; } }
@media (max-width: 600px) { .clientes-barra { flex-direction: column; } }

/* Câmbio e custos */
.cambio-lateral { margin: 18px 4px 0; padding: 12px; border: 1px solid #2c2a25; border-radius: 12px; color: #d8d1c0; }
.cambio-lateral:empty { display: none; }
.cambio-linhas { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cambio-linhas div { display: flex; flex-direction: column; }
.cambio-linhas small { font-size: 11px; color: #9c9584; }
.cambio-linhas b { font-size: 15px; color: #fff; }
.cambio-hora { margin: 8px 0 0; font-size: 11px; color: #9c9584; }
.ponto-vivo { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #3fbf6f; margin-right: 6px; vertical-align: middle; animation: piscar 2s infinite; }
@keyframes piscar { 50% { opacity: .35; } }
.cambio-secao { margin-top: 16px; }
.cambio-topo { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.cambio-topo h3 { margin: 0; }
.cambio-linhas.grande { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 14px; }
.cambio-linhas.grande div { background: var(--fundo); border-radius: 12px; padding: 12px 14px; }
.cambio-linhas.grande small { color: var(--suave); font-size: 12px; }
.cambio-linhas.grande b { color: var(--escuro); font-size: 22px; }
.cambio-linhas.grande .destaque { background: var(--escuro); }
.cambio-linhas.grande .destaque small { color: #bbb; } .cambio-linhas.grande .destaque b { color: var(--ouro); }
.cambio-secao .cambio-hora { color: var(--suave); font-size: 12px; }
.cambio-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; margin-top: 16px; }
.cambio-grade h4, #exemploCusto h4 { margin: 0 0 10px; font-size: 14px; }
.conta-custo { margin: 0 0 10px; padding-left: 20px; font-size: 14px; line-height: 1.9; }
.lucro-pos { color: #1d7a43; } .lucro-neg { color: #b42318; }
.tr-custo { font-size: 13px; }
.tr-lucro { display: flex; flex-direction: column; font-size: 13px; }
.tr-lucro small { color: var(--suave); font-size: 11.5px; }
.sugerir { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 14px; background: #fbf5e6; border-bottom: 1px solid var(--borda); font-size: 13.5px; }
.sugerir small { color: var(--suave); }
.custo-var { display: flex; align-items: flex-end; gap: 14px; flex-wrap: wrap; }
.custo-var .campo { max-width: 240px; margin-bottom: 0; }
.custo-var .campo small { color: var(--suave); font-weight: 400; }
.custo-real { font-size: 13px; color: #1d7a43; padding-bottom: 10px; }
@media (max-width: 1100px) { .cambio-linhas.grande { grid-template-columns: 1fr 1fr; } .cambio-grade { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 860px) { .cambio-lateral { display: none; } }
.campo-manual { max-width: 420px; margin-top: 4px; }
.campo-manual small { display: block; color: var(--suave); font-size: 12px; margin-top: 4px; }
