/* 1.70.0 (Philippe, 28/09/2026): cupom fiscal (NFC-e) na tela (web/fiscal.js). O ícone da comandinha nos cards da
   expedição e na ficha, o selo "NFC-e 123", a folha do cupom e Configurações > Fiscal. Tokens do Hub, claro e escuro,
   alvos de 44 px e nada de rolagem lateral em 390 px. */
.fiscal-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.fiscal-btn{-webkit-tap-highlight-color:transparent;cursor:pointer;font:inherit}
.fiscal-btn.tem{color:var(--ink-green,#1d7a3a)}
.fiscal-btn.pend{color:var(--ink-orange,#a65300)}
.fiscal-btn:focus-visible{outline:var(--foco-largura,3px) solid var(--foco-cor,#2F7CF6);outline-offset:2px}
.fiscal-btn:active{transform:scale(var(--apertado-escala,.96))}
/* card pequeno (faixas laterais): o mesmo tamanho das setas, com área de toque de 44 px */
.fiscal-sm{position:relative;display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--r-inner,9px);background:var(--fill,rgba(120,120,128,.12));color:var(--label2,#6B5A4C)}
.fiscal-sm::after{content:"";position:absolute;inset:-6px}
.e.mini .mf .fiscal-sm{margin-right:auto}
/* card grande da expedição: terceira coluna das ações, ao lado do Reimprimir */
.fiscal-lnk{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:0;color:var(--ink-blue,var(--blue))}
#view-exp .e>.acts [data-fiscal]{grid-column:3;grid-row:1}
#view-exp .e:not(.mini)>.acts:has([data-fiscal]){grid-template-columns:minmax(0,88px) minmax(0,96px) 44px}
.fiscal-lnk svg{width:22px;height:22px}
/* ficha do pedido: botão com texto ao lado do fechar */
.fiscal-oh{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:0;border-radius:var(--r-pill,999px);background:var(--fill,rgba(120,120,128,.12));color:var(--label,#3A2A1E);font-size:var(--f-subhead,15px);font-weight:600;margin-left:auto}
.oh .fiscal-oh+.x{margin-left:8px!important} /* o topo de vidro (topo-vidro.css) empurra o fechar com margin-left:auto e id; aqui ele fica ao lado do cupom */
.fiscal-oh svg{width:20px;height:20px}
/* celular: o fechar continua no fim da primeira linha e o "Cupom fiscal" desce para a linha de baixo, com o texto */
@media (max-width:560px){.oh .fiscal-oh{order:10;margin-left:0}.oh .fiscal-oh+.x{margin-left:auto!important}}
/* selo no card */
.badge.fiscal-selo{border:0;border-radius:8px;font-weight:600}
.badge.fiscal-selo.ok{background:color-mix(in srgb,var(--sys-green,#34C759) 16%,transparent);color:var(--ink-green,#1d7a3a)}
.badge.fiscal-selo.pend{background:color-mix(in srgb,var(--sys-orange,#FF8D28) 18%,transparent);color:var(--ink-orange,#a65300)}
.badge.fiscal-selo.canc{background:var(--fill,rgba(120,120,128,.12));color:var(--label2,#6B5A4C);text-decoration:line-through}
.badge.fiscal-selo.erro{background:color-mix(in srgb,var(--sys-red,#FF383C) 14%,transparent);color:var(--ink-red,#b3261e)}

/* ------------------------------------------------------------ folha do cupom */
.fiscal-fundo{position:fixed;inset:0;z-index:2150;background:var(--vidro-veu,rgba(58,42,30,.22));display:flex;align-items:center;justify-content:center;padding:16px}
.fiscal-folha{width:min(520px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;border-radius:var(--r-sheet,20px);background:var(--glass-bg,rgba(255,255,255,.94));-webkit-backdrop-filter:blur(var(--glass-blur,24px)) saturate(180%);backdrop-filter:blur(var(--glass-blur,24px)) saturate(180%);box-shadow:0 18px 46px rgba(40,25,12,.24);color:var(--label,#3A2A1E);padding:8px 16px 18px;box-sizing:border-box}
body.dark .fiscal-folha{background:rgba(34,32,30,.96)}
.fiscal-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-top:6px}
.fiscal-topo h2{margin:6px 0 0;font-size:var(--f-title3,20px);font-weight:700}
.fiscal-sub{margin:4px 0 10px;font-size:var(--f-subhead,15px);color:var(--label2,#6B5A4C);line-height:1.4}
.fiscal-x{width:44px;height:44px;flex:none;display:grid;place-items:center;border:0;border-radius:50%;background:var(--fill,rgba(120,120,128,.12));color:var(--label2,#6B5A4C);cursor:pointer}
.fiscal-x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.fiscal-corpo{display:flex;flex-direction:column;gap:12px;padding-bottom:4px}
.fiscal-carregando,.fiscal-nota{margin:0;font-size:var(--f-footnote,13px);color:var(--label2,#6B5A4C);line-height:1.45}
.fiscal-amb{margin:0;padding:8px 12px;border-radius:var(--r-inner,10px);background:color-mix(in srgb,var(--sys-indigo,#5856D6) 12%,transparent);color:var(--ink-indigo,#3634a3);font-size:var(--f-footnote,13px);font-weight:600}
.fiscal-cartao{padding:14px;border-radius:var(--r-card,16px);background:var(--fill,rgba(120,120,128,.1))}
.fiscal-cartao b{font-size:var(--f-headline,17px)}
.fiscal-cartao p{margin:6px 0 0;font-size:var(--f-subhead,15px);line-height:1.45;color:var(--label2,#6B5A4C)}
.fiscal-cartao ul{margin:8px 0 0;padding-left:18px;font-size:var(--f-subhead,15px);color:var(--label2,#6B5A4C)}
.fiscal-cartao.ok{background:color-mix(in srgb,var(--sys-green,#34C759) 12%,transparent)}
.fiscal-cartao.pend{background:color-mix(in srgb,var(--sys-orange,#FF8D28) 13%,transparent)}
.fiscal-cartao.info{background:color-mix(in srgb,var(--sys-blue,#0088FF) 10%,transparent)}
.fiscal-num{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.fiscal-num span{font-size:var(--f-footnote,13px);color:var(--label2,#6B5A4C)}
.fiscal-num .fiscal-estado{margin-left:auto;font-weight:700;color:var(--label,#3A2A1E)}
.fiscal-valor{font-variant-numeric:tabular-nums;font-weight:600;color:var(--label,#3A2A1E)!important}
.fiscal-chave{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--f-caption1,12px)!important;letter-spacing:.02em;overflow-wrap:anywhere}
.fiscal-botoes{display:flex;flex-wrap:wrap;gap:8px}
.fiscal-botao{flex:1 1 150px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:0;border-radius:var(--r-ctl,12px);background:var(--fill,rgba(120,120,128,.12));color:var(--ink-blue,#1b5fbf);font:inherit;font-size:var(--f-subhead,15px);font-weight:600;cursor:pointer;text-align:center}
.fiscal-botao svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.fiscal-botao.primario{background:var(--on-blue,#0062BD);color:#fff}
.fiscal-botao.perigo{background:var(--sys-red,#FF383C);color:#fff;width:100%;margin-top:10px}
.fiscal-botao:disabled{opacity:.55;cursor:progress}
.fiscal-botao:not(:disabled):active{transform:scale(var(--apertado-escala,.97))}
.fiscal-botao:focus-visible,.fiscal-link:focus-visible,.fiscal-x:focus-visible,.fiscal-folha input:focus-visible,.fiscal-folha textarea:focus-visible,.fiscal-cancelar summary:focus-visible{outline:var(--foco-largura,3px) solid var(--foco-cor,#2F7CF6);outline-offset:2px}
.fiscal-link{min-height:44px;padding:0 4px;border:0;background:none;color:var(--ink-blue,#1b5fbf);font:inherit;font-size:var(--f-subhead,15px);font-weight:600;cursor:pointer;text-align:left}
.fiscal-msg{margin:0;padding:10px 12px;border-radius:var(--r-inner,10px);font-size:var(--f-subhead,15px);line-height:1.4;background:var(--fill,rgba(120,120,128,.12))}
.fiscal-msg.ok{background:color-mix(in srgb,var(--sys-green,#34C759) 15%,transparent);color:var(--ink-green,#1d7a3a)}
.fiscal-msg.erro{background:color-mix(in srgb,var(--sys-red,#FF383C) 13%,transparent);color:var(--ink-red,#b3261e)}
.fiscal-msg.aviso{background:color-mix(in srgb,var(--sys-orange,#FF8D28) 15%,transparent);color:var(--ink-orange,#a65300)}
.fiscal-msg .fiscal-link{min-height:32px;color:inherit;text-decoration:underline}
.fiscal-envio{display:flex;flex-direction:column;gap:10px;padding-top:4px;border-top:1px solid var(--sep,rgba(60,60,67,.18))}
.fiscal-envio h3{margin:10px 0 0;font-size:var(--f-headline,17px)}
.fiscal-linha{display:flex;flex-direction:column;gap:6px}
.fiscal-rotulo{font-size:var(--f-footnote,13px);font-weight:600;color:var(--label2,#6B5A4C)}
.fiscal-campo{display:flex;gap:8px;min-width:0}
.fiscal-campo input,.fiscal-url,.fiscal-cancelar textarea{flex:1 1 auto;min-width:0;min-height:44px;box-sizing:border-box;padding:10px 12px;border:0;border-radius:var(--r-ctl,12px);background:var(--surface,#fff);color:var(--label,#3A2A1E);font:inherit;font-size:max(16px,calc(16px * var(--dt,1)));box-shadow:inset 0 0 0 1px var(--sep,rgba(60,60,67,.18))}
.fiscal-url{display:flex;align-items:center;font-size:var(--f-footnote,13px);overflow-wrap:anywhere;user-select:all;-webkit-user-select:all}
.fiscal-campo .fiscal-botao{flex:0 0 auto}
.fiscal-cancelar{border-top:1px solid var(--sep,rgba(60,60,67,.18));padding-top:4px}
.fiscal-cancelar summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--ink-red,#b3261e);font-weight:600;font-size:var(--f-subhead,15px)}
.fiscal-cancelar textarea{width:100%;display:block;resize:vertical;margin-top:6px}
.fiscal-ficha-linha{margin:0 0 8px;font-size:var(--f-subhead,15px)}
.rel-fiscal .fiscal-botao{flex:0 1 auto}
/* 1.70.1: bloco do cupom na ficha das Negociações, com o mesmo título das outras seções */
.neg-secao.rel-fiscal h3{margin:0 0 10px;font-size:calc(13px * var(--dt,1));font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--label2,#6B5A4C)}
.fiscal-escolha{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.fiscal-escolha .fiscal-botao{flex:0 1 auto;min-height:44px}
@media (max-width:640px){
  .fiscal-fundo{align-items:flex-end;padding:0}
  /* 1.72.0 (auditoria de design 1720): as alturas das folhas do sistema (web/folha.css) e a alça */
  .fiscal-folha{width:100%;max-height:var(--folha-grande,92dvh);min-height:var(--folha-media,50dvh);box-sizing:border-box;border-radius:var(--r-sheet,20px) var(--r-sheet,20px) 0 0;padding-bottom:var(--folha-base,calc(18px + env(safe-area-inset-bottom,0px)))}
  .fiscal-folha::before{content:"";display:block;width:36px;height:5px;border-radius:3px;background:var(--folha-alca,rgba(60,60,67,.3));margin:4px auto 0}
  .fiscal-campo .fiscal-botao{padding:10px 12px}
}
@media (prefers-reduced-motion:reduce){.fiscal-btn:active,.fiscal-botao:not(:disabled):active{transform:none}}
@media (prefers-reduced-transparency:reduce){.fiscal-folha{background:var(--surface,#fff);-webkit-backdrop-filter:none;backdrop-filter:none}}

/* ------------------------------------------------------------ Configurações > Fiscal */
.fiscal-cfg .settings-unit{margin:0 auto 18px}
.fiscal-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.fiscal-grade.quatro{grid-template-columns:repeat(3,minmax(0,1fr))}
.fiscal-campo-cfg.largo{grid-column:1/-1}
.fiscal-campo-cfg select{width:100%;min-width:0;min-height:48px;box-sizing:border-box;padding:12px 14px;background:var(--settings-well,var(--surface,#fff));border:0;border-radius:13px;box-shadow:0 2px 9px rgba(44,31,23,.055);font:inherit;font-size:calc(16px * var(--dt,1));color:var(--text,var(--label))}
.fiscal-dica{margin:6px 0 0;font-size:var(--f-footnote,13px);color:var(--settings-muted,var(--label2));line-height:1.4}
.fiscal-chave-cfg{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:8px 0;cursor:pointer}
.fiscal-chave-cfg input{position:absolute;opacity:0;width:1px;height:1px}
.fiscal-chave-cfg .fiscal-trilho{flex:none;position:relative;width:51px;height:31px;border-radius:16px;background:var(--fill2,rgba(120,120,128,.24));transition:background .2s}
.fiscal-chave-cfg .fiscal-trilho::after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.18);transition:transform .2s}
.fiscal-chave-cfg input:checked+.fiscal-trilho{background:var(--sys-green,#34C759)}
.fiscal-chave-cfg input:checked+.fiscal-trilho::after{transform:translateX(20px)}
.fiscal-chave-cfg input:focus-visible+.fiscal-trilho{outline:var(--foco-largura,3px) solid var(--foco-cor,#2F7CF6);outline-offset:2px}
.fiscal-chave-cfg b{display:block;font-size:calc(15px * var(--dt,1));font-weight:600}
.fiscal-chave-cfg small{display:block;margin-top:2px;font-size:var(--f-footnote,13px);color:var(--settings-muted,var(--label2));line-height:1.4}
.fiscal-chips{display:flex;flex-wrap:wrap;gap:8px}
.fiscal-chip{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border-radius:var(--r-pill,999px);background:var(--fill,rgba(120,120,128,.12));font-size:var(--f-footnote,13px);font-weight:600}
.fiscal-chip.ok{background:color-mix(in srgb,var(--sys-green,#34C759) 16%,transparent);color:var(--ink-green,#1d7a3a)}
.fiscal-chip.pend{background:color-mix(in srgb,var(--sys-orange,#FF8D28) 18%,transparent);color:var(--ink-orange,#a65300)}
.fiscal-chip.prod{background:color-mix(in srgb,var(--sys-red,#FF383C) 14%,transparent);color:var(--ink-red,#b3261e)}
.fiscal-chip.homol{background:color-mix(in srgb,var(--sys-indigo,#5856D6) 13%,transparent);color:var(--ink-indigo,#3634a3)}
.fiscal-pend{margin:12px 0 0;padding-left:18px;font-size:calc(14px * var(--dt,1));color:var(--ink-orange,#a65300)}
.fiscal-cfg .acts{margin-top:14px}
.fiscal-cfg .btn{min-height:44px}
.fiscal-h2{margin-top:26px!important}
.fiscal-h3{margin:18px 0 10px;font-size:var(--f-headline,17px);font-weight:650}
.fiscal-contador b{color:var(--ink-orange,#a65300)}
.fiscal-itens summary,.fiscal-cancelar summary{list-style:none}
.fiscal-itens summary::-webkit-details-marker,.fiscal-cancelar summary::-webkit-details-marker{display:none}
.fiscal-itens summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;font-size:calc(15px * var(--dt,1))}
.fiscal-itens summary::before,.fiscal-cancelar summary::before{content:"\203A";display:inline-block;width:14px;font-size:calc(20px * var(--dt,1));line-height:1;transition:transform .2s}
.fiscal-itens[open]>summary::before,.fiscal-cancelar[open]>summary::before{transform:rotate(90deg)}
.fiscal-rotulo-cfg{display:block;font-size:calc(14px * var(--dt,1));font-weight:600;margin-bottom:9px;line-height:1.45}
.fiscal-arquivo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:48px}
.fiscal-arquivo input{position:absolute;width:1px;height:1px;opacity:0}
.fiscal-arquivo .btn{display:inline-flex;align-items:center;min-height:44px;cursor:pointer}
.fiscal-arquivo input:focus-visible+.btn{outline:var(--foco-largura,3px) solid var(--foco-cor,#2F7CF6);outline-offset:2px}
.fiscal-arquivo span{font-size:calc(14px * var(--dt,1));color:var(--settings-muted,var(--label2));overflow-wrap:anywhere;min-width:0}
.fiscal-tabela{display:flex;flex-direction:column;gap:6px}
.fiscal-item{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:0 12px;align-items:end;border-top:1px solid var(--sep,rgba(60,60,67,.14));padding-top:8px}
.fiscal-item>span{align-self:center;font-size:calc(14px * var(--dt,1));font-weight:600;overflow-wrap:anywhere}
.fiscal-item .settings-field{margin-bottom:8px}
.fiscal-salvar{position:sticky;bottom:8px;z-index:2;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin:0 0 18px;padding:12px 16px;border-radius:var(--r-card,18px);background:var(--glass-bg,rgba(255,255,255,.9));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 6px 20px rgba(40,25,12,.12)}
body.dark .fiscal-salvar{background:rgba(34,32,30,.94)}
.fiscal-salvar .settings-note{margin:0;margin-right:auto}
.fiscal-salvar .fiscal-msg{flex-basis:100%}
.fiscal-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.fiscal-lista li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--sep,rgba(60,60,67,.14));font-size:calc(14px * var(--dt,1))}
.fiscal-lista small{display:block;color:var(--settings-muted,var(--label2));margin-top:2px}
@media (max-width:760px){.fiscal-grade,.fiscal-grade.quatro{grid-template-columns:minmax(0,1fr)}.fiscal-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fiscal-item>span{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){.fiscal-chave-cfg .fiscal-trilho,.fiscal-chave-cfg .fiscal-trilho::after,.fiscal-itens summary::before,.fiscal-cancelar summary::before{transition:none}}

/* 1.70.2: chave de ligar do WhatsApp da loja (Configurações > Fiscal) */
.fiscal-chave-linha{display:flex;align-items:center;gap:10px;min-height:44px;margin:6px 0;font-weight:600;cursor:pointer}
.fiscal-chave-linha input{width:22px;height:22px;accent-color:var(--sys-blue,#0088FF)}
