/* =====================================================================
   VISUAL DO CONTROLE DE ESTOQUE
   Usa as cores do site (variáveis de _nucleo/estilo.css), então
   funciona nos modos claro e escuro. Classes começam com .ce-
      Sem animação contínua.
   ===================================================================== */

/* ---------- Base ---------- */
.ce { display: grid; gap: 1rem; margin-top: .4rem; --ce-venda: #2350E0; --ce-lucro: #0D9A78; --ce-saida: #E0603A; --ce-alerta: #9A5B00; --ce-whats: #128C4A; }
:root[data-theme="dark"] .ce { --ce-venda: #7C9BFF; --ce-lucro: #4FD6B0; --ce-saida: #FF9A73; --ce-alerta: #F5B755; --ce-whats: #1FA855; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ce { --ce-venda: #7C9BFF; --ce-lucro: #4FD6B0; --ce-saida: #FF9A73; --ce-alerta: #F5B755; --ce-whats: #1FA855; } }
.ce [hidden] { display: none !important; }
.ce-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ce-duas { display: grid; gap: 1rem; min-width: 0; align-items: start; }
.ce-lado { display: grid; gap: .8rem; min-width: 0; }
.ce-painel { display: grid; gap: 1rem; min-width: 0; }
.ce-cartao { padding: 1.1rem 1rem 1.2rem; min-width: 0; }
.ce-tit { font-size: 1.1rem; font-family: var(--fonte-titulo); font-weight: 800; color: var(--titulo); margin: 0 0 .8rem; display: flex; gap: .45rem; align-items: center; overflow-wrap: anywhere; }
.ce-subtit { font-size: 1rem; margin: 1.3rem 0 .5rem; color: var(--titulo); }
.ce-explica { font-size: .88rem; color: var(--texto-2); line-height: 1.5; margin: .6rem 0 0; }
.ce-opc { font-weight: 500; color: var(--texto-2); }
.ce-dica { display: block; font-size: .8rem; font-weight: 500; color: var(--texto-2); line-height: 1.45; margin: .5rem 0 .6rem; }
.ce-vazio { color: var(--texto-2); font-size: .92rem; margin: .3rem 0; list-style: none; padding: .4rem 0; }
.ce-link { border: 0; background: none; padding: .3rem 0; font: inherit; font-size: .88rem; color: var(--primaria); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.ce-perigo, .ce-link.ce-perigo { color: var(--perigo); }
.ce-erro { display: block; font-size: .82rem; font-weight: 700; color: var(--perigo); margin-top: .3rem; }
.ce-pos { color: var(--sucesso); }
.ce-neg { color: var(--perigo); }
.ce-aviso { padding: .7rem .85rem; border-radius: var(--raio-p); background: #FFF6E0; color: #5A4300; }
.ce-privado { display: flex; gap: .55rem; align-items: flex-start; margin: 0; padding: .75rem .9rem; border-radius: var(--raio-p); background: var(--destaque-suave); color: var(--texto); font-size: .9rem; line-height: 1.45; }
.ce-privado .ico { width: 20px; height: 20px; flex: none; color: var(--destaque-texto); margin-top: .05rem; }
.ce-aviso-exemplo { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; padding: .75rem .9rem; border-radius: var(--raio-p); background: var(--primaria-suave); font-size: .9rem; line-height: 1.45; }

/* ---------- Situação (selos) ---------- */
.ce-st { display: inline-block; padding: .1rem .5rem; border-radius: 99px; font-size: .74rem; font-weight: 750; line-height: 1.5; white-space: nowrap; background: var(--superficie-2); color: var(--texto-2); }
.ce-st-zerado { background: rgba(180, 35, 24, .12); color: var(--perigo); }
.ce-st-repor, .ce-st-validade { background: rgba(224, 162, 0, .16); color: var(--ce-alerta); }
.ce-st-ok { background: rgba(13, 154, 120, .14); color: var(--sucesso); }
.ce-st-parado { background: var(--superficie-2); color: var(--texto-2); }

/* ---------- Placar ---------- */
.ce-placar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.ce-pl { margin: 0; padding: .7rem .7rem .65rem; border-radius: var(--raio-p); background: var(--superficie); border: 1px solid var(--borda); display: grid; gap: .15rem; min-width: 0; align-content: start; }
.ce-pl span { font-size: .74rem; font-weight: 700; color: var(--texto-2); text-transform: uppercase; letter-spacing: .04em; }
.ce-pl strong { font-family: var(--fonte-titulo); font-size: .95rem; font-weight: 800; overflow-wrap: anywhere; line-height: 1.2; color: var(--titulo); }
.ce-pl strong.ce-neg { color: var(--perigo); }
.ce-pl small { font-size: .72rem; color: var(--texto-2); line-height: 1.3; }
.ce-pl-valor { border-color: var(--primaria); box-shadow: inset 0 0 0 1px var(--primaria); }

/* ---------- Avisos ---------- */
.ce-alertas { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.ce-alertas:empty { display: none; }
.ce-al { display: flex; gap: .55rem; align-items: flex-start; padding: .65rem .8rem; border-radius: var(--raio-p); font-size: .9rem; line-height: 1.45; background: var(--superficie); border: 1px solid var(--borda); border-left-width: 4px; }
.ce-al-perigo { border-left-color: var(--perigo); }
.ce-al-aviso { border-left-color: #E0A200; }
.ce-al .ce-link { padding: 0; }

/* ---------- Movimentar ---------- */
.ce-mover { scroll-margin-top: calc(var(--topo-h) + 10px); border-top: 4px solid var(--ce-venda); }
.ce-mover[data-tipo="entrada"] { border-top-color: var(--ce-lucro); }
.ce-mover[data-tipo="saida"] { border-top-color: var(--ce-saida); }
.ce-tipos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; padding: 4px; border-radius: 16px; background: var(--superficie-2); margin-bottom: .8rem; }
.ce-tipos button { min-height: 48px; border: 0; border-radius: 12px; background: transparent; font: inherit; font-size: .88rem; padding: .2rem .15rem; line-height: 1.15; font-weight: 750; color: var(--texto-2); cursor: pointer; }
.ce-tipos [aria-checked="true"] { background: var(--superficie); color: var(--titulo); box-shadow: var(--sombra); }
.ce-campos { display: grid; gap: .8rem; }
.ce-campo { display: grid; gap: .3rem; font-size: .9rem; font-weight: 650; color: var(--titulo); min-width: 0; align-content: start; }
.ce-campo input, .ce-campo select, .ce-campo textarea {
  font: inherit; font-size: 1rem; font-weight: 400; color: var(--texto); width: 100%; min-width: 0; box-sizing: border-box;
  min-height: 46px; padding: .6rem .8rem; border: 1.5px solid var(--borda); border-radius: var(--raio-p); background: var(--superficie);
}
.ce-campo textarea { resize: vertical; line-height: 1.45; font-size: .95rem; }
.ce-campo input:focus, .ce-campo select:focus, .ce-campo textarea:focus { outline: none; border-color: var(--primaria); box-shadow: 0 0 0 3px var(--primaria-suave); }
.ce-prod-info { margin: .1rem 0 .8rem; font-size: .84rem; color: var(--texto-2); line-height: 1.4; min-height: 1.2em; }
.ce-prod-novo { color: var(--primaria); font-weight: 650; }
.ce-st-txt-zerado { color: var(--perigo); font-weight: 650; }
.ce-st-txt-repor { color: var(--ce-alerta); font-weight: 650; }
.ce-alerta-txt { color: var(--ce-alerta); }
.ce-prod-linha { display: flex; gap: .5rem; align-items: end; }
.ce-prod-campo { flex: 1; }
.ce-ler { min-height: 46px; min-width: 52px; font-size: 1.3rem; padding: 0 .6rem; }
.ce-qtd-linha { display: grid; grid-template-columns: 58px minmax(0, 1fr) 58px; gap: .5rem; align-items: end; margin-bottom: .8rem; }
.ce-qtd input { font-size: 1.6rem; font-weight: 800; font-family: var(--fonte-titulo); min-height: 58px; text-align: center; }
.ce-passo { min-height: 58px; font-size: 1.6rem; font-weight: 800; padding: 0; }
.ce-total { margin: .6rem 0 0; font-weight: 750; color: var(--titulo); min-height: 1.2em; }
.ce-total:empty { display: none; }
.ce-margem { margin: -.2rem 0 0; font-size: .84rem; font-weight: 650; color: var(--sucesso); min-height: 1.2em; }
.ce-margem:empty { display: none; }
.ce-marcar { display: flex; align-items: center; gap: .55rem; font-size: .92rem; font-weight: 600; color: var(--titulo); cursor: pointer; min-height: 44px; }
.ce-marcar input { width: 20px; height: 20px; accent-color: var(--primaria); flex: none; }
.ce-acoes { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .9rem; align-items: center; }
.ce-acoes .btn-largo { flex: 1 1 100%; }
.ce-arquivo { position: relative; cursor: pointer; }
.ce-depois { margin-top: .9rem; padding: .7rem .8rem; border-radius: var(--raio-p); background: var(--superficie-2); display: grid; gap: .5rem; }
.ce-depois p { margin: 0; font-size: .9rem; line-height: 1.45; color: var(--titulo); font-weight: 600; }
.ce-depois .btn { justify-self: start; }
.btn.ce-whats { background: var(--ce-whats); color: #fff; border-color: var(--ce-whats); }
.btn.ce-whats .ico { width: 18px; height: 18px; }

/* ---------- Abas ---------- */
.ce-abas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3px; padding: 4px; border-radius: 16px; background: var(--superficie-2); position: sticky; top: calc(var(--topo-h) + 6px); z-index: 5; }
.ce-abas button { position: relative; min-height: 50px; border: 0; border-radius: 12px; background: transparent; font: inherit; font-size: .74rem; font-weight: 750; color: var(--texto-2); cursor: pointer; display: grid; justify-items: center; gap: .1rem; padding: .3rem .1rem; line-height: 1.15; }
.ce-abas button > span[aria-hidden] { font-size: 1.05rem; }
.ce-abas [aria-selected="true"] { background: var(--primaria); color: var(--sobre-primaria); box-shadow: var(--sombra); }
.ce-conta { position: absolute; top: 3px; right: 4px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 99px; background: var(--perigo); color: #fff; font-size: .7rem; line-height: 20px; text-align: center; }

/* ---------- Lista de produtos ---------- */
.ce-filtros { display: grid; gap: .6rem; }
@media (min-width: 480px) { .ce-filtros { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } }
.ce-lista, .ce-kardex, .ce-forns, .ce-contar, .ce-pedido-itens { list-style: none; margin: .4rem 0 0; padding: 0; display: grid; gap: .35rem; }
.ce-prod { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem; align-items: center; padding: .6rem .7rem; border: 1px solid var(--borda); border-left: 4px solid var(--borda); border-radius: var(--raio-p); background: var(--superficie); font: inherit; color: var(--texto); text-align: left; cursor: pointer; min-height: 56px; }
.ce-prod:hover { border-color: var(--primaria); }
.ce-prod-zerado { border-left-color: var(--perigo); }
.ce-prod-repor { border-left-color: #E0A200; }
.ce-prod-ok { border-left-color: var(--sucesso); }
.ce-prod-parado { border-left-color: var(--texto-2); }
.ce-prod-nome { display: grid; gap: .2rem; min-width: 0; }
.ce-prod-nome strong { font-size: .98rem; color: var(--titulo); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ce-prod-nome small { font-size: .76rem; color: var(--texto-2); display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; }
.ce-prod-qtd { font-weight: 800; font-family: var(--fonte-titulo); font-size: 1rem; white-space: nowrap; color: var(--titulo); }
.ce-detalhe { margin-top: 1rem; }
.ce-detalhe > summary { cursor: pointer; font-weight: 750; color: var(--primaria); min-height: 44px; display: flex; align-items: center; }
.ce-detalhe[open] > summary { margin-bottom: .6rem; }

/* ---------- Ficha do produto ---------- */
.ce-ficha { scroll-margin-top: calc(var(--topo-h) + 70px); }
.ce-voltar { margin-bottom: .5rem; text-decoration: none; }
.ce-ficha-topo { display: flex; justify-content: space-between; gap: .6rem; align-items: flex-start; }
.ce-ficha-topo .ce-tit { margin: 0; font-size: 1.3rem; }
.ce-ficha-topo .ce-explica { margin-top: .2rem; }
.ce-f-saldo { margin: .9rem 0 .4rem; display: flex; align-items: baseline; gap: .5rem; font-size: .9rem; color: var(--texto-2); font-weight: 700; }
.ce-f-saldo strong { font-family: var(--fonte-titulo); font-size: 2rem; line-height: 1.1; }
.ce-f-info { margin: 0; padding-left: 1.1rem; font-size: .86rem; color: var(--texto-2); line-height: 1.55; }
.ce-f-numeros { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; margin: .4rem 0 .8rem; }
.ce-f-numeros p { margin: 0; padding: .55rem .6rem; border-radius: var(--raio-p); background: var(--superficie-2); display: grid; gap: .1rem; min-width: 0; }
.ce-f-numeros span { font-size: .7rem; text-transform: uppercase; color: var(--texto-2); font-weight: 700; }
.ce-f-numeros strong { font-family: var(--fonte-titulo); font-size: 1rem; overflow-wrap: anywhere; }
.ce-mov { width: 100%; display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: .5rem; align-items: center; padding: .5rem .6rem; border: 1px solid var(--borda); border-radius: var(--raio-p); background: var(--superficie); font: inherit; color: var(--texto); text-align: left; cursor: pointer; min-height: 52px; }
.ce-mov:hover { border-color: var(--primaria); }
.ce-mov-data { font-size: .8rem; font-weight: 800; color: var(--texto-2); }
.ce-mov-desc { display: grid; min-width: 0; }
.ce-mov-desc strong { font-size: .92rem; color: var(--titulo); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ce-mov-desc small, .ce-mov-valor small { font-size: .74rem; color: var(--texto-2); }
.ce-mov-valor { display: grid; justify-items: end; white-space: nowrap; }
.ce-mov-venda .ce-mov-valor b { color: var(--ce-venda); }
.ce-mov-entrada .ce-mov-valor b, .ce-mov-ajuste .ce-mov-valor b { color: var(--sucesso); }
.ce-mov-saida .ce-mov-valor b, .ce-mov-ajuste.ce-mov-menos .ce-mov-valor b { color: var(--ce-saida); }

/* ---------- Repor (pedido de compra) ---------- */
.ce-pedidos { display: grid; gap: .8rem; margin-top: .6rem; }
.ce-pedido { padding: .8rem; border: 1px solid var(--borda); border-radius: var(--raio-p); background: var(--superficie); }
.ce-pedido-topo { display: flex; justify-content: space-between; gap: .6rem; align-items: flex-start; }
.ce-pedido-topo h4 { margin: 0; font-size: 1rem; color: var(--titulo); }
.ce-pedido-topo small { font-size: .78rem; color: var(--texto-2); }
.ce-pedido-topo strong { font-family: var(--fonte-titulo); white-space: nowrap; color: var(--titulo); }
.ce-pi, .ce-ct { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .3rem .6rem; align-items: center; padding: .5rem .6rem; border: 1px solid var(--borda); border-left: 4px solid var(--borda); border-radius: var(--raio-p); background: var(--superficie); }
.ce-pi-zerado { border-left-color: var(--perigo); }
.ce-pi-repor { border-left-color: #E0A200; }
.ce-pi-nome { border: 0; background: none; padding: 0; font: inherit; text-align: left; cursor: pointer; display: grid; gap: .2rem; min-width: 0; color: var(--texto); }
.ce-pi-nome strong, .ce-ct-nome strong { color: var(--titulo); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .94rem; }
.ce-pi-nome small, .ce-ct-nome small { font-size: .76rem; color: var(--texto-2); display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; }
.ce-ct-nome { display: grid; gap: .2rem; min-width: 0; }
.ce-pi-qtd { display: flex; align-items: center; gap: .3rem; font-size: .82rem; color: var(--texto-2); font-weight: 700; }
.ce-pi-qtd input { width: 78px; min-height: 44px; padding: .4rem .5rem; font: inherit; font-size: 1rem; font-weight: 800; text-align: center; color: var(--texto); border: 1.5px solid var(--borda); border-radius: var(--raio-p); background: var(--superficie); }
.ce-pi-qtd input:focus { outline: none; border-color: var(--primaria); box-shadow: 0 0 0 3px var(--primaria-suave); }
.ce-ct-dif { grid-column: 1 / -1; font-size: .8rem; font-weight: 700; }
.ce-ct-dif:empty { display: none; }
.ce-pedido .ce-acoes { margin-top: .7rem; }
.ce-forn { width: 100%; display: grid; gap: .15rem; padding: .55rem .7rem; border: 1px solid var(--borda); border-radius: var(--raio-p); background: var(--superficie); font: inherit; text-align: left; cursor: pointer; color: var(--texto); min-height: 52px; }
.ce-forn:hover { border-color: var(--primaria); }
.ce-forn strong { color: var(--titulo); }
.ce-forn small { font-size: .78rem; color: var(--texto-2); }

/* ---------- Relatórios ---------- */
.ce-numeros { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.ce-numeros p { margin: 0; padding: .6rem; border-radius: var(--raio-p); background: var(--superficie-2); display: grid; gap: .1rem; }
.ce-numeros span { font-size: .72rem; text-transform: uppercase; color: var(--texto-2); font-weight: 700; }
.ce-numeros strong { font-family: var(--fonte-titulo); font-size: 1.05rem; overflow-wrap: anywhere; }
.ce-numeros .ce-explica { grid-column: 1 / -1; background: none; padding: 0; display: block; }
.ce-faixas { display: grid; gap: .8rem; }
.ce-faixa p { display: flex; justify-content: space-between; gap: .6rem; margin: 0 0 .3rem; font-size: .92rem; color: var(--titulo); }
.ce-faixa small { font-size: .76rem; color: var(--texto-2); }
.ce-barra { height: 10px; border-radius: 99px; background: var(--superficie-2); overflow: hidden; }
.ce-barra i { display: block; height: 100%; background: var(--primaria); }
.ce-meses { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .4rem; align-items: end; height: 150px; padding: .3rem 0; border-bottom: 1px solid var(--borda); }
.ce-mes { display: grid; grid-template-rows: 1fr auto; height: 100%; gap: .25rem; min-width: 0; }
.ce-mes-barras { display: flex; gap: 3px; align-items: flex-end; justify-content: center; height: 100%; }
.ce-mes-barras i { width: 40%; max-width: 22px; border-radius: 4px 4px 0 0; min-height: 2px; }
.ce-b-vendas { background: var(--ce-venda); }
.ce-b-lucro { background: var(--ce-lucro); }
.ce-mes span { font-size: .7rem; color: var(--texto-2); text-align: center; }
.ce-legenda { display: flex; justify-content: center; align-items: center; gap: .35rem .5rem; font-size: .8rem; color: var(--texto-2); margin: .5rem 0 .6rem; }
.ce-leg { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
.ce-leg-vendas { background: var(--ce-venda); }
.ce-leg-lucro { background: var(--ce-lucro); margin-left: .6rem; }
.ce-top { margin: 0; padding-left: 1.3rem; display: grid; gap: .5rem; }
.ce-top li { font-size: .92rem; }
.ce-top small { display: block; color: var(--texto-2); font-size: .78rem; }
.ce-top .ce-link { padding: 0; }

.ce-abc-resumo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; margin-bottom: .6rem; }
.ce-abc-cx { margin: 0; padding: .55rem; border-radius: var(--raio-p); background: var(--superficie-2); display: grid; gap: .15rem; min-width: 0; }
.ce-abc-cx span { font-size: .76rem; color: var(--texto-2); font-weight: 700; display: flex; gap: .3rem; align-items: center; flex-wrap: wrap; }
.ce-abc-cx strong { font-family: var(--fonte-titulo); font-size: 1.1rem; }
.ce-abc-cx small { font-size: .7rem; color: var(--texto-2); line-height: 1.3; }
.ce-abc { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; font-size: .78rem; font-weight: 800; color: #fff; background: var(--texto-2); }
.ce-abc-A { background: #0D7A5F; }
.ce-abc-B { background: #2350E0; }
.ce-abc-C { background: #6B7486; }

/* ---------- Tabelas ---------- */
.ce-tabela { width: 100%; border-collapse: collapse; font-size: .88rem; }
.ce-tabela caption { text-align: left; font-weight: 750; color: var(--titulo); padding: .4rem 0; }
.ce-tabela th, .ce-tabela td { padding: .45rem .5rem; border-bottom: 1px solid var(--borda); text-align: right; white-space: nowrap; }
.ce-tabela th:first-child, .ce-tabela td:first-child { text-align: left; }
.ce-tabela thead th { font-size: .76rem; color: var(--texto-2); text-transform: uppercase; letter-spacing: .03em; }
.ce-tabela tfoot th, .ce-tabela tfoot td { font-weight: 800; border-bottom: 0; }
.ce-tabela-p { font-size: .82rem; }

/* ---------- Páginas de caso: calculadora, modelos e exemplo ---------- */
.ce-mini { display: grid; gap: .8rem; }
.ce-mini-saida { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.ce-mini-saida li { display: flex; justify-content: space-between; gap: .8rem; padding: .55rem .7rem; border-radius: var(--raio-p); background: var(--superficie-2); align-items: baseline; }
.ce-mini-saida strong { font-family: var(--fonte-titulo); font-size: 1.1rem; white-space: nowrap; }
.ce-mini-total { box-shadow: inset 0 0 0 1.5px var(--primaria); }
.ce-medio-linhas { display: grid; gap: .5rem; }
.ce-modelos { display: grid; gap: .8rem; margin-bottom: 1rem; }
.ce-modelo { padding: 1rem; }
.ce-modelo h3 { margin: 0 0 .5rem; font-size: 1rem; }
.ce-modelo-txt { margin: 0 0 .7rem; padding: .7rem .8rem; border-radius: var(--raio-p); background: var(--superficie-2); font-size: .92rem; line-height: 1.55; }
.ce-exemplo { margin: 0 0 1rem; display: grid; gap: .8rem; }
.ce-exemplo figcaption { font-size: .85rem; color: var(--texto-2); }
.ce-ex-caixas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.ce-ex-caixas p { margin: 0; padding: .6rem; border-radius: var(--raio-p); background: var(--superficie-2); display: grid; }
.ce-ex-caixas span { font-size: .72rem; text-transform: uppercase; color: var(--texto-2); font-weight: 700; }
.ce-ex-caixas strong { font-size: .98rem; overflow-wrap: anywhere; }
.ce-casos { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.ce-caso { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .8rem 1rem; border: 1px solid var(--borda); border-radius: var(--raio-p); background: var(--superficie); color: var(--titulo); text-decoration: none; }
.ce-caso:hover { border-color: var(--primaria); }
.ce-caso .ico { width: 18px; height: 18px; flex: none; }

/* ---------- Câmera (código de barras) ---------- */
.ce-camera { max-width: 480px; }
.ce-camera .ce-tit { margin-bottom: .6rem; }
.ce-video { position: relative; border-radius: var(--raio-p); overflow: hidden; background: #000; aspect-ratio: 4 / 3; }
.ce-video video { width: 100%; height: 100%; object-fit: cover; display: block; }
.ce-video i { position: absolute; left: 10%; right: 10%; top: 50%; height: 2px; background: #FF3B30; box-shadow: 0 0 8px #FF3B30; }
.ce-camera .btn { margin-top: .8rem; width: 100%; }

/* ---------- Botão flutuante do celular ---------- */
.ce-flutuante { position: fixed; z-index: 40; right: 16px; bottom: calc(var(--barra-h) + 14px + env(safe-area-inset-bottom)); box-shadow: var(--sombra-forte); border-radius: 999px; }
.ce-flutuante .ico { width: 18px; height: 18px; }

/* ---------- Telas maiores ---------- */
@media (min-width: 640px) {
  .ce-campos { grid-template-columns: 1fr 1fr; }
  .ce-largo { grid-column: 1 / -1; }
  .ce-pl strong { font-size: 1.3rem; }
  .ce-abas button { font-size: .86rem; display: flex; justify-content: center; gap: .35rem; align-items: center; }
  .ce-tipos button { font-size: .96rem; }
  .ce-f-numeros { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ce-numeros { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ce-modelos { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) { .ce-flutuante { bottom: 20px; } }
@media (min-width: 1000px) {
  .ce-duas { grid-template-columns: minmax(0, 400px) minmax(0, 1fr); }
  .ce-mover { position: sticky; top: calc(var(--topo-h) + 12px); }
  .ce-flutuante { display: none; }
}
@media print { .ce-flutuante, .ce-mover, .ce-abas, .ce-arquivos { display: none; } }
