@import url('https://fonts.googleapis.com/css2?family=Anton&family=Barlow:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;600;700&display=swap');

/* =========================
   VARIÁVEIS
========================= */

:root{
    --sidebar-width: 238px;

    /* ---- paleta "etiqueta de estoque" (igual à landing page) ---- */
    --tinta: #12161f;
    --tinta-2: #232b38;
    --tinta-suave: #5b6472;
    --papel: #f2f3ef;
    --papel-2: #e8eae4;
    --cartao: #ffffff;
    --amarelo: #ffc533;
    --amarelo-escuro: #e0a800;
    --linha: #d9dbd3;
    --raio: 16px;

    /* ---- nomes antigos mantidos (agora apontando pra nova paleta) ---- */
    --azul: var(--amarelo);
    --azul-escuro: var(--amarelo-escuro);
    --vermelho: #dc2626;
    --vermelho-escuro: #991b1b;
    --verde: #16a34a;
    --bg: var(--papel);
    --texto: var(--tinta);
    --cinza-texto: var(--tinta-suave);
    --borda: var(--linha);
}


/* =========================
   RESET
========================= */

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

html, body{
    width: 100%;
    overflow-x: hidden;
    background: var(--papel);
    color: var(--tinta);
}

h1, h2, .titulo-display{
    font-family: "Anton", "Barlow", sans-serif;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.mono, .dado-numerico{
    font-family: "JetBrains Mono", monospace;
}


/* =========================
   ANIMAÇÃO DE ENTRADA
========================= */

@keyframes entrada-pagina{
    from{ opacity:0; transform:scale(.992); }
    to{ opacity:1; transform:scale(1); }
}

@keyframes entrada-sidebar{
    from{ opacity:0; transform:translateX(-18px); }
    to{ opacity:1; transform:translateX(0); }
}

@keyframes entrada-conteudo{
    from{ opacity:0; transform:translateY(12px); }
    to{ opacity:1; transform:translateY(0); }
}

@keyframes entrada-elemento{
    from{ opacity:0; transform:translateY(8px); }
    to{ opacity:1; transform:translateY(0); }
}

body{
    animation:entrada-pagina .42s cubic-bezier(.22,.8,.32,1) backwards;
}

.sidebar{
    animation:entrada-sidebar .58s cubic-bezier(.22,.8,.32,1) .08s backwards;
}

.content{
    animation:entrada-conteudo .62s cubic-bezier(.22,.8,.32,1) .12s backwards;
}

.content > header,
.content > section,
.content > .painel,
.content > .cards,
.content > .graficos{
    animation:entrada-elemento .55s cubic-bezier(.22,.8,.32,1) .26s backwards;
}

.content > :nth-child(3){ animation-delay:.32s; }
.content > :nth-child(4){ animation-delay:.38s; }
.content > :nth-child(n+5){ animation-delay:.44s; }

@media (prefers-reduced-motion: reduce){
    body,
    .sidebar,
    .content,
    .content > *{
        animation:none !important;
    }
}


/* =========================
   LAYOUT
========================= */

.layout{
    display: flex;
    min-height: 100vh;
}


/* =========================
   SIDEBAR
========================= */

.sidebar{
    width: var(--sidebar-width);
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    background: #171a21;
    color: var(--papel);
    padding: 20px 14px 18px;
    z-index: 1000;
    transition: left .3s ease;
    overflow-y: auto;
    border-right: 1px solid rgba(255,255,255,.07);
    scrollbar-width: none;
}

.sidebar::-webkit-scrollbar{ width:0; height:0; }

.sidebar h2{
    min-height: 42px;
    font-size: 21px;
    margin: 0 38px 21px 4px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
}

.sidebar nav a{
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 42px;
    padding: 5px 9px;
    margin-bottom: 2px;
    border-radius: 9px;
    color: #a7adba;
    text-decoration: none;
    cursor: pointer;
    transition: background .16s ease, color .16s ease;
    font-weight: 600;
    font-size: 14px;
}

.sidebar nav a:hover{
    background: rgba(255,255,255,.055);
    color: #fff;
}

.sidebar nav .active{
    position: relative;
    background: rgba(255,197,51,.11);
    color: #ffd66d;
}

.sidebar nav .active::before{
    content:"";
    position:absolute;
    left:3px;
    top:9px;
    bottom:9px;
    width:3px;
    border-radius:4px;
    background:var(--amarelo);
}

.menu-grupo{ margin-bottom:14px; }
.menu-grupo:last-child{ margin-top:6px; margin-bottom:0; padding-top:10px; border-top:1px solid rgba(255,255,255,.07); }
.menu-grupo-titulo{ display:flex; align-items:center; justify-content:space-between; width:100%; min-height:28px; padding:3px 9px 6px; border:0; border-radius:6px; background:transparent; color:#666e7d; box-shadow:none; font:700 9px "JetBrains Mono",monospace; letter-spacing:1.15px; text-transform:uppercase; white-space:nowrap; }
.menu-grupo-titulo:hover{ background:transparent; color:#969dab; transform:none; box-shadow:none; }
.menu-grupo-seta{ font-size:13px; opacity:.65; transition:transform .2s ease; }
.menu-grupo.recolhivel .menu-grupo-links{ max-height:0; overflow:hidden; opacity:0; transition:max-height .25s ease,opacity .18s ease; }
.menu-grupo.recolhivel.aberto .menu-grupo-links{ max-height:300px; opacity:1; }
.menu-grupo.recolhivel.aberto .menu-grupo-seta{ transform:rotate(180deg); }
.menu-icone{ display:grid; place-items:center; width:31px; height:31px; min-width:31px; border:1px solid rgba(255,255,255,.055); border-radius:8px; background:rgba(255,255,255,.025); color:#c4c9d2; font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif; font-size:16px; line-height:1; }
.sidebar nav a:hover .menu-icone{ border-color:rgba(255,255,255,.1); color:#fff; }
.sidebar nav .active .menu-icone{ border-color:rgba(255,197,51,.2); background:rgba(255,197,51,.08); color:var(--amarelo); }
.menu-rotulo{ display:block; white-space:nowrap; overflow:hidden; transition:opacity .18s ease; }
.marca-icone{ display:grid; place-items:center; width:32px; height:32px; min-width:32px; border-radius:9px; background:var(--amarelo); color:var(--tinta); font-size:17px; }
.marca-texto{ font-family:"Anton","Barlow",sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.3px; white-space:nowrap; transition:opacity .18s ease; }
.btn-recolher-menu{ position:absolute; top:23px; right:14px; display:grid; place-items:center; width:30px; height:30px; padding:0; border:1px solid rgba(255,255,255,.08); border-radius:8px; background:rgba(255,255,255,.03); color:#8f96a3; box-shadow:none; font-size:20px; }
.btn-recolher-menu .menu-rotulo{ display:none; }
.btn-recolher-menu:hover{ background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.14); color:white; transform:none; box-shadow:none; }

@media(min-width:769px){
    .sidebar,.content{ transition:width .24s ease, margin-left .24s ease, padding .24s ease, left .24s ease; }
    .sidebar.compacto{ width:68px; padding-left:9px; padding-right:9px; overflow-x:hidden; }
    body.menu-compacto .content{ margin-left:68px; width:calc(100% - 68px); }
    .sidebar.compacto h2{ justify-content:center; margin:0 0 58px; }
    .sidebar.compacto .menu-rotulo,.sidebar.compacto .menu-grupo-titulo,.sidebar.compacto .marca-texto{ opacity:0; width:0; overflow:hidden; }
    .sidebar.compacto .menu-grupo-titulo{ display:none; }
    .sidebar.compacto .menu-grupo.recolhivel .menu-grupo-links{ max-height:300px; opacity:1; }
    .sidebar.compacto .menu-grupo{ margin-bottom:8px; }
    .sidebar.compacto .menu-grupo:last-child{ padding-top:8px; }
    .sidebar.compacto nav a{ justify-content:center; padding:5px; }
    .sidebar.compacto nav .active::before{ left:2px; }
    .sidebar.compacto .btn-recolher-menu{ top:72px; right:auto; left:19px; bottom:auto; }
}

.menu-overlay{ display:none; }


/* =========================
   CONTEÚDO
========================= */

.content{
    margin-left: var(--sidebar-width);
    width: calc(100% - var(--sidebar-width));
    max-width: 1400px;
    padding: 30px;
}


/* =========================
   HEADER
========================= */

header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

header h1{
    font-size: 30px;
    color: var(--tinta);
}

header p{
    color: var(--tinta-suave);
    font-size: 14px;
    margin-top: 4px;
}

.usuario{
    background: var(--cartao);
    padding: 12px 20px;
    border-radius: 999px;
    border: 1px solid var(--linha);
    font-weight: 700;
    white-space: nowrap;
}

.saudacao-texto{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.3;
}

.saudacao-texto strong{
    font-size: 15px;
    color: var(--texto);
}

.saudacao-texto small{
    font-weight: 400;
    color: var(--cinza-texto);
    font-size: 12px;
    font-family: "JetBrains Mono", monospace;
    letter-spacing: .3px;
}


/* =========================
   CARDS
========================= */

.cards{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.card{
    background: var(--cartao);
    padding: 25px;
    border-radius: var(--raio);
    border: 1px solid var(--borda);
    border-top: 4px solid var(--amarelo);
    box-shadow: 0 10px 25px rgba(15,23,42,.06);
    min-width: 0;
}

.alerta-estoque-baixo{ margin:-12px 0 24px; padding:14px 16px; border:1px solid #f2c94c; border-left:5px solid var(--amarelo-escuro); border-radius:var(--raio); background:#fff8d8; color:var(--tinta); font-size:14px; }
.alerta-estoque-baixo a{ color:inherit; font-weight:800; }

.configuracao-notificacoes{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px; }
.configuracao-icone{ display:grid; place-items:center; width:52px; height:52px; border-radius:15px; background:#fff4c5; font-size:24px; }
.configuracao-conteudo h2{ margin:0 0 5px; }
.configuracao-conteudo > p{ margin:0 0 12px; color:var(--tinta-suave); }
.status-permissao{ display:flex; align-items:center; gap:8px; color:var(--tinta-suave); font-size:13px; }
.configuracao-notificacoes > button{ width:auto; min-width:180px; }
.ajuda-permissao{ border-left:4px solid var(--vermelho); }
.ajuda-permissao p{ color:var(--tinta-suave); line-height:1.6; }

.modal-permissao-notificacoes{ position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:20px; background:rgba(18,22,31,.52); backdrop-filter:blur(3px); animation:entrada-pagina .2s ease both; }
.modal-permissao-conteudo{ width:min(430px,100%); padding:30px; border:1px solid var(--linha); border-radius:20px; background:var(--cartao); box-shadow:0 24px 70px rgba(0,0,0,.25); text-align:center; animation:entrada-conteudo .32s cubic-bezier(.22,.8,.32,1) both; }
.modal-permissao-icone{ display:grid; place-items:center; width:58px; height:58px; margin:0 auto 16px; border-radius:17px; background:#fff4c5; font-size:27px; }
.modal-permissao-conteudo h2{ margin-bottom:8px; font-size:22px; }
.modal-permissao-conteudo p{ color:var(--tinta-suave); line-height:1.55; }
.modal-permissao-conteudo > div:last-child{ display:grid; grid-template-columns:1fr 1.35fr; gap:10px; margin-top:22px; }
.modal-permissao-conteudo button{ box-shadow:none; font-size:13px; }
.modal-permissao-conteudo .btn-depois{ background:var(--papel); color:var(--tinta); }

@media(max-width:700px){
    .configuracao-notificacoes{ grid-template-columns:auto 1fr; }
    .configuracao-notificacoes > button{ grid-column:1/-1; width:100%; }
    .modal-permissao-conteudo > div:last-child{ grid-template-columns:1fr; }
}

/* Recebimentos parciais de fiado */
.fiado-pagamento-parcial{ display:block; margin-top:4px; color:var(--verde); font-size:11px; }
.fiado-data-vencimento{ display:block; margin-top:5px; color:var(--tinta-suave); font-size:11px; }
.fiado-numero-parcela{ display:block; margin-top:4px; color:var(--tinta); font:700 10px "JetBrains Mono",monospace; }
.fiado-ultima-cobranca,.fiado-nao-cobrado{ display:block; margin-top:5px; font-size:10px; }.fiado-ultima-cobranca{ color:var(--tinta-suave); }.fiado-nao-cobrado{ color:#b45309; font-weight:700; }
.cabecalho-cobranca-fiado{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:15px; }.cabecalho-cobranca-fiado h2{ margin:0; }.cabecalho-cobranca-fiado p{ margin:4px 0 0; color:var(--tinta-suave); font-size:12px; }.cabecalho-cobranca-fiado button{ width:auto; padding:9px 13px; box-shadow:none; }
.modelo-cobranca-dialogo{ width:min(620px,100%); }.modelo-cobranca-dialogo textarea{ width:100%; margin-top:7px; resize:vertical; line-height:1.5; }.modelo-cobranca-dialogo>label{ display:block; margin-top:18px; font-weight:700; }.modelo-cobranca-dialogo>small{ display:block; margin-top:8px; color:var(--tinta-suave); }.variaveis-cobranca{ display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }.variaveis-cobranca span{ padding:5px 8px; border:1px solid var(--linha); border-radius:7px; background:var(--papel); color:var(--tinta); font:700 10px "JetBrains Mono",monospace; cursor:pointer; }
.resumo-parcelas-caixa{ display:block; margin-top:8px; padding:9px 11px; border-radius:8px; background:var(--papel); color:var(--tinta-suave); font-size:11px; }

/* Conferência e fechamento completo do caixa */
.fechamento-caixa-dialogo,.relatorio-fechamento-dialogo{ width:min(820px,calc(100vw - 28px)); max-width:820px; max-height:92vh; overflow:auto; }.fechamento-caixa-cabecalho{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding-bottom:15px; border-bottom:1px solid var(--linha); }.fechamento-caixa-cabecalho h2{ margin:3px 0 4px; }.fechamento-caixa-cabecalho small{ color:var(--tinta-suave); text-transform:uppercase; letter-spacing:.6px; }.fechamento-caixa-cabecalho p{ margin:0; color:var(--tinta-suave); font-size:12px; }.fechamento-caixa-fechar{ flex:0 0 38px; width:38px; height:38px; padding:0; border:1px solid var(--linha); border-radius:50%; background:var(--papel); color:var(--tinta); box-shadow:none; font-size:22px; }.fechamento-caixa-resumo{ display:flex; flex-wrap:wrap; gap:7px; margin:14px 0; }.fechamento-caixa-resumo span{ padding:7px 9px; border-radius:8px; background:var(--papel); color:var(--tinta-suave); font-size:10px; }.fechamento-caixa-resumo strong{ color:var(--tinta); }.fechamento-formas{ display:grid; gap:8px; }.fechamento-forma{ display:grid; grid-template-columns:1.1fr 1fr .85fr; align-items:end; gap:12px; padding:13px; border:1px solid var(--linha); border-radius:11px; background:var(--papel); }.fechamento-forma>div:first-child small,.fechamento-diferenca small{ display:block; margin-bottom:4px; color:var(--tinta-suave); font-size:9px; text-transform:uppercase; }.fechamento-forma>div:first-child strong{ display:block; font-size:17px; }.fechamento-forma>div:first-child span{ color:var(--tinta-suave); font-size:9px; }.fechamento-forma label{ font-size:10px; font-weight:700; text-transform:uppercase; }.fechamento-forma input{ width:100%; margin-top:5px; padding:9px 10px; background:var(--cartao); }.fechamento-diferenca{ text-align:right; }.fechamento-diferenca strong{ font-size:15px; }.sem-diferenca{ color:var(--verde)!important; }.sobra{ color:#2563eb!important; }.falta{ color:var(--vermelho)!important; }.fechamento-preencher-esperado{ width:auto; margin:10px 0 2px auto; padding:7px 10px; border:1px solid var(--linha); background:var(--cartao); color:var(--tinta); box-shadow:none; font-size:10px; }.fechamento-observacao{ display:block; margin-top:14px; font-weight:700; }.fechamento-observacao textarea{ width:100%; margin-top:6px; resize:vertical; }.fechamento-total-diferenca{ display:flex; justify-content:space-between; align-items:center; margin-top:12px; padding:12px 14px; border-radius:10px; background:var(--tinta); color:#fff; }.fechamento-total-diferenca strong{ font-size:18px; }.relatorio-fechamento-tabela{ margin-top:16px; }.relatorio-fechamento-tabela th,.relatorio-fechamento-tabela td{ text-align:right; }.relatorio-fechamento-tabela th:first-child,.relatorio-fechamento-tabela td:first-child{ text-align:left; }.relatorio-fechamento-movimentos{ display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:14px; }.relatorio-fechamento-movimentos span{ padding:9px; border-radius:8px; background:var(--papel); color:var(--tinta-suave); font-size:10px; }.relatorio-fechamento-movimentos strong{ display:block; margin-top:3px; color:var(--tinta); font-size:12px; }.relatorio-fechamento-observacao{ padding:11px; border-left:4px solid var(--amarelo); background:var(--papel); font-size:12px; }
.relatorio-fechamento-dialogo{ padding:0; }.relatorio-fechamento-hero{ display:grid; grid-template-columns:48px 1fr 38px; align-items:center; gap:13px; padding:22px 24px; border-bottom:4px solid var(--verde); background:var(--tinta); color:#fff; }.relatorio-fechamento-hero.com-alerta{ border-bottom-color:var(--amarelo); }.relatorio-fechamento-hero h2{ margin:2px 0 4px; color:#fff; }.relatorio-fechamento-hero small{ color:#cbd0d9; font-size:9px; text-transform:uppercase; letter-spacing:.8px; }.relatorio-fechamento-hero p{ margin:0; color:#aeb5c1; font-size:11px; }.relatorio-fechamento-hero .fechamento-caixa-fechar{ border-color:#3b4250; background:#242a34; color:#fff; }.relatorio-fechamento-icone{ display:grid; place-items:center; width:46px; height:46px; border-radius:14px; background:#dcfce7; color:#15803d; font-size:23px; font-weight:900; }.relatorio-fechamento-hero.com-alerta .relatorio-fechamento-icone{ background:#fef3c7; color:#92400e; }.relatorio-fechamento-totais{ display:grid; grid-template-columns:repeat(3,1fr); gap:9px; padding:18px 24px 4px; }.relatorio-fechamento-totais>div{ display:flex; flex-direction:column; min-height:83px; padding:12px 13px; border:1px solid var(--linha); border-radius:11px; background:var(--papel); }.relatorio-fechamento-totais small{ min-height:2.3em; color:var(--tinta-suave); font-size:9px; text-transform:uppercase; }.relatorio-fechamento-totais strong{ margin-top:auto; font-size:18px; }.relatorio-fechamento-totais .diferenca{ border-left:4px solid currentColor; }.relatorio-fechamento-secao{ display:flex; justify-content:space-between; align-items:end; gap:10px; margin:19px 24px 8px; }.relatorio-fechamento-secao h3{ margin:0; font-size:15px; }.relatorio-fechamento-secao span{ color:var(--tinta-suave); font-size:10px; }.relatorio-fechamento-dialogo .relatorio-fechamento-tabela{ margin:0 24px; }.relatorio-fechamento-dialogo .relatorio-fechamento-movimentos{ margin:0 24px; }.relatorio-fechamento-observacao{ margin:15px 24px 0; border-radius:0 8px 8px 0; }.relatorio-fechamento-observacao small{ color:var(--tinta-suave); font-size:9px; text-transform:uppercase; }.relatorio-fechamento-observacao p{ margin:5px 0 0; }.relatorio-fechamento-acoes{ position:sticky; bottom:0; margin:20px 0 0; padding:15px 24px 22px; border-top:1px solid var(--linha); background:var(--cartao); }
@media(max-width:620px){ .fechamento-forma{ grid-template-columns:1fr 1fr; }.fechamento-diferenca{ grid-column:1/-1; display:flex; justify-content:space-between; text-align:left; }.relatorio-fechamento-movimentos{ grid-template-columns:1fr 1fr; } }
@media(max-width:420px){ .fechamento-forma{ grid-template-columns:1fr; }.fechamento-diferenca{ grid-column:auto; }.relatorio-fechamento-movimentos{ grid-template-columns:1fr; } }
@media(max-width:620px){ .relatorio-fechamento-hero{ grid-template-columns:40px 1fr 36px; padding:18px 16px; }.relatorio-fechamento-icone{ width:40px; height:40px; }.relatorio-fechamento-totais{ grid-template-columns:1fr; padding:14px 16px 0; }.relatorio-fechamento-totais>div{ min-height:68px; }.relatorio-fechamento-secao{ margin-left:16px; margin-right:16px; }.relatorio-fechamento-dialogo .relatorio-fechamento-tabela,.relatorio-fechamento-dialogo .relatorio-fechamento-movimentos{ margin-left:16px; margin-right:16px; }.relatorio-fechamento-observacao{ margin-left:16px; margin-right:16px; }.relatorio-fechamento-acoes{ padding-left:16px; padding-right:16px; } }
.recebimento-fiado-dialogo{ width:min(520px,calc(100vw - 28px)); max-width:520px; }
.recebimento-fiado-topo{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid var(--linha); }
.recebimento-fiado-topo h2{ margin:2px 0 0; }
.recebimento-fiado-topo small{ display:block; color:var(--tinta-suave); font-size:11px; text-transform:uppercase; letter-spacing:.5px; }
.recebimento-fiado-topo>span{ text-align:right; }
.recebimento-fiado-topo>span strong{ display:block; margin-top:4px; font-size:20px; }
.recebimento-fiado-resumo{ display:flex; justify-content:space-between; align-items:center; margin-top:16px; padding:13px 14px; border-radius:10px; background:var(--papel); }
.recebimento-fiado-resumo strong{ color:var(--verde); }
@media(max-width:520px){ .recebimento-fiado-topo{ flex-direction:column; }.recebimento-fiado-topo>span{ text-align:left; } }

/* Detalhes e extrato financeiro do cliente */
.fiado-acoes-cliente,.fiado-acoes-conta{ display:flex; justify-content:flex-end; flex-wrap:wrap; gap:7px; margin-top:7px; }
.fiado-acoes-cliente button,.fiado-acoes-conta button{ width:auto; min-height:34px; padding:7px 11px; box-shadow:none; font-size:11px; }
.btn-detalhes-fiado{ border:1px solid var(--linha); background:var(--cartao); color:var(--tinta); }
.btn-whatsapp-fiado{ border:1px solid #16a34a; background:#16a34a; color:#fff; box-shadow:none; }
.btn-whatsapp-fiado:hover{ background:#15803d; border-color:#15803d; }
.extrato-fiado-dialogo{ width:min(820px,calc(100vw - 28px)); max-width:820px; max-height:90vh; overflow:auto; }
.extrato-fiado-carregando,.extrato-fiado-vazio{ padding:32px; color:var(--tinta-suave); text-align:center; }
.extrato-fiado-cabecalho{ display:flex; justify-content:space-between; gap:18px; padding-bottom:16px; border-bottom:1px solid var(--linha); }
.extrato-fiado-cabecalho small{ color:var(--tinta-suave); text-transform:uppercase; letter-spacing:.7px; }.extrato-fiado-cabecalho h2{ margin:3px 0 4px; }.extrato-fiado-cabecalho p{ margin:0; color:var(--tinta-suave); font-size:13px; }
.extrato-fiado-fechar{ flex:0 0 38px; width:38px; height:38px; padding:0; border:1px solid var(--linha); border-radius:50%; background:var(--papel); color:var(--tinta); box-shadow:none; font-size:22px; }
.extrato-fiado-resumos{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:9px; margin:16px 0; }.extrato-fiado-resumos>div{ display:flex; flex-direction:column; min-height:104px; padding:13px; border:1px solid var(--linha); border-radius:11px; background:var(--papel); }.extrato-fiado-resumos small{ display:block; min-height:2.5em; margin-bottom:8px; color:var(--tinta-suave); font-size:10px; line-height:1.25; text-transform:uppercase; }.extrato-fiado-resumos strong{ display:block; margin-top:auto; font-size:16px; line-height:1.2; white-space:nowrap; }.extrato-fiado-resumos .saldo{ background:var(--tinta); color:#fff; }.extrato-fiado-resumos .saldo small{ color:#cbd0d9; }.extrato-fiado-resumos .valor-positivo{ color:var(--verde); }
.extrato-fiado-limite{ display:flex; justify-content:flex-end; gap:18px; color:var(--tinta-suave); font-size:12px; }.extrato-fiado-limite strong{ color:var(--tinta); }
.documentos-fiado{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:14px; }.documentos-fiado button{ display:flex; align-items:center; justify-content:center; width:100%; min-height:42px; padding:8px 11px; border:1px solid var(--linha); background:var(--papel); color:var(--tinta); box-shadow:none; font-size:11px; line-height:1.2; text-align:center; }.documentos-fiado .btn-extrato-pdf{ border-color:var(--tinta); background:var(--tinta); color:#fff; }.documentos-fiado .btn-compartilhar-extrato-pdf{ border-color:#16a34a; background:#ecfdf3; color:#166534; }
.extrato-fiado-titulo{ display:flex; justify-content:space-between; align-items:center; margin:19px 0 8px; }.extrato-fiado-titulo h3{ margin:0; }.extrato-fiado-titulo span{ color:var(--tinta-suave); font-size:11px; }
.parcelas-fiado-titulo{ display:flex; justify-content:space-between; align-items:center; margin:20px 0 8px; }.parcelas-fiado-titulo h3{ margin:0; }.parcelas-fiado-titulo span{ color:var(--tinta-suave); font-size:11px; }.parcelas-fiado-grade{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:8px; }.parcela-fiado-item{ display:grid; grid-template-columns:minmax(80px,1fr) minmax(100px,1fr) auto; align-items:end; gap:12px; min-height:88px; padding:12px 14px; border:1px solid var(--linha); border-left:4px solid var(--amarelo); border-radius:10px; background:var(--papel); }.parcela-fiado-item div{ min-width:0; }.parcela-fiado-item div small{ display:block; min-height:2.3em; margin-bottom:5px; color:var(--tinta-suave); font-size:9px; line-height:1.15; text-transform:uppercase; }.parcela-fiado-item div strong{ display:block; font-size:12px; line-height:1.2; white-space:nowrap; }.parcela-fiado-item>span{ align-self:center; padding:6px 8px; border-radius:999px; background:#fef3c7; color:#92400e; font-size:9px; font-weight:800; line-height:1; text-transform:uppercase; white-space:nowrap; }.parcela-fiado-item.paga{ border-left-color:var(--verde); opacity:.75; }.parcela-fiado-item.paga>span{ background:#dcfce7; color:#166534; }.parcela-fiado-item.atrasada{ border-left-color:var(--vermelho); }.parcela-fiado-item.atrasada>span{ background:#fee2e2; color:#991b1b; }.parcela-fiado-item.parcial{ border-left-color:#2563eb; }.parcela-fiado-item>small{ grid-column:1/-1; color:var(--tinta-suave); font-size:10px; }
.extrato-fiado-lista{ border-top:1px solid var(--linha); }.extrato-fiado-item{ display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:start; gap:10px; padding:13px 3px; border-bottom:1px solid var(--linha); }.extrato-fiado-icone{ display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:#fee2e2; color:#b91c1c; font-weight:900; }.extrato-pagamento .extrato-fiado-icone,.extrato-devolucao .extrato-fiado-icone{ background:#dcfce7; color:#15803d; }.extrato-fiado-item small,.extrato-fiado-item time{ display:block; margin-top:3px; color:var(--tinta-suave); font-size:11px; }.extrato-fiado-valor{ white-space:nowrap; color:#b91c1c; }.extrato-pagamento .extrato-fiado-valor,.extrato-devolucao .extrato-fiado-valor{ color:var(--verde); }.extrato-fiado-acoes{ position:sticky; bottom:-26px; grid-template-columns:1fr 1.2fr 1.2fr; padding-top:14px; padding-bottom:2px; background:var(--cartao); }
@media(max-width:700px){ .extrato-fiado-resumos{ grid-template-columns:1fr 1fr; }.documentos-fiado{ grid-template-columns:1fr 1fr; }.documentos-fiado .btn-comprovante-pdf{ grid-column:1/-1; }.parcelas-fiado-grade{ grid-template-columns:1fr; }.extrato-fiado-item{ grid-template-columns:30px minmax(0,1fr); }.extrato-fiado-valor{ grid-column:2; }.extrato-fiado-limite{ justify-content:flex-start; flex-wrap:wrap; } }
@media(max-width:480px){ .cabecalho-cobranca-fiado{ flex-direction:column; }.cabecalho-cobranca-fiado button{ width:100%; }.documentos-fiado{ grid-template-columns:1fr; }.documentos-fiado .btn-comprovante-pdf{ grid-column:auto; }.fiado-acoes-cliente,.fiado-acoes-conta{ display:grid; grid-template-columns:1fr; }.fiado-acoes-cliente button,.fiado-acoes-conta button{ width:100%; }.extrato-fiado-resumos{ grid-template-columns:1fr; } }

/* Central exclusiva do Super Admin */
.pagina-super-admin{ --sa-roxo:#6d28d9; }
.super-admin-selo{ display:inline-block; margin-bottom:7px; padding:4px 9px; border-radius:999px; background:#ede9fe; color:#6d28d9; font:800 10px "JetBrains Mono",monospace; letter-spacing:1px; }
.super-admin-kpis{ grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.super-admin-kpis .card{ padding:18px; border-top-color:var(--sa-roxo); }
.super-admin-kpis .card strong{ font-size:27px; }
.abas-super-admin{ display:flex; gap:4px; margin-bottom:18px; padding:5px; border:1px solid var(--linha); border-radius:12px; background:var(--cartao); }
.abas-super-admin button{ width:auto; padding:9px 18px; border-radius:8px; background:transparent; color:var(--tinta-suave); box-shadow:none; }
.abas-super-admin button.ativa{ background:var(--tinta); color:white; }
.aba-sa{ display:none; }.aba-sa.ativa{ display:block; }
.toolbar-super-admin{ display:grid; grid-template-columns:minmax(220px,1fr) 190px auto; gap:10px; margin-bottom:18px; }
.toolbar-super-admin button{ width:auto; }
.pagina-super-admin td small{ display:block; margin-top:3px; color:var(--tinta-suave); }
.pagina-super-admin td.td-acoes button{ width:auto; padding:7px 10px; box-shadow:none; font-size:11px; }
.grid-super-sistema{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }.grid-super-sistema .painel:last-child{ grid-column:1/-1; }
.toggle-manutencao{ display:flex; align-items:center; gap:10px; margin:18px 0 8px; font-weight:800; }.toggle-manutencao input{ width:auto; }
.erro-sa{ display:grid; gap:3px; padding:10px 0; border-bottom:1px dashed var(--linha); }.erro-sa span,.erro-sa small{ color:var(--tinta-suave); font-size:12px; }
.ferramentas-indisponiveis{ display:flex; gap:8px; margin:15px 0; }.ferramentas-indisponiveis button{ width:auto; box-shadow:none; }
.modal-sa{ display:none; }.modal-sa.aberto{ position:fixed; inset:0; z-index:11000; display:grid; place-items:center; padding:20px; background:rgba(18,22,31,.62); }
.modal-sa-conteudo{ position:relative; width:min(760px,100%); max-height:90vh; overflow:auto; padding:28px; border-radius:18px; background:white; box-shadow:0 30px 90px rgba(0,0,0,.3); }
.fechar-sa{ position:absolute; top:12px; right:12px; width:36px!important; padding:5px!important; border-radius:50%; background:var(--papel); color:var(--tinta); box-shadow:none; font-size:20px; }
.modal-sa-conteudo>p{ margin:8px 0 20px; }.modal-sa-conteudo h3{ margin:22px 0 9px; }
.acoes-empresa-sa{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.acoes-empresa-sa button{ padding:9px; box-shadow:none; font-size:11px; }
.resumo-empresa-sa{ display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; }.resumo-empresa-sa span{ padding:8px 10px; border-radius:9px; background:var(--papel); color:var(--tinta-suave); font-size:11px; }.resumo-empresa-sa b{ color:var(--tinta); }
.lista-simples-sa{ display:grid; gap:6px; }.lista-simples-sa span{ padding:9px; border-radius:8px; background:var(--papel); font-size:12px; }
@media(max-width:1100px){.super-admin-kpis{ grid-template-columns:repeat(2,1fr); }.grid-super-sistema{grid-template-columns:1fr}.grid-super-sistema .painel:last-child{grid-column:auto}}
@media(max-width:700px){.super-admin-kpis{display:grid!important;grid-template-columns:1fr 1fr}.toolbar-super-admin{grid-template-columns:1fr}.acoes-empresa-sa{grid-template-columns:1fr 1fr}.abas-super-admin{overflow:auto}.abas-super-admin button{white-space:nowrap}}
.tela-manutencao{ min-height:100vh; display:grid; place-items:center; padding:20px; text-align:center; }.tela-manutencao>div{ width:min(480px,100%); padding:38px; border-radius:20px; background:white; box-shadow:0 20px 60px rgba(0,0,0,.1); }.tela-manutencao span{ font-size:48px; }.tela-manutencao h1{ margin:18px 0 8px; }.tela-manutencao p{ margin-bottom:22px; color:var(--tinta-suave); line-height:1.6; }

.card-interativo{
    display: block;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.card-interativo:hover{
    transform: translateY(-5px);
    box-shadow: 0 16px 30px rgba(15,23,42,.13);
}

.card-interativo:active{
    transform: translateY(-1px) scale(.99);
}

.card-interativo:focus-visible{
    outline: 3px solid var(--amarelo);
    outline-offset: 3px;
}

.card-interativo small{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 18px;
    color: var(--tinta-suave);
    font-weight: 700;
    font-size: 12px;
}

.card-interativo small span{
    color: inherit;
    font-size: 20px;
    line-height: 1;
    transition: transform .2s ease;
}

.card-interativo:hover small span{
    transform: translateX(5px);
}

@media (prefers-reduced-motion: reduce){
    .card-interativo,
    .card-interativo small span{
        transition: none;
    }
}

.card span{
    color: var(--cinza-texto);
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.card strong{
    display: block;
    font-size: 36px;
    margin: 15px 0;
    color: var(--texto);
    word-break: break-word;
    font-family: "JetBrains Mono", monospace;
    font-weight: 700;
}

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

.card:nth-child(2){ border-top-color: var(--vermelho); }
.card:nth-child(2) strong{ color: var(--vermelho); }

.card:nth-child(3){ border-top-color: var(--verde); }
.card:nth-child(3) strong{ color: var(--verde); }


/* =========================
   GRÁFICOS DO DASHBOARD
========================= */

.graficos{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 25px;
}

.grafico-card{
    background: var(--cartao);
    padding: 20px;
    border-radius: var(--raio);
    border: 1px solid var(--borda);
    box-shadow: 0 10px 25px rgba(0,0,0,.06);
    min-width: 0;
}

.grafico-card h2{
    font-size: 16px;
    margin-bottom: 15px;
    color: var(--tinta);
    letter-spacing: .5px;
}

.grafico-card canvas{
    max-width: 100%;
}

/* Dashboard enxuto */
.dashboard-kpis{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.dashboard-kpis .card{ min-height:150px; padding:20px; border-top-width:1px; box-shadow:0 6px 18px rgba(15,23,42,.045); }
.dashboard-kpis .card::before{ content:""; position:absolute; top:18px; right:18px; width:8px; height:8px; border-radius:50%; background:var(--amarelo); }
.dashboard-kpis .card:nth-child(2)::before{ background:var(--amarelo-escuro); }
.dashboard-kpis .card:nth-child(3)::before{ background:var(--vermelho); }
.dashboard-kpis .card:nth-child(4)::before{ background:var(--verde); }
.dashboard-kpis .card:nth-child(n){ border-top-color:var(--borda); }
.dashboard-kpis .card:nth-child(n) strong{ color:var(--tinta); font-size:30px; margin:18px 0 8px; }
.dashboard-kpis .card:nth-child(2) strong{ color:#9a6b00; }
.dashboard-kpis .card:nth-child(3) strong{ color:var(--vermelho); }
.dashboard-kpis .card:nth-child(4) strong{ color:var(--verde); font-size:25px; }
.dashboard-kpis .card p{ margin:0; }
.dashboard-principal{ display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr); gap:18px; align-items:stretch; }
.dashboard-principal > *{ margin:0; }
.dashboard-grafico{ min-height:360px; }
.titulo-secao-dashboard{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:20px; }
.titulo-secao-dashboard h2{ margin:0 0 4px; font-size:17px; }
.titulo-secao-dashboard p{ margin:0; color:var(--tinta-suave); font-size:12px; }
.titulo-secao-dashboard > a{ color:var(--tinta); font-size:12px; font-weight:800; text-decoration:none; white-space:nowrap; }
.atencao-dashboard{ padding:20px; }
.atencao-dashboard > a:not(.link-central-dashboard){ display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:11px; padding:13px 0; color:inherit; text-decoration:none; border-bottom:1px dashed var(--linha); }
.atencao-dashboard > a:not(.link-central-dashboard):hover strong{ text-decoration:underline; }
.atencao-dashboard a strong,.atencao-dashboard a small{ display:block; }
.atencao-dashboard a strong{ font-size:13px; }
.atencao-dashboard a small{ margin-top:2px; color:var(--tinta-suave); font-size:11px; }
.atencao-dashboard a b{ min-width:28px; color:var(--tinta); font:800 18px "JetBrains Mono",monospace; text-align:right; }
.atencao-icone{ display:grid; place-items:center; width:36px; height:36px; border-radius:11px; font-weight:900; }
.atencao-icone.amarelo{ background:#fff4c5; color:#8a6100; }
.atencao-icone.vermelho{ background:#fee2e2; color:var(--vermelho); }
.atencao-icone.laranja{ background:#ffedd5; color:#c2410c; }
.link-central-dashboard{ display:block; margin-top:17px; color:var(--tinta); font-size:12px; font-weight:800; text-align:center; text-decoration:none; }

@media(max-width:1100px){
    .dashboard-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dashboard-principal{ grid-template-columns:1fr; }
}

@media(max-width:700px){
    .dashboard-kpis{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dashboard-kpis .card{ min-height:135px; padding:16px; }
    .dashboard-kpis .card:nth-child(n) strong{ font-size:24px; }
    .dashboard-kpis .card:nth-child(4) strong{ font-size:18px; }
    .dashboard-grafico{ min-height:300px; padding:16px; }
}

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


/* =========================
   PAINEL
========================= */

.painel{
    background: var(--cartao);
    padding: 30px;
    border-radius: var(--raio);
    border: 1px solid var(--borda);
    box-shadow: 0 10px 25px rgba(0,0,0,.06);
    margin-bottom: 25px;
}

.painel h2{
    margin-bottom: 20px;
    color: var(--tinta);
    font-size: 22px;
}


/* =========================
   FORMULÁRIOS
========================= */

form{
    display: flex;
    flex-direction: column;
    gap: 15px;
}

label{
    font-family: "JetBrains Mono", monospace;
    font-weight: 700;
    color: var(--tinta-suave);
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 1px;
    margin-bottom: -6px;
}

input,
select{
    width: 100%;
    padding: 14px;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    font-size: 16px; /* evita zoom automático no iOS */
    background: var(--cartao);
    font-family: "Barlow", inherit;
    color: var(--tinta);
}

input:focus,
select:focus{
    outline: none;
    border-color: var(--tinta);
    box-shadow: 0 0 0 3px rgba(18,22,31,.08);
}

/* CORREÇÃO: input[type="date"/"time"/"datetime-local"] (ex: início/fim
   de promoção) tem sub-campos nativos (dia, mês, ano, hora) com uma
   largura mínima que o navegador NÃO deixa encolher, mesmo com
   width:100% no CSS. Num card estreito de celular, isso faz o campo
   ficar mais largo que o espaço disponível — e como o body tem
   overflow-x:hidden, o excesso simplesmente é cortado/some da tela em
   vez de aparecer uma barra de rolagem, dando a impressão de que o
   campo "vazou" pra fora do card. Reduzir o padding horizontal desses
   campos específicos dá mais espaço pros sub-campos nativos caberem,
   sem precisar mexer no font-size:16px (que fica assim de propósito
   pra evitar o zoom automático do iOS). */
input[type="date"],
input[type="time"],
input[type="datetime-local"]{
    padding-left: 10px;
    padding-right: 10px;
    min-width: 0;
    max-width: 100%;
}

button{
    width: 100%;
    padding: 14px;
    border: none;
    border-radius: 999px;
    background: var(--amarelo);
    color: #12161f;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .4px;
    cursor: pointer;
    box-shadow: 0 6px 0 var(--amarelo-escuro);
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

button:hover{
    background: var(--amarelo);
    transform: translateY(-2px);
    box-shadow: 0 4px 0 var(--amarelo-escuro);
}

button:active{
    transform: translateY(2px);
    box-shadow: 0 2px 0 var(--amarelo-escuro);
}

button:disabled,
button:disabled:hover,
button:disabled:active{
    cursor:not-allowed;
    opacity:.58;
    transform:none;
    box-shadow:none;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
    outline: 3px solid rgba(255,197,51,.72);
    outline-offset: 3px;
}


/* =========================
   CAMPO + BOTÃO (ex: código de barras com câmera)
   Use class="campo-scanner" no lugar do style inline
========================= */

.campo-scanner{
    display: flex;
    gap: 8px;
    align-items: stretch;
}

.campo-scanner input{
    flex: 1;
    min-width: 0;
}

.campo-scanner button{
    width: auto !important;
    flex: 0 0 56px;
    padding: 0 !important;
    font-size: 20px;
    border-radius: 50%;
    box-shadow: 0 4px 0 var(--amarelo-escuro);
}


/* =========================
   TELA DE CAIXA (PDV)
========================= */

.busca-caixa{
    position: relative;
    margin-bottom: 20px;
}

.busca-caixa input{
    font-size: 20px;
    padding: 18px 60px 18px 18px;
    text-align: center;
    font-family: "JetBrains Mono", monospace;
}

.busca-caixa .btn-scanner-caixa{
    position: absolute;
    right: 6px;
    top: 6px;
    bottom: 6px;
    width: 48px !important;
    padding: 0 !important;
    border-radius: 10px;
    font-size: 20px;
}

.resumo-total{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-top: 2px dashed var(--linha);
    margin-top: 10px;
}

.resumo-total span{
    font-family: "JetBrains Mono", monospace;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;
    color: var(--tinta-suave);
}

.resumo-total strong{
    font-family: "JetBrains Mono", monospace;
    font-size: 34px;
    color: var(--tinta);
}

.resumo-carrinho{ margin-left:auto; padding:6px 10px; border-radius:999px; background:var(--papel); color:var(--tinta-suave); font:700 12px "JetBrains Mono", monospace; }
.valores-rapidos{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:10px; }
.valores-rapidos button{ padding:9px 6px; background:var(--cartao); color:var(--tinta); border:1px solid var(--linha); box-shadow:none; font-size:12px; }
.valores-rapidos button:hover{ background:var(--amarelo); transform:none; box-shadow:none; }
.atalhos-caixa{ margin-top:14px; color:var(--tinta-suave); font-size:12px; text-align:center; }
.atalhos-caixa kbd{ padding:2px 6px; border:1px solid var(--linha); border-bottom-width:2px; border-radius:5px; background:var(--papel); font-family:"JetBrains Mono", monospace; }
#btnFinalizarVenda:disabled{ cursor:not-allowed; opacity:.5; transform:none; box-shadow:none; }
@media(max-width:520px){ .valores-rapidos{ grid-template-columns:repeat(2,1fr); } }

.btn-qtd{
    width: 30px !important;
    height: 30px;
    padding: 0 !important;
    border-radius: 8px;
    background: var(--papel);
    color: var(--tinta);
    font-size: 16px;
    font-weight: 800;
    box-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-qtd:hover{
    background: #e5e7e0;
    transform: none;
    box-shadow: none;
}

.controle-qtd{
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
}

.controle-qtd .valor-qtd{
    font-family: "JetBrains Mono", monospace;
    font-weight: 700;
    min-width: 22px;
    text-align: center;
}

/* CORREÇÃO 1: era "repeat(3, 1fr)" fixo, mas o sistema tem 4 formas de
   pagamento (dinheiro/cartão/fiado/pix). Com grid fixo de 3 colunas o
   4º botão caía sozinho numa linha nova ocupando 1/3 da largura, torto
   em qualquer tamanho de tela. "auto-fit" com largura mínima se adapta
   ao número real de botões automaticamente. */
.formas-pagamento{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 10px;
    margin-bottom: 20px;
}

.metodo-pagamento{
    background: var(--cartao);
    color: var(--tinta);
    border: 2px solid var(--linha);
    border-radius: 12px;
    padding: 14px;
    font-weight: 700;
    box-shadow: none;
    text-transform: none;
}

.metodo-pagamento:hover{
    transform: none;
    box-shadow: none;
    background: var(--papel);
}

.metodo-pagamento.selecionado{
    background: var(--tinta);
    color: var(--amarelo);
    border-color: var(--tinta);
}

.bloco-troco{
    background: var(--papel);
    border: 1px dashed var(--linha);
    border-radius: 12px;
    padding: 18px;
    margin-bottom: 20px;
}

.troco-display{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed var(--linha);
}

.troco-display span{
    font-family: "JetBrains Mono", monospace;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;
    color: var(--tinta-suave);
}

.troco-display strong{
    font-family: "JetBrains Mono", monospace;
    font-size: 26px;
    color: var(--verde);
}

.troco-display.insuficiente strong{
    color: var(--vermelho);
}

.carrinho-vazio{
    text-align: center;
    padding: 30px;
    color: var(--tinta-suave);
    font-family: "JetBrains Mono", monospace;
    font-size: 13px;
}


/* =========================
   CHIPS DE STATUS (Disponível / Compra necessária / Esgotado)
========================= */

.chip{
    display: inline-block;
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 999px;
    white-space: nowrap;
}

.chip-verde{ background: rgba(22,163,74,.12); color: var(--verde); }
.chip-vermelho{ background: rgba(220,38,38,.12); color: var(--vermelho); }
.chip-amarelo{ background: rgba(255,197,51,.25); color: #8a6100; }
.chip-laranja{ background:#ffedd5; color:#c2410c; }
.chip-cinza{ background:#e5e7eb; color:#374151; }
.chip-tinta{ background: var(--tinta); color: var(--amarelo); }

.cards-validade{ grid-template-columns:repeat(4,1fr); }
.cards-validade .card{ padding:20px; }
.cards-validade .card strong{ font-size:30px; margin-bottom:0; }
.cards-validade-dashboard{ margin-top:-10px; }
.painel-alertas-validade{ overflow:hidden; border-top:4px solid var(--amarelo); }
.cabecalho-alertas-validade{ display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.cabecalho-alertas-validade h2{ margin:0 0 4px; }
.cabecalho-alertas-validade p{ margin:0; color:var(--tinta-suave); font-size:13px; }
.icone-alertas-validade{ display:grid; place-items:center; width:46px; height:46px; flex:0 0 46px; border-radius:14px; background:rgba(255,197,51,.22); font-size:22px; }
.config-validade{ display:block; }
.opcoes-alerta-validade{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.opcoes-alerta-validade label{ position:relative; display:flex; align-items:center; gap:11px; min-width:0; padding:15px; border:2px solid var(--linha); border-radius:13px; background:var(--papel); cursor:pointer; transition:border-color .18s ease, background .18s ease, transform .18s ease; }
.opcoes-alerta-validade label:hover{ border-color:#d3a719; transform:translateY(-2px); }
.opcoes-alerta-validade input{ position:absolute; opacity:0; pointer-events:none; }
.check-alerta{ display:grid; place-items:center; width:25px; height:25px; flex:0 0 25px; border:2px solid #b8bcb2; border-radius:8px; color:transparent; font-weight:900; transition:.18s ease; }
.opcoes-alerta-validade strong,.opcoes-alerta-validade small{ display:block; }
.opcoes-alerta-validade strong{ color:var(--tinta); font:800 15px "JetBrains Mono",monospace; }
.opcoes-alerta-validade small{ margin-top:3px; color:var(--tinta-suave); font-size:11px; white-space:nowrap; }
.opcoes-alerta-validade label:has(input:checked){ border-color:var(--amarelo-escuro); background:#fff8d8; }
.opcoes-alerta-validade input:checked + .check-alerta{ border-color:var(--tinta); background:var(--tinta); color:var(--amarelo); }
.opcoes-alerta-validade label:has(input:focus-visible){ outline:3px solid rgba(255,197,51,.45); outline-offset:2px; }
.rodape-alertas-validade{ display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:18px; padding-top:18px; border-top:1px dashed var(--linha); }
.rodape-alertas-validade span{ color:var(--tinta-suave); font-size:12px; }
.rodape-alertas-validade button{ width:auto; min-width:190px; }
@media(max-width:1100px){ .cards-validade{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:900px){ .opcoes-alerta-validade{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:700px){
  .cards-validade{ display:flex; flex-direction:column; }
  .opcoes-alerta-validade{ grid-template-columns:1fr; }
  .rodape-alertas-validade{ align-items:stretch; flex-direction:column; }
  .rodape-alertas-validade button{ width:100%; }
}

.acoes-sessao-caixa,
.cabecalho-carrinho-caixa,
.acoes-carrinho-caixa{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
}

.acoes-sessao-caixa button,
.acoes-carrinho-caixa button{
    width:auto;
    margin:0;
    padding:9px 14px;
    font-size:13px;
}

.cabecalho-carrinho-caixa{
    justify-content:space-between;
}

.acoes-carrinho-caixa{
    justify-content:flex-end;
}

.btn-desfazer-leitura{ border:1px solid #d9b13d; background:#fff8dc; color:#765600; box-shadow:none; }
.btn-desfazer-leitura:hover:not(:disabled){ border-color:#bc8f13; background:#fff0b8; transform:none; box-shadow:none; }
html[data-tema="escuro"] .btn-desfazer-leitura{ border-color:#80651f; background:#302914; color:#fde68a; }
html[data-tema="escuro"] .btn-desfazer-leitura:hover:not(:disabled){ border-color:#a98628; background:#3b3219; }

.sugestao-caixa{
    width:100%;
    margin-bottom:6px;
    text-align:left;
}

.acao-finalizar-caixa{
    margin-top:10px;
}


/* =========================
   BOTÕES DE AÇÃO (entrada/saída/editar/excluir)
========================= */

.btn-entrada,
.btn-saida,
.btn-editar,
.btn-excluir{
    width: auto !important;
    padding: 8px 14px;
    font-size: 14px;
    margin: 2px;
    border-radius: 10px;
    background: var(--papel);
    color: var(--texto);
    box-shadow: none;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 700;
}

.btn-editar{
    background: var(--tinta);
    color: var(--papel);
}

.btn-excluir{
    background: var(--vermelho);
    color: white;
}

.btn-editar:hover{
    background: var(--tinta-2);
    transform: none;
    box-shadow: none;
}

.btn-excluir:hover{
    background: var(--vermelho-escuro);
    transform: none;
    box-shadow: none;
}

.btn-entrada:hover,
.btn-saida:hover{
    background: #e5e7e0;
    transform: none;
    box-shadow: none;
}


/* =========================
   TABELAS
========================= */

.tabela{
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;

    /* Barra de rolagem sempre visível (fininha), pra deixar claro que
       a tabela pode ser arrastada pros lados quando tem muita coluna —
       sem isso, a coluna "Ações" ficava cortada na borda direita sem
       nenhum indício visual de que dava pra rolar até ela. */
    scrollbar-width: thin;
    scrollbar-color: var(--linha) transparent;
}

.tabela::-webkit-scrollbar{
    height: 8px;
}

.tabela::-webkit-scrollbar-thumb{
    background: #c7cabf;
    border-radius: 999px;
}

.tabela::-webkit-scrollbar-track{
    background: transparent;
}

table{
    width: 100%;
    min-width: 750px;
    border-collapse: collapse;
}

thead{
    background: #f6f6f2;
}

th{
    padding: 15px;
    text-align: left;
    color: var(--tinta-suave);
    white-space: nowrap;
    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .6px;
    font-weight: 700;
}

td{
    padding: 15px;
    border-bottom: 1px dashed var(--linha);
}

tr:hover{
    background: var(--papel);
}

/* CORREÇÃO 4: a coluna "Ações" (com até 5 botões: entrada, saída,
   editar, ativar/desativar, excluir) é a mais larga da tabela e, em
   telas normais de desktop, empurrava a tabela inteira pra fora da
   área visível do painel. Sem nenhum indício de que dava pra rolar,
   os botões apareciam só parcialmente cortados na borda — não é uma
   questão de mobile, acontece em qualquer tela onde a tabela é mais
   larga que o painel. Deixar essa coluna "grudada" (sticky) na borda
   direita resolve: ela fica sempre visível, e só as colunas do meio
   (nome, categoria etc.) rolam por baixo dela. Só se aplica na visão
   de tabela "de verdade" — no formato de cartão do celular (abaixo de
   700px) isso é desligado, porque lá cada célula já vira um bloco
   cheio, sem sentido pra sticky. */
th:last-child,
td.td-acoes{
    position: sticky;
    right: 0;
    z-index: 2;
    box-shadow: -6px 0 8px -6px rgba(18,22,31,.18);
}

th:last-child{
    background: #f6f6f2;
}

td.td-acoes{
    background: var(--cartao);
}

tr:hover td.td-acoes{
    background: var(--papel);
}

.paginacao-produtos{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 18px;
}

.paginacao-produtos span{
    color: var(--tinta-suave);
    font-size: 13px;
    text-align: center;
}

.paginacao-produtos button{
    width: auto;
    min-width: 110px;
    padding: 9px 14px;
}

.paginacao-produtos button:disabled{
    cursor: not-allowed;
    opacity: .45;
    transform: none;
    box-shadow: none;
}

@media(max-width: 600px){
    .paginacao-produtos{
        justify-content: center;
        flex-wrap: wrap;
    }

    .paginacao-produtos span{
        order: -1;
        width: 100%;
    }
}


/* IMAGEM PRODUTO */

.produto-img{
    width: 60px;
    height: 60px;
    border-radius: 12px;
    object-fit: cover;
}


/* =========================
   TARJA DE CÓDIGO DE BARRAS (divisor decorativo opcional)
   Use <div class="tarja-barras"></div> entre seções, se quiser
========================= */

.tarja-barras{
    height: 10px;
    width: 100%;
    background-image: repeating-linear-gradient(
        90deg,
        var(--tinta) 0px, var(--tinta) 2px,
        transparent 2px, transparent 5px,
        var(--tinta) 5px, var(--tinta) 8px,
        transparent 8px, transparent 11px,
        var(--tinta) 11px, var(--tinta) 15px,
        transparent 15px, transparent 20px
    );
    opacity: .5;
    border-radius: 4px;
    margin: 20px 0;
}


/* =========================
   BOTÃO MENU MOBILE
========================= */

.menu-mobile{
    display: none;
    position: fixed;
    top: 15px;
    left: 15px;
    width: 45px !important;
    height: 45px;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--amarelo);
    color: var(--tinta);
    border: none;
    font-size: 22px;
    z-index: 3000;
    cursor: pointer;
    box-shadow: 0 4px 0 var(--amarelo-escuro);
}


/* =========================
   LOGIN (estilo etiqueta pendurada)
========================= */

.login-container{
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    background: var(--papel);
}

.login-box{
    width: 100%;
    max-width: 400px;
    background: var(--cartao);
    padding: 44px 36px 36px;
    border-radius: 20px;
    box-shadow: 0 25px 60px rgba(18,22,31,.14);
    position: relative;
}

.login-box::before{
    content: "";
    position: absolute;
    top: -16px;
    left: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 28px;
    background: var(--papel);
    border: 3px solid var(--tinta);
    border-radius: 50%;
}

.login-box::after{
    content: "";
    position: absolute;
    top: -46px;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 34px;
    background: var(--tinta-suave);
}

.login-box h1{
    text-align: center;
    margin-bottom: 24px;
    font-size: 26px;
}


/* =========================
   BARRA DE FILTROS - PRODUTOS
========================= */

.filtros-produtos{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    background: var(--papel);
    border: 1px dashed var(--linha);
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 20px;
}

.filtros-produtos input[type="text"],
.filtros-produtos input[type="date"],
.filtros-produtos select{
    font-size: 14px;
    padding: 10px 14px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: var(--cartao);
    color: var(--tinta);
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.filtros-produtos input[type="text"]{
    flex: 1 1 240px;
    min-width: 200px;
}

.filtros-produtos input[type="date"]{
    flex: 1 1 155px;
    min-width: 145px;
}

.filtros-produtos select{
    flex: 1 1 180px;
    min-width: 160px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%235b6472'><path d='M5.5 7.5l4.5 5 4.5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px;
    padding-right: 32px;
}

.filtros-produtos input[type="text"]:focus,
.filtros-produtos input[type="date"]:focus,
.filtros-produtos select:focus{
    border-color: var(--tinta);
    box-shadow: 0 0 0 3px rgba(255, 197, 51, .35);
}

.filtros-produtos input[type="text"]::placeholder{
    color: #9ca3af;
}

/* Botões dentro da barra de filtros (ex: Exportar Excel/PDF, Escanear) */
.filtros-produtos button{
    width: auto;
    flex: 0 0 auto;
    padding: 10px 18px;
    font-size: 13px;
}

.filtros-produtos .btn-cadastro-rapido{
    background: var(--tinta);
    color: #fff;
    box-shadow: 0 6px 0 #05070b;
}

.aviso-cadastro-rapido{
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
    padding: 16px 18px;
    border: 1px solid #e2b125;
    border-left: 6px solid var(--amarelo);
    border-radius: 14px;
    background: #fff8dc;
}

.aviso-cadastro-rapido[hidden]{ display: none !important; }
.aviso-cadastro-rapido-icone{ font-size: 26px; }
.aviso-cadastro-rapido strong{ display: block; color: var(--tinta); }
.aviso-cadastro-rapido p{ margin: 3px 0 0; color: var(--tinta-suave); }


/* =========================
   PREVIEW DE IMAGEM (cadastro/edição de produto)
========================= */

.preview-imagem{
    display: flex;
    justify-content: center;
}

.preview-imagem img{
    width: 120px;
    height: 120px;
    object-fit: cover;
    border-radius: 14px;
    border: 1px dashed var(--linha);
    background: var(--papel);
}


/* =========================================================
   RESPONSIVIDADE
========================================================= */

/* TELAS GRANDES (ultrawide) — evita conteúdo esticado demais */
@media(min-width:1800px){

    .content{
        margin-left: auto;
        margin-right: auto;
        padding-left: calc(var(--sidebar-width) + 30px);
    }

}


/* TABLET */
@media(max-width:1100px){

    .cards{
        grid-template-columns: repeat(2, 1fr);
    }

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

}


/* MOBILE (sidebar vira menu retrátil) */
@media(max-width:768px){

    .menu-mobile{
        display: flex;
    }

    .btn-recolher-menu{
        display: grid;
        position: absolute;
        top: max(20px,env(safe-area-inset-top));
        right: 14px;
        width: 44px;
        height: 44px;
        z-index: 2;
        font-size: 0;
    }

    .btn-recolher-menu::before{
        content:"\00d7";
        font-size:28px;
        line-height:1;
    }

    .sidebar{
        width: var(--sidebar-width);
        left: calc(-1 * (var(--sidebar-width) + 20px));
    }

    .sidebar.mostrar{
        left: 0;
        box-shadow:18px 0 45px rgba(0,0,0,.28);
    }

    .menu-overlay{
        display:block;
        position:fixed;
        inset:0;
        z-index:999;
        background:rgba(12,15,21,.46);
        backdrop-filter:blur(2px);
        opacity:0;
        visibility:hidden;
        transition:opacity .2s ease, visibility .2s ease;
    }

    body.menu-mobile-aberto .menu-overlay{
        opacity:1;
        visibility:visible;
    }

    .content{
        margin-left: 0 !important;
        width: 100% !important;
        max-width: 100%;
        padding: 80px 15px 20px !important;
    }

    header{
        flex-direction: column;
        align-items: flex-start;
    }

    header h1{
        font-size: 22px;
    }

    .usuario{
        width: 100%;
        text-align: center;
    }

    .cards{
        display: flex !important;
        flex-direction: column;
        width: 100%;
        grid-template-columns: none;
    }

    .card{
        width: 100%;
        padding: 20px;
    }

    .graficos{
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .grafico-card{
        width: 100%;
        padding: 15px;
    }

    .painel{
        width: 100%;
        padding: 18px;
    }

    form{
        width: 100%;
    }

    input{
        width: 100% !important;
    }

    button:not(.menu-mobile){
        width: 100%;
    }

    .filtros-produtos{
        flex-direction: column;
        align-items: stretch;
    }

    .filtros-produtos input[type="text"],
    .filtros-produtos input[type="date"],
    .filtros-produtos select,
    .filtros-produtos button{
        width: 100%;
        flex: 1 1 auto;
    }

    .campo-scanner{
        width: 100%;
    }

    /* CORREÇÃO 1 (continuação): em telas de celular, 4 botões de forma
       de pagamento numa grid "auto-fit" ainda podem ficar apertados
       demais lado a lado. Trava em 2 colunas pra manter o texto
       legível, dobrando pra uma 2ª linha limpa em vez de espremer. */
    .formas-pagamento{
        grid-template-columns: repeat(2, 1fr);
    }

}


/* TABELA EM FORMATO DE CARTÃO (sem rolagem horizontal) */
@media(max-width:700px){

    .tabela{
        overflow-x: visible;
    }

    table{
        min-width: 0;
        width: 100%;
    }

    thead{
        position: absolute;
        left: -9999px;
        top: -9999px;
    }

    table, tbody, tr, td{
        display: block;
        width: 100%;
    }

    /* Desliga o "sticky" da coluna Ações aqui: no formato de cartão do
       celular, cada célula já vira um bloco cheio da largura da tela,
       então "grudar na direita" não faz sentido (e sem isso, o sticky
       do desktop continuaria ativo e bagunçaria o layout do cartão). */
    th:last-child,
    td.td-acoes{
        position: static;
        box-shadow: none;
        background: transparent;
    }

    tr:hover td.td-acoes{
        background: transparent;
    }

    tr{
        background: var(--cartao);
        border: 1px solid var(--borda);
        border-radius: 14px;
        margin-bottom: 14px;
        padding: 8px 15px;
    }

    tr:hover{
        background: var(--cartao);
    }

    td{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 8px 12px;
        padding: 10px 0;
        border-bottom: 1px dashed var(--linha);
        text-align: right;
        /* CORREÇÃO 2: uma célula pode ter mais de um selo ao mesmo
           tempo agora (ex: "Esgotado" + "Inativo" + "🔥 Promoção" na
           coluna Estado). Sem flex-wrap, esses selos tentavam caber
           todos numa única linha e estouravam a largura do cartão —
           e como o body tem overflow-x:hidden, o conteúdo excedente
           ficava simplesmente cortado da tela, ficando invisível.
           Com wrap eles descem para uma 2ª linha dentro da mesma
           célula, alinhados à direita, sem cortar nada. */
        flex-wrap: wrap;
        row-gap: 6px;
    }

    td:last-child{
        border-bottom: none;
    }

    td::before{
        content: attr(data-label);
        font-family: "JetBrains Mono", monospace;
        font-weight: 700;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: .5px;
        color: var(--tinta-suave);
        text-align: left;
    }

    td.td-img{
        justify-content: center;
        padding-top: 15px;
    }

    td.td-img::before{
        content: none;
    }

    td.td-acoes{
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px;
    }

    td.td-acoes::before{
        content: none;
    }

}


/* CELULARES PEQUENOS */
@media(max-width:480px){

    .sidebar{
        width: 230px;
        left: -250px;
    }

    .content{
        padding-left: 10px;
        padding-right: 10px;
    }

    .card strong{
        font-size: 28px;
    }

    .login-box{
        padding: 30px 22px;
    }

    /* CORREÇÃO 3: valores maiores (ex: "R$ 12.345,67") na fonte grande
       original podiam ultrapassar a largura da tela nesse breakpoint
       e, por causa do overflow-x:hidden no body, ficar cortados em
       vez de rolar. Reduz a fonte pra caber com folga. */
    .resumo-total strong{
        font-size: 26px;
    }

    .troco-display strong{
        font-size: 20px;
    }

    /* CORREÇÃO (datetime-local): nas telas mais estreitas de todas,
       aperta ainda mais o padding horizontal desses campos — é onde o
       problema do início/fim de promoção aparecia com mais força. */
    input[type="date"],
    input[type="time"],
    input[type="datetime-local"]{
        padding-left: 6px;
        padding-right: 6px;
    }

}


/* CELULARES MUITO PEQUENOS */
@media(max-width:360px){

    header h1{
        font-size: 20px;
    }

    .card strong{
        font-size: 24px;
    }

    .painel{
        padding: 14px;
    }

    .btn-entrada,
    .btn-saida,
    .btn-editar,
    .btn-excluir{
        padding: 6px 10px;
        font-size: 13px;
    }

    /* CORREÇÃO 3 (continuação): nas telas mais estreitas de todas,
       reduz um pouco mais pra garantir que nunca estoure. */
    .resumo-total strong{
        font-size: 22px;
    }

    .troco-display strong{
        font-size: 18px;
    }

}
/* ========================================
   IMPORTAÇÃO DE PRODUTOS - ESTILOS
   ======================================== */

.importacao-card {
    max-width: 1200px;
    margin: 0 auto;
}

.importacao-card .card-header {
    border-bottom: 2px solid var(--linha);
    padding-bottom: 1rem;
    margin-bottom: 1.5rem;
}

.importacao-card .card-descricao {
    color: var(--tinta-suave);
    font-size: 0.95rem;
    margin-top: 0.25rem;
}

/* --- ÁREA DE UPLOAD --- */
.upload-area {
    border: 2px dashed var(--linha);
    border-radius: var(--raio);
    padding: 3rem 2rem;
    text-align: center;
    background: var(--papel);
    transition: border-color 0.3s, background 0.3s;
    cursor: pointer;
}

.upload-area:hover,
.upload-area.dragover {
    border-color: var(--amarelo);
    background: rgba(255, 197, 51, 0.05);
}

.upload-area.dragover {
    background: rgba(255, 197, 51, 0.12);
}

.upload-icon {
    font-size: 3rem;
    display: block;
    margin-bottom: 0.5rem;
}

.upload-text {
    font-size: 1rem;
    color: var(--tinta-suave);
    margin-bottom: 1rem;
}

.upload-hint {
    font-size: 0.8rem;
    color: var(--tinta-suave);
    margin-top: 0.75rem;
}

/* --- BOTÕES --- */
.import-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 1.5rem 0 0.5rem;
}

.import-actions .btn {
    width: auto;
    flex: 1 1 auto;
    min-width: 180px;
}

.btn-importar {
    background: var(--verde) !important;
    color: white !important;
    box-shadow: 0 6px 0 #0d8a3c !important;
}

.btn-importar:hover:not(:disabled) {
    background: #0d8a3c !important;
    box-shadow: 0 4px 0 #0a6b2e !important;
}

.btn-importar:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: 0 6px 0 #0d8a3c !important;
}

/* --- INFORMAÇÕES DO ARQUIVO --- */
.file-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
    padding: 1rem;
    background: var(--papel);
    border-radius: var(--raio);
    border: 1px solid var(--linha);
}

.file-info-item {
    display: flex;
    flex-direction: column;
}

.file-info-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--tinta-suave);
    font-weight: 700;
    font-family: "JetBrains Mono", monospace;
}

.file-info-value {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--tinta);
    word-break: break-all;
}

/* --- PRÉ-VISUALIZAÇÃO --- */
.preview-title {
    margin: 1.5rem 0 0.75rem;
    font-size: 1.1rem;
}

.preview-stats {
    display: flex;
    gap: 1.5rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.stat-badge {
    font-size: 0.9rem;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
    background: var(--papel);
    border: 1px solid var(--linha);
}

.stat-badge.stat-ok {
    border-color: var(--verde);
    color: var(--verde);
}

.stat-badge.stat-error {
    border-color: var(--vermelho);
    color: var(--vermelho);
}

/* --- BARRA DE PROGRESSO --- */
.progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 1rem 0 0.5rem;
}

.progress-label {
    font-weight: 600;
    font-size: 0.95rem;
}

.progress-percent {
    font-family: "JetBrains Mono", monospace;
    font-weight: 700;
    font-size: 1rem;
    color: var(--tinta);
}

.progress-bar {
    width: 100%;
    height: 10px;
    background: var(--linha);
    border-radius: 999px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--amarelo), var(--amarelo-escuro));
    border-radius: 999px;
    transition: width 0.3s ease;
    width: 0%;
}

.progress-details {
    display: flex;
    justify-content: space-between;
    font-size: 0.85rem;
    color: var(--tinta-suave);
    margin-top: 0.5rem;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* --- RESULTADO --- */
.result-card {
    text-align: center;
    padding: 2rem 1.5rem;
    background: var(--papel);
    border-radius: var(--raio);
    border: 2px solid var(--linha);
    margin-top: 1.5rem;
}

.result-icon {
    font-size: 3.5rem;
    display: block;
    margin-bottom: 0.5rem;
}

.result-card h3 {
    margin: 0 0 1rem;
    font-size: 1.3rem;
}

.result-stats {
    display: flex;
    justify-content: center;
    gap: 2.5rem;
    flex-wrap: wrap;
    margin: 1rem 0;
}

.result-stat {
    text-align: center;
}

.result-stat-value {
    display: block;
    font-family: "JetBrains Mono", monospace;
    font-size: 2rem;
    font-weight: 700;
}

.result-stat-value.success {
    color: var(--verde);
}
.result-stat-value.ignored {
    color: #f59e0b;
}
.result-stat-value.error {
    color: var(--vermelho);
}

.result-stat-label {
    font-size: 0.85rem;
    color: var(--tinta-suave);
}

.result-time {
    font-size: 0.9rem;
    color: var(--tinta-suave);
    margin-top: 0.5rem;
}

/* --- RESPONSIVIDADE --- */
@media (max-width: 768px) {
    .upload-area {
        padding: 2rem 1rem;
    }

    .file-info {
        grid-template-columns: 1fr 1fr;
    }

    .import-actions {
        flex-direction: column;
    }

    .import-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .preview-stats {
        gap: 0.75rem;
    }

    .result-stats {
        gap: 1.5rem;
    }

    .result-stat-value {
        font-size: 1.5rem;
    }
}

@media (max-width: 480px) {
    .file-info {
        grid-template-columns: 1fr;
    }

    .progress-details {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* =========================================================
   CAMADA RESPONSIVA GLOBAL
   Mantida no final para prevalecer sobre regras antigas.
========================================================= */

img, svg, canvas, video{
    max-width:100%;
}

input, select, textarea, button{
    max-width:100%;
}

.content, .painel, .card, .grafico-card, .tabela{
    min-width:0;
}

@media(max-width:1100px){
    .content{ padding:24px; }
    .toolbar-super-admin{ grid-template-columns:minmax(180px,1fr) minmax(150px,190px); }
    .toolbar-super-admin > button{ grid-column:1/-1; }
}

@media(max-width:768px){
    html{ -webkit-text-size-adjust:100%; }
    body{ min-width:320px; }
    .layout{ min-height:100dvh; }

    .sidebar{
        width:min(86vw,280px) !important;
        height:100dvh;
        left:0 !important;
        padding-top:max(20px,env(safe-area-inset-top));
        padding-bottom:max(18px,env(safe-area-inset-bottom));
        -webkit-transform:translateX(-105%);
        transform:translateX(-105%);
        transition:-webkit-transform .24s cubic-bezier(.22,.8,.32,1),transform .24s cubic-bezier(.22,.8,.32,1);
    }
    .sidebar.mostrar{ -webkit-transform:translateX(0); transform:translateX(0); }

    .content{
        padding:calc(72px + env(safe-area-inset-top)) 14px calc(22px + env(safe-area-inset-bottom)) !important;
    }

    header{
        gap:12px;
        margin-bottom:20px;
    }
    header > div:first-child{ width:100%; min-width:0; }
    header h1{ line-height:1.15; overflow-wrap:anywhere; }
    header p{ line-height:1.45; }
    .usuario{ padding:10px 14px; white-space:normal; }
    .saudacao-texto{ align-items:flex-start; text-align:left; }

    .cards, .dashboard-kpis, .super-admin-kpis{
        gap:12px;
    }
    .card, .painel, .grafico-card{
        padding:16px;
        border-radius:14px;
    }

    .form-grid{
        display:grid;
        grid-template-columns:1fr !important;
        gap:14px;
    }
    .form-grid > *, form > *{ min-width:0; }
    label{ overflow-wrap:anywhere; }
    input, select, textarea{
        width:100%;
        min-height:44px;
        font-size:16px;
    }
    input[type="checkbox"], input[type="radio"]{
        width:auto !important;
        min-width:18px;
        min-height:18px;
        flex:0 0 auto;
    }
    textarea{ min-height:96px; }

    .acoes-form, .form-acoes, .import-actions{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:10px;
    }
    .acoes-form button, .form-acoes button, .import-actions button{
        width:100%;
        min-height:44px;
    }

    /* Botoes de acao compactos nao devem herdar a largura total global. */
    .td-acoes button,
    .fechar-sa,
    .btn-recolher-menu,
    .menu-grupo-titulo,
    .paginacao-produtos button,
    .valores-rapidos button{
        width:auto !important;
    }
    .td-acoes button{ min-width:42px; min-height:40px; }

    .filtros-produtos{
        gap:10px;
        padding:12px;
    }
    .filtros-produtos input[type="text"],
    .filtros-produtos input[type="date"],
    .filtros-produtos select,
    .filtros-produtos button{
        min-width:0;
        min-height:44px;
    }

    .cabecalho-secao{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:10px;
    }
    .cabecalho-secao > *{ min-width:0; }

    .busca-caixa{
        display:grid;
        grid-template-columns:minmax(0,1fr) 48px;
        gap:8px;
    }
    .busca-caixa .btn-scanner-caixa{
        width:48px !important;
        min-width:48px;
        padding:0;
    }
    .resumo-carrinho{ margin-left:0; white-space:normal; }
    .atalhos-caixa{ display:none; }

    .configuracao-notificacoes{
        grid-template-columns:44px minmax(0,1fr);
        gap:12px;
    }
    .configuracao-notificacoes > button{
        grid-column:1/-1;
        width:100%;
        min-width:0;
    }

    .toolbar-super-admin{ grid-template-columns:1fr; }
    .toolbar-super-admin > button{ grid-column:auto; width:100%; }
    .modal-sa.aberto{ align-items:end; padding:0; }
    .modal-sa-conteudo{
        width:100%;
        max-height:92dvh;
        padding:22px 16px calc(20px + env(safe-area-inset-bottom));
        border-radius:20px 20px 0 0;
    }
    .acoes-empresa-sa{ grid-template-columns:1fr 1fr; }

    .paginacao-produtos{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        align-items:center;
    }
    .paginacao-produtos span{
        grid-column:1/-1;
        grid-row:1;
        order:0;
        width:auto;
        min-width:0;
        text-align:center;
        overflow-wrap:normal;
    }
    .paginacao-produtos button{
        width:100% !important;
        min-width:0;
        min-height:44px;
        padding:8px 10px;
        white-space:nowrap;
    }

    .modal-permissao-notificacoes{ padding:12px; }
    .modal-permissao-conteudo{ padding:22px 16px; }

    .upload-area{ padding:28px 14px; }
    .result-card{ padding:22px 14px; }
}

@media(max-width:520px){
    .dashboard-kpis, .super-admin-kpis, .cards-validade{
        grid-template-columns:1fr !important;
    }
    .formas-pagamento{ grid-template-columns:1fr 1fr; gap:8px; }
    .metodo-pagamento{ min-width:0; padding:12px 8px; }
    .acoes-empresa-sa{ grid-template-columns:1fr; }
    .opcoes-alerta-validade{ grid-template-columns:1fr; }
    .rodape-alertas-validade{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:10px;
    }
    .rodape-alertas-validade button{ width:100%; min-width:0; }
    .atencao-dashboard > a:not(.link-central-dashboard){
        grid-template-columns:34px minmax(0,1fr) auto;
        gap:8px;
    }
}

@media(max-width:380px){
    .content{ padding-left:9px !important; padding-right:9px !important; }
    .card, .painel, .grafico-card{ padding:13px; border-radius:12px; }
    .formas-pagamento{ grid-template-columns:1fr; }
    .paginacao-produtos{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* =========================================================
   INTERFACE COMPARTILHADA: TOASTS, DIALOGOS, LOADING E TEMA
========================================================= */

.ui-toasts{ position:fixed; top:18px; right:18px; z-index:20000; display:flex; flex-direction:column; gap:10px; width:min(390px,calc(100vw - 28px)); pointer-events:none; }
.ui-toast{ display:grid; grid-template-columns:34px minmax(0,1fr) 28px; align-items:start; gap:10px; padding:13px; border:1px solid var(--linha); border-radius:14px; background:var(--cartao); color:var(--tinta); box-shadow:0 18px 45px rgba(0,0,0,.18); pointer-events:auto; animation:entrada-toast .25s cubic-bezier(.22,.8,.32,1) both; }
.ui-toast.saindo{ opacity:0; transform:translateX(16px); transition:.18s ease; }
.ui-toast-icone{ display:grid; place-items:center; width:32px; height:32px; border-radius:9px; background:#e8edf5; font-weight:900; }
.ui-toast-sucesso .ui-toast-icone{ background:#dcfce7; color:#15803d; }.ui-toast-erro .ui-toast-icone{ background:#fee2e2; color:#b91c1c; }
.ui-toast p{ margin:5px 0 0; min-width:0; line-height:1.4; overflow-wrap:anywhere; }
.ui-toast button{ width:28px; height:28px; min-height:0; padding:0; border:0; background:transparent; color:var(--tinta-suave); box-shadow:none; font-size:20px; }
@keyframes entrada-toast{ from{ opacity:0; transform:translateY(-8px) scale(.98); } }

.ui-dialogo-camada{ position:fixed; inset:0; z-index:21000; display:grid; place-items:center; padding:18px; background:rgba(9,12,18,.58); backdrop-filter:blur(3px); animation:entrada-pagina .18s ease both; }
.ui-dialogo-camada.saindo{ opacity:0; transition:.16s ease; }
.ui-dialogo{ width:min(440px,100%); padding:26px; border:1px solid var(--linha); border-radius:20px; background:var(--cartao); color:var(--tinta); box-shadow:0 28px 80px rgba(0,0,0,.32); animation:entrada-conteudo .25s ease both; }
.ui-dialogo-icone{ display:grid; place-items:center; width:46px; height:46px; margin-bottom:16px; border-radius:13px; background:#fff3c4; color:#8a6100; font:900 22px "JetBrains Mono",monospace; }
.ui-dialogo-icone.perigo{ background:#fee2e2; color:#b91c1c; }
.ui-dialogo h2{ margin:0 0 8px; font:400 23px "Anton","Barlow",sans-serif; }.ui-dialogo>p{ margin:0; color:var(--tinta-suave); line-height:1.55; }
.ui-dialogo-campo{ display:grid; gap:7px; margin-top:18px; font-weight:700; }.ui-dialogo-campo input{ width:100%; }
.ui-dialogo-acoes{ display:grid; grid-template-columns:1fr 1.25fr; gap:10px; margin-top:22px; }.ui-dialogo-acoes button{ box-shadow:none; }
.ui-dialogo-cancelar{ background:var(--papel); color:var(--tinta); }.ui-dialogo-confirmar.perigo{ background:var(--vermelho); color:#fff; }

.ui-spinner{ width:17px; height:17px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:girar-ui .65s linear infinite; }
.ui-carregando{ display:inline-flex; align-items:center; justify-content:center; gap:9px; cursor:wait; }
@keyframes girar-ui{ to{ transform:rotate(360deg); } }

.ui-skeleton-linha{ pointer-events:none; }.ui-skeleton{ display:block; width:100%; height:16px; border-radius:999px; background:linear-gradient(90deg,var(--linha) 20%,var(--papel) 45%,var(--linha) 70%); background-size:220% 100%; animation:skeleton-ui 1.25s ease infinite; }
@keyframes skeleton-ui{ to{ background-position:-220% 0; } }
.ui-estado-vazio td{ padding:34px 16px !important; text-align:center !important; }.ui-estado-vazio td::before{ display:none; }.ui-estado-vazio td>div{ display:grid; justify-items:center; gap:5px; }.ui-estado-vazio span{ font-size:30px; }.ui-estado-vazio strong{ font-size:15px; }.ui-estado-vazio small{ color:var(--tinta-suave); font-size:13px; }

.btn-tema-interface{ display:flex; align-items:center; gap:11px; width:100%; min-height:42px; padding:5px 9px; margin-top:6px; border:0; border-radius:9px; background:transparent; color:#a7adba; box-shadow:none; font-size:14px; font-weight:600; text-align:left; }.btn-tema-interface:hover{ background:rgba(255,255,255,.055); color:#fff; box-shadow:none; transform:none; }
.sidebar.compacto .btn-tema-interface{ justify-content:center; padding:5px; }.sidebar.compacto .btn-tema-interface .menu-rotulo{ display:none; }

html[data-tema="escuro"]{
    --tinta:#f3f4f6; --tinta-2:#e5e7eb; --tinta-suave:#9ca3af; --papel:#0f1218;
    --papel-2:#131821; --cartao:#181c24; --linha:#36404d; --bg:#0f1218; --texto:#f3f4f6; --cinza-texto:#9ca3af; --borda:#36404d;
    color-scheme:dark;
    scrollbar-color:#465160 #0f1218;
}
html[data-tema="escuro"] body{ background:var(--papel); }
html[data-tema="escuro"] input,html[data-tema="escuro"] select,html[data-tema="escuro"] textarea{ background:#11161e; color:var(--tinta); border-color:#465160; }
html[data-tema="escuro"] input::placeholder,html[data-tema="escuro"] textarea::placeholder{ color:#8994a5; opacity:1; }
html[data-tema="escuro"] .card,html[data-tema="escuro"] .painel,html[data-tema="escuro"] .grafico-card,html[data-tema="escuro"] .usuario{ background:var(--cartao); }
html[data-tema="escuro"] .filtros-produtos{ background:#10151d; border-color:#3c4654; }
html[data-tema="escuro"] thead,html[data-tema="escuro"] th:last-child{ background:#121821; }
html[data-tema="escuro"] td.td-acoes{ background:var(--cartao); }
html[data-tema="escuro"] .btn-editar{ background:#29313d; color:#f3f4f6; border:1px solid #465160; }
html[data-tema="escuro"] .metodo-pagamento.selecionado,
html[data-tema="escuro"] .chip-tinta,
html[data-tema="escuro"] .opcoes-alerta-validade input:checked + .check-alerta,
html[data-tema="escuro"] .abas-super-admin button.ativa{
    background:#090d13;
    color:var(--amarelo);
    border-color:#536071;
}
html[data-tema="escuro"] .filtros-produtos .btn-cadastro-rapido:not(:disabled){
    background:var(--amarelo);
    color:#12161f;
    border:1px solid #ffd66d;
    box-shadow:0 5px 0 #9f7600;
}
html[data-tema="escuro"] .filtros-produtos .btn-cadastro-rapido:disabled{
    background:#252c37;
    color:#aeb7c5;
    border:1px solid #414b59;
    box-shadow:none;
    opacity:1;
}
html[data-tema="escuro"] .fechamento-total-diferenca,
html[data-tema="escuro"] .relatorio-fechamento-hero,
html[data-tema="escuro"] .extrato-fiado-resumos .saldo,
html[data-tema="escuro"] .documentos-fiado .btn-extrato-pdf,
html[data-tema="escuro"] .detalhes-venda-totais .total-liquido,
html[data-tema="escuro"] .cabecalho-assinatura-cliente,
html[data-tema="escuro"] .comunicado-sistema{
    background:#090d13;
    color:#f8fafc;
    border-color:#343e4b;
}
html[data-tema="escuro"] .assinatura-icone,
html[data-tema="escuro"] .comunicado-icone,
html[data-tema="escuro"] .comunicado-acoes button{ color:#12161f; }
html[data-tema="escuro"] .aviso-cadastro-rapido,
html[data-tema="escuro"] .opcoes-alerta-validade label:has(input:checked){ background:#302914; color:#f8e4a3; border-color:#80651f; }
html[data-tema="escuro"] .configuracao-icone,
html[data-tema="escuro"] .modal-permissao-icone,
html[data-tema="escuro"] .ui-dialogo-icone{ background:#302914; color:#ffd66d; }
html[data-tema="escuro"] .ui-toast-sucesso .ui-toast-icone{ background:#123222; color:#6ee7a3; }
html[data-tema="escuro"] .ui-toast-erro .ui-toast-icone{ background:#3a171b; color:#fda4af; }
html[data-tema="escuro"] .linha-fatura-atrasado{ background:rgba(220,38,38,.07); }
html[data-tema="escuro"] .alerta-fatura-global{ background:var(--cartao); color:var(--tinta); border-color:#665624; }
html[data-tema="escuro"] .alerta-fatura-global p{ color:#cbd5e1; }
html[data-tema="escuro"] .alerta-fatura-global small{ color:#c4b5fd; }
html[data-tema="escuro"] .alerta-fatura-global>button{ color:#aeb8c8; }
html[data-tema="escuro"] .alerta-faturas-pagina,
html[data-tema="escuro"] .aviso-bloqueio-manual-sa{ background:#35171c; color:#fecdd3; border-color:#7f303a; }
html[data-tema="escuro"] .aviso-bloqueio-manual-sa p{ color:#fecdd3; }
html[data-tema="escuro"] .ativacao-inicial-sa{ background:#302914; border-color:#80651f; }
html[data-tema="escuro"] .ativacao-inicial-sa p{ color:#fde68a; }
html[data-tema="escuro"] .documentos-fiado .btn-compartilhar-extrato-pdf{ background:#123222; color:#86efac; border-color:#286044; }
html[data-tema="escuro"] .acoes-empresa-sa .perigo,
html[data-tema="escuro"] .td-acoes .perigo,
html[data-tema="escuro"] .acoes-financeiro-sa .perigo,
html[data-tema="escuro"] .btn-encerrar-notificacao-sa{ background:#35171c !important; color:#fda4af !important; border-color:#7f303a !important; }
html[data-tema="escuro"] .acao-finalizar-caixa{ background:linear-gradient(to bottom,rgba(24,28,36,.76),var(--cartao) 30%); }

/* Histórico de vendas */
.pagina-vendas .filtros-vendas-grade{
  display:grid;
  grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(145px,1fr)) auto;
  gap:14px;
  align-items:end;
}
.pagina-vendas .filtro-vendas-atualizar button{ min-height:46px; }
.pagina-vendas .cards .card{ position:relative; overflow:hidden; }
.pagina-vendas .cards .card::after{ content:""; position:absolute; inset:auto 0 0; height:4px; background:var(--amarelo); }
.pagina-vendas #resumoPagamentosVendas{ display:grid; grid-template-columns:repeat(2,minmax(220px,1fr)); gap:12px; }
.pagina-vendas .resumo-pagamento-venda{ background:var(--papel); border:1px solid var(--linha); border-left:4px solid var(--amarelo); border-radius:12px; padding:14px 16px; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.pagina-vendas .cabecalho-historico-vendas,.pagina-vendas .acoes-relatorio-vendas{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.pagina-vendas .acoes-relatorio-vendas{ justify-content:flex-end; }
.pagina-vendas .paginacao-vendas{ display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:18px; padding-top:16px; border-top:1px solid var(--linha); }.pagina-vendas .paginacao-vendas[hidden]{ display:none; }.pagina-vendas .paginacao-vendas label{ display:flex; align-items:center; gap:8px; color:var(--tinta-suave); font-size:12px; }.pagina-vendas .paginacao-vendas select{ width:auto; min-width:70px; padding:8px 10px; }.pagina-vendas .paginacao-vendas-controles{ display:grid; grid-template-columns:auto minmax(110px,auto) auto; align-items:center; gap:9px; }.pagina-vendas .paginacao-vendas-controles button{ width:auto; min-height:40px; padding:8px 13px; box-shadow:none; }.pagina-vendas .paginacao-vendas-controles button:disabled{ opacity:.45; cursor:not-allowed; transform:none; }.pagina-vendas .paginacao-vendas-controles span{ color:var(--tinta-suave); font:600 12px "JetBrains Mono",monospace; text-align:center; }
.pagina-vendas .linha-venda-parcialmente_devolvida{ background:rgba(255,197,51,.055); }
.pagina-vendas .linha-venda-devolvida{ background:rgba(91,100,114,.06); }
.pagina-vendas .btn-detalhes-venda{ width:auto; padding:8px 12px; box-shadow:none; background:var(--papel); color:var(--tinta); border:1px solid var(--linha); font-size:12px; }
.pagina-vendas th:last-child{ width:230px; min-width:230px; text-align:center; }
.pagina-vendas td.td-acoes{
  width:230px;
  min-width:230px;
  display:table-cell;
  vertical-align:middle;
}
.pagina-vendas .acoes-venda-grade{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  width:100%;
}
.pagina-vendas .acoes-venda-grade .btn-detalhes-venda{ grid-column:1/-1; }

@media(max-width:700px){ .pagina-vendas .paginacao-vendas{ flex-direction:column; align-items:stretch; }.pagina-vendas .paginacao-vendas label{ justify-content:center; }.pagina-vendas .paginacao-vendas-controles{ grid-template-columns:1fr auto 1fr; }.pagina-vendas .paginacao-vendas-controles button{ width:100%; } }
@media(max-width:430px){ .pagina-vendas .paginacao-vendas-controles{ grid-template-columns:1fr 1fr; }.pagina-vendas .paginacao-vendas-controles span{ grid-column:1/-1; grid-row:1; }.pagina-vendas .paginacao-vendas-controles button{ grid-row:2; } }
.pagina-vendas .acoes-venda-grade button{
  width:100%;
  min-width:0;
  min-height:38px;
  padding:7px 8px;
  white-space:normal;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1.15;
  font-size:11px;
}
.detalhes-venda-dialogo{ width:min(680px,calc(100vw - 28px)); max-width:680px; }
.detalhes-venda-topo{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; border-bottom:1px solid var(--linha); padding-bottom:14px; }
.detalhes-venda-topo h2{ margin:2px 0 0; }
.detalhes-venda-topo small,.detalhes-venda-meta small,.detalhes-venda-totais small{ color:var(--tinta-suave); display:block; font-size:11px; text-transform:uppercase; letter-spacing:.5px; }
.detalhes-venda-meta{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:16px 0 20px; }
.detalhes-venda-meta>span{ background:var(--papel); border-radius:10px; padding:11px; min-width:0; }
.detalhes-venda-meta strong{ display:block; margin-top:4px; overflow-wrap:anywhere; }
.detalhes-venda-dialogo h3{ font-size:13px; text-transform:uppercase; letter-spacing:.5px; margin:18px 0 8px; }
.detalhes-venda-itens>div,.detalhes-venda-devolucoes>div{ display:flex; justify-content:space-between; align-items:center; gap:14px; padding:10px 2px; border-bottom:1px dashed var(--linha); }
.detalhes-venda-itens small,.detalhes-venda-devolucoes small{ display:block; color:var(--tinta-suave); margin-top:2px; }
.detalhes-venda-devolucoes>div>strong{ color:var(--vermelho); }
.detalhes-venda-totais{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:20px; }
.detalhes-venda-totais>span{ padding:12px; background:var(--papel); border-radius:10px; }
.detalhes-venda-totais strong{ display:block; margin-top:3px; }
.detalhes-venda-totais .total-liquido{ background:var(--tinta); color:white; }
.detalhes-venda-totais .total-liquido small{ color:var(--amarelo); }
@media(max-width:1200px){
  .pagina-vendas .filtros-vendas-grade{ grid-template-columns:repeat(3,1fr); }
  .pagina-vendas th:last-child{ width:180px; min-width:180px; }
  .pagina-vendas td.td-acoes{ width:180px; min-width:180px; }
  .pagina-vendas .acoes-venda-grade{ grid-template-columns:1fr; }
  .pagina-vendas .acoes-venda-grade .btn-detalhes-venda{ grid-column:auto; }
}
@media(max-width:768px){
  .pagina-vendas .filtros-vendas-grade{ grid-template-columns:1fr 1fr; gap:10px; }
  .pagina-vendas .filtros-vendas-grade>div:first-child,.pagina-vendas .filtro-vendas-atualizar{ grid-column:1/-1; }
  .pagina-vendas .filtro-vendas-atualizar button{ width:100%!important; }
  .pagina-vendas #resumoPagamentosVendas{ grid-template-columns:1fr; }
  .pagina-vendas .acoes-relatorio-vendas{ width:100%; justify-content:stretch; }
  .pagina-vendas .acoes-relatorio-vendas button{ flex:1; }
  .pagina-vendas th:last-child,.pagina-vendas td.td-acoes{ width:auto; min-width:0; }
  .pagina-vendas td.td-acoes{ display:block; }
  .pagina-vendas .acoes-venda-grade{ grid-template-columns:1fr 1fr; }
  .pagina-vendas .acoes-venda-grade .btn-detalhes-venda{ grid-column:1/-1; }
  .detalhes-venda-meta,.detalhes-venda-totais{ grid-template-columns:1fr; }
}
html[data-tema="escuro"] table,html[data-tema="escuro"] td,html[data-tema="escuro"] th{ color:var(--tinta); }
html[data-tema="escuro"] tbody tr:hover{ background:#202630; }
html[data-tema="escuro"] .modal-sa-conteudo,html[data-tema="escuro"] .modal-permissao-conteudo{ background:var(--cartao); color:var(--tinta); }
html[data-tema="escuro"] .alerta-estoque-baixo{ background:#332b12; color:#fde68a; }
html[data-tema="escuro"] .ui-dialogo-cancelar,html[data-tema="escuro"] .modal-permissao-conteudo .btn-depois{ background:#242a34; color:var(--tinta); }

@media(max-width:600px){
    .ui-toasts{ top:calc(10px + env(safe-area-inset-top)); right:14px; }
    .ui-dialogo-camada{ align-items:end; padding:0; }
    .ui-dialogo{ padding:22px 16px calc(18px + env(safe-area-inset-bottom)); border-radius:20px 20px 0 0; }
    .ui-dialogo-acoes{ grid-template-columns:1fr; }
}

/* Ações de produto: movimentações em destaque e ferramentas secundárias discretas. */
.produto-acoes{ display:grid; gap:7px; min-width:196px; }
.produto-acoes-estoque,.produto-acoes-secundarias{ display:flex; align-items:center; gap:6px; }
.produto-acao{ width:auto !important; min-width:0; height:36px; margin:0; border:1px solid var(--linha); border-radius:10px; background:var(--cartao); color:var(--tinta); box-shadow:none; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 11px; font-size:12px; font-weight:750; letter-spacing:0; text-transform:none; transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease; }
.produto-acao:hover{ transform:translateY(-1px); box-shadow:0 5px 12px rgba(18,22,31,.08); }
.produto-acao:focus-visible{ outline:3px solid rgba(255,197,51,.32); outline-offset:2px; }
.produto-acao-icone{ width:17px; height:17px; flex:0 0 17px; }
.produto-acao-entrada,.produto-acao-saida{ flex:1; }
.produto-acao-entrada{ color:#087443; background:#edf9f3; border-color:#bde8d2; }
.produto-acao-entrada:hover{ background:#dcf5e8; border-color:#83d4aa; }
.produto-acao-saida{ color:#9a5800; background:#fff7e7; border-color:#f2d8a4; }
.produto-acao-saida:hover{ background:#ffedc7; border-color:#e9bc62; }
.produto-acao-icone-btn{ width:42px !important; padding:0; color:var(--tinta-suave); background:var(--papel); }
.produto-acao-icone-btn:hover{ color:var(--tinta); border-color:#aeb4bf; background:var(--cartao); }
.produto-acao-excluir{ color:#b4232d; margin-left:auto; }
.produto-acao-excluir:hover{ color:#fff; background:#c92531; border-color:#c92531; }
html[data-tema="escuro"] .produto-acao-entrada{ color:#6ee7ad; background:#102c23; border-color:#245b46; }
html[data-tema="escuro"] .produto-acao-saida{ color:#ffd074; background:#302617; border-color:#68502a; }
html[data-tema="escuro"] .produto-acao-icone-btn{ background:#171c25; border-color:#303846; color:#aeb7c7; }
@media(max-width:700px){
  .produto-acoes{ width:100%; min-width:0; }
  .produto-acoes-estoque .produto-acao{ min-height:42px; }
  .produto-acoes-secundarias{ justify-content:flex-start; }
  .produto-acao-icone-btn{ width:44px !important; min-height:42px; }
}

/* Matriz de permissoes da equipe */
.permissoes-dialogo { max-width: 620px; }
.permissoes-grade { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0; text-align:left; }
.permissoes-grade label { display:flex; align-items:center; gap:9px; padding:11px 12px; border:1px solid var(--linha); border-radius:10px; cursor:pointer; }
.permissoes-grade input { width:18px; height:18px; }
@media (max-width:600px) { .permissoes-grade { grid-template-columns:1fr; } }

/* Importacao de produtos por planilha */
.importacao-camada { align-items:flex-start; overflow:auto; padding:3vh 18px; backdrop-filter:blur(5px); }
.importacao-dialogo { width:min(980px,96vw); max-width:none; padding:0 !important; border-radius:22px; overflow:hidden; text-align:left; box-shadow:0 28px 80px rgba(10,16,28,.3); }
.importacao-topo { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 28px 18px; border-bottom:1px solid var(--linha); }
.importacao-titulo { display:flex; align-items:center; gap:14px; }
.importacao-titulo h2 { margin:0 0 3px; font-size:26px; }
.importacao-titulo p { margin:0; color:var(--tinta-suave); }
.importacao-icone { width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:rgba(255,197,51,.2); color:#9a6500; font-size:27px; font-weight:900; }
.importacao-fechar { width:38px !important; height:38px; min-width:38px; padding:0 !important; margin:0 !important; border:1px solid var(--linha) !important; border-radius:50% !important; background:var(--papel-2) !important; box-shadow:none !important; color:var(--tinta-suave) !important; font:700 22px/1 Arial !important; cursor:pointer; }
.importacao-fechar:hover { background:var(--linha) !important; transform:none !important; }
.importacao-passos { display:flex; align-items:center; justify-content:center; gap:10px; padding:16px 28px; color:var(--tinta-suave); font-size:12px; font-weight:750; }
.importacao-passos span { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.importacao-passos b { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; background:var(--papel-2); border:1px solid var(--linha); }
.importacao-passos span.ativo { color:var(--tinta); }
.importacao-passos span.ativo b { background:var(--amarelo); border-color:var(--amarelo); color:#12161f; }
.importacao-passos i { width:64px; height:1px; background:var(--linha); }
.importacao-dropzone { margin:0 28px 14px; min-height:190px; border:2px dashed #c7cbd2; border-radius:18px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; background:linear-gradient(180deg,var(--papel),var(--papel-2)); cursor:pointer; transition:.18s ease; }
.importacao-dropzone:hover,.importacao-dropzone.arquivo-selecionado { border-color:#d89d00; background:rgba(255,197,51,.07); }
.dropzone-icone { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:var(--papel); border:1px solid var(--linha); font-size:25px; color:#a16d00; }
.importacao-dropzone strong { font-size:17px; }
.importacao-dropzone small { color:var(--tinta-suave); }
.dropzone-botao { margin-top:7px; padding:9px 16px; border-radius:10px; background:var(--tinta); color:var(--papel); font-weight:800; font-size:12px; }
.importacao-modelo { margin:0 28px 16px; padding:13px 15px; display:flex; align-items:center; justify-content:space-between; gap:14px; border:1px solid var(--linha); border-radius:14px; }
.importacao-modelo div { display:flex; flex-direction:column; gap:2px; }
.importacao-modelo small { color:var(--tinta-suave); }
.importacao-modelo .btn-modelo { width:auto !important; margin:0; padding:9px 14px; border:1px solid var(--linha); background:var(--papel-2); color:var(--tinta); box-shadow:none; text-transform:none; letter-spacing:0; }
.importacao-resumo { margin:0 28px 18px; min-height:64px; padding:13px 15px; display:flex; align-items:center; gap:12px; background:var(--papel-2); border-radius:14px; }
.importacao-resumo:not(.com-dados) div { display:flex; flex-direction:column; gap:2px; }
.importacao-resumo small { color:var(--tinta-suave); }
.resumo-vazio-icone { font-size:25px; color:var(--tinta-suave); }
.importacao-resumo.com-dados { display:grid; grid-template-columns:repeat(3,minmax(100px,1fr)); }
.resumo-card { padding:8px 12px; border-right:1px solid var(--linha); display:flex; flex-direction:column; }
.resumo-card:last-of-type { border-right:0; }
.resumo-card strong { font-size:22px; }
.resumo-card.sucesso strong { color:#15803d; }
.resumo-card.erro strong { color:#b91c1c; }
.resumo-limite { grid-column:1/-1; }
.importacao-preview-cabecalho { display:flex; align-items:end; justify-content:space-between; padding:0 28px 10px; }
.importacao-preview-cabecalho div { display:flex; flex-direction:column; gap:2px; }
.importacao-preview-cabecalho small,.importacao-preview-cabecalho span { color:var(--tinta-suave); font-size:12px; }
.importacao-tabela { max-height:32vh; margin:0 28px; overflow:auto; border:1px solid var(--linha); border-radius:14px; }
.importacao-tabela th { position:sticky; top:0; z-index:1; }
.importacao-vazia td { height:125px; text-align:center !important; color:var(--tinta-suave); }
.importacao-vazia td span,.importacao-vazia td strong,.importacao-vazia td small { display:block; margin:3px auto; }
.importacao-vazia td span { font-size:24px; }
.importacao-dialogo > .ui-dialogo-acoes { padding:18px 28px 24px; margin:0; }
.importacao-dialogo > .ui-dialogo-acoes button { min-height:46px; }
.linha-importacao-erro { background:rgba(220,38,38,.06); }
@media(max-width:650px){
  .importacao-camada{ padding:0; }
  .importacao-dialogo{ width:100vw; min-height:100vh; border-radius:0; }
  .importacao-topo,.importacao-passos{ padding-left:18px; padding-right:18px; }
  .importacao-passos i{ width:18px; }
  .importacao-passos span{ font-size:0; }
  .importacao-passos b{ font-size:12px; }
  .importacao-dropzone,.importacao-modelo,.importacao-resumo,.importacao-tabela{ margin-left:18px; margin-right:18px; }
  .importacao-modelo{ align-items:flex-start; flex-direction:column; }
  .importacao-preview-cabecalho{ padding-left:18px; padding-right:18px; }
  .importacao-dialogo > .ui-dialogo-acoes{ padding:16px 18px; }
}

/* Central de provisionamento SaaS */
.pagina-super-admin{ --sa-roxo:#6d28d9; }
.pagina-super-admin .toolbar-super-admin{ grid-template-columns:minmax(220px,1fr) minmax(190px,280px) 170px auto auto; align-items:end; }
.toolbar-super-admin>div h2{ margin:0 0 3px; }.toolbar-super-admin>div small{ color:var(--tinta-suave); }
.btn-secundario-sa,.btn-cancelar-sa{ background:var(--papel-2)!important; color:var(--tinta)!important; border:1px solid var(--linha)!important; box-shadow:none!important; }
.tabela-empresas-sa{ overflow:auto; }.tabela-empresas-sa table{ min-width:1320px; }
.btn-gerenciar-sa{ width:auto!important; padding:8px 13px!important; box-shadow:none!important; }
.estado-vazio-sa{ padding:38px!important; text-align:center!important; color:var(--tinta-suave); }
.cabecalho-modal-sa{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:22px; }
.cabecalho-modal-sa h2{ margin:0 0 4px; font-size:26px; }.cabecalho-modal-sa p{ margin:0; color:var(--tinta-suave); }
.modal-sa .fechar-sa{ position:static; width:38px!important; min-width:38px; height:38px; margin:0; padding:0!important; border-radius:50%; background:var(--papel-2); color:var(--tinta); border:1px solid var(--linha); box-shadow:none; font-size:22px; }
.modal-provisionamento-sa,.modal-gestao-sa{ width:min(1100px,96vw); }
.form-provisionamento-sa{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-provisionamento-sa fieldset{ display:grid; grid-template-columns:1fr 1fr; gap:13px; margin:0; padding:18px; border:1px solid var(--linha); border-radius:14px; }
.form-provisionamento-sa legend{ padding:0 8px; font-weight:850; }
.form-provisionamento-sa label{ display:flex; flex-direction:column; gap:6px; }.form-provisionamento-sa label span{ font-size:12px; font-weight:750; color:var(--tinta-suave); }
.rodape-form-sa{ grid-column:1/-1; display:flex; justify-content:flex-end; gap:10px; padding-top:4px; }.rodape-form-sa button{ width:auto; min-width:180px; }
.credenciais-sa{ width:min(500px,95vw); text-align:center; }.credenciais-icone{ width:54px; height:54px; display:grid; place-items:center; margin:0 auto 12px; border-radius:50%; background:#dcfce7; color:#15803d; font-size:28px; font-weight:900; }
.credenciais-sa label{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:10px 0; padding:13px; border-radius:10px; background:var(--papel-2); text-align:left; }.credenciais-sa>button{ margin-top:9px; }
.acoes-empresa-sa{ grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:18px; }.acoes-empresa-sa a{ display:grid; place-items:center; padding:9px; border:1px solid var(--linha); border-radius:9px; color:var(--tinta); font-size:11px; font-weight:800; text-decoration:none; }
.acoes-empresa-sa .perigo,.td-acoes .perigo{ background:#fff1f2; border-color:#fecdd3; color:#b4232d; }
.detalhes-comerciais-sa{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:24px; }.detalhes-comerciais-sa span{ padding:13px; border:1px solid var(--linha); border-radius:11px; }.detalhes-comerciais-sa small,.detalhes-comerciais-sa b{ display:block; }.detalhes-comerciais-sa small{ color:var(--tinta-suave); margin-bottom:4px; }
.titulo-usuarios-sa h3{ margin:0; }.titulo-usuarios-sa p{ margin:3px 0 10px; color:var(--tinta-suave); }
.ativacao-inicial-sa,.aviso-bloqueio-manual-sa{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:15px; padding:14px 16px; border:1px solid #fde68a; border-left:5px solid #eab308; border-radius:12px; background:#fffbeb; }.ativacao-inicial-sa p,.aviso-bloqueio-manual-sa p{ margin:3px 0 0; color:#786318; }.ativacao-inicial-sa button{ width:auto; min-width:190px; }.aviso-bloqueio-manual-sa{ display:block; border-color:#fecaca; border-left-color:#dc2626; background:#fff1f2; }.aviso-bloqueio-manual-sa p{ color:#991b1b; }
.aviso-teste-gratis-sa{ display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:15px; padding:14px 16px; border:1px solid #bfdbfe; border-left:5px solid #2563eb; border-radius:12px; background:#eff6ff; }.aviso-teste-gratis-sa p{ margin:3px 0 0; color:#1e40af; }.aviso-teste-gratis-sa>span{ padding:7px 10px; border-radius:999px; background:#dbeafe; color:#1d4ed8; font-size:11px; font-weight:850; white-space:nowrap; }
.grid-notificacoes-sa{ display:grid; grid-template-columns:minmax(340px,.8fr) minmax(440px,1.2fr); gap:18px; align-items:start; }
.form-notificacao-sa{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-notificacao-sa h2,.form-notificacao-sa p{ margin:0 0 5px; }.form-notificacao-sa p{ color:var(--tinta-suave); }
.form-notificacao-sa label{ display:flex; flex-direction:column; gap:6px; }.form-notificacao-sa label>span{ color:var(--tinta-suave); font-size:12px; font-weight:800; }
.form-notificacao-sa textarea{ min-height:120px; resize:vertical; }.form-notificacao-sa label small{ text-align:right; color:var(--tinta-suave); }
.form-notificacao-sa .campo-largo-sa,.form-notificacao-sa>button{ grid-column:1/-1; }.form-notificacao-sa>button{ margin-top:3px; }
.historico-notificacoes-sa{ min-width:0; }.historico-notificacoes-sa .titulo-secao-dashboard button{ width:auto; }
.lista-notificacoes-sa{ display:grid; gap:11px; max-height:720px; overflow:auto; padding-right:3px; }
.item-notificacao-sa{ padding:15px; border:1px solid var(--linha); border-left:5px solid var(--sa-roxo); border-radius:12px; background:var(--papel-2); }
.item-notificacao-sa.inativa{ opacity:.62; }.item-notificacao-topo,.item-notificacao-sa footer{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.item-notificacao-topo time,.destino-notificacao-sa,.item-notificacao-sa footer small{ color:var(--tinta-suave); font-size:11px; }.destino-notificacao-sa{ margin-left:6px; }
.item-notificacao-sa h3{ margin:11px 0 5px; font-size:17px; }.item-notificacao-sa p{ margin:0 0 12px; white-space:pre-wrap; }.item-notificacao-sa footer button{ width:auto; padding:7px 10px; box-shadow:none; }
.cabecalho-historico-sa{ display:flex; align-items:flex-start; justify-content:space-between; gap:15px; padding-bottom:17px; border-bottom:1px solid var(--linha); }.cabecalho-historico-sa h2{ margin:0 0 4px; font-size:22px; }.cabecalho-historico-sa p{ margin:0; color:var(--tinta-suave); }.cabecalho-historico-sa button{ width:auto; white-space:nowrap; }
.resumo-notificacoes-sa{ display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:16px 0; }.resumo-notificacoes-sa>span{ position:relative; overflow:hidden; padding:13px 14px; border:1px solid var(--linha); border-radius:11px; background:var(--papel-2); }.resumo-notificacoes-sa>span:before{ content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--sa-roxo); }.resumo-notificacoes-sa>span:nth-child(2):before{background:#16a34a}.resumo-notificacoes-sa>span:nth-child(3):before{background:#64748b}.resumo-notificacoes-sa small,.resumo-notificacoes-sa strong{ display:block; }.resumo-notificacoes-sa small{ color:var(--tinta-suave); font-size:10px; font-weight:800; letter-spacing:.4px; text-transform:uppercase; }.resumo-notificacoes-sa strong{ margin-top:3px; font-size:23px; }
.filtros-notificacoes-sa{ display:grid; grid-template-columns:minmax(190px,1fr) 145px 175px; gap:8px; }.busca-notificacoes-sa{ position:relative; }.busca-notificacoes-sa>span{ position:absolute; z-index:1; left:13px; top:50%; transform:translateY(-50%); color:var(--tinta-suave); font-size:21px; }.busca-notificacoes-sa input{ padding-left:38px; }.filtros-notificacoes-sa input,.filtros-notificacoes-sa select{ min-height:42px; font-size:12px; }
.resultado-historico-sa{ display:flex; align-items:center; justify-content:space-between; margin:11px 2px 8px; color:var(--tinta-suave); font-size:11px; font-weight:750; }.resultado-historico-sa button{ width:auto; padding:3px; border:0; background:transparent; color:var(--sa-roxo); box-shadow:none; font-size:11px; text-decoration:underline; }
.lista-notificacoes-sa{ max-height:760px; padding:2px 5px 4px 1px; }.item-notificacao-sa{ position:relative; padding:0; overflow:hidden; border-left:1px solid var(--linha); background:var(--cartao); box-shadow:0 4px 15px rgba(15,23,42,.045); }.item-notificacao-sa:before{ content:""; display:block; height:5px; background:#64748b; }.item-notificacao-sa.nivel-borda-sucesso:before{background:#16a34a}.item-notificacao-sa.nivel-borda-atencao:before{background:#eab308}.item-notificacao-sa.nivel-borda-urgente:before{background:#dc2626}.item-notificacao-sa.inativa{ opacity:.72; filter:saturate(.55); }
.item-notificacao-topo{ padding:13px 15px 8px; }.identificacao-notificacao-sa{ display:flex; align-items:center; flex-wrap:wrap; gap:7px; }.icone-nivel-sa{ display:grid; place-items:center; width:28px; height:28px; border-radius:8px; background:#e2e8f0; color:#334155; font-weight:950; }.icone-nivel-sa.nivel-sucesso{background:#dcfce7;color:#15803d}.icone-nivel-sa.nivel-atencao{background:#fef9c3;color:#a16207}.icone-nivel-sa.nivel-urgente{background:#fee2e2;color:#b91c1c}.status-envio-sa{ padding-left:8px; border-left:1px solid var(--linha); color:var(--tinta-suave); font-size:10px; font-weight:850; text-transform:uppercase; }.status-envio-sa.ativo{color:#15803d}.item-notificacao-topo time{ display:flex; flex-direction:column; text-align:right; }.item-notificacao-topo time b{ color:var(--tinta); font-size:9px; letter-spacing:.5px; text-transform:uppercase; }
.corpo-item-notificacao-sa{ padding:2px 15px 13px; }.corpo-item-notificacao-sa h3{ margin:3px 0 6px; font-size:18px; }.corpo-item-notificacao-sa p{ display:-webkit-box; overflow:hidden; margin:0; color:var(--tinta-suave); line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.metadados-notificacao-sa{ display:grid; grid-template-columns:1fr 1fr; gap:1px; border-top:1px solid var(--linha); background:var(--linha); }.metadados-notificacao-sa>span,.metadados-notificacao-sa>a{ min-width:0; padding:10px 14px; background:var(--papel-2); color:var(--tinta); text-decoration:none; }.metadados-notificacao-sa small,.metadados-notificacao-sa b{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.metadados-notificacao-sa small{ margin-bottom:2px; color:var(--tinta-suave); font-size:9px; font-weight:850; letter-spacing:.5px; }.metadados-notificacao-sa b{ font-size:11px; }.item-notificacao-sa footer{ min-height:42px; padding:8px 14px; background:var(--papel-2); }.item-notificacao-sa footer>span{ color:var(--tinta-suave); font-size:10px; }.btn-encerrar-notificacao-sa{ margin-left:auto; border:1px solid #fecaca!important; background:#fff1f2!important; color:#b91c1c!important; }
.vazio-notificacoes-sa{ padding:42px 20px; border:1px dashed var(--linha); border-radius:12px; text-align:center; color:var(--tinta-suave); }.vazio-notificacoes-sa>span{ font-size:35px; }.vazio-notificacoes-sa h3{ margin:8px 0 4px; color:var(--tinta); }.vazio-notificacoes-sa p{ margin:0; }

/* Financeiro SaaS */
.financeiro-sa{ display:grid; gap:16px; }.cabecalho-financeiro-sa{ display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }.cabecalho-financeiro-sa h2{ margin:0 0 4px; font-size:27px; }.cabecalho-financeiro-sa p{ margin:0; color:var(--tinta-suave); }.cabecalho-financeiro-sa>button{ width:auto; }
.cards-financeiro-sa{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }.cards-financeiro-sa article{ position:relative; overflow:hidden; padding:17px; border:1px solid var(--linha); border-radius:14px; background:var(--cartao); box-shadow:0 5px 18px rgba(15,23,42,.045); }.cards-financeiro-sa article:before{ content:""; position:absolute; inset:0 auto 0 0; width:5px; background:var(--sa-roxo); }.cards-financeiro-sa article:nth-child(2):before{background:#16a34a}.cards-financeiro-sa article:nth-child(3):before{background:#eab308}.cards-financeiro-sa article.card-financeiro-alerta:before{background:#dc2626}.cards-financeiro-sa span,.cards-financeiro-sa strong,.cards-financeiro-sa small{ display:block; }.cards-financeiro-sa span{ color:var(--tinta-suave); font-size:11px; font-weight:850; letter-spacing:.45px; text-transform:uppercase; }.cards-financeiro-sa strong{ margin:7px 0 3px; font-size:23px; }.cards-financeiro-sa small{ color:var(--tinta-suave); }
.painel-cobrancas-sa{ padding:0; overflow:hidden; }.toolbar-financeiro-sa{ display:grid; grid-template-columns:minmax(200px,1fr) 160px 150px auto auto; gap:9px; padding:17px; border-bottom:1px solid var(--linha); }.toolbar-financeiro-sa input,.toolbar-financeiro-sa select,.toolbar-financeiro-sa button{ min-height:42px; }.toolbar-financeiro-sa button{ width:auto; }.busca-financeiro-sa{ position:relative; }.busca-financeiro-sa span{ position:absolute; z-index:1; left:13px; top:50%; transform:translateY(-50%); color:var(--tinta-suave); font-size:21px; }.busca-financeiro-sa input{ width:100%; padding-left:38px; }
.resultado-financeiro-sa{ display:flex; justify-content:space-between; padding:11px 17px; background:var(--papel-2); color:var(--tinta-suave); font-size:11px; }.resultado-financeiro-sa strong{ color:var(--tinta); }.tabela-financeiro-sa{ overflow:auto; }.tabela-financeiro-sa table{ min-width:980px; }.tabela-financeiro-sa th{ white-space:nowrap; }.texto-atrasado-sa{ color:#b91c1c!important; font-weight:800; }.acoes-financeiro-sa{ display:flex; gap:5px; }.acoes-financeiro-sa button{ width:auto!important; min-height:34px; padding:6px 9px!important; box-shadow:none!important; }.acoes-financeiro-sa .perigo{ border:1px solid #fecaca; background:#fff1f2; color:#b91c1c; }.acao-concluida-sa{ color:var(--tinta-suave); font-size:11px; }
.modal-cobranca-sa{ width:min(650px,95vw); }.modal-cobranca-sa form{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }.modal-cobranca-sa form label{ display:flex; flex-direction:column; gap:6px; }.modal-cobranca-sa form label span{ color:var(--tinta-suave); font-size:12px; font-weight:800; }.modal-cobranca-sa form>div{ grid-column:1/-1; display:flex; justify-content:flex-end; gap:9px; margin-top:5px; }.modal-cobranca-sa form>div button{ width:auto; min-width:150px; }
@media(max-width:900px){.pagina-super-admin .toolbar-super-admin{ grid-template-columns:1fr 1fr; }.toolbar-super-admin>div{ grid-column:1/-1; }.form-provisionamento-sa{ grid-template-columns:1fr; }.rodape-form-sa{ grid-column:1; }.acoes-empresa-sa,.detalhes-comerciais-sa{ grid-template-columns:1fr 1fr; }}
@media(max-width:1050px){.grid-notificacoes-sa{ grid-template-columns:1fr; }}
@media(max-width:1100px){.cards-financeiro-sa{grid-template-columns:1fr 1fr}.toolbar-financeiro-sa{grid-template-columns:1fr 1fr}.busca-financeiro-sa{grid-column:1/-1}}
@media(max-width:600px){.pagina-super-admin .toolbar-super-admin,.form-provisionamento-sa fieldset,.acoes-empresa-sa,.detalhes-comerciais-sa,.form-notificacao-sa{ grid-template-columns:1fr; }.modal-provisionamento-sa,.modal-gestao-sa{ width:100%; }.rodape-form-sa{ flex-direction:column-reverse; }.rodape-form-sa button{ width:100%; }.form-notificacao-sa .campo-largo-sa,.form-notificacao-sa>button{grid-column:1}.cabecalho-historico-sa{align-items:stretch;flex-direction:column}.cabecalho-historico-sa button{width:100%}.resumo-notificacoes-sa{grid-template-columns:1fr 1fr}.resumo-notificacoes-sa>span:first-child{grid-column:1/-1}.filtros-notificacoes-sa{grid-template-columns:1fr}.item-notificacao-topo{align-items:flex-start;flex-direction:column}.item-notificacao-topo time{text-align:left}.metadados-notificacao-sa{grid-template-columns:1fr}.item-notificacao-sa footer{align-items:stretch;flex-direction:column}.btn-encerrar-notificacao-sa{width:100%!important;margin:0}.resultado-historico-sa{align-items:flex-start;gap:8px}.ativacao-inicial-sa{align-items:stretch;flex-direction:column}.ativacao-inicial-sa button{width:100%}}
@media(max-width:600px){.cabecalho-financeiro-sa{align-items:stretch;flex-direction:column}.cabecalho-financeiro-sa>button{width:100%}.cards-financeiro-sa,.toolbar-financeiro-sa,.modal-cobranca-sa form{grid-template-columns:1fr}.busca-financeiro-sa{grid-column:auto}.toolbar-financeiro-sa button{width:100%}.modal-cobranca-sa form>div{grid-column:1;flex-direction:column-reverse}.modal-cobranca-sa form>div button{width:100%}.acoes-financeiro-sa{flex-wrap:wrap}}

/* Painel de faturas da empresa */
.selo-faturas{ display:inline-block; margin-bottom:6px; color:#6d28d9; font:850 10px "JetBrains Mono",monospace; letter-spacing:1.2px; }.resumo-faturas{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:16px; }.resumo-faturas article{ position:relative; overflow:hidden; padding:17px; border:1px solid var(--linha); border-radius:14px; background:var(--cartao); box-shadow:0 5px 18px rgba(15,23,42,.045); }.resumo-faturas article:before{ content:""; position:absolute; inset:0 auto 0 0; width:5px; background:#6d28d9; }.resumo-faturas article:nth-child(2):before{background:#eab308}.resumo-faturas article:nth-child(4):before{background:#16a34a}.resumo-faturas .resumo-fatura-atrasada:before{background:#dc2626}.resumo-faturas span,.resumo-faturas strong,.resumo-faturas small{display:block}.resumo-faturas span{color:var(--tinta-suave);font-size:10px;font-weight:850;letter-spacing:.5px;text-transform:uppercase}.resumo-faturas strong{margin:7px 0 3px;font-size:22px}.resumo-faturas small{color:var(--tinta-suave)}
.cabecalho-assinatura-cliente{display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(190px,auto) auto;align-items:center;gap:24px;margin-bottom:16px;padding:19px 21px;border:1px solid #282d37;border-top:6px solid var(--amarelo);border-radius:16px;background:var(--tinta);color:#fff;box-shadow:0 9px 25px rgba(15,23,42,.12)}.assinatura-marca{display:flex;align-items:center;gap:13px}.assinatura-icone{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--amarelo);color:var(--tinta);font-size:24px;font-weight:950}.assinatura-marca small,.assinatura-valor small{color:var(--amarelo);font:800 9px "JetBrains Mono",monospace;letter-spacing:1px}.assinatura-marca h2{margin:3px 0 2px;color:#fff;font-size:20px}.assinatura-marca p{margin:0;color:#cbd5e1;font-size:11px}.assinatura-valor{padding-left:24px;border-left:1px solid #3f4652}.assinatura-valor strong{display:inline-block;margin:4px 5px 0 0;font-size:24px}.assinatura-valor span{color:#cbd5e1;font-size:10px}.assinatura-situacao{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.assinatura-situacao small{color:#cbd5e1}.cabecalho-assinatura-cliente>a{padding:9px 12px;border:1px solid #64748b;border-radius:9px;color:#fff;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}
.alerta-faturas-pagina[hidden]{display:none!important}.alerta-faturas-pagina{ display:flex; align-items:center; gap:13px; margin-bottom:16px; padding:15px 17px; border:1px solid #fecaca; border-left:6px solid #dc2626; border-radius:13px; background:#fff1f2; color:#991b1b; }.alerta-faturas-pagina>span{ display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#dc2626; color:#fff; font-size:20px; font-weight:950; }.alerta-faturas-pagina div{flex:1}.alerta-faturas-pagina p{margin:3px 0 0}.alerta-faturas-pagina>b{font-size:18px}
.painel-lista-faturas{padding:0;overflow:hidden}.cabecalho-lista-faturas{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 19px}.cabecalho-lista-faturas h2{margin:0 0 3px}.cabecalho-lista-faturas p{margin:0;color:var(--tinta-suave)}.cabecalho-lista-faturas button{width:auto}.atalhos-status-faturas{display:flex;gap:5px;padding:0 19px;border-bottom:1px solid var(--linha);overflow:auto}.atalhos-status-faturas button{display:flex;align-items:center;gap:7px;width:auto;padding:10px 12px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--tinta-suave);box-shadow:none;white-space:nowrap}.atalhos-status-faturas button.ativo{border-bottom-color:#6d28d9;color:#6d28d9}.atalhos-status-faturas b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:var(--papel-2);font-size:9px}.atalhos-status-faturas button.ativo b{background:#ede9fe}.toolbar-faturas{display:grid;grid-template-columns:minmax(220px,1fr) 170px 160px auto;gap:9px;padding:14px 17px;border-bottom:1px solid var(--linha);background:var(--papel-2)}.toolbar-faturas label{position:relative}.toolbar-faturas label span{position:absolute;z-index:1;left:13px;top:50%;transform:translateY(-50%);color:var(--tinta-suave);font-size:21px}.toolbar-faturas label input{width:100%;padding-left:38px}.toolbar-faturas input,.toolbar-faturas select,.toolbar-faturas button{min-height:42px}.toolbar-faturas button{width:auto}.btn-fatura-secundario{border:1px solid var(--linha)!important;background:var(--cartao)!important;color:var(--tinta)!important;box-shadow:none!important}.resultado-faturas{display:flex;align-items:center;justify-content:space-between;padding:11px 17px;background:var(--cartao);color:var(--tinta-suave);font-size:11px}.resultado-faturas strong{color:var(--tinta)}.tabela-faturas{overflow:auto}.tabela-faturas table{min-width:820px}.tabela-faturas tbody tr{transition:background .15s}.tabela-faturas tbody tr:hover{background:var(--papel-2)}.tabela-faturas td{padding-top:15px;padding-bottom:15px}.tabela-faturas td small{display:block;margin-top:3px;color:#b91c1c;font-weight:750}.linha-fatura-atrasado{background:#fffafa}.linha-fatura-pago td:first-child strong:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:7px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:10px}.linha-fatura-atrasado td:first-child strong:before{content:"!";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:7px;border-radius:50%;background:#fee2e2;color:#b91c1c;font-size:11px}
.alerta-fatura-global{position:fixed;z-index:17500;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));display:grid;grid-template-columns:42px minmax(220px,1fr) 30px;gap:12px;width:min(430px,calc(100vw - 36px));padding:15px;border:1px solid #fde68a;border-top:5px solid #eab308;border-radius:15px;background:#fff;color:#111827;box-shadow:0 18px 50px rgba(15,23,42,.25);animation:comunicado-entrada .25s ease-out}.alerta-fatura-global.atrasada{border-color:#fecaca;border-top-color:#dc2626}.alerta-fatura-global-icone{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#facc15;color:#111827;font-size:21px;font-weight:950}.alerta-fatura-global.atrasada .alerta-fatura-global-icone{background:#dc2626;color:#fff}.alerta-fatura-global small{display:block;color:#6d28d9;font:850 9px "JetBrains Mono",monospace;letter-spacing:1px}.alerta-fatura-global strong{display:block;margin:3px 0}.alerta-fatura-global p{margin:0 0 8px;color:#4b5563}.alerta-fatura-global a{color:#6d28d9;font-size:12px;font-weight:850}.alerta-fatura-global>button{width:30px;height:30px;padding:0;border:0;background:transparent;color:#64748b;box-shadow:none;font-size:21px}
@media(max-width:1100px){.cabecalho-assinatura-cliente{grid-template-columns:1fr 1fr}.assinatura-valor{border-left:0;padding-left:0}.cabecalho-assinatura-cliente>a{justify-self:end}}
@media(max-width:1000px){.resumo-faturas{grid-template-columns:1fr 1fr}.toolbar-faturas{grid-template-columns:1fr 1fr}.toolbar-faturas label{grid-column:1/-1}}
@media(max-width:600px){.cabecalho-assinatura-cliente{grid-template-columns:1fr;gap:16px}.assinatura-valor,.assinatura-situacao{padding-top:13px;border-top:1px solid #3f4652}.cabecalho-assinatura-cliente>a{justify-self:stretch;text-align:center}.resumo-faturas,.toolbar-faturas{grid-template-columns:1fr}.toolbar-faturas label{grid-column:auto}.toolbar-faturas button{width:100%}.cabecalho-lista-faturas{align-items:stretch;flex-direction:column}.cabecalho-lista-faturas button{width:100%}.atalhos-status-faturas{padding:0 12px}.alerta-faturas-pagina{align-items:flex-start;flex-wrap:wrap}.alerta-faturas-pagina>b{width:100%;padding-left:49px}.alerta-fatura-global{top:auto;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));left:10px;width:auto;grid-template-columns:36px 1fr 28px}.alerta-fatura-global-icone{width:36px;height:36px}}

/* Comunicados enviados pela Central SaaS */
.comunicados-sistema{ position:fixed; z-index:18000; inset:auto max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) auto; width:min(520px,calc(100vw - 36px)); }
.comunicado-sistema{ display:grid; grid-template-columns:44px 1fr; gap:14px; padding:18px; overflow:hidden; border:1px solid #252a34; border-top:6px solid var(--amarelo); border-radius:16px; background:var(--tinta); color:#fff; box-shadow:0 20px 55px rgba(17,24,39,.32); animation:comunicado-entrada .25s ease-out; }
.comunicado-icone{ display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--amarelo); color:var(--tinta); font:900 23px/1 Arial; }
.comunicado-urgente{ border-top-color:#ef4444; }.comunicado-urgente .comunicado-icone{ background:#ef4444; color:#fff; }.comunicado-sucesso{border-top-color:#22c55e}.comunicado-sucesso .comunicado-icone{background:#22c55e;color:#fff}
.comunicado-conteudo small{ color:var(--amarelo); font:800 10px "JetBrains Mono",monospace; letter-spacing:1.2px; }.comunicado-conteudo h2{ margin:5px 0 6px; color:#fff; font-size:20px; }.comunicado-conteudo p{ margin:0; color:#e5e7eb; line-height:1.5; white-space:pre-wrap; }
.comunicado-acoes{ display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:9px; margin-top:15px; }.comunicado-acoes button,.comunicado-acoes a{ width:auto; min-height:38px; padding:9px 14px; border-radius:9px; font-size:12px; font-weight:850; text-decoration:none; }.comunicado-acoes button{ background:var(--amarelo); color:var(--tinta); box-shadow:none; }.comunicado-acoes a{ border:1px solid #fff; color:#fff; }.comunicado-acoes span{ margin-right:auto; color:#aeb5c2; font-size:11px; }
@keyframes comunicado-entrada{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:600px){.comunicados-sistema{inset:auto 10px calc(10px + env(safe-area-inset-bottom)) 10px;width:auto}.comunicado-sistema{grid-template-columns:36px 1fr;padding:15px;gap:11px}.comunicado-icone{width:36px;height:36px;font-size:19px}.comunicado-acoes button,.comunicado-acoes a{flex:1;text-align:center}}

/* Revisao mobile 2026: toque, safe areas, teclado, tabelas e Safari */
html{ min-height:100%; background:var(--papel); }
body{ min-height:100%; overscroll-behavior-y:none; -webkit-tap-highlight-color:transparent; overflow-x:clip; }
button,a,input,select,textarea,label[for]{ touch-action:manipulation; }
input,select,textarea{ scroll-margin:110px 0 40vh; }
.sidebar nav{ overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.menu-mobile{ top:max(14px,env(safe-area-inset-top)); left:max(14px,env(safe-area-inset-left)); width:48px; height:48px; padding:0; align-items:center; justify-content:center; }
.ui-toasts{ top:max(14px,env(safe-area-inset-top)); right:max(14px,env(safe-area-inset-right)); }
.ui-dialogo-camada,.modal-permissao-notificacoes,.modal-leitor-camera{ padding-top:max(16px,env(safe-area-inset-top)); padding-right:max(16px,env(safe-area-inset-right)); padding-bottom:max(16px,env(safe-area-inset-bottom)); padding-left:max(16px,env(safe-area-inset-left)); }
.modal-leitor-camera{ position:fixed; inset:0; z-index:22000; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.88); }
.modal-leitor-conteudo{ width:min(440px,100%); max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow:auto; padding:18px; border-radius:16px; background:var(--cartao); color:var(--tinta); }
.modal-leitor-conteudo h3{ margin:0 0 12px; text-align:center; }.modal-leitor-conteudo video{ border-radius:12px; object-fit:cover; }
.leitor-camera-feedback{ min-height:20px; margin:9px 0 0; text-align:center; color:var(--tinta-suave); font-size:13px; font-weight:750; }
.leitor-camera-ajuda{ margin:5px 0 0; text-align:center; color:var(--tinta-suave); font-size:12px; line-height:1.4; }
.modal-leitor-conteudo>button{ width:100%; min-height:48px; margin-top:13px; }
.preview-impressao-etiquetas{ position:fixed; inset:0; z-index:23000; display:grid; grid-template-rows:auto 1fr; padding-top:env(safe-area-inset-top); padding-bottom:env(safe-area-inset-bottom); background:var(--cartao); }
.preview-impressao-barra{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px max(14px,env(safe-area-inset-right)) 12px max(14px,env(safe-area-inset-left)); border-bottom:1px solid var(--linha); }
.preview-impressao-barra>div{ display:flex; gap:8px; }.preview-impressao-barra button{ width:auto; min-height:44px; margin:0; }
.preview-impressao-etiquetas iframe{ width:100%; height:100%; border:0; background:white; }

@media(max-width:768px){
  body{ font-size:15px; }
  body.menu-mobile-aberto{ overflow:hidden; }
  .sidebar{ padding-left:max(14px,env(safe-area-inset-left)); }
  .sidebar a,.menu-grupo-titulo{ min-height:46px; }
  header h1{ font-size:clamp(22px,7vw,28px); }
  header p{ font-size:14px; }
  h2{ font-size:19px; } h3{ font-size:17px; }
  p,small,td,th,label{ line-height:1.45; }
  button,a.btn,.btn-editar,.btn-excluir{ min-height:44px; }
  .menu-icone{ width:34px; height:34px; min-width:34px; }
  .painel+.painel{ margin-top:14px; }
  .grafico-card canvas{ min-height:230px; max-height:300px; }
  .ui-dialogo-camada{ align-items:end; overflow:auto; }
  .ui-dialogo{ width:100%; max-height:calc(92dvh - env(safe-area-inset-top)); overflow:auto; padding:22px 16px calc(18px + env(safe-area-inset-bottom)); border-radius:20px 20px 0 0; }
  .ui-dialogo-acoes{ position:sticky; bottom:calc(-18px - env(safe-area-inset-bottom)); padding-top:12px; padding-bottom:env(safe-area-inset-bottom); background:var(--cartao); }
  .ui-dialogo-acoes button{ min-height:46px; }
  .ui-toasts{ left:max(10px,env(safe-area-inset-left)); right:max(10px,env(safe-area-inset-right)); width:auto; }
  .ui-toast{ grid-template-columns:32px minmax(0,1fr) 36px; padding:11px; }
  .ui-toast button{ width:36px!important; height:36px; }
  input[type="file"]{ padding:9px; line-height:1.35; }
  input[type="file"]::file-selector-button{ min-height:38px; margin-right:10px; padding:7px 12px; border:0; border-radius:9px; background:var(--amarelo); font-weight:800; }
  .filtros-listagem-produtos{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .filtros-listagem-produtos #buscaNome,
  .filtros-listagem-produtos .acao-filtro-destaque{
    grid-column:1/-1;
  }
  .filtros-listagem-produtos .acao-filtro-produto{
    width:100%;
    min-width:0;
    padding-left:8px;
    padding-right:8px;
  }
  .filtros-codigo-produto{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
  }
  .filtros-codigo-produto #buscaCodigoBarras{
    min-width:0;
  }
  .filtros-codigo-produto .btn-cadastro-rapido{
    grid-column:1/-1;
    width:100%;
  }
  .acoes-sessao-caixa{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .acoes-sessao-caixa button{
    width:100%;
    min-width:0;
    min-height:46px;
  }
  .cabecalho-carrinho-caixa{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
  }
  .acoes-carrinho-caixa{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
  .acoes-carrinho-caixa button{
    width:100%;
    min-width:0;
    min-height:44px;
  }
  .busca-caixa .btn-scanner-caixa{
    position:static;
    inset:auto;
  }
  .sugestao-caixa{
    min-height:48px;
    padding:12px;
    line-height:1.4;
  }
  .painel-pagamento-caixa{
    padding-bottom:8px;
  }
  .acao-finalizar-caixa{
    position:sticky;
    z-index:5;
    bottom:0;
    margin:18px -8px -8px;
    padding:10px 8px calc(10px + env(safe-area-inset-bottom));
    background:linear-gradient(to bottom,rgba(255,255,255,.76),var(--cartao) 30%);
    backdrop-filter:blur(8px);
  }
  .acao-finalizar-caixa button{
    min-height:52px;
  }
  .preview-imagem img,.produto-img{ object-fit:cover; }
  .modal-leitor-camera{ align-items:flex-end; padding-left:0; padding-right:0; padding-bottom:0; }
  .modal-leitor-conteudo{ width:100%; max-height:calc(96dvh - env(safe-area-inset-top)); padding:16px 14px calc(14px + env(safe-area-inset-bottom)); border-radius:20px 20px 0 0; }
  #leitorCameraArea{ min-height:260px; }
  #leitorCameraArea video{ max-height:52dvh; }
  .tabela tr{ contain:content; }
  .tabela td{ min-width:0; overflow-wrap:anywhere; }
  .tabela td>*{ max-width:100%; }
  .tabela td[data-label="Ações"],.tabela td[data-label="AÃ§Ãµes"]{ padding-top:12px; }
  .tabela td.td-acoes button{ flex:1 1 120px; min-height:44px; }
  .tabela tr.importacao-vazia td,.tabela .estado-vazio-sa{ display:block; width:100%; text-align:center!important; }
  .importacao-dialogo{ min-height:100dvh; max-height:none; }
  .importacao-dialogo>.ui-dialogo-acoes{ position:sticky; bottom:0; z-index:3; background:var(--cartao); }
  .importacao-dropzone{ min-height:160px; }
  .tabela-empresas-sa table{ min-width:0; }
  .pagina-super-admin td.td-acoes{ display:grid; grid-template-columns:1fr 1fr; }
  .pagina-super-admin td.td-acoes button{ width:100%!important; min-height:42px; }
  .modal-gestao-sa tbody td:nth-child(1)::before{ content:"Usuário"; }
  .modal-gestao-sa tbody td:nth-child(2)::before{ content:"Cargo"; }
  .modal-gestao-sa tbody td:nth-child(3)::before{ content:"Status"; }
  .modal-gestao-sa tbody td:nth-child(4)::before{ content:"Último login"; }
  .modal-gestao-sa tbody td:nth-child(5)::before{ content:none; }
}

@media(max-width:420px){
  .content{ padding-left:10px!important; padding-right:10px!important; }
  .card,.painel,.grafico-card{ padding:14px; }
  .ui-dialogo-acoes{ grid-template-columns:1fr; }
  .configuracao-item{ align-items:flex-start; }
  .produto-acoes-estoque{ grid-template-columns:1fr 1fr; display:grid; width:100%; }
  .produto-acoes-secundarias{ display:grid; grid-template-columns:repeat(4,44px); width:100%; }
  .acoes-carrinho-caixa{ grid-template-columns:1fr; }
  .filtros-codigo-produto{ grid-template-columns:minmax(0,1fr) 52px; }
  .filtros-codigo-produto .btn-escanear-produto{
    width:52px;
    min-width:52px;
    padding-left:0;
    padding-right:0;
    font-size:17px;
  }
  .rotulo-escanear-produto{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
}

@supports not (overflow:clip){ body{ overflow-x:hidden; } }
@supports (-webkit-touch-callout:none){
  input,select,textarea{ font-size:16px!important; }
  .modal-leitor-camera,.ui-dialogo-camada{ -webkit-transform:translateZ(0); }
}

/* Faturas 2026: hierarquia, filtros acionáveis, paginação e mobile */
.pagina-faturas .cabecalho-assinatura-cliente{ position:relative; overflow:hidden; }
.pagina-faturas .cabecalho-assinatura-cliente::after{ content:""; position:absolute; top:-70px; right:-55px; width:170px; height:170px; border:28px solid rgba(255,197,51,.06); border-radius:50%; pointer-events:none; }
.pagina-faturas .assinatura-marca,.pagina-faturas .assinatura-valor,.pagina-faturas .assinatura-situacao,.pagina-faturas .cabecalho-assinatura-cliente>a{ position:relative; z-index:1; }

.pagina-faturas .resumo-faturas{ align-items:stretch; }
.pagina-faturas .resumo-fatura-card{
  position:relative;
  display:block;
  width:100%;
  min-width:0;
  min-height:118px;
  overflow:hidden;
  padding:17px 17px 15px;
  border:1px solid var(--linha);
  border-radius:14px;
  background:var(--cartao);
  color:var(--tinta);
  box-shadow:0 5px 18px rgba(15,23,42,.045);
  text-align:left;
  text-transform:none;
  letter-spacing:0;
}
.pagina-faturas .resumo-fatura-card::before{ content:""; position:absolute; inset:0 auto 0 0; width:5px; background:#6d28d9; }
.pagina-faturas .resumo-fatura-card:nth-child(2)::before{ background:#eab308; }
.pagina-faturas .resumo-fatura-card.resumo-fatura-atrasada::before{ background:#dc2626; }
.pagina-faturas .resumo-fatura-card:nth-child(4)::before{ background:#16a34a; }
.pagina-faturas .resumo-fatura-card:hover{ background:var(--cartao); border-color:#a78bfa; box-shadow:0 8px 24px rgba(15,23,42,.09); transform:translateY(-2px); }
.pagina-faturas .resumo-fatura-card.ativo{ border-color:#7c3aed; box-shadow:0 0 0 3px rgba(124,58,237,.14); }
.pagina-faturas .resumo-fatura-topo{ display:flex; align-items:center; justify-content:space-between; gap:9px; color:var(--tinta-suave); font-size:10px; font-weight:850; letter-spacing:.5px; text-transform:uppercase; }
.pagina-faturas .resumo-fatura-topo i{ display:grid; place-items:center; width:27px; height:27px; flex:0 0 27px; border-radius:8px; background:var(--papel-2); color:var(--tinta); font-style:normal; font-size:13px; }
.pagina-faturas .resumo-fatura-card>strong{ display:block; margin:8px 0 3px; color:var(--tinta); font-size:22px; }
.pagina-faturas .resumo-fatura-card>small{ display:block; color:var(--tinta-suave); font-size:11px; line-height:1.35; }

.pagina-faturas .alerta-faturas-pagina{ display:grid; grid-template-columns:36px minmax(0,1fr) auto auto; }
.pagina-faturas .alerta-faturas-pagina[hidden]{ display:none; }
.pagina-faturas .alerta-faturas-pagina>button{ width:auto; min-height:40px; padding:9px 14px; border:1px solid currentColor; background:transparent; color:inherit; box-shadow:none; font-size:11px; }
.pagina-faturas .alerta-faturas-pagina>button:hover{ background:rgba(220,38,38,.08); transform:none; }

.pagina-faturas .atualizacao-faturas{ display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.pagina-faturas .atualizacao-faturas small{ color:var(--tinta-suave); font-size:10px; white-space:nowrap; }
.pagina-faturas .cabecalho-lista-faturas button{ min-width:116px; min-height:42px; box-shadow:none; }
.pagina-faturas .atalhos-status-faturas{ scrollbar-width:none; }
.pagina-faturas .atalhos-status-faturas::-webkit-scrollbar{ display:none; }
.pagina-faturas .atalhos-status-faturas button{ min-height:46px; }

.pagina-faturas .toolbar-faturas{ grid-template-columns:minmax(260px,1fr) minmax(180px,.55fr) minmax(220px,.7fr) minmax(200px,.65fr) auto; align-items:end; }
.pagina-faturas .campo-filtro-fatura{ display:grid; min-width:0; gap:6px; margin:0; }
.pagina-faturas .toolbar-faturas .campo-filtro-fatura>span{ position:static; transform:none; color:var(--tinta-suave); font-size:9px; font-weight:850; letter-spacing:.55px; text-transform:uppercase; }
.pagina-faturas .campo-filtro-fatura>input,.pagina-faturas .campo-filtro-fatura>select,.pagina-faturas .busca-fatura>div input{ width:100%; min-width:0; max-width:100%; min-height:46px; padding:10px 12px; }
.pagina-faturas input[type="month"]{ width:100%; min-width:0; max-width:100%; padding-right:8px; padding-left:8px; }
.pagina-faturas .busca-fatura{ min-width:0; }
.pagina-faturas .busca-fatura>div{ position:relative; min-width:0; }
.pagina-faturas .busca-fatura i{ position:absolute; z-index:1; left:13px; top:50%; transform:translateY(-50%); color:var(--tinta-suave); font-style:normal; font-size:20px; }
.pagina-faturas .busca-fatura>div input{ width:100%; padding-left:38px; }
.pagina-faturas .toolbar-faturas .btn-fatura-secundario{ min-height:46px; }
.pagina-faturas .toolbar-faturas .btn-fatura-secundario:disabled{ opacity:.48; }

.pagina-faturas .resultado-faturas{ min-height:44px; font-size:12px; }
.pagina-faturas .resultado-faturas>span:last-child{ display:flex; align-items:center; gap:7px; }
.pagina-faturas .resultado-faturas strong{ font-size:14px; }
.pagina-faturas .tabela-faturas td{ vertical-align:middle; }
.pagina-faturas .fatura-referencia{ overflow-wrap:anywhere; }
.pagina-faturas .fatura-valor{ font-family:"JetBrains Mono",monospace; white-space:nowrap; }
.pagina-faturas .fatura-prazo{ display:block; margin-top:4px; color:var(--tinta-suave); font-size:10px; font-weight:750; }
.pagina-faturas .fatura-prazo-atrasado{ color:#b91c1c; }
.pagina-faturas .fatura-prazo-pendente{ color:#9a6500; }

.pagina-faturas .paginacao-faturas-lista{ display:grid; grid-template-columns:auto minmax(120px,1fr) auto; align-items:center; gap:10px; padding:16px 17px calc(17px + env(safe-area-inset-bottom)); border-top:1px solid var(--linha); }
.pagina-faturas .paginacao-faturas-lista[hidden]{ display:none; }
.pagina-faturas .paginacao-faturas-lista button{ width:auto; min-width:112px; min-height:42px; padding:8px 13px; }
.pagina-faturas .paginacao-faturas-lista span{ color:var(--tinta-suave); font:700 11px "JetBrains Mono",monospace; text-align:center; }

html[data-tema="escuro"] .pagina-faturas .resumo-fatura-card{ background:var(--cartao); color:var(--tinta); }
html[data-tema="escuro"] .pagina-faturas .resumo-fatura-card:hover{ border-color:#7c5db6; }
html[data-tema="escuro"] .pagina-faturas .resumo-fatura-card.ativo{ border-color:#a78bfa; box-shadow:0 0 0 3px rgba(167,139,250,.18); }
html[data-tema="escuro"] .pagina-faturas .atalhos-status-faturas button.ativo{ color:#c4b5fd; border-bottom-color:#a78bfa; }
html[data-tema="escuro"] .pagina-faturas .atalhos-status-faturas button.ativo b{ background:#302555; color:#ddd6fe; }
html[data-tema="escuro"] .pagina-faturas .fatura-prazo-atrasado{ color:#fda4af; }
html[data-tema="escuro"] .pagina-faturas .fatura-prazo-pendente{ color:#fcd34d; }

@media(max-width:1200px){
  .pagina-faturas .toolbar-faturas{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pagina-faturas .busca-fatura{ grid-column:1/-1; }
  .pagina-faturas .toolbar-faturas .btn-fatura-secundario{ width:100%; }
}

@media(max-width:700px){
  .pagina-faturas .resumo-faturas{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .pagina-faturas .resumo-fatura-card{ min-height:116px; padding:14px 13px 13px; }
  .pagina-faturas .resumo-fatura-card>strong{ font-size:18px; }
  .pagina-faturas .resumo-fatura-topo{ align-items:flex-start; line-height:1.25; }
  .pagina-faturas .alerta-faturas-pagina{ grid-template-columns:36px minmax(0,1fr); align-items:start; }
  .pagina-faturas .alerta-faturas-pagina>b{ width:auto; padding:0 0 0 49px; }
  .pagina-faturas .alerta-faturas-pagina>button{ grid-column:1/-1; width:100%; }
  .pagina-faturas .cabecalho-lista-faturas{ gap:14px; }
  .pagina-faturas .atualizacao-faturas{ display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .pagina-faturas .atualizacao-faturas small{ white-space:normal; }
  .pagina-faturas .toolbar-faturas{ grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px; }
  .pagina-faturas .busca-fatura,.pagina-faturas .toolbar-faturas .btn-fatura-secundario{ grid-column:1/-1; }
  .pagina-faturas .tabela-faturas{ overflow:visible; }
  .pagina-faturas .tabela-faturas table{ min-width:0; }
  .pagina-faturas .tabela-faturas tr{ padding:10px 14px; box-shadow:0 5px 15px rgba(15,23,42,.05); }
  .pagina-faturas .tabela-faturas td{ align-items:flex-start; padding:10px 0; }
  .pagina-faturas .tabela-faturas td::before{ flex:0 0 86px; }
  .pagina-faturas .resultado-faturas{ align-items:flex-start; gap:5px; flex-direction:column; }
  .pagina-faturas .paginacao-faturas-lista{ grid-template-columns:1fr 1fr; }
  .pagina-faturas .paginacao-faturas-lista span{ grid-column:1/-1; grid-row:1; }
  .pagina-faturas .paginacao-faturas-lista button{ grid-row:2; width:100%; min-width:0; }
}

@media(max-width:380px){
  .pagina-faturas .toolbar-faturas{ grid-template-columns:1fr; }
  .pagina-faturas .busca-fatura,.pagina-faturas .toolbar-faturas .btn-fatura-secundario{ grid-column:auto; }
  .pagina-faturas .resumo-fatura-topo i{ display:none; }
}

/* Entrada animada do aplicativo, exclusiva para celular */
@media(max-width:768px){
  html.entrada-mobile-preparando,html.entrada-mobile-preparando body{ background:#0e1219!important; }
  html.entrada-mobile-preparando body>*{ visibility:hidden!important; }
  html.entrada-mobile-preparando body>.entrada-mobile-proestoque{ visibility:visible!important; }
  body.entrada-mobile-ativa{ overflow:hidden!important; }
  .entrada-mobile-proestoque{
    position:fixed;
    z-index:32000;
    inset:0;
    display:grid;
    min-height:100dvh;
    place-items:center;
    overflow:hidden;
    padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));
    background:
      radial-gradient(circle at 50% 42%,rgba(255,197,51,.16),transparent 34%),
      linear-gradient(145deg,#171c25 0%,#0e1219 72%);
    opacity:0;
    isolation:isolate;
  }
  .entrada-mobile-proestoque::before{
    content:"";
    position:absolute;
    z-index:-1;
    inset:-20%;
    background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
    background-size:38px 38px;
    transform:perspective(480px) rotateX(62deg) translateY(31%);
    -webkit-mask-image:linear-gradient(to bottom,transparent 8%,#000 65%);
    mask-image:linear-gradient(to bottom,transparent 8%,#000 65%);
  }
  .entrada-mobile-proestoque.entrada-mobile-visivel{ animation:entrada-mobile-fundo .28s ease-out both; }
  .entrada-mobile-marca{ display:grid; justify-items:center; width:min(280px,82vw); text-align:center; }
  .entrada-mobile-logo{ position:relative; display:grid; width:132px; height:132px; place-items:center; }
  .entrada-mobile-logo::before,.entrada-mobile-logo::after{
    content:"";
    position:absolute;
    inset:4px;
    border:1px solid rgba(255,197,51,.22);
    border-radius:36px;
    transform:rotate(45deg) scale(.72);
  }
  .entrada-mobile-logo::after{ inset:-9px; border-color:rgba(255,197,51,.08); animation:entrada-mobile-onda 2.25s ease-out .18s both; }
  .entrada-mobile-logo>span{ position:absolute; width:78px; height:78px; border-radius:50%; background:rgba(255,197,51,.24); filter:blur(24px); }
  .entrada-mobile-logo img{ position:relative; z-index:1; width:104px; height:104px; object-fit:contain; filter:drop-shadow(0 16px 24px rgba(0,0,0,.28)); animation:entrada-mobile-cubo 1s cubic-bezier(.2,.85,.24,1.15) .1s both; }
  .entrada-mobile-marca strong{ margin-top:18px; color:#fff; font:400 clamp(30px,10vw,40px) "Anton","Barlow",sans-serif; letter-spacing:1.8px; animation:entrada-mobile-texto .7s ease-out .55s both; }
  .entrada-mobile-marca small{ margin-top:7px; color:#ffc533; font:800 9px "JetBrains Mono",monospace; letter-spacing:1.7px; animation:entrada-mobile-texto .7s ease-out .72s both; }
  .entrada-mobile-progresso{ position:relative; width:116px; height:3px; margin-top:28px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.1); animation:entrada-mobile-texto .55s ease-out .78s both; }
  .entrada-mobile-progresso i{ position:absolute; inset:0 auto 0 0; width:100%; border-radius:inherit; background:#ffc533; transform-origin:left; animation:entrada-mobile-carregando 1.7s cubic-bezier(.3,.8,.25,1) .72s both; }
  .entrada-mobile-proestoque.entrada-mobile-saindo{ animation:entrada-mobile-saida .52s cubic-bezier(.4,0,.8,.2) both; }
}

@keyframes entrada-mobile-fundo{ from{opacity:0} to{opacity:1} }
@keyframes entrada-mobile-cubo{ from{opacity:0;transform:translateY(22px) scale(.68) rotate(-8deg)} to{opacity:1;transform:none} }
@keyframes entrada-mobile-texto{ from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
@keyframes entrada-mobile-onda{ from{opacity:.8;transform:rotate(45deg) scale(.52)} to{opacity:0;transform:rotate(45deg) scale(1.08)} }
@keyframes entrada-mobile-carregando{ from{transform:scaleX(0)} to{transform:scaleX(1)} }
@keyframes entrada-mobile-saida{ from{opacity:1;transform:scale(1)} to{opacity:0;transform:scale(1.035);visibility:hidden} }

@media(prefers-reduced-motion:reduce){
  .entrada-mobile-proestoque{ display:none!important; }
}

/* Lista de produtos: todas as colunas visíveis, sem rolagem horizontal. */
.tabela-produtos{ overflow-x:hidden; }
.tabela-produtos table{ width:100%; min-width:0; table-layout:fixed; }
.tabela-produtos th,.tabela-produtos td{ padding-right:10px; padding-left:10px; }
.tabela-produtos th:nth-child(1){ width:4%; }
.tabela-produtos th:nth-child(2){ width:8%; }
.tabela-produtos th:nth-child(3){ width:14%; }
.tabela-produtos th:nth-child(4){ width:11%; }
.tabela-produtos th:nth-child(5){ width:11%; }
.tabela-produtos th:nth-child(6){ width:9%; }
.tabela-produtos th:nth-child(7){ width:9%; }
.tabela-produtos th:nth-child(8){ width:14%; }
.tabela-produtos th:nth-child(9){ width:20%; }
.tabela-produtos .th-acoes-produto,
.tabela-produtos td.td-acoes{
  position:static;
  width:auto;
  min-width:0;
  max-width:none;
  overflow:hidden;
  box-shadow:none;
}
.tabela-produtos .produto-acoes,
.tabela-produtos .produto-acoes-estoque,
.tabela-produtos .produto-acoes-secundarias{ width:100%; min-width:0; max-width:100%; }
.tabela-produtos .produto-acoes-estoque .produto-acao{ flex:1 1 0; min-width:0; max-width:100%; overflow:hidden; }
.tabela-produtos .produto-acoes-estoque .produto-acao span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tabela-produtos .produto-acoes-secundarias{ display:grid; grid-template-columns:repeat(4,42px); justify-content:start; }
.tabela-produtos .td-estado-produto .chip{
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  text-align:center;
}

@media(min-width:701px) and (max-width:1600px){
  .tabela-produtos th,.tabela-produtos td{ padding-right:6px; padding-left:6px; font-size:12px; }
  .tabela-produtos .produto-acoes-estoque{ display:grid; grid-template-columns:1fr 1fr; }
  .tabela-produtos .produto-acoes-estoque .produto-acao{ width:100%!important; padding:0; }
  .tabela-produtos .produto-acoes-estoque .produto-acao span{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .tabela-produtos .produto-acoes-secundarias{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
  .tabela-produtos .produto-acao-icone-btn{ width:100%!important; height:34px; }
}

@media(max-width:700px){
  .tabela-produtos table{ min-width:0; }
  .tabela-produtos .th-estado-produto,
  .tabela-produtos .td-estado-produto,
  .tabela-produtos .th-acoes-produto,
  .tabela-produtos td.td-acoes{
    width:100%;
    min-width:0;
    max-width:none;
    padding-right:0;
  }
  .tabela-produtos .td-estado-produto .chip{ white-space:nowrap; }
}

/* Celular como leitor remoto do caixa */
.btn-leitor-remoto-caixa{ border:1px solid #99ddd0; background:#e9faf6; color:#087462; box-shadow:none; }
.btn-leitor-remoto-caixa:hover{ border-color:#43bca5; background:#d8f5ee; transform:none; box-shadow:none; }
html[data-tema="escuro"] .btn-leitor-remoto-caixa{ border-color:#286b5f; background:#112d29; color:#6ee7d1; }
.btn-leitor-remoto-caixa.conectado{ border-color:#57c58b; background:#dcfce7; color:#166534; }
.btn-leitor-remoto-caixa.conectado:hover{ border-color:#22a864; background:#c7f7d7; }
.cabecalho-entrada-produto-caixa .btn-leitor-remoto-caixa.conectado>span:first-child{ color:#22a864; transform:none; animation:pulso-leitor 1.5s ease-in-out infinite; }
html[data-tema="escuro"] .btn-leitor-remoto-caixa.conectado{ border-color:#297a50; background:#123322; color:#86efac; }
html[data-tema="escuro"] .btn-leitor-remoto-caixa.conectado:hover{ border-color:#3c9a68; background:#19442e; }
.leitor-remoto-dialogo{ width:min(640px,calc(100% - 32px)); max-width:640px; max-height:calc(100dvh - 32px); overflow:auto; padding:0; }
.leitor-remoto-dialogo>header{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:16px 18px; border-bottom:3px solid var(--amarelo); background:#12161f; color:#fff; }
.leitor-remoto-dialogo>header small{ color:var(--amarelo); font:800 9px "JetBrains Mono",monospace; letter-spacing:1px; }
.leitor-remoto-dialogo>header h2{ margin:3px 0; color:#fff; font-size:20px; }
.leitor-remoto-dialogo>header p{ margin:0; color:#c7ced8; font-size:11px; }
.fechar-leitor-remoto{ width:38px!important; min-width:38px; height:38px; padding:0; border:1px solid #3b4350; border-radius:50%; background:#242a34; color:#fff; box-shadow:none; font-size:22px; }
.leitor-remoto-conteudo{ display:grid; grid-template-columns:206px minmax(0,1fr); gap:16px; padding:18px; }
.qr-leitor-remoto{ display:grid; min-height:206px; place-items:center; padding:8px; border:1px solid var(--linha); border-radius:14px; background:#fff; }
.qr-leitor-remoto canvas{ display:block; width:190px; max-width:100%; height:auto; }
.qr-leitor-remoto p{ margin:0; color:#991b1b; text-align:center; }
.leitor-remoto-instrucoes{ display:flex; min-width:0; flex-direction:column; gap:9px; }
.leitor-remoto-instrucoes ol{ display:grid; gap:5px; margin:0; padding-left:18px; color:var(--tinta-suave); font-size:11px; line-height:1.35; }
.status-leitor-remoto{ display:flex; align-items:center; gap:8px; padding:9px 10px; border:1px solid var(--linha); border-radius:9px; background:var(--papel); font-size:11px; font-weight:750; }
.status-leitor-remoto i,.indicador-leitor{ width:10px; height:10px; flex:0 0 10px; border-radius:50%; background:#eab308; box-shadow:0 0 0 4px rgba(234,179,8,.14); }
.status-leitor-remoto-conectado i,.indicador-leitor-conectado{ background:#16a34a; box-shadow:0 0 0 4px rgba(22,163,74,.16); }
.status-leitor-remoto-erro i,.indicador-leitor-erro{ background:#dc2626; box-shadow:0 0 0 4px rgba(220,38,38,.15); }
.status-leitor-remoto-conectando i,.indicador-leitor-conectando{ animation:pulso-leitor 1.1s ease-in-out infinite; }
.ultima-leitura-remota{ margin-top:auto; padding:9px 10px; border-left:3px solid var(--amarelo); border-radius:0 8px 8px 0; background:var(--papel-2); }
.ultima-leitura-remota small,.ultima-leitura-remota strong,.ultima-leitura-remota span{ display:block; }
.ultima-leitura-remota small{ color:var(--tinta-suave); font-size:9px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; }
.ultima-leitura-remota strong{ margin:2px 0 1px; font-size:13px; }
.ultima-leitura-remota span{ overflow:hidden; color:var(--tinta-suave); font:700 10px "JetBrains Mono",monospace; text-overflow:ellipsis; white-space:nowrap; }
.link-leitor-remoto{ display:grid; gap:5px; padding:0 18px 12px; }
.link-leitor-remoto span{ color:var(--tinta-suave); font-size:9px; font-weight:800; text-transform:uppercase; }
.link-leitor-remoto input{ width:100%; min-width:0; background:var(--papel); font:600 10px "JetBrains Mono",monospace; }
.leitor-remoto-dialogo>footer{ display:flex; justify-content:flex-end; gap:8px; padding:10px 18px 14px; border-top:1px solid var(--linha); }
.leitor-remoto-dialogo>footer button{ width:auto; min-height:38px; padding:8px 13px; box-shadow:none; }
.btn-encerrar-leitor-remoto{ background:var(--amarelo); color:var(--tinta); }
html[data-tema="escuro"] .leitor-remoto-dialogo{ border-color:#3b4654; background:#181c24; }
html[data-tema="escuro"] .leitor-remoto-dialogo>header{ background:#0d1118; }
html[data-tema="escuro"] .leitor-remoto-dialogo>header h2{ color:#fff; }
html[data-tema="escuro"] .leitor-remoto-dialogo>header p{ color:#cbd5e1; }
html[data-tema="escuro"] .leitor-remoto-dialogo>footer{ background:#181c24; }
html[data-tema="escuro"] .btn-encerrar-leitor-remoto{ color:#12161f; }

.pagina-leitor-remoto{ min-height:100dvh; overflow-x:hidden; background:#10151d; color:#fff; }
.leitor-remoto-mobile{ display:grid; grid-template-rows:auto 1fr auto auto; gap:16px; width:min(520px,100%); min-height:100dvh; margin:0 auto; padding:max(18px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom)); background:radial-gradient(circle at 50% 26%,rgba(255,197,51,.1),transparent 34%),#10151d; }
.leitor-remoto-mobile-topo{ display:grid; grid-template-columns:48px minmax(0,1fr) 18px; align-items:center; gap:12px; padding:0; }
.leitor-remoto-mobile-topo img{ width:48px; height:48px; border-radius:13px; }
.leitor-remoto-mobile-topo small{ color:var(--amarelo); font:800 9px "JetBrains Mono",monospace; letter-spacing:1px; }
.leitor-remoto-mobile-topo h1{ margin:2px 0 0; color:#fff; font-size:23px; }
.leitor-remoto-mobile-painel{ align-self:center; padding:26px 20px; border:1px solid #2d3542; border-top:5px solid var(--amarelo); border-radius:20px; background:#181f29; text-align:center; box-shadow:0 22px 55px rgba(0,0,0,.25); }
.icone-celular-leitor{ display:grid; width:68px; height:68px; margin:0 auto 18px; place-items:center; border-radius:20px; background:var(--amarelo); color:var(--tinta); font-size:38px; font-weight:900; transform:rotate(90deg); }
.leitor-remoto-mobile-painel>small{ color:#8e99a9; font:800 9px "JetBrains Mono",monospace; letter-spacing:.9px; }
.leitor-remoto-mobile-painel h2{ margin:7px 0 5px; color:#fff; font-size:24px; }
.leitor-remoto-mobile-painel p{ margin:0 auto; max-width:340px; color:#aeb8c7; font-size:13px; line-height:1.5; }
.leitor-remoto-mobile-painel button{ min-height:54px; margin-top:22px; background:var(--amarelo); color:var(--tinta); font-size:15px; }
.leitor-remoto-mobile-painel button:disabled{ background:#303743; color:#828c9b; box-shadow:none; }
.historico-leitor-remoto{ min-width:0; padding:15px 16px; border:1px solid #2b3441; border-radius:14px; background:#151b24; }
.historico-leitor-remoto small,.historico-leitor-remoto strong,.historico-leitor-remoto span{ display:block; }
.historico-leitor-remoto small{ color:#778395; font:800 9px "JetBrains Mono",monospace; letter-spacing:.8px; }
.historico-leitor-remoto strong{ overflow:hidden; margin:6px 0 3px; color:#fff; font:700 18px "JetBrains Mono",monospace; text-overflow:ellipsis; white-space:nowrap; }
.historico-leitor-remoto span{ color:#9da8b8; font-size:12px; }
.historico-leitor-remoto .resultado-leitor-sucesso{ color:#6ee7ad; }
.historico-leitor-remoto .resultado-leitor-erro{ color:#fda4af; }
.ajuda-leitor-remoto{ margin:0; color:#788496; font-size:11px; line-height:1.45; text-align:center; }
.sair-leitor-remoto{ color:#c5ceda; font-size:12px; font-weight:750; text-align:center; }
@keyframes pulso-leitor{ 50%{ opacity:.45; transform:scale(.82); } }

@media(max-width:700px){
  .leitor-remoto-dialogo{ width:calc(100% - 20px); max-height:96dvh; }
  .leitor-remoto-dialogo>header{ padding:14px 15px; }
  .leitor-remoto-dialogo>header h2{ font-size:18px; }
  .leitor-remoto-conteudo{ grid-template-columns:1fr; gap:12px; padding:14px 15px; }
  .qr-leitor-remoto{ width:min(206px,100%); min-height:auto; margin:auto; }
  .link-leitor-remoto{ padding-right:16px; padding-left:16px; }
  .leitor-remoto-dialogo>footer{ display:grid; grid-template-columns:1fr 1fr; padding:10px 16px calc(12px + env(safe-area-inset-bottom)); }
  .leitor-remoto-dialogo>footer button{ width:100%; }
}

@media(max-width:420px){
  .leitor-remoto-dialogo>footer{ grid-template-columns:1fr; }
}

/* Caixa: hierarquia de ações e redução de ruído visual */
.painel-sessao-caixa{ position:relative; overflow:visible; }
.cabecalho-sessao-caixa{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.resumo-sessao-caixa{ min-width:0; }
.rotulo-secao-caixa{ display:block; margin-bottom:4px; color:var(--tinta-suave); font:800 9px "JetBrains Mono",monospace; letter-spacing:1px; }
.resumo-sessao-caixa h2,.cabecalho-entrada-produto-caixa h2{ margin:0 0 10px; }
.resumo-sessao-caixa #statusCaixaSessao{ min-height:28px; }
.resumo-sessao-caixa #statusCaixaSessao .chip{ max-width:100%; font-size:11px; }
.acoes-principais-sessao-caixa{ display:flex; align-items:center; justify-content:flex-end; gap:9px; flex:0 0 auto; }
.acoes-principais-sessao-caixa>#btnAbrirCaixa,
.acoes-principais-sessao-caixa>#btnFecharCaixa{ width:auto; min-width:142px; min-height:44px; margin:0; padding:9px 15px; }
.menu-acoes-caixa{ position:relative; }
.menu-acoes-caixa>summary{ display:flex; align-items:center; justify-content:center; gap:9px; min-width:145px; min-height:44px; padding:9px 14px; border:1px solid var(--linha); border-radius:11px; background:var(--cartao); color:var(--tinta); cursor:pointer; font-size:12px; font-weight:800; list-style:none; user-select:none; }
.menu-acoes-caixa>summary::-webkit-details-marker{ display:none; }
.menu-acoes-caixa>summary span{ transition:transform .18s ease; }
.menu-acoes-caixa[open]>summary{ border-color:#b6bbc3; background:var(--papel); }
.menu-acoes-caixa[open]>summary span{ transform:rotate(180deg); }
.menu-acoes-caixa-conteudo{ position:absolute; z-index:120; top:calc(100% + 8px); right:0; display:grid; width:270px; overflow:hidden; padding:6px; border:1px solid var(--linha); border-radius:13px; background:var(--cartao); box-shadow:0 18px 45px rgba(15,23,42,.2); }
.menu-acoes-caixa-conteudo button{ display:grid; grid-template-columns:36px minmax(0,1fr); align-items:center; gap:10px; width:100%!important; min-height:54px; margin:0; padding:8px 10px; border:0; border-radius:9px; background:transparent; color:var(--tinta); box-shadow:none; text-align:left; text-transform:none; }
.menu-acoes-caixa-conteudo button:hover{ background:var(--papel); transform:none; box-shadow:none; }
.menu-acoes-caixa-conteudo button>span:first-child{ display:grid; width:34px; height:34px; place-items:center; border-radius:9px; background:var(--papel-2); color:var(--tinta); font-size:19px; }
.menu-acoes-caixa-conteudo button>span:last-child,.menu-acoes-caixa-conteudo strong,.menu-acoes-caixa-conteudo small{ display:block; min-width:0; }
.menu-acoes-caixa-conteudo strong{ font-size:12px; }
.menu-acoes-caixa-conteudo small{ margin-top:2px; color:var(--tinta-suave); font-size:10px; font-weight:600; }
.menu-acoes-caixa-conteudo .acao-menu-perigo>span:first-child{ background:#fee2e2; color:#b91c1c; }
.menu-acoes-caixa-conteudo .acao-menu-perigo strong{ color:#b91c1c; }
.cabecalho-entrada-produto-caixa{ display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:15px; }
.cabecalho-entrada-produto-caixa h2{ margin-bottom:2px; }
.cabecalho-entrada-produto-caixa p{ margin:0; color:var(--tinta-suave); font-size:12px; }
.cabecalho-entrada-produto-caixa .btn-leitor-remoto-caixa{ display:inline-flex; align-items:center; justify-content:center; gap:8px; width:auto; min-width:164px; min-height:42px; margin:0; padding:8px 13px; border-radius:11px; font-size:11px; text-transform:none; letter-spacing:0; }
.cabecalho-entrada-produto-caixa .btn-leitor-remoto-caixa>span:first-child{ font-size:19px; transform:rotate(90deg); }
html[data-tema="escuro"] .menu-acoes-caixa>summary{ border-color:#343c49; background:#171c25; color:var(--tinta); }
html[data-tema="escuro"] .menu-acoes-caixa-conteudo{ border-color:#343c49; background:var(--cartao); }
html[data-tema="escuro"] .menu-acoes-caixa-conteudo .acao-menu-perigo>span:first-child{ background:#3b191e; color:#fda4af; }
html[data-tema="escuro"] .menu-acoes-caixa-conteudo .acao-menu-perigo strong{ color:#fda4af; }

@media(max-width:768px){
  .cabecalho-sessao-caixa{ align-items:stretch; flex-direction:column; gap:16px; }
  .acoes-principais-sessao-caixa{ display:grid; grid-template-columns:minmax(0,1fr) auto; width:100%; }
  .acoes-principais-sessao-caixa>#btnAbrirCaixa,.acoes-principais-sessao-caixa>#btnFecharCaixa{ width:100%; min-width:0; }
  .menu-acoes-caixa-conteudo{ right:0; width:min(290px,calc(100vw - 44px)); }
  .cabecalho-entrada-produto-caixa{ align-items:stretch; flex-direction:column; }
  .cabecalho-entrada-produto-caixa .btn-leitor-remoto-caixa{ width:100%; min-height:46px; }
}

@media(max-width:420px){
  .acoes-principais-sessao-caixa{ grid-template-columns:1fr; }
  .menu-acoes-caixa,.menu-acoes-caixa>summary{ width:100%; }
  .menu-acoes-caixa-conteudo{ right:auto; left:0; width:100%; }
}

/* Edição de produto: ações claras e equilibradas */
.acoes-editar-produto{ display:flex; align-items:center; justify-content:center; flex-direction:row; gap:12px; margin-top:24px; padding-top:20px; border-top:1px solid var(--linha); }
.acoes-editar-produto .btn-cancelar,
.acoes-editar-produto .btn-salvar-produto{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; margin:0; border-radius:12px; font-size:12px; font-weight:800; text-decoration:none; }
.acoes-editar-produto .btn-cancelar{ width:auto; min-width:142px; padding:9px 16px; border:1px solid var(--linha); background:var(--papel-2); color:var(--tinta); box-shadow:none; }
.acoes-editar-produto .btn-cancelar:hover{ border-color:#9aa3af; background:var(--papel); color:var(--tinta); transform:translateY(-1px); }
.acoes-editar-produto .btn-cancelar:focus-visible{ outline:3px solid rgba(255,197,51,.38); outline-offset:2px; }
.acoes-editar-produto .btn-cancelar>span:first-child{ font-size:18px; line-height:1; }
.acoes-editar-produto .btn-salvar-produto{ width:auto; min-width:260px; padding:9px 22px; }
html[data-tema="escuro"] .acoes-editar-produto .btn-cancelar{ border-color:#465160; background:#202630; color:#f3f4f6; }
html[data-tema="escuro"] .acoes-editar-produto .btn-cancelar:hover{ border-color:#657184; background:#272e39; }

@media(max-width:768px){
  .acoes-editar-produto{ display:grid; grid-template-columns:1fr; gap:10px; }
  .acoes-editar-produto .btn-salvar-produto{ grid-row:1; width:100%; min-width:0; }
  .acoes-editar-produto .btn-cancelar{ grid-row:2; width:100%; min-width:0; }
}

/* Carrinho: ações frequentes visíveis e opções secundárias agrupadas */
.cabecalho-carrinho-caixa{ overflow:visible; }
.acoes-carrinho-caixa{ flex-wrap:nowrap; gap:8px; }
.acoes-carrinho-caixa>.btn-desfazer-leitura,
.acoes-carrinho-caixa>.btn-suspender-venda{ display:inline-flex; align-items:center; justify-content:center; gap:7px; width:auto; min-height:42px; margin:0; padding:8px 13px; border-radius:11px; box-shadow:none; font-size:11px; text-transform:none; letter-spacing:0; }
.acoes-carrinho-caixa>.btn-desfazer-leitura{ border:1px solid #d4ae3c; background:#fff9e6; color:#765600; }
.acoes-carrinho-caixa>.btn-desfazer-leitura:hover:not(:disabled){ border-color:#b98b0d; background:#fff2c2; transform:none; }
.acoes-carrinho-caixa>.btn-suspender-venda{ border:1px solid #29313d; background:#12161f; color:#fff; }
.acoes-carrinho-caixa>.btn-suspender-venda:hover{ border-color:#414b5a; background:#232b38; transform:none; }
.menu-acoes-carrinho{ position:relative; flex:0 0 auto; }
.menu-acoes-carrinho>summary{ display:inline-flex; align-items:center; justify-content:center; gap:7px; min-width:82px; min-height:42px; padding:8px 12px; border:1px solid var(--linha); border-radius:11px; background:var(--cartao); color:var(--tinta); cursor:pointer; font-size:11px; font-weight:800; list-style:none; user-select:none; }
.menu-acoes-carrinho>summary::-webkit-details-marker{ display:none; }
.menu-acoes-carrinho>summary>span:first-child{ font-size:13px; letter-spacing:2px; }
.menu-acoes-carrinho[open]>summary{ border-color:#9ca3af; background:var(--papel); }
.menu-acoes-carrinho>summary:focus-visible{ outline:3px solid rgba(255,197,51,.35); outline-offset:2px; }
.menu-acoes-carrinho-conteudo{ position:absolute; z-index:130; top:calc(100% + 8px); right:0; display:grid; width:270px; overflow:hidden; padding:6px; border:1px solid var(--linha); border-radius:13px; background:var(--cartao); box-shadow:0 18px 45px rgba(15,23,42,.2); }
.acoes-carrinho-caixa .menu-acoes-carrinho-conteudo button{ display:grid; grid-template-columns:36px minmax(0,1fr); align-items:center; gap:10px; width:100%; min-height:56px; margin:0; padding:8px 10px; border:0; border-radius:9px; background:transparent; color:var(--tinta); box-shadow:none; text-align:left; text-transform:none; }
.acoes-carrinho-caixa .menu-acoes-carrinho-conteudo button:hover{ background:var(--papel); transform:none; }
.menu-acoes-carrinho-conteudo button>span:first-child{ display:grid; width:34px; height:34px; place-items:center; border-radius:9px; background:var(--papel-2); color:var(--tinta); font-size:18px; }
.menu-acoes-carrinho-conteudo button>span:last-child,.menu-acoes-carrinho-conteudo strong,.menu-acoes-carrinho-conteudo small{ display:block; min-width:0; }
.menu-acoes-carrinho-conteudo strong{ font-size:12px; }
.menu-acoes-carrinho-conteudo small{ margin-top:2px; color:var(--tinta-suave); font-size:10px; font-weight:600; }
.menu-acoes-carrinho-conteudo strong b{ display:inline-flex; min-width:18px; min-height:18px; align-items:center; justify-content:center; margin-left:3px; border-radius:9px; background:var(--papel-2); color:var(--tinta-suave); font-size:9px; }
.menu-acoes-carrinho-conteudo strong b:empty{ display:none; }
.menu-acoes-carrinho-conteudo .acao-menu-perigo>span:first-child{ background:#fee2e2; color:#b91c1c; }
.menu-acoes-carrinho-conteudo .acao-menu-perigo strong{ color:#b91c1c; }
html[data-tema="escuro"] .acoes-carrinho-caixa>.btn-desfazer-leitura{ border-color:#80651f; background:#302914; color:#fde68a; }
html[data-tema="escuro"] .acoes-carrinho-caixa>.btn-suspender-venda{ border-color:#465160; background:#232b38; color:#f3f4f6; }
html[data-tema="escuro"] .menu-acoes-carrinho>summary{ border-color:#465160; background:#181c24; color:#f3f4f6; }
html[data-tema="escuro"] .menu-acoes-carrinho-conteudo{ border-color:#465160; background:#181c24; }
html[data-tema="escuro"] .menu-acoes-carrinho-conteudo .acao-menu-perigo>span:first-child{ background:#3b191e; color:#fda4af; }
html[data-tema="escuro"] .menu-acoes-carrinho-conteudo .acao-menu-perigo strong{ color:#fda4af; }

@media(max-width:768px){
  .acoes-carrinho-caixa{ display:flex; width:100%; }
  .acoes-carrinho-caixa>.btn-desfazer-leitura,.acoes-carrinho-caixa>.btn-suspender-venda{ width:auto; min-width:0; flex:1 1 0; }
  .menu-acoes-carrinho-conteudo{ width:min(270px,calc(100vw - 44px)); }
}

@media(max-width:420px){
  .menu-acoes-carrinho>summary{ width:50px; min-width:50px; padding-right:8px; padding-left:8px; }
  .menu-acoes-carrinho>summary>span:last-child{ display:none; }
}

/* Produtos: controles orientados à tarefa e mobile compacto */
.painel-listagem-produtos{ overflow:visible; }
.busca-principal-produtos,.codigo-produto-controles,.arquivos-produtos{ margin-bottom:14px; padding:18px; border:1px solid var(--linha); border-radius:15px; background:var(--papel); }
.cabecalho-controle-produtos{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:13px; }
.cabecalho-controle-produtos h2{ margin:2px 0 0; font-size:18px; }
.cabecalho-controle-produtos>small{ max-width:260px; color:var(--tinta-suave); font-size:10px; text-align:right; }
.rotulo-controle-produtos{ color:var(--tinta-suave); font:800 8px "JetBrains Mono",monospace; letter-spacing:1px; }
.campo-busca-produtos{ position:relative; display:block; }
.campo-busca-produtos>span{ position:absolute; z-index:1; top:50%; left:14px; color:var(--tinta-suave); font-size:23px; transform:translateY(-52%); pointer-events:none; }
.campo-busca-produtos input{ width:100%; min-height:48px; padding:10px 14px 10px 43px; border:1px solid var(--linha); border-radius:11px; background:var(--cartao); color:var(--tinta); font-size:14px; outline:0; }
.campo-busca-produtos input:focus,.codigo-produto-controles input:focus,.grade-filtros-produtos select:focus{ border-color:#a87e00; box-shadow:0 0 0 3px rgba(255,197,51,.24); }
.painel-opcoes-produtos{ padding:0; }
.filtros-avancados-produtos{ margin-top:10px; border:1px solid var(--linha); border-radius:11px; background:var(--cartao); }
.painel-opcoes-produtos>summary{ display:grid; grid-template-columns:minmax(0,1fr) auto 18px; align-items:center; gap:10px; min-height:48px; padding:9px 12px; color:var(--tinta); cursor:pointer; list-style:none; user-select:none; }
.painel-opcoes-produtos>summary::-webkit-details-marker{ display:none; }
.painel-opcoes-produtos>summary>span:first-child{ display:flex; align-items:center; gap:9px; min-width:0; }
.painel-opcoes-produtos>summary b{ display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; border-radius:8px; background:var(--papel-2); font-size:15px; }
.painel-opcoes-produtos>summary strong{ overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.painel-opcoes-produtos>summary small{ color:var(--tinta-suave); font-size:9px; }
.seta-opcoes-produtos{ color:var(--tinta-suave); font-size:15px; transition:transform .18s ease; }
.painel-opcoes-produtos[open] .seta-opcoes-produtos{ transform:rotate(180deg); }
.grade-filtros-produtos{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; padding:0 12px 12px; border-top:1px solid var(--linha); }
.grade-filtros-produtos label{ display:grid; gap:5px; min-width:0; padding-top:10px; }
.grade-filtros-produtos label>span{ color:var(--tinta-suave); font-size:8px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; }
.grade-filtros-produtos select{ width:100%; min-width:0; min-height:42px; padding:8px 30px 8px 10px; border:1px solid var(--linha); border-radius:9px; background-color:var(--cartao); color:var(--tinta); font-size:11px; outline:0; }
.codigo-produto-controles .filtros-codigo-produto{ display:grid; grid-template-columns:minmax(220px,1fr) auto auto; gap:9px; padding:0; margin:0; border:0; background:transparent; }
.codigo-produto-controles input{ width:100%; min-width:0; min-height:46px; padding:9px 12px; border:1px solid var(--linha); border-radius:10px; background:var(--cartao); color:var(--tinta); outline:0; }
.codigo-produto-controles button{ width:auto; min-height:46px; margin:0; padding:9px 14px; border-radius:10px; box-shadow:none; font-size:11px; text-transform:none; letter-spacing:0; }
.codigo-produto-controles .btn-escanear-produto{ display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid #e0b73d; background:#fff8dc; color:#765600; }
.codigo-produto-controles .btn-cadastro-rapido:not(:disabled){ background:#12161f; color:#fff; }
.codigo-produto-controles .btn-cadastro-rapido:disabled{ border:1px solid var(--linha); background:var(--papel-2); color:var(--tinta-suave); opacity:.72; }
.arquivos-produtos{ padding:12px; background:var(--cartao); }
.arquivos-produtos>summary{ padding:8px 0; }
.arquivos-produtos[open]>summary{ border-bottom:1px solid var(--linha); }
.acoes-arquivos-produtos{ display:flex; flex-wrap:wrap; gap:8px; padding-top:12px; }
.acoes-arquivos-produtos button{ display:inline-flex; align-items:center; justify-content:center; gap:7px; width:auto; min-height:42px; margin:0; padding:8px 13px; border:1px solid var(--linha); border-radius:10px; background:var(--papel); color:var(--tinta); box-shadow:none; font-size:10px; text-transform:none; letter-spacing:0; }
.acoes-arquivos-produtos .acao-filtro-destaque{ border-color:#e0b73d; background:#fff8dc; color:#765600; }
.painel-listagem-produtos>h2{ margin:24px 0 14px; }
html[data-tema="escuro"] .busca-principal-produtos,html[data-tema="escuro"] .codigo-produto-controles{ border-color:#3c4654; background:#10151d; }
html[data-tema="escuro"] .filtros-avancados-produtos,html[data-tema="escuro"] .arquivos-produtos{ border-color:#3c4654; background:#181c24; }
html[data-tema="escuro"] .codigo-produto-controles .btn-escanear-produto,html[data-tema="escuro"] .acoes-arquivos-produtos .acao-filtro-destaque{ border-color:#80651f; background:#302914; color:#fde68a; }
html[data-tema="escuro"] .codigo-produto-controles .btn-cadastro-rapido:not(:disabled){ border-color:#ffd66d; background:var(--amarelo); color:#12161f; }

@media(max-width:768px){
  .pagina-produtos .content>header{ margin-bottom:14px; }
  .pagina-produtos .content>header h1{ font-size:24px; }
  .pagina-produtos .content>header p{ margin-top:2px; font-size:11px; }
  .pagina-produtos .usuario{ padding:8px 11px; border-radius:12px; }
  .pagina-produtos .saudacao-texto strong{ font-size:11px; }
  .pagina-produtos .saudacao-texto small{ font-size:9px; }
  .painel-listagem-produtos{ padding:12px; }
  .busca-principal-produtos,.codigo-produto-controles,.arquivos-produtos{ padding:13px; border-radius:13px; }
  .cabecalho-controle-produtos{ display:block; margin-bottom:10px; }
  .cabecalho-controle-produtos h2{ font-size:16px; }
  .cabecalho-controle-produtos>small{ display:block; margin-top:3px; max-width:none; font-size:9px; text-align:left; }
  .campo-busca-produtos input{ min-height:46px; font-size:16px; }
  .painel-opcoes-produtos>summary{ grid-template-columns:minmax(0,1fr) auto 18px; }
  .grade-filtros-produtos{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .codigo-produto-controles .filtros-codigo-produto{ grid-template-columns:minmax(0,1fr) 52px; }
  .codigo-produto-controles .btn-escanear-produto{ width:52px; min-width:52px; padding:0; }
  .codigo-produto-controles .btn-cadastro-rapido{ grid-column:1/-1; width:100%; }
  .codigo-produto-controles .rotulo-escanear-produto{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .arquivos-produtos>summary{ padding:2px 0; }
  .acoes-arquivos-produtos{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .acoes-arquivos-produtos button{ width:100%; min-width:0; padding-right:6px; padding-left:6px; }
}

@media(max-width:420px){
  .pagina-produtos .content{ padding-right:8px!important; padding-left:8px!important; }
  .painel-listagem-produtos{ padding:9px; }
  .busca-principal-produtos,.codigo-produto-controles,.arquivos-produtos{ margin-bottom:10px; padding:11px; }
  .painel-opcoes-produtos>summary{ grid-template-columns:minmax(0,1fr) 18px; }
  .painel-opcoes-produtos>summary>small{ display:none; }
  .grade-filtros-produtos{ grid-template-columns:1fr; padding-right:10px; padding-left:10px; }
  .acoes-arquivos-produtos{ grid-template-columns:1fr 1fr; }
  .acoes-arquivos-produtos .acao-filtro-destaque{ grid-column:1/-1; }
  .painel-listagem-produtos>h2{ margin-top:20px; font-size:17px; }
}
