
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&family=Inter:wght@400;500;600;700;800&display=swap');
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --verde:#0f5132;--verde2:#1b7a47;--verde3:#e7f4ec;--verde4:#1e40af;
  --laranja:#d9480f;--laranja2:#fff1e7;
  --azul:#2563eb;--azul2:#eff6ff;
  --primaria:#2563eb;
  --cinza:#f6f7f9;--cinza2:#eceef2;--borda:#e4e7ec;
  --fundo:#f6f7f9;--fundo2:#f6f7f9;
  --texto:#0f172a;--texto2:#475569;--texto3:#94a3b8;--texto-fraco:#94a3b8;
  --branco:#fff;--perigo:#dc2626;--perigo2:#fef2f2;
  --amarelo:#f59e0b;--amarelo2:#fffbeb;--amarelo3:#f0c040;
  --roxo:#8b5cf6;--roxo2:#f5f3ff;
  --shadow:0 1px 2px rgba(15,23,42,.06);
  --shadow-md:0 6px 16px -7px rgba(15,23,42,.14),0 2px 6px -3px rgba(15,23,42,.07);
  --shadow-lg:0 24px 48px -16px rgba(15,23,42,.20),0 8px 20px -10px rgba(15,23,42,.11);
  --radius:10px;--radius-lg:14px;--radius-sm:6px;
  --ring-color:rgba(37,99,235,.15);
}
html,body{overflow-x:hidden;height:100%;width:100%;-webkit-text-size-adjust:100%}
body{font-family:'Inter',sans-serif;background:var(--cinza);color:var(--texto);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;touch-action:manipulation}
::selection{background:rgba(37,99,235,.18)}
.app{display:none;flex-direction:column;height:100vh;height:100dvh;height:var(--app-height,100dvh);overflow:hidden;position:relative;}
.app.ready{display:flex}

/* HEADER */
.header{
  background:linear-gradient(180deg,#0d4531 0%,#0b3d2a 100%);
  color:#fff;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:56px;
  flex-shrink:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 6px 20px -8px rgba(8,46,31,.6);
  z-index:100;
  gap:8px;
  position:relative;
}
.header-logo{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:15px; /* Reduzido */
  font-weight:700;
  color:#fff;
  cursor:pointer;
  flex-shrink:0;
  user-select:none;
}
.header-logo .badge-logo{
  background:rgba(255,255,255,0.14);
  color:#a7f3d0;
  font-size:8px;
  padding:2px 6px;
  border-radius:4px;
  font-weight:700;
}
.header-nav{
  display:flex;
  gap:1px;
  align-items:center;
  flex:1;
  min-width:0;
  justify-content:flex-start;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  position:relative;
}
.header-nav::-webkit-scrollbar{display:none}
.header-nav-scroll-hint{
  position:absolute; right:0; top:0; bottom:0; width:40px;
  background:linear-gradient(to right, transparent, rgba(0,30,60,0.95));
  pointer-events:none; opacity:0; transition:opacity .3s;
  z-index:2;
}
.header-nav-scroll-hint.visible{opacity:1}
.nav-arrow{
  display:none;
  position:absolute;top:50%;transform:translateY(-50%);
  width:28px;height:28px;
  background:rgba(255,255,255,0.2);border:none;box-shadow:none;
  color:#fff;font-size:12px;font-weight:700;
  border-radius:50%;cursor:pointer;z-index:3;
  transition:background .15s,opacity .15s;
  line-height:1;padding:0;
}
.nav-arrow:hover{background:rgba(255,255,255,0.35)}
.nav-arrow:disabled{opacity:.3;cursor:default}
.nav-arrow-left{left:4px}
.nav-arrow-right{right:4px}
.nav-btn{
  background:transparent;
  border:none;
  color:var(--texto2);
  padding:6px 8px;
  border-radius:8px;
  cursor:pointer;
  font-size:12px;
  font-weight:600;
  font-family:inherit;
  transition:all .2s;
  display:flex;
  align-items:center;
  gap:4px;
  white-space:nowrap;
  flex-shrink:0;
}
.nav-btn .nav-label{display:inline-block} /* Para controle fino */
.nav-btn:hover{color:var(--texto);background:var(--cinza2)}
.nav-btn.active{color:#fff;background:var(--primaria);box-shadow:none}
.header-nav .nav-btn,.header-right .nav-btn{color:rgba(255,255,255,0.65)}
.header-nav .nav-btn:hover,.header-right .nav-btn:hover{color:#fff;background:rgba(255,255,255,0.12)}
.header-nav .nav-btn.active{color:#fff;background:rgba(255,255,255,0.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.18)}

.header-right{display:flex;align-items:center;gap:4px;flex-shrink:0}
.header-right .nav-btn{padding:4px 6px;font-size:11px;opacity:0.9}
#perfil-info{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;vertical-align:middle;display:inline-block}
.header-info{
  font-size:10px;
  color:var(--texto3);
  text-align:right;
  font-family:'IBM Plex Mono',monospace;
  line-height:1.1;
  margin-left:4px;
}
@media(max-width:900px){ .header-info{display:none} }
.save-indicator{
  font-size:10px;
  color:var(--verde);
  padding:2px 6px;
  border:1px solid #cfe4d8;
  background:var(--verde3);
  border-radius:4px;
  white-space:nowrap;
}
#save-indicator{display:none}

/* LAYOUT */
.content{flex:1;display:none;overflow:hidden}
.content.active{display:flex}

/* PDV */
.pdv-left{width:400px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--borda);background:var(--branco)}
.pdv-right{flex:1;display:flex;flex-direction:column;background:var(--cinza);overflow:hidden}

.search-bar{padding:10px;background:#f8fafc;border-bottom:1px solid var(--borda);display:flex;gap:6px}
.search-bar input{flex:1;padding:8px 12px;border:1px solid var(--borda);border-radius:var(--radius);font-size:14px;font-family:inherit;transition:all .2s;outline:none;background:#fff}
.search-bar input:focus{border-color:var(--azul);box-shadow:0 0 0 3px var(--ring-color)}
.search-bar select{padding:8px 10px;border:1px solid var(--borda);border-radius:var(--radius);font-size:13px;background:#fff;font-family:inherit;outline:none;cursor:pointer}

.produtos-grid{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px;display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:12px;align-content:start;background:var(--cinza)}
.prod-card{background:#fff;border:1px solid var(--borda);border-radius:var(--radius);padding:8px;cursor:pointer;transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);position:relative;user-select:none;display:flex;flex-direction:column;justify-content:space-between;gap:6px;box-shadow:var(--shadow);min-width:0;min-height:110px;overflow:hidden}
.prod-card:hover{border-color:var(--azul);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.prod-card:active{transform:translateY(-1px);box-shadow:var(--shadow-md)}
.prod-card.sem-estoque{opacity:.6;filter:grayscale(1);cursor:not-allowed}
.prod-card .nome{font-size:14px;font-weight:700;color:var(--texto);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:2.4em;flex-shrink:0}
.prod-card .marca{font-size:12px;color:var(--texto2);font-weight:500;margin-top:0;flex-shrink:0;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod-card .footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;gap:4px;flex-wrap:nowrap;flex-shrink:0;padding-top:6px;border-top:1px solid #f2f4f7}
.prod-card .preco{font-size:18px;font-weight:800;color:var(--verde);font-family:'IBM Plex Mono',monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:1.15;flex-shrink:0}
.prod-card .estoque-info{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:60%;min-width:0}
.prod-card .estoque{font-size:11px;color:var(--texto3);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* CARRINHO */
.carrinho{display:flex;flex-direction:column;height:100%}
.carrinho-titulo{padding:12px 16px;font-size:12px;font-weight:800;border-bottom:1px solid var(--borda);background:#f8fafc;display:flex;justify-content:space-between;align-items:center;letter-spacing:0.05em;text-transform:uppercase;color:var(--texto2);flex-shrink:0}
.carrinho-cliente{padding:12px;border-bottom:1px solid var(--borda);background:#fff;display:flex;gap:6px;flex-shrink:0}
.carrinho-cliente input{flex:1;padding:8px 12px;border:1px solid var(--borda);border-radius:var(--radius);font-size:13px;font-family:inherit;outline:none;transition:all .2s}
.carrinho-cliente input:focus{border-color:var(--azul);box-shadow:0 0 0 3px var(--ring-color)}
.carrinho-itens{flex:1;overflow-y:auto;padding:12px;min-height:0;background:#f2f4f7}
.cart-item{background:#fff;border:1px solid var(--borda);border-radius:var(--radius);padding:12px;margin-bottom:8px;display:flex;align-items:center;gap:12px;animation:slideIn .2s cubic-bezier(0, 0, 0.2, 1);box-shadow:var(--shadow)}
@keyframes slideIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
.cart-item .info{flex:1;min-width:0}
.nome-actions{display:flex;gap:4px;margin-bottom:4px;align-items:center}
.cart-item .info .nome{font-size:13px;font-weight:700;color:var(--texto);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-item .info .preco-unit{font-size:11px;color:var(--texto2);font-weight:500;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.preco-input{font-size:12px;font-weight:700;font-family:'IBM Plex Mono',monospace;border:1px solid var(--borda);background:#f8fafc;border-radius:6px;padding:2px 5px;width:78px;text-align:right;outline:none;color:var(--texto);appearance:textfield;-moz-appearance:textfield}
.preco-input::-webkit-outer-spin-button,.preco-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.preco-input:focus{background:#fff;border-color:var(--azul);box-shadow:0 0 0 3px var(--ring-color)}
.preco-input.alterado{border-color:var(--amarelo);background:#fffbeb;color:#92400e}
.preco-sufixo{font-size:11px;color:var(--texto3)}
.btn-restaurar-preco{border:1px solid var(--borda);background:#fff;border-radius:6px;cursor:pointer;font-size:12px;padding:1px 6px;color:var(--texto2);line-height:1.5;transition:all .15s}
.btn-restaurar-preco:hover{background:var(--amarelo3);border-color:var(--amarelo);color:#92400e;transform:scale(1.05)}
.cart-item .qty{display:flex;align-items:center;gap:8px;background:#f2f4f7;padding:4px;border-radius:8px;flex-shrink:0}
.qty-btn{width:28px;height:28px;border:none;border-radius:8px;cursor:pointer;background:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;font-weight:800;transition:all .15s;color:var(--texto);box-shadow:0 1px 2px rgba(0,0,0,0.1)}
.qty-btn:hover{background:var(--azul);color:#fff;transform:scale(1.1)}
.qty-num{font-size:14px;font-weight:800;min-width:24px;text-align:center;font-family:'IBM Plex Mono',monospace;border:none;background:transparent;outline:none;appearance:textfield;-moz-appearance:textfield;width:40px;padding:2px 0}
.qty-num::-webkit-outer-spin-button,.qty-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-num:focus{background:#fff;border-radius:4px;box-shadow:0 0 0 2px var(--azul)}
.cart-item .subtotal{font-size:15px;font-weight:800;color:var(--verde);min-width:80px;text-align:right;flex-shrink:0;font-family:'IBM Plex Mono',monospace}
.cart-item .remover{color:var(--texto3);cursor:pointer;font-size:18px;padding:6px;border:none;background:none;border-radius:8px;transition:all .15s;flex-shrink:0}
.cart-item .remover:hover{background:var(--perigo2);color:var(--perigo);transform:rotate(90deg)}
.empty-cart{text-align:center;color:var(--texto3);padding:60px 20px;font-size:13px;line-height:1.8}

.carrinho-footer{border-top:1px solid var(--borda);background:#fff;padding:16px;flex-shrink:0;box-shadow:0 -4px 6px -1px rgba(0,0,0,0.05)}
.totais{margin-bottom:12px}
.totais-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px;color:var(--texto2)}
.totais-row.total{font-size:20px;font-weight:800;color:var(--texto);border-top:2px solid var(--verde);margin-top:10px;padding-top:12px}
.desconto-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.desconto-row label{font-size:12px;color:var(--texto2);white-space:nowrap;font-weight:700}
.desconto-row input[type=range]{flex:1;accent-color:var(--azul);cursor:pointer}
.desconto-row input[type=number]{width:54px;padding:4px 6px;border:1px solid var(--borda);border-radius:8px;font-size:13px;font-family:inherit;text-align:center;outline:none;font-weight:700}
.btn-unlock{border:1.5px dashed var(--amarelo);background:var(--amarelo3);border-radius:8px;cursor:pointer;padding:2px 6px;font-size:13px;vertical-align:middle;transition:all .15s;line-height:1.4}
.btn-unlock:hover{background:var(--amarelo2);border-style:solid;transform:scale(1.05)}
.pagamento-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(80px, 1fr));gap:8px;margin-bottom:12px}
.pag-btn{border:1px solid var(--borda);background:var(--cinza);border-radius:var(--radius);padding:8px 4px;cursor:pointer;font-size:11px;font-weight:600;text-align:center;transition:all .12s;color:var(--texto2);user-select:none}
.pag-btn:hover{border-color:var(--azul);background:var(--azul2)}
.pag-btn.active{border-color:var(--azul);background:var(--azul2);color:var(--azul)}
.troco-row{background:var(--azul2);border:1px solid #bfdbfe;border-radius:8px;padding:6px 10px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;font-size:13px}
.troco-row label{color:var(--azul);font-weight:600}
.troco-row input{width:80px;padding:4px 6px;border:1.5px solid #bfdbfe;border-radius:8px;font-size:13px;font-family:inherit;text-align:right;outline:none;background:#fff;color:var(--azul);font-weight:700}
.troco-val{font-weight:700;color:var(--azul);font-size:14px}
.finalizar-btn{width:100%;padding:13px;background:var(--azul);color:#fff;border:none;border-radius:var(--radius);font-size:15px;font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit;letter-spacing:.3px;box-shadow:var(--shadow)}
.finalizar-btn:hover{background:#1d4ed8;box-shadow:var(--shadow-md)}
.finalizar-btn:disabled{background:var(--cinza2);color:var(--texto3);cursor:not-allowed;box-shadow:none}

/* ESTOQUE */
.estoque-layout{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:12px;gap:10px}
.estoque-header{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.estoque-header input{flex:1;min-width:200px;padding:8px 12px;border:1px solid var(--borda);border-radius:var(--radius);font-size:14px;background:var(--branco);font-family:inherit;outline:none}
.estoque-header input:focus{border-color:var(--azul)}
.estoque-header select{padding:8px 10px;border:1px solid var(--borda);border-radius:var(--radius);font-size:13px;background:var(--branco);font-family:inherit;outline:none;cursor:pointer}
.btn{padding:9px 16px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px;box-shadow:0 1px 2px rgba(15,23,42,.06)}
.btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px -5px rgba(15,23,42,.28)}
.btn:active{transform:translateY(0);box-shadow:0 1px 2px rgba(15,23,42,.06)}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring-color)}
.btn:disabled,.btn[disabled]{opacity:.55;transform:none;box-shadow:none;cursor:not-allowed}
.btn-verde{background:var(--verde2);color:#fff;box-shadow:var(--shadow)}
.btn-verde:hover{background:var(--verde)}
.btn-laranja{background:var(--laranja);color:#fff;box-shadow:var(--shadow)}
.btn-laranja:hover{filter:brightness(1.08)}
.btn-azul{background:var(--azul);color:#fff;box-shadow:var(--shadow)}
.btn-azul:hover{background:#1d4ed8}
.btn-roxo{background:var(--roxo);color:#fff;box-shadow:var(--shadow);transition:all 0.15s ease}
.btn-roxo:hover{background:#7c3aed;box-shadow:var(--shadow-md);transform:translateY(-1px)}
.btn-roxo:active{transform:translateY(1px);box-shadow:var(--shadow)}
.btn-cinza{background:#f2f4f7;color:var(--texto2);border-color:transparent}
.btn-cinza:hover{background:#e9ecf1}
.btn-perigo{background:var(--perigo);color:#fff}
.btn-perigo:hover{background:#b91c1c;filter:none}
.btn-outline{background:var(--branco);color:var(--texto2);border:1px solid var(--borda)}
.btn-outline:hover{background:#f2f4f7;border-color:#d0d5dd;color:var(--texto)}

.estoque-table-wrap{flex:1;overflow:auto;background:var(--branco);border-radius:var(--radius-lg);border:1px solid var(--borda);box-shadow:var(--shadow);position:relative}
table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
thead th{background:#f8fafc;color:var(--texto2);padding:16px 14px;text-align:left;position:sticky;top:0;font-weight:700;font-size:12px;white-space:nowrap;z-index:10;border-bottom:2px solid var(--borda);text-transform:uppercase;letter-spacing:0.05em}
thead th.sortable{cursor:pointer;user-select:none;transition:all .15s}
thead th.sortable:hover{color:var(--azul);background:var(--azul2)}
tbody tr{transition:all .1s}
tbody tr:hover{background:#f2f4f7}
tbody td{padding:14px 12px;color:var(--texto);vertical-align:middle;border-bottom:1px solid #f2f4f7}
tbody tr:last-child td{border-bottom:none}
.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:8px;font-size:11px;font-weight:600;gap:3px}
.badge-ok{background:#dcfce7;color:#166534}
.badge-baixo{background:#fef3c7;color:#92400e}
.badge-zerado{background:#fee2e2;color:#991b1b}
.badge-cat{background:var(--verde3);color:var(--verde)}
.badge-info{background:var(--azul2);color:var(--azul)}
.td-preco{font-weight:700;color:var(--verde);font-family:'IBM Plex Mono',monospace}
.td-custo{font-size:12px;color:var(--texto2);font-family:'IBM Plex Mono',monospace}
.td-acao{display:flex;gap:4px;flex-wrap:wrap}
.td-acao button{padding:4px 9px;border-radius:8px;border:1px solid #e4e7ec;cursor:pointer;font-size:11.5px;background:#f1f4f8;font-family:inherit;font-weight:500;transition:all .1s;white-space:nowrap}
.td-acao button:hover{background:var(--azul2);border-color:#bfdbfe;color:var(--azul)}
.td-acao button.del:hover{background:var(--perigo2);border-color:var(--perigo);color:var(--perigo)}

.card{background:var(--branco);border:1px solid var(--borda);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px}

/* DASHBOARD */
.dash-layout{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}
.dash-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.dash-card{background:var(--branco);border:1px solid var(--borda);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);position:relative;display:flex;flex-direction:column;gap:8px;transition:all .2s}
.dash-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.dash-card.verde{border-left:4px solid var(--verde)}
.dash-card.laranja{border-left:4px solid var(--laranja)}
.dash-card.info{border-left:4px solid var(--azul)}
.dash-card.perigo{border-left:4px solid var(--perigo)}
.dash-card.roxo{border-left:4px solid var(--roxo)}
.dash-card .label{font-size:12px;color:var(--texto2);font-weight:700;text-transform:uppercase;letter-spacing:0.05em}
.dash-card .valor{font-size:28px;font-weight:800;font-family:'IBM Plex Mono',monospace;line-height:1}
.dash-card .sub{font-size:12px;color:var(--texto3);font-weight:500;margin-top:2px}
.dash-card::before{display:none}
.dash-card.verde .valor{color:var(--verde)}
.dash-card.laranja .valor{color:var(--laranja)}
.dash-card.info .valor{color:var(--azul)}
.dash-card.perigo .valor{color:var(--perigo)}
.dash-card.roxo .valor{color:var(--roxo)}

.dash-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dash-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.dash-box{background:var(--branco);border:1px solid var(--borda);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow)}
.dash-box h3{font-size:11px;font-weight:700;margin-bottom:15px;color:var(--texto2);text-transform:uppercase;letter-spacing:1px}
.mini-list{list-style:none}
.mini-list li{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f2f4f7;font-size:13px}
.mini-list li:last-child{border:none}
.mini-list li span:first-child{color:var(--texto);font-weight:600}
.mini-list li span:last-child{font-family:'IBM Plex Mono',monospace;font-weight:700}
.mini-bar-wrap{margin-bottom:8px}
.mini-bar-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:3px;color:var(--texto2)}
.mini-bar{height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}
.mini-bar-fill{height:100%;background:var(--verde);border-radius:4px;transition:width .6s ease}

/* RELATORIOS */
.rel-layout{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:16px;gap:16px;background:var(--cinza)}
.rel-header{display:flex;flex-direction:column;gap:12px;background:var(--branco);padding:16px;border-radius:var(--radius-lg);border:1px solid var(--borda);box-shadow:var(--shadow)}
.rel-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:4px}

/* CLIENTES & VENDAS & FORNECEDORES generic layout */
.clientes-layout, .vendas-layout, .forn-layout, .estoque-layout, .credito-layout {
  flex:1;display:flex;flex-direction:column;overflow:visible;min-width:0;padding:16px;gap:16px;background:var(--cinza);
}

/* SCROLLBAR */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#d0d5dd;border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:#98a2b3}

/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:1055;align-items:center;justify-content:center;padding:16px}
.modal-overlay.show{display:flex;animation:ovIn .16s ease}
.modal-overlay.show .modal,.modal-overlay.show .reposicao-modal,.modal-overlay.show .nfe-form,.modal-overlay.show .tx-card{animation:mIn .22s cubic-bezier(.16,1,.3,1)}
@keyframes ovIn{from{opacity:0}to{opacity:1}}
@keyframes mIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.modal{background:var(--branco);border-radius:var(--radius-lg);padding:24px;width:100%;max-width:480px;max-height:92vh;overflow-y:auto;box-shadow:var(--shadow-lg)}
.modal h3{font-size:16px;font-weight:700;margin-bottom:16px;color:var(--texto);display:flex;align-items:center;gap:8px}
.form-group{margin-bottom:10px}
.form-group label{display:block;font-size:12px;color:var(--texto2);margin-bottom:4px;font-weight:600}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:9px 12px;border:1px solid var(--borda);border-radius:10px;font-size:13px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;background:var(--branco)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--azul);box-shadow:0 0 0 3px var(--ring-color)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.form-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.modal-btns{display:flex;gap:8px;margin-top:16px;justify-content:flex-end}
.btn-sm{padding:6px 13px;border-radius:9px;border:1px solid transparent;cursor:pointer;font-size:12.5px;font-weight:600;font-family:inherit;transition:all .15s}
input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--ring-color)}
a:focus-visible,button:focus-visible{outline:2px solid var(--azul);outline-offset:2px}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring-color)}
.header .nav-btn:focus-visible,.header-drawer .nav-btn:focus-visible{outline-color:#93c5fd}

/* TOAST */
.toast{position:fixed;bottom:20px;right:20px;background:#101828;color:#fff;padding:12px 16px;border-radius:12px;font-size:13.5px;z-index:10001;transform:translateY(20px);opacity:0;transition:all .25s;max-width:280px;box-shadow:0 16px 40px -12px rgba(15,23,42,.45);border:1px solid rgba(255,255,255,.1);font-weight:600;pointer-events:none}
.toast.show{transform:none;opacity:1;pointer-events:auto;transition:all .3s cubic-bezier(.16,1,.3,1)}
.toast.verde{background:var(--verde)}
.toast.laranja{background:var(--laranja)}
.toast.perigo{background:var(--perigo)}
.toast.info{background:var(--azul)}

/* VENDA OK */
.venda-ok{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1055;align-items:flex-start;justify-content:center;overflow-y:auto;padding:20px 10px;scroll-behavior:smooth}
.venda-ok.show{display:flex;animation:ovIn .18s ease}
.venda-ok.show .venda-ok-box{animation:mIn .24s cubic-bezier(.16,1,.3,1)}
.venda-ok-box{background:var(--branco);border-radius:var(--radius-lg);padding:24px;width:100%;max-width:580px;box-shadow:var(--shadow-lg);position:relative;display:flex;flex-direction:column;align-items:center}
.venda-ok-box .cpv{width:100%;max-width:100%;overflow-x:auto}
.venda-ok-box .cpv-nome-fantasia{font-size:14px;font-weight:700;text-align:center;margin-bottom:2px;text-transform:uppercase}
.venda-ok-box .cpv-razao{font-size:10px;text-align:center;margin-bottom:2px}

/* VENDAS ESPECÃFICO */
.vendas-header{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.venda-detalhe{background:var(--branco);border:1px solid var(--borda);border-radius:var(--radius);padding:10px;margin-top:4px;font-size:12px;display:none}
.venda-detalhe.open{display:block}
.venda-row{cursor:pointer}
.venda-row:hover td{background:#f2f4f7}

/* ===== LOGIN ===== */
.login-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 55%,#2563eb 100%);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.login-overlay.hide{display:none}
.login-box{background:#fff;border-radius:var(--radius-lg);padding:40px;width:100%;max-width:400px;box-shadow:0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04);position:relative;z-index:2}
.login-logo{text-align:center;margin-bottom:32px}
.login-logo .icon{font-size:48px;display:block;margin-bottom:12px;filter:drop-shadow(0 4px 6px rgba(0,0,0,0.1))}
.login-logo h1{font-size:24px;font-weight:700;color:var(--texto);line-height:1.2;letter-spacing:-0.5px}
.login-logo p{font-size:14px;color:var(--texto2);margin-top:4px}
.login-field{margin-bottom:20px}
.login-field label{display:block;font-size:12px;font-weight:700;color:var(--texto2);margin-bottom:8px;text-transform:uppercase;letter-spacing:0.05em}
.login-field input{width:100%;padding:12px 16px;border:1px solid var(--borda);border-radius:var(--radius);font-size:15px;font-family:inherit;outline:none;transition:all .2s;background:#f9fafb}
.login-field input:focus{border-color:var(--azul);background:#fff;box-shadow:0 0 0 4px var(--ring-color)}
.login-field .input-wrap{position:relative}
.login-field .toggle-pw{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--texto3);font-size:18px;padding:4px;transition:color .2s}
.login-field .toggle-pw:hover{color:var(--texto2)}
.login-btn{width:100%;padding:14px;background:var(--azul);color:#fff;border:none;border-radius:var(--radius);font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;margin-top:10px;transition:all .2s;letter-spacing:0.025em;box-shadow:0 4px 12px -4px rgba(37,99,235,.45)}
.login-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 12px 20px -8px rgba(37,99,235,.45)}
.login-btn:active{transform:translateY(0)}
.login-error{background:#fee2e2;border:1px solid #fecaca;color:#b91c1c;border-radius:8px;padding:12px 16px;font-size:14px;margin-bottom:20px;display:none;font-weight:600;text-align:center;animation:shake 0.4s cubic-bezier(.36,.07,.19,.97) both}
@keyframes shake { 10%, 90% { transform: translate3d(-1px, 0, 0); } 20%, 80% { transform: translate3d(2px, 0, 0); } 30%, 50%, 70% { transform: translate3d(-4px, 0, 0); } 40%, 60% { transform: translate3d(4px, 0, 0); } }
.login-error.show{display:block}
.login-footer{text-align:center;margin-top:24px;font-size:12px;color:var(--texto3);border-top:1px solid #f2f4f7;padding-top:20px}
.login-bloqueio{background:#fffbeb;border:1px solid #fef3c7;color:#92400e;border-radius:8px;padding:12px 16px;font-size:13px;margin-bottom:20px;display:none;font-weight:600;text-align:center}
.login-bloqueio.show{display:block}
/* Badge de perfil no header */
.perfil-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.3px}
.perfil-badge.admin{background:#f5f3ff;color:#6d28d9}
.perfil-badge.estoque{background:var(--azul2);color:#1d4ed8}
.perfil-badge.caixa{background:var(--verde3);color:var(--verde)}
.perfil-badge.vendedor{background:#fff7ed;color:#c2410c}
/* Esconder elementos por permissÃ£o */
.somente-admin{display:none!important}
.somente-estoque-admin{display:none!important}
/* Painel de usuÃ¡rios (admin) */
.user-table td,.user-table th{padding:8px 8px;text-align:left;border-bottom:1px solid #f2f4f7;font-size:13px}
.user-table th{background:#f9fafb;color:var(--texto2);border-bottom:1px solid var(--borda);font-size:12px}
.role-badge{display:inline-block;padding:2px 9px;border-radius:12px;font-size:11px;font-weight:600}
.role-badge.admin{background:#f5f3ff;color:#7c3aed}
.role-badge.estoque{background:var(--azul2);color:var(--azul)}
.role-badge.caixa{background:var(--verde3);color:var(--verde)}


/* ===== MULTI-ABA PDV ===== */
.pdv-tabs{display:flex;gap:4px;padding:6px 8px 0;background:var(--cinza);border-bottom:1px solid var(--borda);flex-shrink:0;overflow-x:auto;scrollbar-width:none}
.pdv-tabs::-webkit-scrollbar{display:none}
.pdv-tab{flex:1;min-width:80px;padding:6px 4px;font-size:11px;font-weight:700;border:1px solid var(--borda);border-bottom:none;border-radius:8px 8px 0 0;background:var(--branco);color:var(--texto2);cursor:pointer;font-family:inherit;transition:all .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdv-tab.active{background:var(--azul2);border-color:var(--azul);color:var(--azul)}
.pdv-tab.tem-itens{color:var(--laranja);border-color:var(--laranja)}
.pdv-tab.active.tem-itens{background:#fff8ed;border-color:var(--laranja);color:var(--laranja)}

.pdv-actions-bar {
  padding: 10px;
  background: var(--cinza);
  border-radius: var(--radius);
  margin-top: 10px;
  margin-bottom: 10px;
  gap: 8px;
  display: flex;
  flex-wrap: wrap;
}
.pdv-actions-bar .btn {
  flex: 1;
  justify-content: center;
  white-space: nowrap;
}
.hide-mobile {
  display: inline;
}

/* CELULAR COMPACTO */
@media(max-width: 600px) {
  .hide-mobile { display: none; }
  .pdv-actions-bar { flex-direction: column; }
}

/* ===== GESTÃƒO DE CRÃ‰DITO ===== */
.credito-layout{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:12px;gap:10px}
.credito-header{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--branco);padding:12px;border-radius:var(--radius-lg);border:1px solid var(--borda)}
.credito-resumo{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.credito-card{background:var(--branco);border:1px solid var(--borda);border-radius:var(--radius);padding:10px 14px;text-align:center}
.credito-card .val{font-size:18px;font-weight:800;font-family:'IBM Plex Mono',monospace}
.credito-card .lbl{font-size:11px;color:var(--texto2);margin-top:2px}
.credito-table-wrap{flex:1;overflow:auto;background:var(--branco);border-radius:var(--radius-lg);border:1px solid var(--borda)}
#credito-table th,#credito-table td{padding:8px 10px;font-size:12px;text-align:left;border-bottom:1px solid var(--borda)}
#credito-table th{background:var(--cinza);font-weight:700;position:sticky;top:0;z-index:1}

/* ===== TECLADO NUMÃ‰RICO TOUCH ===== */
/* ===== LISTA DE REPOSIÃ‡ÃƒO ===== */
.reposicao-modal{background:var(--branco);border-radius:var(--radius-lg);padding:20px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto}
.reposicao-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-bottom:1px solid var(--borda);font-size:13px}
.reposicao-item:last-child{border-bottom:none}
.reposicao-item .nome{font-weight:600;color:var(--texto)}
.reposicao-item .info{font-size:11px;color:var(--texto2)}
.reposicao-item .badge-critico{background:var(--perigo2);color:var(--perigo);padding:2px 7px;border-radius:10px;font-size:10px;font-weight:700}
.reposicao-item .badge-baixo{background:var(--laranja2);color:var(--laranja);padding:2px 7px;border-radius:10px;font-size:10px;font-weight:700}

/* ===== ATALHOS FLUTUANTES ===== */
.atalhos-hint{position:fixed;bottom:70px;right:12px;background:rgba(0,0,0,.8);color:#fff;border-radius:10px;padding:8px 12px;font-size:11px;z-index:500;display:none;line-height:1.8}
@media(max-width:900px){.credito-resumo{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.credito-resumo{grid-template-columns:1fr 1fr}.credito-header{gap:6px}}

/* PRINT */
@media print{
  @page{margin:0}
  body > *{display:none!important}
  .venda-ok{display:flex!important;position:static!important;background:none!important;padding:0!important;margin:0!important;align-items:flex-start!important;justify-content:flex-start!important}
  .venda-ok-box{display:block!important;box-shadow:none!important;max-width:100%!important;width:100%!important;padding:0!important;margin:0!important;border:none!important}
  .venda-ok-box .icon,
  .venda-ok-box h2,
  .venda-ok-btns,
  .venda-ok-box > div:first-child{display:none!important}
  .cupom{border:none!important;padding:0!important;max-height:none!important;overflow:visible!important;width:100%!important}
}

/* ================================================================
   RESPONSIVO COMPLETO â€” Agroferragista Do Mazim
   Breakpoints:
     â‰¤1200px  tablet paisagem / PCs menores
     â‰¤900px   tablet retrato
     â‰¤600px   celular grande / phablet
     â‰¤480px   celular mÃ©dio
     â‰¤380px   celular compacto
   ================================================================ */

/* ---------- NAVEGAÃ‡ÃƒO MOBILE ---------- */
.mobile-nav-bar{
  display:none;
  position:fixed;bottom:0;left:0;right:0;
  background:#fff;
  z-index:900;
  padding:0;
  box-shadow:0 -6px 16px -10px rgba(15,23,42,.18);
  border-top:1px solid var(--borda);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.mobile-nav-scroll{
  display:flex;
  justify-content:flex-start; /* Mudado de center para flex-start para scroll natural */
  align-items: center;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  touch-action:manipulation;
  padding:4px 8px; /* Ajustado */
  gap: 4px;
}
.mobile-nav-scroll::-webkit-scrollbar{display:none}
.mob-nav-btn{
  flex:0 0 auto;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;padding:6px 10px; /* Reduzido de 10px 16px */
  background:transparent;border:none;
  color:var(--texto3);
  font-size:9px;font-weight:700;font-family:inherit; /* Reduzido de 10px */
  cursor:pointer;transition:all .25s cubic-bezier(0.4, 0, 0.2, 1);
  white-space:nowrap;min-width:60px; /* Reduzido de 68px */
  border-radius:10px;
}
.mob-nav-btn .mob-icon{font-size:20px;line-height:1;transition:all .2s; opacity:0.8} /* Reduzido de 24px */
.mob-nav-btn.active{color:var(--azul);background:var(--azul2)}
.mob-nav-btn.active .mob-icon{transform:scale(1.1) translateY(-1px); opacity:1; filter:none}
.mob-nav-btn:active{transform:scale(0.95); opacity:0.7}

/* Hamburguer para aÃ§Ãµes do header em mobile */
.header-menu-toggle{
  display:none;
  background:transparent;border:none;
  color:#fff;font-size:22px;cursor:pointer;
  padding:6px;border-radius:6px;
  transition:background .15s;
}
.header-menu-toggle:hover{background:rgba(255,255,255,.16)}

/* Drawer de aÃ§Ãµes (backup, sair, senha etc.) */
.header-drawer{
  display:none;position:fixed;
  top:50px;right:0;width:220px;
  background:#fff;
  border-left:1px solid var(--borda);
  border-bottom:1px solid var(--borda);
  border-radius:0 0 0 12px;
  z-index:950;padding:8px 6px;
  max-height:calc(100vh - 60px);
  overflow-y:auto;
  box-shadow:0 16px 40px -16px rgba(15,23,42,.24);
  transform:translateX(100%);
  transition:transform .22s ease;
  pointer-events:none;
}
.header-drawer.open{transform:translateX(0);pointer-events:auto}
.header-drawer .nav-btn{
  width:100%;justify-content:flex-start;
  padding:9px 14px;border-radius:8px;
  font-size:13px;
}

/* Badge de cobranÃ§a na nav mobile */
.mob-cob-badge{
  display:none;position:absolute;top:4px;right:6px;
  background:var(--laranja);color:#fff;
  border-radius:10px;font-size:9px;font-weight:700;
  padding:1px 5px;line-height:1.4;
  min-width:16px;text-align:center;
}
.mob-nav-btn{position:relative}
.mob-cob-badge.show{display:block}

/* ---------- PC PEQUENO â‰¤1300px ---------- */
@media(max-width:1300px){
  .header-logo .badge-logo{display:none}
  .nav-btn{padding:6px;font-size:11px}
  .dash-cards{grid-template-columns:repeat(3,1fr)}
  .header-nav{scrollbar-width:thin; scrollbar-color:rgba(15,23,42,0.14) transparent;position:relative}
  .header-nav:hover{scrollbar-color:rgba(15,23,42,0.3) transparent}
  .header-nav::-webkit-scrollbar{display:block; height:4px}
  .header-nav::-webkit-scrollbar-thumb{background:rgba(15,23,42,0.14); border-radius:4px}
  .header-nav:hover::-webkit-scrollbar-thumb{background:rgba(15,23,42,0.3)}
  .header-nav::-webkit-scrollbar-track{background:transparent}
  .nav-arrow{display:block}
}

/* ---------- PC PEQUENO â‰¤1100px ---------- */
@media(max-width:1100px){
  .nav-label{display:none} /* Esconde texto, deixa sÃ³ Ã­cone */
  .nav-btn{font-size:18px;padding:8px}
  .header-nav{justify-content:center;gap:4px}
  .header-right .nav-btn:not(#btn-caixa-status):not(#btn-tema):not([onclick="logout()"]){display:none!important}
  .header-menu-toggle{display:flex!important}
  .header-drawer{display:block}
  .dash-cards{grid-template-columns:repeat(2,1fr)}
}

/* ---------- TABLET RETRATO â‰¤900px ---------- */
@media(max-width:900px){
  .header-nav{display:none}
  .header-right .save-indicator{display:none}
  .header-drawer{display:block}
  .mobile-nav-bar{display:block}
  .app{padding-bottom:60px}
  #perfil-info{display:none}
  #btn-caixa-status{display:none!important}
  .status-bar{overflow-x:auto;flex-wrap:nowrap;gap:12px;padding:3px 10px;font-size:11px;white-space:nowrap;scrollbar-width:none}
  .status-bar::-webkit-scrollbar{display:none}
  #status-bar-vendedor{display:flex}
  
  /* PDV Mobile: Layout mais equilibrado */
  #page-pdv.content{flex-direction:column}
  .pdv-left{width:100%;flex:1;max-height:none;border-right:none;border-bottom:1px solid var(--borda);overflow:hidden}
  .pdv-right{height:auto;max-height:60vh;flex-shrink:0;min-height:200px;border-top:2px solid var(--azul)}
  .carrinho{max-height:none}

  /* Dashboard */
  .dash-cards{grid-template-columns:repeat(2,1fr);gap:12px}
  .dash-row,.dash-row3{grid-template-columns:1fr;gap:12px}
  .dash-layout .dash-row.hero{grid-template-columns:1fr}

  /* Tabelas com scroll horizontal */
  .estoque-table-wrap{overflow-x:auto}

  /* Modal maior */
  .modal{padding:20px;max-width:96%}
  .modal-overlay{padding:10px}
  .content{overflow-x:visible}
}

/* ---------- CELULAR GRANDE â‰¤600px ---------- */
@media(max-width:600px){
  /* Reduz header */
  .header{height:50px;padding:0 12px}
  .header-logo{font-size:16px}
  .header-logo .badge-logo{display:none}
  .status-bar{overflow-x:auto;flex-wrap:nowrap;gap:10px;padding:2px 8px;font-size:11px;white-space:nowrap}

  /* PDV mobile: lista de produtos */
  #pdv-cat{display:none}
  .search-bar{padding:4px 8px;gap:4px;flex-wrap:nowrap}
  .pdv-left{flex:none;max-height:195px}
  .pdv-right{flex:1;max-height:none;min-height:0}
  .produtos-grid{grid-template-columns:repeat(2,1fr);padding:8px;gap:8px}
  #desc-buttons{display:none!important}
  #desconto-pct{width:72px!important;height:40px}
  .prod-card{min-height:110px;height:auto;padding:10px;gap:6px}
  .prod-card .nome{font-size:12px;max-height:2.4em}
  .prod-card .preco{font-size:16px}
  .prod-card .marca{font-size:11px}
  .pdv-actions-bar{display:none!important}

  /* Carrinho compacto */
  .admin-mobile .empty-cart{padding:30px 16px}
  .carrinho-titulo{padding:10px 12px;font-size:12px}
  .carrinho-cliente{padding:8px;gap:6px;flex-direction:column}
  .carrinho-cliente input{font-size:16px;padding:10px;width:100%!important}
  .cart-item{padding:8px;gap:8px}
  .qty-btn{width:36px;height:36px;font-size:20px}
  .qty-num{font-size:16px}
  .cart-item .subtotal{font-size:14px;min-width:70px}
  .cart-item .info .nome{font-size:12px}

  /* Barra de aÃ§Ãµes rÃ¡pidas PDV */

  /* Footer carrinho */
  .carrinho-footer{padding:12px}
  .totais-row.total{font-size:20px;padding-top:10px}
  .pag-btn{font-size:12px;padding:10px 4px;min-height:48px}
  .finalizar-btn{padding:16px;font-size:16px;border-radius:12px}

  /* Dashboard */
  .dash-cards{grid-template-columns:1fr;gap:12px}
  .dash-card{padding:20px}
  .dash-card .valor{font-size:24px}
  .dash-layout{padding:12px;gap:12px}

  /* Tabelas */
  .estoque-layout{padding:8px;gap:12px}
  .estoque-header{flex-direction:column;align-items:stretch;gap:10px}
  .estoque-header input{font-size:16px;padding:12px}
  /* Admin no mobile: no Estoque fica sÃ³ a busca + Novo Produto (os demais entram em estq-mob-hide) */
  html[data-perfil="admin"] .estoque-header .estq-mob-hide{display:none}
  .vendas-header{flex-direction:column;align-items:stretch;gap:10px}
  .vendas-header input{font-size:16px;padding:12px}
  .clientes-layout,.forn-layout,.vendas-layout{padding:8px;gap:12px}
  .btn{padding:12px 16px;font-size:14px;justify-content:center}

  /* RelatÃ³rios */
  .rel-layout{padding:8px;gap:12px}
  .rel-header{flex-direction:column;align-items:stretch;padding:16px;gap:12px}
  .rel-header input,.rel-header select{font-size:16px;padding:12px;width:100%!important;max-width:none!important}
  .rel-header .btn{width:100%;justify-content:center;padding:14px}

  .col-hide-mobile{display:none}

  /* Modais centralizados */
  .modal-overlay{align-items:center;padding:16px}
  .modal{border-radius:var(--radius-lg);max-height:94vh;padding:24px 16px}
  .form-row{grid-template-columns:1fr}
  .form-row3{grid-template-columns:1fr}
  .modal-btns{flex-direction:column-reverse;gap:10px}
  .modal-btns .btn-sm{width:100%;justify-content:center;padding:16px;min-height:48px}

  /* Login - centralizado */
  .login-box{padding:32px 20px}
  .login-overlay{align-items:center}

  /* Trocar Senha - centralizado (nÃ£o bottom-sheet) */
  #modal-trocar-senha.modal-overlay{align-items:center;padding:16px}
  #modal-trocar-senha .modal{border-radius:var(--radius-lg);max-height:92vh;padding:22px}

  /* Configs â€” grid 1 coluna */
  .config-grid{grid-template-columns:1fr!important;gap:16px!important}

  /* Cupom preview mobile */
  .venda-ok{padding:10px 5px;align-items:center}
  .venda-ok-box{padding:12px;max-width:100%}
  .venda-ok-btns{grid-template-columns:1fr 1fr!important}
  .venda-ok-box .cupom{padding:5px}
  .venda-ok-box .cpv{font-size:8px}
  .venda-ok-box .cpv td,.venda-ok-box .cpv th{padding:1px 2px}

  /* Notas Fiscais mobile */
  .notas-summary-cards{grid-template-columns:repeat(2,1fr);gap:8px}
  .notas-summary-card .sc-value{font-size:18px}
  .notas-emitentes-row{grid-template-columns:1fr}
  .notas-page{padding:12px 12px 60px}
  .notas-page .card{padding:16px;border-radius:12px}
  .notas-import-cards{grid-template-columns:1fr}
}

/* ---------- CELULAR MÃ‰DIO â‰¤480px ---------- */
@media(max-width:480px){
  .pdv-right{max-height:70vh}
  .produtos-grid{grid-template-columns:repeat(2,1fr);padding:6px;gap:6px}
  .prod-card .preco{font-size:15px}
  .prod-card .nome{font-size:11px}
  .prod-card .marca{font-size:10px}
  .carrinho-cliente input{font-size:16px}
}

/* ---------- CELULAR COMPACTO â‰¤380px ---------- */
@media(max-width:380px){
  .header{height:44px;padding:0 8px}
  .header-logo{font-size:13px}

  .produtos-grid{grid-template-columns:repeat(2,1fr);padding:4px;gap:4px}
  .prod-card{padding:7px}
  .prod-card .nome{font-size:10px;min-height:24px}
  .prod-card .preco{font-size:13px}
  .prod-card .marca{display:none}

  .dash-cards{grid-template-columns:1fr;gap:6px}
  .dash-card{padding:10px}
  .dash-card .valor{font-size:16px}
  .dash-card .label{font-size:10px}

  .mob-nav-btn{padding:7px 10px;min-width:54px;font-size:9px}
  .mob-nav-btn .mob-icon{font-size:18px}
  #perfil-info{max-width:60px;font-size:10px}
  .header-right .nav-btn[onclick*="logout"]{padding:3px 5px;font-size:13px}

  .carrinho-footer{padding:6px}
  .pag-btn{font-size:9px;padding:5px 2px}
  .finalizar-btn{padding:12px;font-size:14px}
}

/* ---------- TOUCH & SCANNER ---------- */
/* Ãreas de toque mÃ­nimas de 44px para acessibilidade */
@media(hover:none) and (pointer:coarse){
  .qty-btn{min-width:40px;min-height:40px}
  .td-acao button{padding:6px 10px;font-size:12px}
  .pag-btn{min-height:44px}
  .nav-btn,.mob-nav-btn{min-height:36px}
  .btn-sm{min-height:40px}
  /* Produtos: alvo maior */
  .prod-card{padding:10px}
  /* Checkbox e selects mais fÃ¡ceis de clicar */
  select{min-height:36px}
  input[type=checkbox]{width:18px;height:18px}
  /* Input sem zoom no iOS (font-size >= 16px) */
  input,select,textarea{font-size:16px!important}
  .search-bar input{font-size:16px!important}
}

/* ---------- LANDSCAPE MOBILE ---------- */
@media(max-width:768px) and (orientation:landscape){
  .pdv-left{max-height:40vh}
  .carrinho-itens{max-height:35vh}
  .mobile-nav-bar{
    width:56px;height:100vh;
    bottom:0;top:0;right:0;left:auto;
    flex-direction:column;
    border-top:none;border-left:1px solid var(--borda);
  }
  .mobile-nav-scroll{flex-direction:column;overflow-y:auto;overflow-x:hidden}
  .mob-nav-btn{width:56px;min-width:unset;padding:10px 0}
  .mob-nav-btn span:not(.mob-icon){display:none}
  .app{padding-bottom:0;padding-right:56px}
  .toast{right:68px;bottom:12px}
}

/* TABS */
.tabs{display:flex;gap:2px;border-bottom:2px solid var(--borda);margin-bottom:12px}
.tab{padding:8px 16px;border:none;background:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--texto2);border-bottom:2px solid transparent;margin-bottom:-2px;font-family:inherit;transition:all .15s}
.tab.active{color:var(--azul);border-bottom-color:var(--azul)}
.tab-content{display:none}
.tab-content.active{display:block}

/* HIGHLIGHT */
.highlight{background:var(--amarelo2);font-weight:700;padding:0 2px;border-radius:2px}

/* STATUS BAR */
.status-bar{background:#0b3d2a;color:rgba(255,255,255,.75);border-bottom:1px solid rgba(0,0,0,.25);font-size:12px;padding:3px 16px;display:flex;gap:20px;flex-shrink:0;margin-top:-1px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.status-bar::-webkit-scrollbar{display:none}
.status-item{flex-shrink:0;display:flex;align-items:center;gap:4px}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--verde2)}
.status-dot.warn{background:var(--amarelo)}
.status-dot.alert{background:var(--perigo)}
.perfil-avatar-wrap{position:relative}
.header-right .perfil-avatar{width:34px;height:34px;padding:0;border-radius:50%;justify-content:center;opacity:1;background:linear-gradient(135deg,#a855f7,#7c3aed);border:2px solid rgba(255,255,255,.4);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.35);transition:transform .15s,box-shadow .15s}
.header-right .perfil-avatar .ico{width:17px;height:17px}
.header-right .perfil-avatar:hover{background:linear-gradient(135deg,#c084fc,#8b5cf6);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.45)}
.header-right .perfil-avatar[data-perfil="estoque"]{background:linear-gradient(135deg,#3b82f6,#2563eb)}
.header-right .perfil-avatar[data-perfil="estoque"]:hover{background:linear-gradient(135deg,#60a5fa,#3b82f6)}
.header-right .perfil-avatar[data-perfil="caixa"]{background:linear-gradient(135deg,#22c55e,#15803d)}
.header-right .perfil-avatar[data-perfil="caixa"]:hover{background:linear-gradient(135deg,#4ade80,#22c55e)}
.header-right .perfil-avatar[data-perfil="vendedor"]{background:linear-gradient(135deg,#f97316,#ea580c)}
.header-right .perfil-avatar[data-perfil="vendedor"]:hover{background:linear-gradient(135deg,#fb923c,#f97316)}
.perfil-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;min-width:210px;background:var(--branco);border:1px solid var(--borda);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px}
.perfil-dropdown.show{display:block}
.perfil-dropdown-head{display:flex;flex-direction:column;gap:3px;padding:8px 10px 10px;border-bottom:1px solid var(--borda);margin-bottom:4px}
#perfil-dd-nome{font-size:11px;color:var(--texto3)}
.perfil-dropdown .nav-btn{width:100%;justify-content:flex-start;gap:8px;color:var(--texto);padding:7px 10px;font-size:12px;border-radius:8px}
.perfil-dropdown .nav-btn:hover{background:var(--cinza);color:var(--texto)}
.perfil-dropdown .nav-btn[onclick="logout()"]{color:var(--perigo)!important}
.perfil-dropdown .nav-btn[onclick="logout()"]:hover{background:rgba(248,113,113,.12)}
@keyframes status-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.status-bar.animating{overflow:hidden}
.status-bar.animating>.status-item-wrap{display:inline-flex;gap:20px;animation:status-scroll 30s linear infinite}
.status-bar.animating>.status-item-wrap:hover{animation-play-state:paused}

/* ===== SAFETY / MOBILE FIXES ===== */
/* EspaÃ§o para notch / home indicator em iPhone e ajustes de footer quando a nav mobile aparece */
.mobile-nav-bar{padding-bottom:env(safe-area-inset-bottom,0px);touch-action:manipulation}
.header{padding-top:env(safe-area-inset-top,0px)}
.app.mobile-nav-space{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px));}
.app.mobile-nav-space .carrinho-footer{margin-bottom:calc(env(safe-area-inset-bottom,0px) + 5px)}
.app.vendedor-mobile-pdv{padding-bottom:calc(env(safe-area-inset-bottom,0px))!important}
.app.vendedor-mobile-pdv #mobile-nav-bar{display:none!important}

/* Momentum scrolling on iOS for long lists */
.produtos-grid, .carrinho-itens, .cob-lista, .estoque-table-wrap, .modal{ -webkit-overflow-scrolling: touch; }

/* Vendedor mobile: footer no fim da pagina, grid com 4 produtos */
.pdv-left.vendedor-mobile{max-height:350px!important}
#page-pdv.vendedor-mobile{min-height:0!important}
#page-pdv.vendedor-mobile .pdv-right{flex:1 1 0!important;min-height:0!important;max-height:none!important;height:100%!important}
#page-pdv.vendedor-mobile .pdv-right .carrinho{flex:1 1 0!important;min-height:0!important;height:100%!important}
#page-pdv.vendedor-mobile .pdv-right .carrinho-itens{flex:1 1 0!important;max-height:none!important;min-height:0!important;padding-bottom:0!important}
#page-pdv.vendedor-mobile .carrinho-footer{flex-shrink:0!important;margin-top:auto!important;padding:6px 10px 5px!important;margin-bottom:0!important;position:static!important;border-radius:0!important;box-shadow:none!important}
#page-pdv.vendedor-mobile .pag-btn{padding:6px 2px!important;font-size:10px!important}
#page-pdv.vendedor-mobile .pagamento-grid{gap:4px!important;margin-bottom:6px!important}
#page-pdv.vendedor-mobile .totais-row.total{font-size:16px!important;padding-top:6px!important;margin-top:4px!important}
#page-pdv.vendedor-mobile .finalizar-btn{padding:12px!important;font-size:15px!important;margin:0!important}
#page-pdv.vendedor-mobile .qty-num{width:50px;min-height:36px;border:2px solid var(--azul);border-radius:6px;background:var(--azul2);color:var(--azul);font-weight:900;font-size:16px}
#page-pdv.vendedor-mobile .desconto-row{margin-bottom:4px!important;gap:4px!important}

/* Force reasonable touch font-size on iOS to avoid automatic zoom */
@supports (-webkit-overflow-scrolling: touch) {
  input, select, textarea, button { -webkit-text-size-adjust:100%; font-size:16px; }
}

@keyframes mz-bounce{
  0%,80%,100%{transform:translateY(0);opacity:.3}
  40%{transform:translateY(-8px);opacity:1}
}

/* ---- PÃGINA NOTAS FISCAIS ---- */
#page-notas{overflow-y:auto}
.notas-page{max-width:1200px;margin:0 auto;padding:20px 20px 80px}
.notas-page .card{padding:24px;box-shadow:0 4px 24px rgba(0,0,0,0.06);border:1px solid var(--borda);border-radius:var(--radius-lg)}
.notas-page h2{font-size:20px;display:flex;align-items:center;gap:10px;margin-bottom:20px;color:var(--texto);letter-spacing:-0.02em}
.notas-search{display:flex;gap:8px;margin-bottom:12px}
.notas-search input{flex:1;padding:10px 14px;border:1px solid var(--borda);border-radius:10px;font-size:13px;font-family:inherit;outline:none;background:#f8fafc;transition:all .15s}
.notas-search input:focus{background:var(--branco);border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,0.15)}

/* Abas de importaÃ§Ã£o rÃ¡pidas */
.notas-import-tabs{display:flex;gap:6px;margin-bottom:8px}
.notas-import-tabs button{padding:5px 14px;border-radius:10px;cursor:pointer;font-weight:600;font-size:11px;border:1px solid var(--borda);background:var(--branco);color:var(--texto2);font-family:inherit;transition:all .15s}
.notas-import-tabs button:hover{background:#f2f4f7;color:var(--texto);border-color:#d0d5dd}
.notas-import-tabs button.active{background:var(--azul);color:#fff;border-color:var(--azul);box-shadow:0 2px 8px rgba(37,99,235,0.25)}

/* Cards de mÃ©todo de importaÃ§Ã£o */
.notas-import-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.notas-import-card{padding:16px 12px;border-radius:12px;border:2px solid #e4e7ec;background:var(--branco);cursor:pointer;text-align:center;transition:all .2s ease;user-select:none}
.notas-import-card:hover{border-color:#93c5fd;background:var(--azul2);transform:translateY(-1px);box-shadow:0 4px 12px rgba(37,99,235,0.1)}
.notas-import-card.active{border-color:var(--azul);background:var(--azul2);box-shadow:0 2px 12px rgba(37,99,235,0.2)}
.nic-icon{font-size:28px;margin-bottom:6px}
.nic-title{font-size:13px;font-weight:700;color:var(--texto);margin-bottom:4px}
.nic-desc{font-size:11px;color:var(--texto2);line-height:1.3}
.notas-import-panels{margin-bottom:8px}

.notas-panel{padding:12px 14px;border-radius:12px;font-size:12px;margin-bottom:8px;background:#f8fafc;border:1px solid #e4e7ec}

/* Tabela de notas fiscais */
.notas-table-wrap{overflow-x:auto;border:1px solid #e4e7ec;border-radius:12px;background:var(--branco)}
.notas-table{width:100%;border-collapse:collapse;font-size:12px}
.notas-table thead th{background:#f9fafb;color:var(--texto2);border-bottom:1px solid var(--borda);padding:10px 12px;text-align:left;font-weight:600;white-space:nowrap;font-size:11px;letter-spacing:0.03em}
.notas-table tbody td{padding:10px 12px;border-bottom:1px solid #f2f4f7;vertical-align:middle}
.notas-table tbody tr:hover{background:#f8fafc}
.notas-table tbody tr:last-child td{border-bottom:none}
.notas-table .badge-origem{display:inline-block;padding:2px 10px;border-radius:10px;font-size:10px;font-weight:600}
.notas-table .btn-importar{padding:5px 12px;border-radius:8px;border:none;cursor:pointer;font-size:10px;font-weight:600;font-family:inherit;background:#1b7a47;color:#fff;transition:all .15s;white-space:nowrap}
.notas-table .btn-importar:hover{background:#12603c;box-shadow:0 2px 8px rgba(27,122,71,0.3)}
.notas-table .btn-importar:active{transform:scale(0.96)}
.notas-table .btn-excluir-nota{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;cursor:pointer;font-size:14px;padding:5px 8px;transition:all .15s;line-height:1;color:#dc2626;font-weight:600}
.notas-table .btn-excluir-nota:hover{background:#fee2e2;border-color:#fca5a5;transform:scale(1.08);box-shadow:0 2px 6px rgba(239,68,68,0.18)}
.notas-table .chave-preview{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#475569}
.notas-table .fornecedor-cell{font-weight:600;color:var(--texto)}
.notas-table .data-cell{font-size:11px;color:#475569}
.notas-pagination{display:flex;gap:6px;flex-wrap:wrap}
.notas-pagination button{padding:4px 10px;border:1px solid #e4e7ec;border-radius:8px;cursor:pointer;font-size:11px;font-family:inherit;background:var(--branco);color:var(--texto2);transition:all .1s}
.notas-pagination button:hover{background:#f2f4f7;color:var(--texto);border-color:#d0d5dd}
.notas-pagination button.active{background:var(--azul);color:#fff;border-color:var(--azul)}
.notas-footer{margin-top:10px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#475569}

/* Summary cards */
.notas-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.notas-summary-card{background:#ffffff;border:1px solid var(--borda);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:4px;transition:all .15s}
.notas-summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.notas-summary-card .sc-label{font-size:11px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:0.04em}
.notas-summary-card .sc-value{font-size:22px;font-weight:800;color:#1e293b;font-family:'IBM Plex Mono',monospace}
.notas-summary-card .sc-sub{font-size:11px;color:#94a3b8}
.notas-summary-card .sc-autorizadas{color:#1b7a47}
.notas-summary-card .sc-rejeitadas{color:#dc2626}
.notas-summary-card .sc-valor{color:#0f5132}
.notas-emitentes-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.notas-emitentes-card{background:#ffffff;border:1px solid var(--borda);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:6px}
.notas-emitentes-card .sc-label{font-size:11px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:0.04em}
.notas-emitentes-card .sc-value{font-size:15px;font-weight:700;color:#1e293b}
.notas-emitentes-card .sc-sub{font-size:11px;color:#94a3b8}
.notas-emitentes-card .sc-sub.cert-ok{color:#1b7a47}
.notas-emitentes-card .sc-sub.cert-aviso{color:#f59e0b}
.notas-emitentes-card .sc-sub.cert-erro{color:#dc2626}

/* Batch bar */
.notas-batch-bar{display:none;align-items:center;gap:8px;padding:8px 12px;background:var(--azul2);border:1px solid #bfdbfe;border-radius:10px;margin-bottom:10px;font-size:12px;color:#1e293b}
.notas-batch-bar.show{display:flex}
.notas-batch-bar .batch-count{font-weight:700;color:var(--azul)}
.notas-batch-bar button{padding:4px 12px;border-radius:8px;border:none;cursor:pointer;font-size:11px;font-weight:600;font-family:inherit;transition:all .12s}
.notas-batch-bar .btn-batch-del{background:#fef2f2;color:#dc2626}
.notas-batch-bar .btn-batch-del:hover{background:#fee2e2}
.notas-batch-bar .btn-batch-export{background:var(--azul2);color:var(--azul)}
.notas-batch-bar .btn-batch-export:hover{background:#dbeafe}

/* Tabela - novas colunas */
.notas-table .notas-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#2563eb;border-radius:4px}
.notas-table .notas-expand-btn{background:none;border:none;cursor:pointer;font-size:12px;padding:2px 4px;border-radius:4px;transition:all .12s;color:#94a3b8;line-height:1}
.notas-table .notas-expand-btn:hover{background:#f2f4f7;color:var(--azul)}
.notas-table .notas-expand-btn.open{transform:rotate(90deg);color:var(--azul)}
.notas-table .notas-expanded-row td{padding:0!important;background:#f8fafc;border-bottom:1px solid #e4e7ec}
.notas-table .notas-expanded-content{padding:12px 16px 12px 40px;font-size:12px}
.notas-table .notas-expanded-content table{width:100%;border-collapse:collapse;font-size:11px}
.notas-table .notas-expanded-content th{background:#f2f4f7;color:#475569;padding:6px 8px;text-align:left;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:0.04em}
.notas-table .notas-expanded-content td{padding:6px 8px;border-bottom:1px solid #f2f4f7!important;color:#1e293b}
.notas-table .notas-expanded-content tr:last-child td{border-bottom:none!important}
.notas-table .td-valor{font-weight:700;color:#0f5132;font-family:'IBM Plex Mono',monospace;font-size:12px}
.notas-table .td-status{font-size:10px;font-weight:600;white-space:nowrap}
.notas-table .td-status.pendente{color:#f59e0b}
.notas-table .td-status.processada{color:#0f5132}
.notas-table .btn-xml{background:none;border:none;cursor:pointer;font-size:13px;padding:3px 6px;border-radius:6px;transition:all .12s;opacity:.5;line-height:1}
.notas-table .btn-xml:hover{opacity:1;background:var(--azul2)}

/* XML viewer modal */
.notas-xml-modal .xml-content{background:#1e293b;color:#e4e7ec;border-radius:10px;padding:14px;font-family:'IBM Plex Mono',monospace;font-size:11px;line-height:1.5;overflow:auto;max-height:60vh;white-space:pre-wrap;word-break:break-all;margin:0}

/* PainÃ©is de importaÃ§Ã£o */
.nfe-panel-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nfe-panel-label{font-weight:700;color:var(--texto);font-size:12px;white-space:nowrap}
.nfe-panel-input{flex:1;min-width:160px;padding:6px 10px;border:1px solid #e4e7ec;border-radius:10px;font-size:12px;outline:none;font-family:inherit;background:var(--branco);transition:all .15s}
.nfe-panel-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,0.15)}
.nfe-panel-textarea{flex:1;min-width:200px;padding:6px 10px;border:1px solid #e4e7ec;border-radius:10px;font-size:11px;outline:none;font-family:monospace;resize:vertical;background:var(--branco);transition:all .15s}
.nfe-panel-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,0.15)}
.nfe-mono{font-family:'IBM Plex Mono',monospace;font-size:12px}
.nfe-panel-msg{margin-top:4px;font-size:11px;color:#475569}

/* ---- MODAL DE IMPORTAÃ‡ÃƒO NF-e ---- */
.modal-lg{max-width:960px;width:95vw}
.modal-fullscreen{max-width:calc(100vw - 32px);width:calc(100vw - 32px);max-height:calc(100vh - 32px);height:calc(100vh - 32px);display:flex;flex-direction:column}
.modal-fullscreen .nfe-items-container{flex:1;overflow:auto;max-height:none}
.modal-fullscreen .nfe-summary{flex-shrink:0}
.modal-fullscreen .nfe-footer{flex-shrink:0}
.modal-fullscreen .nfe-table{height:100%}
.modal-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #e4e7ec}
.modal-header h3{flex-shrink:0;margin:0!important;font-size:17px}
.modal-header .modal-info{flex:1;font-size:12px;color:#475569}
.modal-close{background:none;border:none;font-size:22px;cursor:pointer;color:#94a3b8;padding:4px 10px;border-radius:8px;transition:all .12s;line-height:1}
.modal-close:hover{background:#f2f4f7;color:#1e293b}

.nfe-summary{background:#f8fafc;border:1px solid #e4e7ec;border-radius:12px;padding:14px 18px;margin-bottom:14px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px 24px;font-size:13px}
.nfe-summary .full{grid-column:1/-1}
.nfe-summary .label{color:#475569;font-weight:600;min-width:70px;display:inline-block}
.nfe-summary .value{color:#1e293b}

.nfe-items-container{overflow:auto;max-height:480px;border:1px solid #e4e7ec;border-radius:12px;margin-bottom:14px;background:var(--branco)}
.nfe-table{width:100%;border-collapse:collapse;font-size:12px}
.nfe-table th{background:#f9fafb;color:var(--texto2);border-bottom:1px solid var(--borda);padding:10px 10px;position:sticky;top:0;font-weight:600;white-space:nowrap;text-align:left;font-size:11px;letter-spacing:0.03em}
.nfe-table td{padding:8px;border-bottom:1px solid #f2f4f7;vertical-align:middle}
.nfe-table tr:hover td{background:#f8fafc}
.nfe-table tr:last-child td{border-bottom:none}
.nfe-table .item-idx{width:30px;text-align:center;color:#94a3b8;font-weight:600;font-size:11px}
.nfe-table .item-status{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700}
.nfe-table .item-status.novo{background:#fffbeb;color:#f59e0b}
.nfe-table .item-status.existente{background:var(--verde3);color:#0f5132}
.nfe-table input{font-family:inherit;outline:none;transition:border-color .12s;box-sizing:border-box}
.nfe-table input:focus{border-color:#2563eb!important;box-shadow:0 0 0 2px rgba(37,99,235,0.15)!important}
.nfe-table input[type=number]{width:68px;padding:5px 4px;border:1px solid #e4e7ec;border-radius:6px;text-align:center;font-size:12px}
.nfe-table input[type=text]:not(.prod-name-input){padding:5px 8px;border:1px solid #e4e7ec;border-radius:6px;font-size:12px;width:100%}
.nfe-table input.prod-name-input{padding:5px 8px;border:1px solid #e4e7ec;border-radius:6px;font-size:12px;width:100%;background:transparent}
.nfe-table input.prod-name-input:focus{background:var(--branco)}
.nfe-table select{padding:5px 6px;border:1px solid #e4e7ec;border-radius:6px;font-size:11px;outline:none;font-family:inherit;width:100%;background:var(--branco);cursor:pointer}
.nfe-table select:focus{border-color:#2563eb}
.nfe-table select option{padding:4px 6px;font-size:11px}
.nfe-table .btn-criar-prod{background:var(--verde2);color:#fff;border:1px solid var(--verde2);border-radius:6px;padding:4px 7px;font-size:11px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .18s cubic-bezier(.4,0,.2,1);white-space:nowrap;display:inline-flex;align-items:center;gap:4px;box-shadow:0 2px 6px rgba(15,23,42,0.12);letter-spacing:0.01em}
.nfe-table .btn-criar-prod:hover{background:var(--verde);box-shadow:0 4px 12px rgba(15,23,42,0.18);transform:translateY(-1px)}
.nfe-table .btn-criar-prod:active{transform:scale(0.96);box-shadow:0 1px 4px rgba(15,23,42,0.1)}

/* Autocomplete de produtos na importaÃ§Ã£o NF-e */
.nfe-prod-cell{display:flex;gap:4px;flex-wrap:nowrap;align-items:center}
.nfe-autocomplete-wrap{flex:1;min-width:140px;position:relative}
.nfe-ac-input{width:100%;padding:5px 8px;border:1px solid var(--borda);border-radius:8px;font-size:11px;font-family:inherit;outline:none;background:var(--branco);transition:border-color .15s}
.nfe-ac-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,0.15)}
.nfe-ac-dropdown{display:none;position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--branco);border:1px solid var(--borda);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,0.12);z-index:100;margin-top:2px}
.nfe-ac-item{padding:6px 10px;font-size:11px;cursor:pointer;border-bottom:1px solid #f2f4f7;transition:background .1s;white-space:normal;line-height:1.4}
.nfe-ac-item:last-child{border-bottom:none}
.nfe-ac-item:hover{background:#f2f4f7}
.nfe-ac-item.selected{background:var(--azul2);color:var(--azul);font-weight:600}
.nfe-ac-pular{color:var(--texto2);font-style:italic}
.nfe-ac-empty{color:var(--texto3);cursor:default;text-align:center}
.nfe-table select.nfe-vincular-select{padding:6px 10px;border:1px solid var(--borda);border-radius:8px;font-size:11px;outline:none;font-family:inherit;width:100%;background:var(--branco);cursor:pointer;transition:all .15s;box-shadow:0 1px 3px rgba(0,0,0,0.04);color:#1e293b;appearance:auto;-webkit-appearance:auto}
.nfe-table select.nfe-vincular-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,0.15)}
.nfe-table select.nfe-vincular-select:hover{border-color:#93c5fd}

.nfe-footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:4px;padding-top:14px;border-top:1px solid #e4e7ec}
.nfe-footer .nfe-fields{display:flex;gap:10px;flex:1;min-width:220px}
.nfe-footer .nfe-fields select,.nfe-footer .nfe-fields input{flex:1;padding:7px 10px;border:1px solid #e4e7ec;border-radius:10px;font-size:12px;outline:none;font-family:inherit;background:var(--branco);transition:all .15s}
.nfe-footer .nfe-fields select:focus,.nfe-footer .nfe-fields input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,0.15)}
.nfe-footer .nfe-total{display:flex;gap:20px;font-size:14px;white-space:nowrap;color:#475569}
.nfe-footer .nfe-total strong{color:#0f5132}
.nfe-footer .nfe-actions{display:flex;gap:8px}

/* NF-e PDV modal â€” profissional compacto */
.nfe-pdv-pagamento{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;background:#e7f4ec;color:#166534;border:1.5px solid #bbf7d0}
.nfe-pdv-pagamento::before{content:'';width:7px;height:7px;border-radius:50%;background:#22c55e;flex-shrink:0}
.nfe-pdv-cliente-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;background:#eff6ff;color:#1e40af;border:1.5px solid #bfdbfe}
.nfe-pdv-cliente-tag::before{content:'ðŸ‘¤';font-size:11px}
.nfe-pdv-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px;color:#94a3b8;font-size:13px;gap:8px;text-align:center}
.nfe-pdv-empty .icon{font-size:32px;opacity:.6}
.nfe-pdv-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e4e7ec;background:linear-gradient(135deg,#f8fafc 0%,#f2f4f7 100%)}
.nfe-pdv-header h3{margin:0;font-size:16px;color:#1e293b;display:flex;align-items:center;gap:8px}
.nfe-pdv-header .modal-close{width:32px;height:32px;border:none;background:none;font-size:20px;color:#94a3b8;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .15s}
.nfe-pdv-header .modal-close:hover{background:#fee2e2;color:#dc2626}
.nfe-pdv-add-row{display:flex;gap:6px;align-items:flex-end;padding:10px 16px;background:#f8fafc;border:1px dashed #d0d5dd;border-radius:10px;margin:0 16px 12px}
.nfe-pdv-add-row .form-group{margin:0}
.nfe-pdv-add-row label{font-size:10px;font-weight:600;color:#475569;margin-bottom:3px;display:block}
.nfe-pdv-add-row input{padding:5px 8px;border:1px solid #e4e7ec;border-radius:8px;font-size:12px;outline:none;width:100%;transition:border-color .12s}
.nfe-pdv-add-row input:focus{border-color:#2563eb}

.tema-ico-escuro{display:none}
[data-tema="escuro"] .tema-ico-claro{display:none}
[data-tema="escuro"] .tema-ico-escuro{display:inline}

@media screen{
  :root[data-tema="escuro"]{
    --verde:#4ade80;--verde2:#22c55e;--verde3:rgba(34,197,94,.14);
    --laranja:#fb923c;--laranja2:rgba(249,115,22,.15);
    --azul:#60a5fa;--azul2:rgba(96,165,250,.16);--primaria:#3b82f6;
    --cinza:#0b1220;--cinza2:#1c2740;--borda:#2c3a52;
    --fundo:#0b1220;--fundo2:#0b1220;
    --texto:#e8eef8;--texto2:#b6c2d4;--texto3:#8795ab;--texto-fraco:#8795ab;
    --branco:#151e2f;--perigo:#f87171;--perigo2:rgba(248,113,113,.14);
    --amarelo:#fbbf24;--amarelo2:rgba(251,191,36,.14);
    --roxo:#a78bfa;--roxo2:rgba(167,139,250,.16);
    --shadow:0 1px 2px rgba(0,0,0,.45);
    --shadow-md:0 6px 16px -7px rgba(0,0,0,.55),0 2px 6px -3px rgba(0,0,0,.4);
    --shadow-lg:0 24px 48px -16px rgba(0,0,0,.6),0 8px 20px -10px rgba(0,0,0,.45);
    --ring-color:rgba(96,165,250,.3);
  }
  [data-tema="escuro"] body{background:#0b1220}
  [data-tema="escuro"] .search-bar{background:#0f172a}
  [data-tema="escuro"] .search-bar input,[data-tema="escuro"] .search-bar select,
  [data-tema="escuro"] .prod-card,[data-tema="escuro"] .carrinho-cliente,
  [data-tema="escuro"] .cart-item,[data-tema="escuro"] .preco-input:focus,
  [data-tema="escuro"] .btn-restaurar-preco,[data-tema="escuro"] .qty-btn,
  [data-tema="escuro"] .qty-num:focus,[data-tema="escuro"] .carrinho-footer,
  [data-tema="escuro"] .troco-row input,[data-tema="escuro"] .login-box,
  [data-tema="escuro"] .login-field input:focus,[data-tema="escuro"] .notas-summary-card,
  [data-tema="escuro"] .notas-emitentes-card,[data-tema="escuro"] .u-bgw.u-bgw,
  [data-tema="escuro"] .mobile-nav-bar,[data-tema="escuro"] .header-drawer{background:var(--branco)}
  [data-tema="escuro"] .prod-card .footer{border-top-color:#232f45}
  [data-tema="escuro"] .troco-row input{border-color:#3b4a66}
  [data-tema="escuro"] .preco-input.alterado,[data-tema="escuro"] .login-bloqueio,
  [data-tema="escuro"] .nfe-table .item-status.novo,[data-tema="escuro"] .u-bgf7e.u-bgf7e{background:rgba(251,191,36,.13);color:#fbbf24}
  [data-tema="escuro"] .u-bgf5f.u-bgf5f{background:rgba(248,113,113,.13)}
  [data-tema="escuro"] .nfe-pdv-add-row{background:#1c2740;border-color:#3b4a66}
  [data-tema="escuro"] .nfe-pdv-add-row label{color:#8795ab}
  [data-tema="escuro"] .nfe-pdv-add-row input{background:#0b1220;color:#e8eef8;border-color:#3b4a66}
  [data-tema="escuro"] [style*="background:#fff"]{background:var(--branco)!important}
  [data-tema="escuro"] [style*="background: #fff"]{background:var(--branco)!important}
  [data-tema="escuro"] [style*="background:#fffbeb"]{background:rgba(251,191,36,.13)!important;color:#fde68a!important}
  [data-tema="escuro"] [style*="background: #fffbeb"]{background:rgba(251,191,36,.13)!important;color:#fde68a!important}
  [data-tema="escuro"] .cupom,[data-tema="escuro"] #conf-previa-wrap,[data-tema="escuro"] #venda-cupom{background:#fff!important}
  [data-tema="escuro"] #fiscal-alerta-produtos{background:rgba(251,191,36,.13)!important;border-color:rgba(251,191,36,.45)!important;color:#fde68a}
  [data-tema="escuro"] #conf-avisos{background:rgba(251,191,36,.13)!important;border-color:rgba(251,191,36,.45)!important;color:#fde68a}
  [data-tema="escuro"] .row-c8{background:rgba(251,191,36,.13)!important;border-color:rgba(251,191,36,.45)!important;color:#fde68a}
  [data-tema="escuro"] [style*="color:#92400e"],[data-tema="escuro"] [style*="color: rgb(146, 64, 14)"]{color:#fde68a!important}
  [data-tema="escuro"] #cliente-dropdown,[data-tema="escuro"] #nfe-emit-cliente-dropdown,[data-tema="escuro"] #nfe-emit-prod-dropdown,[data-tema="escuro"] #ncm-sugestoes,[data-tema="escuro"] #ncm-busca-dd{background:var(--branco)!important;border-color:#3b4a66!important}
  [data-tema="escuro"] [onclick="addLinhaMisto()"]{background:var(--branco)!important}
  [data-tema="escuro"] [style*="background: rgb(255, 255, 255)"],[data-tema="escuro"] [style*="background: rgb(255,255,255)"],[data-tema="escuro"] [style*="background: rgb(255 255 255)"]{background:var(--branco)!important}
  [data-tema="escuro"] [style*="background: rgb(255, 251, 238)"],[data-tema="escuro"] [style*="background: rgb(255,251,238)"],[data-tema="escuro"] [style*="background: rgb(255 251 238)"]{background:rgba(251,191,36,.13)!important;color:#fde68a!important}
  [data-tema="escuro"] [style*="background: rgb(255, 251, 199)"],[data-tema="escuro"] [style*="background: rgb(255,251,199)"]{background:rgba(251,191,36,.13)!important;color:#fde68a!important}
  [data-tema="escuro"] thead th{background:#1a2438;color:#a8b6cc}
  [data-tema="escuro"] tbody tr:hover{background:#1a2438}
  [data-tema="escuro"] tbody td{border-bottom-color:#1f2b44}
  [data-tema="escuro"] .btn-cinza{background:#1f2b44;color:var(--texto2)}
  [data-tema="escuro"] .btn-outline:hover{background:#1f2b44;border-color:#3b4a66;color:var(--texto)}
  [data-tema="escuro"] .badge-baixo{background:rgba(251,191,36,.15);color:#fbbf24}
  [data-tema="escuro"] .badge-zerado{background:rgba(248,113,113,.15);color:#fca5a5}
  [data-tema="escuro"] .td-acao button{background:#1c2740;border-color:#3b4a66;color:#cbd5e1}
  [data-tema="escuro"] .td-acao button:hover{background:var(--azul2);border-color:#3b82f6;color:var(--azul)}
  [data-tema="escuro"] .mini-list li{border-bottom-color:#1f2b44}
  [data-tema="escuro"] .venda-row:hover td{background:#1a2438}
  [data-tema="escuro"] ::-webkit-scrollbar-thumb{background:#475569}
  [data-tema="escuro"] .carrinho-titulo{background:#131c2e}
  [data-tema="escuro"] .carrinho-itens{background:#0e1626}
  [data-tema="escuro"] .preco-input{background:#0f172a}
  [data-tema="escuro"] .cart-item .qty{background:#0e1626}
  [data-tema="escuro"] .login-field input{background:#0f172a;color:#e8eef8}
  [data-tema="escuro"] .login-error{background:rgba(248,113,113,.13);border-color:rgba(248,113,113,.4);color:#fca5a5}
  [data-tema="escuro"] .login-bloqueio{border-color:rgba(251,191,36,.4)}
  [data-tema="escuro"] .login-footer{border-top-color:#1f2b44}
  [data-tema="escuro"] .user-table td,[data-tema="escuro"] .user-table th{border-bottom-color:#1f2b44}
  [data-tema="escuro"] .user-table th{background:#1a2438;color:#a8b6cc}
  [data-tema="escuro"] .notas-search input{background:#0f172a;color:#e8eef8}
  [data-tema="escuro"] .notas-import-tabs button:hover{background:#1a2438;color:var(--texto);border-color:#3b4a66}
  [data-tema="escuro"] .notas-import-card{border-color:#2c3a52}
  [data-tema="escuro"] .notas-panel{background:#131c2e;border-color:#243049}
  [data-tema="escuro"] .notas-table-wrap{border-color:#243049}
  [data-tema="escuro"] .notas-table thead th{background:#1a2438;color:#a8b6cc;border-bottom-color:#243049}
  [data-tema="escuro"] .notas-table tbody td{border-bottom-color:#1f2b44}
  [data-tema="escuro"] .notas-table tbody tr:hover{background:#1a2438}
  [data-tema="escuro"] .notas-table .btn-excluir-nota{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.35);color:#fca5a5}
  [data-tema="escuro"] .notas-table .btn-excluir-nota:hover{background:rgba(248,113,113,.2);border-color:#f87171}
  [data-tema="escuro"] .notas-table .chave-preview,[data-tema="escuro"] .notas-table .data-cell{color:#8795ab}
  [data-tema="escuro"] .notas-table .td-valor,[data-tema="escuro"] .notas-table .td-status.processada{color:#4ade80}
  [data-tema="escuro"] .notas-table .notas-expand-btn:hover{background:#1a2438;color:var(--azul)}
  [data-tema="escuro"] .notas-table .notas-expanded-row td{background:#111a2c;border-bottom-color:#243049}
  [data-tema="escuro"] .notas-table .notas-expanded-content th{background:#1c2740;color:#a8b6cc}
  [data-tema="escuro"] .notas-table .notas-expanded-content td{border-bottom-color:#1f2b44!important;color:#cbd5e1}
  [data-tema="escuro"] .notas-pagination button{background:#151e2f;border-color:#2c3a52}
  [data-tema="escuro"] .notas-pagination button:hover{background:#1a2438;color:var(--texto);border-color:#3b4a66}
  [data-tema="escuro"] .notas-footer{color:#8795ab}
  [data-tema="escuro"] .notas-summary-card .sc-label,[data-tema="escuro"] .notas-emitentes-card .sc-label{color:#8795ab}
  [data-tema="escuro"] .notas-summary-card .sc-value,[data-tema="escuro"] .notas-emitentes-card .sc-value{color:#e8eef8}
  [data-tema="escuro"] .notas-summary-card .sc-valor{color:#4ade80}
  [data-tema="escuro"] .notas-batch-bar{border-color:#3b82f6}
  [data-tema="escuro"] .notas-batch-bar .btn-batch-del{background:rgba(248,113,113,.15);color:#fca5a5}
  [data-tema="escuro"] .notas-batch-bar .btn-batch-del:hover{background:rgba(248,113,113,.25)}
  [data-tema="escuro"] .notas-batch-bar .btn-batch-export:hover{background:rgba(96,165,250,.22)}
  [data-tema="escuro"] .modal-header{border-bottom-color:#243049}
  [data-tema="escuro"] .modal-header .modal-info{color:#8795ab}
  [data-tema="escuro"] .modal-close:hover{background:#1a2438;color:#cbd5e1}
  [data-tema="escuro"] .nfe-summary{background:#131c2e;border-color:#243049}
  [data-tema="escuro"] .nfe-summary .label{color:#8795ab}
  [data-tema="escuro"] .nfe-summary .value{color:#e8eef8}
  [data-tema="escuro"] .nfe-items-container{border-color:#243049}
  [data-tema="escuro"] .nfe-table th{background:#1a2438;color:#a8b6cc;border-bottom-color:#243049}
  [data-tema="escuro"] .nfe-table td{border-bottom-color:#1f2b44}
  [data-tema="escuro"] .nfe-table tr:hover td{background:#1a2438}
  [data-tema="escuro"] .nfe-table .item-status.existente{color:#4ade80}
  [data-tema="escuro"] .nfe-table input[type=number],[data-tema="escuro"] .nfe-table input[type=text]:not(.prod-name-input),[data-tema="escuro"] .nfe-table input.prod-name-input,[data-tema="escuro"] .nfe-table select{background:#0b1220;color:#e8eef8;border-color:#3b4a66}
  [data-tema="escuro"] .nfe-table select.nfe-vincular-select{color:#e8eef8}
  [data-tema="escuro"] .nfe-ac-item{border-bottom-color:#1f2b44}
  [data-tema="escuro"] .nfe-ac-item:hover{background:#1a2438}
  [data-tema="escuro"] .nfe-footer{border-top-color:#243049}
  [data-tema="escuro"] .nfe-footer .nfe-fields select,[data-tema="escuro"] .nfe-footer .nfe-fields input{background:#0b1220;color:#e8eef8;border-color:#3b4a66}
  [data-tema="escuro"] .nfe-footer .nfe-total{color:#8795ab}
  [data-tema="escuro"] .nfe-footer .nfe-total strong{color:#4ade80}
  [data-tema="escuro"] .nfe-panel-input,[data-tema="escuro"] .nfe-panel-textarea{background:#0b1220;color:#e8eef8;border-color:#3b4a66}
  [data-tema="escuro"] .nfe-panel-msg{color:#8795ab}
  [data-tema="escuro"] .nfe-pdv-header{background:linear-gradient(135deg,#131c2e 0%,#0f172a 100%);border-bottom-color:#243049}
  [data-tema="escuro"] .nfe-pdv-header h3{color:#e8eef8}
  [data-tema="escuro"] .nfe-pdv-header .modal-close:hover{background:rgba(248,113,113,.15);color:#fca5a5}
  [data-tema="escuro"] .u-bgeff.u-bgeff{background:#16223a}
  [data-tema="escuro"] .u-bgfece.u-bgfece{background:rgba(251,191,36,.1);color:#fde68a}
  [data-tema="escuro"] .u-bgok.u-bgok{background:rgba(74,222,128,.14);color:#4ade80}
  [data-tema="escuro"] .u-bgf8.u-bgf8{background:#131c2e}
  [data-tema="escuro"] .u-bgf9.u-bgf9{background:#161f33}
  [data-tema="escuro"] .u-bgfe3c.u-bgfe3c{background:rgba(251,191,36,.13);color:#fde68a}
  [data-tema="escuro"] .u-bgfee.u-bgfee{background:rgba(248,113,113,.13);color:#fca5a5}
  [data-tema="escuro"] .u-bgv.u-bgv{background:#14532d}
  [data-tema="escuro"] .u-c000.u-c000{color:#e8eef8}
  [data-tema="escuro"] .u-c1665.u-c1665{color:#4ade80}
  [data-tema="escuro"] .u-c1e2.u-c1e2{color:#cbd5e1}
  [data-tema="escuro"] .u-c374.u-c374{color:#a8b6cc}
  [data-tema="escuro"] .u-c555.u-c555,[data-tema="escuro"] .u-c666.u-c666{color:#9aa7ba}
  [data-tema="escuro"] .u-c6b7.u-c6b7{color:#8795ab}
  [data-tema="escuro"] .u-c924.u-c924{color:#fde68a}
  [data-tema="escuro"] .u-c991.u-c991{color:#fca5a5}
  [data-tema="escuro"] .u-c999.u-c999,[data-tema="escuro"] .u-c9ca.u-c9ca{color:#8795ab}
  [data-tema="escuro"] .u-cb45.u-cb45{color:#fbbf24}
  [data-tema="escuro"] .u-cca8.u-cca8{color:#fbbf24}
  [data-tema="escuro"] .u-cea5.u-cea5{color:#fb923c}
  [data-tema="escuro"] .u-chex.u-chex,[data-tema="escuro"] .u-cred.u-cred{color:#f87171}
  [data-tema="escuro"] .u-bbb0.u-bbb0,[data-tema="escuro"] .u-bbd0.u-bbd0{border-bottom-color:#475569}
  [data-tema="escuro"] .u-bbbf.u-bbbf,[data-tema="escuro"] .u-bbe.u-bbe,[data-tema="escuro"] .u-bbf5.u-bbf5{border-bottom-color:#1f2b44}
  [data-tema="escuro"] .u-brdbf.u-brdbf{border-color:#3b82f6}
  [data-tema="escuro"] .u-brdfec.u-brdfec{border-color:rgba(248,113,113,.4)}
  [data-tema="escuro"] .badge-ok{background:rgba(74,222,128,.15);color:#86efac}
  [data-tema="escuro"] .badge-info{background:rgba(96,165,250,.16);color:#93c5fd}
  [data-tema="escuro"] [style*="background:#dcfce7"]{background:rgba(74,222,128,.15)!important;color:#86efac!important}
  [data-tema="escuro"] [style*="background:#eff6ff"]{background:rgba(96,165,250,.16)!important;color:#93c5fd!important}
  [data-tema="escuro"] [style*="background:#f5f5f4"]{background:rgba(255,255,255,.08)!important;color:#cbd5e1!important}
  [data-tema="escuro"] [style*="background:#e7f4ec"]{background:rgba(34,197,94,.15)!important}
  [data-tema="escuro"] [style*="background:#fef3c7"]{background:rgba(251,191,36,.13)!important;color:#fde68a!important}
  [data-tema="escuro"] [style*="background: rgb(220, 252, 231)"],[data-tema="escuro"] [style*="background: rgb(220,252,231)"]{background:rgba(74,222,128,.15)!important;color:#86efac!important}
  [data-tema="escuro"] [style*="background: rgb(239, 246, 255)"],[data-tema="escuro"] [style*="background: rgb(239,246,255)"]{background:rgba(96,165,250,.16)!important;color:#93c5fd!important}
  [data-tema="escuro"] [style*="background: rgb(245, 245, 244)"],[data-tema="escuro"] [style*="background: rgb(245,245,244)"]{background:rgba(255,255,255,.08)!important;color:#cbd5e1!important}
  [data-tema="escuro"] [style*="background: rgb(231, 244, 236)"],[data-tema="escuro"] [style*="background: rgb(231,244,236)"]{background:rgba(34,197,94,.15)!important}
  [data-tema="escuro"] [style*="background: rgb(255, 243, 199)"],[data-tema="escuro"] [style*="background: rgb(255,243,199)"]{background:rgba(251,191,36,.13)!important;color:#fde68a!important}
  [data-tema="escuro"] [style*="color:#166534"]{color:#86efac!important}
  [data-tema="escuro"] [style*="color:#1e40af"]{color:#93c5fd!important}
  [data-tema="escuro"] [style*="color:#57534e"]{color:#cbd5e1!important}
  [data-tema="escuro"] .pag-btn{background:#131c2e;color:#cbd5e1}
  [data-tema="escuro"] .pag-btn:hover,[data-tema="escuro"] .pag-btn.active{background:rgba(96,165,250,.16);border-color:#3b82f6;color:#93c5fd}
  [data-tema="escuro"] .troco-row{border-color:#3b4a66}
  [data-tema="escuro"] .btn-verde{color:#052e16}
  [data-tema="escuro"] .btn-verde:hover{background:#4ade80;color:#052e16}
  [data-tema="escuro"] .btn-azul{color:#082f49}
  [data-tema="escuro"] .btn-azul:hover{background:#3b82f6;color:#082f49}
  [data-tema="escuro"] .btn-roxo{color:#1e1b4b}
  [data-tema="escuro"] .btn-roxo:hover{background:#8b5cf6;color:#1e1b4b}
  [data-tema="escuro"] .finalizar-btn{color:#082f49}
  [data-tema="escuro"] .finalizar-btn:hover{background:#3b82f6;color:#082f49}
  [data-tema="escuro"] .nfe-pdv-pagamento{background:rgba(34,197,94,.15);color:#86efac;border-color:#4ade80}
  [data-tema="escuro"] .nfe-pdv-cliente-tag{background:rgba(96,165,250,.16);color:#93c5fd;border-color:#3b82f6}
  [data-tema="escuro"] input[type=checkbox]{background:#0f172a;border:1px solid #475569;accent-color:#3b82f6}
  [data-tema="escuro"] .mini-bar{background:#1f2b44}
  [data-tema="escuro"] .mini-bar-label{color:#8795ab}
  [data-tema="escuro"] .mini-bar-label span:last-child{color:#e8eef8}
}

/* ===== G8 — DASHBOARD REDIZENIDO (KPIs, colunas 7d, rosca, medalhas) ===== */
.dash-row.hero{grid-template-columns:1.6fr 1fr}
.dash-card.verde{background:linear-gradient(135deg,var(--branco) 55%,#e7f4ec)}
.dash-card.roxo{background:linear-gradient(135deg,var(--branco) 55%,#f5f3ff)}
.dash-card.info{background:linear-gradient(135deg,var(--branco) 55%,#eff6ff)}
.dash-card.laranja{background:linear-gradient(135deg,var(--branco) 55%,#fff1e7)}
.dash-card.perigo{background:linear-gradient(135deg,var(--branco) 55%,#fef2f2)}
.delta{display:inline-block;font-size:11px;font-weight:800;padding:2px 7px;border-radius:20px;vertical-align:middle;margin-left:8px;line-height:1.3}
.delta.up{background:#dcfce7;color:#15803d}
.delta.down{background:#fee2e2;color:#b91c1c}
.delta.flat{background:#f1f5f9;color:var(--texto2)}
.chart7d{display:flex;align-items:flex-end;gap:8px;height:172px}
.c7-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;gap:4px;min-width:0}
.c7-val{font-size:10px;font-weight:700;color:var(--texto2);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.c7-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;background:rgba(148,163,184,.14);border-radius:6px;overflow:hidden;min-height:0}
.c7-bar{width:100%;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--verde2),var(--verde));transition:height .6s ease}
.c7-col:hover .c7-bar{filter:brightness(1.2)}
.c7-day{font-size:10px;color:var(--texto3);font-weight:700;white-space:nowrap;line-height:1}
.c7-num{font-size:11px;color:var(--texto);font-weight:800;line-height:1}
.donut-wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.donut{width:150px;height:150px;flex-shrink:0}
.donut .dl-track{fill:none;stroke:#eef1f5;stroke-width:18}
.donut .dl-seg{fill:none;stroke-width:18;stroke-linecap:butt}
.donut-center-l{font-size:9px;font-weight:800;fill:var(--texto3);letter-spacing:2px}
.donut-center-v{font-size:15px;font-weight:800;fill:var(--texto);font-family:'IBM Plex Mono',monospace}
.donut-legenda{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;flex:1;min-width:150px}
.donut-legenda li{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--texto2);border:none;padding:0}
.dl-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.dl-nome{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--texto)}
.dl-val{font-family:'IBM Plex Mono',monospace;font-weight:700;color:var(--texto)}
.dl-pct{font-size:11px;color:var(--texto3);min-width:32px;text-align:right;font-weight:700}
.mini-list .rank{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#f1f5f9;font-size:11px;font-weight:800;color:var(--texto2);flex-shrink:0;margin-right:8px}
.mini-list .rank.r1{background:linear-gradient(135deg,#fde68a,#f59e0b);font-size:13px}
.mini-list .rank.r2{background:linear-gradient(135deg,#e5e7eb,#9ca3af);font-size:13px}
.mini-list .rank.r3{background:linear-gradient(135deg,#fdba74,#ea580c);font-size:13px}
.mini-list li.mv-row{flex-direction:column;align-items:stretch;gap:6px}
.mv-top{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%}
.mv-nome{display:flex;align-items:center;min-width:0;flex:1}
.mn-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.mv-row .mini-bar{width:100%;height:6px}
[data-tema="escuro"] .dash-card.verde{background:linear-gradient(135deg,var(--branco) 55%,#0f2a1e)}
[data-tema="escuro"] .dash-card.roxo{background:linear-gradient(135deg,var(--branco) 55%,#1e1740)}
[data-tema="escuro"] .dash-card.info{background:linear-gradient(135deg,var(--branco) 55%,#122142)}
[data-tema="escuro"] .dash-card.laranja{background:linear-gradient(135deg,var(--branco) 55%,#33190c)}
[data-tema="escuro"] .dash-card.perigo{background:linear-gradient(135deg,var(--branco) 55%,#331214)}
[data-tema="escuro"] .delta.up{background:rgba(74,222,128,.15);color:#86efac}
[data-tema="escuro"] .delta.down{background:rgba(248,113,113,.15);color:#fca5a5}
[data-tema="escuro"] .delta.flat{background:#1f2b44;color:#8795ab}
[data-tema="escuro"] .donut .dl-track{stroke:#1f2b44}
[data-tema="escuro"] .mini-list .rank{background:#26324a;color:#cbd5e1}
[data-tema="escuro"] .mini-list .rank.r1{background:linear-gradient(135deg,#92700c,#a16207)}
[data-tema="escuro"] .mini-list .rank.r2{background:linear-gradient(135deg,#4b5563,#6b7280)}
[data-tema="escuro"] .mini-list .rank.r3{background:linear-gradient(135deg,#9a3412,#c2410c)}

.ico{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:-.15em}
.ico-fill{fill:currentColor;stroke:none}
.ico-14{width:14px;height:14px}
.ico-16{width:16px;height:16px}
.ico-18{width:18px;height:18px}
.ico-20{width:20px;height:20px}
.ico-24{width:24px;height:24px}
.ico-28{width:28px;height:28px}
.ico-32{width:32px;height:32px}
.u-aic.u-aic{align-items:center}
.u-bbb.u-bbb{border-bottom:1px solid var(--borda)}
.u-bbb0.u-bbb0{border-bottom:1px solid #000}
.u-bbb15.u-bbb15{border-bottom:1.5px solid var(--borda)}
.u-bbb2.u-bbb2{border-bottom:2px solid var(--borda)}
.u-bbbf.u-bbbf{border-bottom:1px solid #eef1f6}
.u-bbd0.u-bbd0{border-bottom:1px dashed #000}
.u-bbe.u-bbe{border-bottom:1px solid #eee}
.u-bbf5.u-bbf5{border-bottom:1px solid #f1f5f9}
.u-bbt3.u-bbt3{border-bottom:3px solid transparent}
.u-bga2.u-bga2{background:var(--amarelo2)}
.u-bgaz.u-bgaz{background:var(--azul)}
.u-bgaz2.u-bgaz2{background:var(--azul2)}
.u-bgb.u-bgb{background:var(--branco)}
.u-bgc.u-bgc{background:var(--cinza)}
.u-bgc2.u-bgc2{background:var(--cinza2)}
.u-bgeff.u-bgeff{background:#eff6ff}
.u-bgf5f.u-bgf5f{background:#fff5f5}
.u-bgf7e.u-bgf7e{background:#fff7ed}
.u-bgf8.u-bgf8{background:#f8fafc}
.u-bgf9.u-bgf9{background:#f9fafb}
.u-bgfe3c.u-bgfe3c{background:#fef3c7}
.u-bgfece.u-bgfece{background:#fefce8}
.u-bgfee.u-bgfee{background:#fee2e2}
.u-bgn.u-bgn{background:none}
.u-bgok.u-bgok{background:#dcfce7}
.u-bgp2.u-bgp2{background:var(--perigo2)}
.u-bgpri.u-bgpri{background:var(--primaria)}
.u-bgr2.u-bgr2{background:#dc2626}
.u-bgrp.u-bgrp{background:var(--perigo)}
.u-bgteal.u-bgteal{background:#0d9488}
.u-bgv.u-bgv{background:#0f5132}
.u-bgv2.u-bgv2{background:var(--verde2)}
.u-bgv3.u-bgv3{background:var(--verde3)}
.u-bgv4.u-bgv4{background:var(--verde4)}
.u-bgvio.u-bgvio{background:#7c3aed}
.u-bgw.u-bgw{background:#fff}
.u-bn.u-bn{border:none}
.u-brd.u-brd{border:1px solid var(--borda)}
.u-brd15.u-brd15{border:1.5px solid var(--borda)}
.u-brda7.u-brda7{border:1px solid #a7f3d0}
.u-brdabl.u-brdabl{border:1px solid var(--azul)}
.u-brdbf.u-brdbf{border:1px solid #bfdbfe}
.u-brdfca.u-brdfca{border:1px solid #fca5a5}
.u-brdfde.u-brdfde{border:1px solid #fde68a}
.u-brdfec.u-brdfec{border:1px solid #fecaca}
.u-brdrp.u-brdrp{border:1px solid var(--perigo)}
.u-brdv2.u-brdv2{border:1px solid var(--verde2)}
.u-brn.u-brn{border-right:none}
.u-btd0.u-btd0{border-top:1px dashed #000}
.u-btt.u-btt{border-top:1px solid var(--borda)}
.u-c000.u-c000{color:#000}
.u-c1665.u-c1665{color:#166534}
.u-c1e2.u-c1e2{color:#1e293b}
.u-c374.u-c374{color:#374151}
.u-c555.u-c555{color:#555}
.u-c666.u-c666{color:#666}
.u-c6b7.u-c6b7{color:#6b7280}
.u-c924.u-c924{color:#92400e}
.u-c991.u-c991{color:#991b1b}
.u-c999.u-c999{color:#999}
.u-c9ca.u-c9ca{color:#9ca3af}
.u-caz.u-caz{color:var(--azul)}
.u-cb45.u-cb45{color:#b45309}
.u-cca8.u-cca8{color:#ca8a04}
.u-cd.u-cd{cursor:default}
.u-ce0e.u-ce0e{color:#e0e0e0}
.u-cea5.u-cea5{color:#ea580c}
.u-chex.u-chex{color:#dc2626}
.u-clr.u-clr{color:var(--laranja)}
.u-cp.u-cp{cursor:pointer}
.u-cred.u-cred{color:red}
.u-crp.u-crp{color:var(--perigo)}
.u-ct.u-ct{color:var(--texto)}
.u-ct2.u-ct2{color:var(--texto2)}
.u-ct3.u-ct3{color:var(--texto3)}
.u-ctf.u-ctf{color:var(--texto-fraco)}
.u-cv.u-cv{color:var(--verde)}
.u-cv2.u-cv2{color:var(--verde2)}
.u-cvio.u-cvio{color:#7c3aed}
.u-cw.u-cw{color:#fff}
.u-fdc.u-fdc{flex-direction:column}
.u-fdr.u-fdr{flex-direction:row}
.u-fi.u-fi{font-family:inherit}
.u-fit.u-fit{font-style:italic}
.u-fs10.u-fs10{font-size:10px}
.u-fs11.u-fs11{font-size:11px}
.u-fs115.u-fs115{font-size:11.5px}
.u-fs12.u-fs12{font-size:12px}
.u-fs13.u-fs13{font-size:13px}
.u-fs14.u-fs14{font-size:14px}
.u-fs15.u-fs15{font-size:15px}
.u-fs16.u-fs16{font-size:16px}
.u-fs18.u-fs18{font-size:18px}
.u-fs20.u-fs20{font-size:20px}
.u-fs24.u-fs24{font-size:24px}
.u-fs48.u-fs48{font-size:48px}
.u-fs8.u-fs8{font-size:8px}
.u-fs9.u-fs9{font-size:9px}
.u-fsn0.u-fsn0{flex-shrink:0}
.u-fw6.u-fw6{font-weight:600}
.u-fw7.u-fw7{font-weight:700}
.u-fw8.u-fw8{font-weight:800}
.u-fw9.u-fw9{font-weight:900}
.u-fww.u-fww{flex-wrap:wrap}
.u-fx03.u-fx03{flex:0.3}
.u-fx04.u-fx04{flex:0.4}
.u-fx05.u-fx05{flex:0.5}
.u-fx06.u-fx06{flex:0.6}
.u-fx07.u-fx07{flex:0.7}
.u-fx08.u-fx08{flex:0.8}
.u-fx09.u-fx09{flex:0.9}
.u-fx1.u-fx1{flex:1}
.u-fx12.u-fx12{flex:1.2}
.u-fx15.u-fx15{flex:1.5}
.u-fx2.u-fx2{flex:2}
.u-fx3.u-fx3{flex:3}
.u-g10.u-g10{gap:10px}
.u-g4.u-g4{gap:4px}
.u-jcc.u-jcc{justify-content:center}
.u-jsb.u-jsb{justify-content:space-between}
.u-lh1.u-lh1{line-height:1}
.u-lh14.u-lh14{line-height:1.4}
.u-lsx.u-lsx{letter-spacing:0.5px}
.u-m0.u-m0{margin:0}
.u-m010.u-m010{margin:0 0 10px}
.u-m012.u-m012{margin:0 0 12px}
.u-m100.u-m100{margin:10px 0}
.u-m500.u-m500{margin:5px 0}
.u-mb10.u-mb10{margin-bottom:10px}
.u-mb12.u-mb12{margin-bottom:12px}
.u-mb15.u-mb15{margin-bottom:15px}
.u-mb18.u-mb18{margin-bottom:18px}
.u-mb2.u-mb2{margin-bottom:2px}
.u-mb20.u-mb20{margin-bottom:20px}
.u-mb3.u-mb3{margin-bottom:3px}
.u-mb4.u-mb4{margin-bottom:4px}
.u-mb5.u-mb5{margin-bottom:5px}
.u-mb6.u-mb6{margin-bottom:6px}
.u-mb8.u-mb8{margin-bottom:8px}
.u-mbn2.u-mbn2{margin-bottom:-2px}
.u-ml6.u-ml6{margin-left:6px}
.u-mla.u-mla{margin-left:auto}
.u-mom.u-mom{font-family:monospace}
.u-mono.u-mono{font-family:'IBM Plex Mono',monospace}
.u-mr4.u-mr4{margin-right:4px}
.u-mt10.u-mt10{margin-top:10px}
.u-mt14.u-mt14{margin-top:14px}
.u-mt18.u-mt18{margin-top:18px}
.u-mt2.u-mt2{margin-top:2px}
.u-mt20.u-mt20{margin-top:20px}
.u-mt25.u-mt25{margin-top:25px}
.u-mt3.u-mt3{margin-top:3px}
.u-mt4.u-mt4{margin-top:4px}
.u-mt6.u-mt6{margin-top:6px}
.u-mt8.u-mt8{margin-top:8px}
.u-on.u-on{outline:none}
.u-ova.u-ova{overflow:auto}
.u-ovh.u-ovh{overflow:hidden}
.u-ovxa.u-ovxa{overflow-x:auto}
.u-ovya.u-ovya{overflow-y:auto}
.u-p0.u-p0{padding:0}
.u-p10.u-p10{padding:10px}
.u-p1012.u-p1012{padding:10px 12px}
.u-p1014.u-p1014{padding:10px 14px}
.u-p1015.u-p1015{padding:10px 15px}
.u-p1020.u-p1020{padding:10px 20px}
.u-p108.u-p108{padding:10px 8px}
.u-p12.u-p12{padding:12px}
.u-p128.u-p128{padding:12px 8px}
.u-p14.u-p14{padding:14px}
.u-p15.u-p15{padding:15px}
.u-p16.u-p16{padding:16px}
.u-p20.u-p20{padding:20px}
.u-p24.u-p24{padding:24px}
.u-p26.u-p26{padding:2px 6px}
.u-p28.u-p28{padding:2px 8px}
.u-p30.u-p30{padding:30px}
.u-p300.u-p300{padding:30px 0}
.u-p37.u-p37{padding:3px 7px}
.u-p38.u-p38{padding:3px 8px}
.u-p40.u-p40{padding:40px}
.u-p410.u-p410{padding:4px 10px}
.u-p46.u-p46{padding:4px 6px}
.u-p48.u-p48{padding:4px 8px}
.u-p49.u-p49{padding:4px 9px}
.u-p5.u-p5{padding:5px}
.u-p50.u-p50{padding:5px 0}
.u-p512.u-p512{padding:5px 12px}
.u-p58.u-p58{padding:5px 8px}
.u-p6.u-p6{padding:6px}
.u-p60.u-p60{padding:6px 0}
.u-p610.u-p610{padding:6px 10px}
.u-p612.u-p612{padding:6px 12px}
.u-p614.u-p614{padding:6px 14px}
.u-p68.u-p68{padding:6px 8px}
.u-p710.u-p710{padding:7px 10px}
.u-p712.u-p712{padding:7px 12px}
.u-p716.u-p716{padding:7px 16px}
.u-p76.u-p76{padding:7px 6px}
.u-p78.u-p78{padding:7px 8px}
.u-p8.u-p8{padding:8px}
.u-p810.u-p810{padding:8px 10px}
.u-p812.u-p812{padding:8px 12px}
.u-p814.u-p814{padding:8px 14px}
.u-p816.u-p816{padding:8px 16px}
.u-p818.u-p818{padding:8px 18px}
.u-p820.u-p820{padding:8px 20px}
.u-p86.u-p86{padding:8px 6px}
.u-pb4.u-pb4{padding-bottom:4px}
.u-pb5.u-pb5{padding-bottom:5px}
.u-pb6.u-pb6{padding-bottom:6px}
.u-pb8.u-pb8{padding-bottom:8px}
.u-r10.u-r10{border-radius:10px}
.u-r12.u-r12{border-radius:12px}
.u-r20.u-r20{border-radius:20px}
.u-r4.u-r4{border-radius:4px}
.u-r5.u-r5{border-radius:5px}
.u-r6.u-r6{border-radius:6px}
.u-r8.u-r8{border-radius:8px}
.u-r880.u-r880{border-radius:8px 8px 0 0}
.u-rlg.u-rlg{border-radius:var(--radius-lg)}
.u-rv.u-rv{border-radius:var(--radius)}
.u-tac.u-tac{text-align:center}
.u-tal.u-tal{text-align:left}
.u-tar.u-tar{text-align:right}
.u-toe.u-toe{text-overflow:ellipsis}
.u-ttu.u-ttu{text-transform:uppercase}
.u-vat.u-vat{vertical-align:top}
.u-wbw.u-wbw{word-break:break-word}
.u-wsn.u-wsn{white-space:nowrap}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-family:inherit;color:var(--texto);background:var(--branco);border:1.5px solid var(--borda);border-radius:var(--radius);padding:8px 10px;outline:none}
.lbl-mini{display:block;font-size:11px;font-weight:700;color:var(--texto2);text-transform:uppercase;margin-bottom:5px}
.form-group .lbl-mini{display:block;font-size:11px;font-weight:700;color:var(--texto2);text-transform:uppercase;margin-bottom:5px}
.tbl-mini{width:100%;border-collapse:collapse;font-size:13px}
.btn-full{width:100%;justify-content:center}
.sel-full{width:100%;padding:8px;border-radius:var(--radius);border:1.5px solid var(--borda);font-family:inherit}
.row-c8{display:flex;gap:8px;align-items:center}
.row-c4{display:flex;gap:4px;align-items:center}
.row-fw15{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px;align-items:center}
.dot-load{width:9px;height:9px;border-radius:50%;background:#6ee7b7;display:inline-block;animation:mz-bounce 1.2s ease-in-out infinite}
.eq-th{padding:14px 10px;text-align:left}
