/* tema-m3.css — visual MATERIAL 3 (Google) com as cores da LOGO DA N3 (pedido dela, 09/10/2026).
   Fica POR CIMA do estilo de sempre do tela.html: so muda a aparencia (cores, letras, cantos,
   sombras, icones). Nenhuma tela muda de lugar nem de funcionamento; tirar a linha <link> do
   tela.html volta tudo como era.
   Cores medidas na logo: verde do biodegradavel #0cb04b (o "n") = semente e destaque; verde
   escuro #00793e (o "3") = cor principal (botoes, textos ativos); cinza #6c6e71 ("quimica") =
   fundos e textos neutros. Os tons intermediarios foram calculados com a biblioteca de cores do
   Google (material-color-utilities, esquema "content"), como o Material 3 manda.
   Pedaco 1: topo, menus de cima, migalha, abas, menu da esquerda, painel da direita, Inicio,
   aviso de rodape e "processando". As outras telas ganham as cores e as letras; o resto delas
   vem nos proximos pedacos. */
:root{
  --md-primary:#00793e; --md-on-primary:#ffffff;
  --md-primary-container:#0cb04b; --md-on-primary-container:#003a13;
  --md-secondary-container:#d7efd4; --md-on-secondary-container:#003913;
  --md-tertiary:#005cbb; --md-tertiary-container:#d7e3ff; --md-on-tertiary-container:#001b3f;
  --md-error:#ba1a1a; --md-error-container:#ffdad6; --md-on-error-container:#93000a;
  --md-aviso:#8c5800; --md-aviso-container:#ffe4c3; --md-on-aviso-container:#2e1500;
  --md-surface:#f8f9fc; --md-on-surface:#191c1e; --md-on-surface-variant:#43474c;
  --md-surface-container-lowest:#ffffff; --md-surface-container-low:#f3f3f7; --md-surface-container:#edeef1;
  --md-surface-container-high:#e7e8eb; --md-surface-container-highest:#e1e2e6;
  --md-outline:#73777c; --md-outline-variant:#c3c7cc;
  --md-inverse-surface:#2e3133; --md-inverse-on-surface:#f0f0f4; --md-inverse-primary:#55e074;
  --md-elev-1:0 1px 2px rgba(0,0,0,.30),0 1px 3px 1px rgba(0,0,0,.15);
  --md-elev-2:0 1px 2px rgba(0,0,0,.30),0 2px 6px 2px rgba(0,0,0,.15);
  --md-elev-3:0 1px 3px rgba(0,0,0,.30),0 4px 8px 3px rgba(0,0,0,.15);
  --md-fonte:'Roboto','Segoe UI',system-ui,sans-serif;
  /* as cores de sempre do ERP passam a vir do tema: todas as telas acompanham */
  --verde:var(--md-primary); --verde-esc:#00531f; --verde-claro:var(--md-secondary-container); --verde-palido:#9ad59c;
  --tinta:var(--md-on-surface); --cinza:var(--md-outline); --borda:#dfe3e8; --fundo:var(--md-surface); --carta:#ffffff;
  --verm:var(--md-error); --verm-claro:#ffedea; --ambar:var(--md-aviso); --ambar-claro:#ffeedc; --azul:var(--md-tertiary);
}

/* ---------- base: letra Roboto e icones do Google (Material Symbols) SO EM CONTORNO (outline, pedido dela) ---------- */
body{font-family:var(--md-fonte);letter-spacing:.1px;-webkit-font-smoothing:antialiased}
.msr{font-family:'Material Symbols Outlined';font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;
  text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;font-feature-settings:'liga';
  font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;vertical-align:middle;user-select:none;flex:none}
::-webkit-scrollbar-thumb{background:var(--md-outline-variant)}
.cartao{border-radius:12px}

/* ---------- topo (barra de aplicativo do Material 3) ---------- */
header{background:var(--md-surface);border-bottom:1px solid transparent;padding:8px 16px;min-height:64px;gap:8px 4px;
  transition:background-color .2s,border-color .2s}
header.rolou{background:var(--md-surface-container);border-bottom-color:var(--md-outline-variant)}
header h1.marcaErp{display:flex;align-items:center;gap:10px;margin:0 4px 0 0;padding:4px 12px 4px 4px;border-radius:999px;
  font:500 20px/28px var(--md-fonte);letter-spacing:0;color:var(--md-on-surface);cursor:pointer;white-space:nowrap}
header h1.marcaErp:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}
header h1.marcaErp small{font-weight:400;color:var(--md-on-surface-variant)}
#logoTopo{height:34px;width:auto;display:block}

/* menus de cima: botoes de texto; o da area atual fica marcado */
#menusTopo{gap:2px}
#menusTopo>.menuT>button{display:inline-flex;align-items:center;gap:0;height:40px;padding:0 2px 0 10px;border-radius:999px;
  font:500 14px/20px var(--md-fonte);letter-spacing:.1px;color:var(--md-on-surface-variant)}
#menusTopo>.menuT>button:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent);color:var(--md-on-surface)}
#menusTopo>.menuT.open>button{background:color-mix(in srgb,var(--md-on-surface) 12%,transparent);color:var(--md-on-surface)}
#menusTopo>.menuT.atual>button{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}
#menusTopo>.menuT>button .seta{font-size:18px;transition:transform .2s}
#menusTopo>.menuT.open>button .seta{transform:rotate(180deg)}
/* a lista que abre (menu do Material 3) */
#menusTopo .drop{top:calc(100% + 4px);background:var(--md-surface-container);border:0;border-radius:8px;box-shadow:var(--md-elev-2);
  padding:8px 0;min-width:310px}
#menusTopo .drop h5{margin:6px 16px 4px;padding:0;border:0;font:500 12px/16px var(--md-fonte);letter-spacing:.5px;
  text-transform:none;color:var(--md-primary)}
#menusTopo .drop h5:not(:first-child){margin-top:8px;padding-top:12px;border-top:1px solid var(--md-outline-variant)}
#menusTopo .drop .mitem{display:flex;align-items:center;gap:14px;min-height:48px;padding:8px 20px 8px 14px;border-radius:0;
  font:500 14px/20px var(--md-fonte);letter-spacing:.1px;color:var(--md-on-surface)}
#menusTopo .drop .mitem:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}
#menusTopo .drop .mitem>.msr{font-size:24px;color:var(--md-on-surface-variant)}
#menusTopo .drop .mitem:hover>.msr{color:var(--md-primary)}
#menusTopo .drop .mtx{display:flex;flex-direction:column}
#menusTopo .drop .mtx small{font:400 12px/16px var(--md-fonte);letter-spacing:.4px;color:var(--md-on-surface-variant)}

/* empresa N3 / N2: botao segmentado do Material 3 */
header .seg{height:40px;border:1px solid var(--md-outline);border-radius:999px;overflow:hidden}
header .seg button{display:inline-flex;align-items:center;gap:6px;padding:0 12px;font:500 14px/20px var(--md-fonte);letter-spacing:.1px;
  color:var(--md-on-surface);background:transparent}
header .seg button+button{border-left:1px solid var(--md-outline)}
header .seg button:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}
header .seg button.ativa{background:var(--md-secondary-container);color:var(--md-on-secondary-container);padding-left:8px}
header .seg button.ativa::before{content:'check';font-family:'Material Symbols Outlined';font-size:18px;line-height:1;font-feature-settings:'liga';
  font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}
header .seg button.ativa:hover{background:color-mix(in srgb,var(--md-on-secondary-container) 8%,var(--md-secondary-container))}
/* banco e progresso da conciliacao */
header select{height:40px;padding:0 12px;border:1px solid var(--md-outline);border-radius:4px;background:transparent;
  font:400 14px/20px var(--md-fonte);color:var(--md-on-surface)}
header select:hover{border-color:var(--md-on-surface)}
header select:focus{outline:2px solid var(--md-primary);outline-offset:-2px;border-color:var(--md-primary)}
#progresso{font:400 12px/16px var(--md-fonte);letter-spacing:.4px;color:var(--md-on-surface-variant)}
#barra{width:160px;height:4px;background:var(--md-secondary-container);border-radius:999px}
#barra i{background:var(--md-primary);border-radius:999px}

/* ---------- migalha (pulo entre as areas) ---------- */
#migalhas{margin:12px auto -2px;font:400 14px/20px var(--md-fonte);color:var(--md-on-surface-variant)}
#migalhas a{color:var(--md-primary);text-decoration:none;border-radius:4px;padding:2px 4px}
#migalhas a:hover{background:color-mix(in srgb,var(--md-primary) 8%,transparent)}
#migalhas b{font:500 16px/24px var(--md-fonte);color:var(--md-on-surface)}

/* ---------- abas (abas principais do Material 3; o risco e o verde do biodegradavel) ---------- */
#abasVisao{gap:0;border-bottom:1px solid var(--md-outline-variant);background:var(--md-surface);padding-top:4px;margin-bottom:16px}
#abasVisao button{position:relative;height:48px;padding:0 12px;margin:0;border:0;border-radius:0;background:none;
  font:500 14px/20px var(--md-fonte);letter-spacing:.1px;color:var(--md-on-surface-variant)}
#abasVisao button:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent);color:var(--md-on-surface)}
#abasVisao button.ativa{color:var(--md-primary)}
#abasVisao button.ativa::after{content:'';position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;
  background:var(--md-primary-container)}

/* ---------- menu da esquerda (gaveta de navegacao do Material 3) ---------- */
#menuVert.cartao{background:var(--md-surface-container-low);border:0;border-radius:16px;padding:8px}
#menuVert .mvTit{margin:6px 12px 6px;font:500 14px/20px var(--md-fonte);letter-spacing:.1px;color:var(--md-on-surface-variant)}
#menuVert .vitem{display:flex;align-items:center;gap:10px;height:44px;padding:0 12px;border-radius:999px;
  font:500 14px/20px var(--md-fonte);letter-spacing:.1px;color:var(--md-on-surface-variant)}
#menuVert .vitem .msr{font-size:20px}
#menuVert .vitem:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent);color:var(--md-on-surface)}
#menuVert .vitem.on{background:var(--md-secondary-container);color:var(--md-on-secondary-container);font-weight:600}
#menuVert .vitem.on .msr{color:var(--md-primary)}

/* ---------- painel da direita ---------- */
#info.cartao{background:var(--md-surface-container-low);border:0;border-radius:16px;padding:6px 16px;font:400 14px/20px var(--md-fonte)}
#info .bloco{border-bottom:1px solid var(--md-outline-variant);padding:12px 0}
#info .lbl{font:400 12px/16px var(--md-fonte);letter-spacing:.4px;color:var(--md-on-surface-variant)}
#info .lbl.tit{display:flex;align-items:center;gap:6px;margin-bottom:6px;font:500 14px/20px var(--md-fonte);letter-spacing:.1px;color:var(--md-on-surface)}
#info .lbl.tit .msr{font-size:20px;color:var(--md-on-surface-variant)}
#info .num{font:500 22px/28px var(--md-fonte);letter-spacing:0}
#info .num.vd,#info b.vd{color:var(--md-primary)}
#info .num.vm,#info b.vm{color:var(--md-error)}
#info b.va{color:var(--md-aviso)}
#info .linklet{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;margin:0 -12px;width:calc(100% + 24px);
  border-radius:999px;font:500 14px/20px var(--md-fonte);letter-spacing:.1px;color:var(--md-primary);text-decoration:none}
#info .linklet:hover{background:color-mix(in srgb,var(--md-primary) 8%,transparent);text-decoration:none}
#info .linklet .msr{font-size:20px}
#info .mini:not(.vd){height:32px;padding:0 14px;border:0;border-radius:999px;background:var(--md-secondary-container);
  color:var(--md-on-secondary-container);font:500 13px/20px var(--md-fonte);letter-spacing:.1px}
#info .mini:not(.vd):hover{background:color-mix(in srgb,var(--md-on-secondary-container) 8%,var(--md-secondary-container))}
#info .sis>div{padding:3px 0}
#info .dica{font:400 12px/16px var(--md-fonte);letter-spacing:.4px;color:var(--md-on-surface-variant);margin-top:2px}
#info .erroTxt{font-size:12px;line-height:16px;color:var(--md-error)}
/* avisos: os urgentes ganham fundo da cor do aviso */
#info .avisoItem{display:flex;gap:8px;align-items:flex-start;width:calc(100% + 16px);margin:2px -8px;padding:8px;border:0;border-radius:8px;
  background:none;text-align:left;font:400 13px/18px var(--md-fonte);letter-spacing:.2px;color:var(--md-on-surface);cursor:pointer}
#info .avisoItem:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}
#info .avisoItem .msr{font-size:20px}
#info .avisoItem.aviso{background:var(--md-aviso-container);color:var(--md-on-aviso-container)}
#info .avisoItem.aviso .msr{color:var(--md-aviso)}
#info .avisoItem.erro{background:var(--md-error-container);color:var(--md-on-error-container)}
#info .avisoItem.erro .msr{color:var(--md-error)}
#info .avisoItem.info .msr{color:var(--md-tertiary)}
#info .avisoItem.aviso:hover,#info .avisoItem.erro:hover{filter:brightness(.97)}
#info .okTxt{display:flex;align-items:center;gap:6px;color:var(--md-primary);font-size:13px}
/* botao de recolher o painel */
#recolheInfo{width:32px;height:32px;left:-16px;border:0;background:var(--md-surface-container-lowest);box-shadow:var(--md-elev-1);
  color:var(--md-on-surface-variant);display:grid;place-items:center;font-size:20px}
#recolheInfo:hover{color:var(--md-primary);background:var(--md-surface-container-low)}

/* ---------- Inicio: cartoes do Material 3 ---------- */
.iniGrade{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.iniCard{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:148px;padding:16px;text-align:left;
  border:1px solid var(--md-outline-variant);border-radius:12px;background:var(--md-surface-container-lowest);color:var(--md-on-surface);
  font:inherit;cursor:pointer;transition:box-shadow .2s,border-color .2s,background-color .2s}
.iniCard:hover{box-shadow:var(--md-elev-1);border-color:transparent;background:color-mix(in srgb,var(--md-primary) 3%,var(--md-surface-container-lowest))}
.iniCard:focus-visible{outline:2px solid var(--md-primary);outline-offset:2px}
.iniIco{display:grid;place-items:center;width:44px;height:44px;margin-bottom:8px;border-radius:12px;
  border:1.5px solid var(--md-primary-container);background:transparent;color:var(--md-primary);transition:background-color .2s}
.iniCard:hover .iniIco{background:color-mix(in srgb,var(--md-primary-container) 12%,transparent)}
.iniIco .msr{font-size:24px}
.iniTit{font:500 16px/24px var(--md-fonte);letter-spacing:.15px}
.iniTxt{font:400 14px/20px var(--md-fonte);letter-spacing:.25px;color:var(--md-on-surface-variant)}
.iniTxt b{color:var(--md-on-surface);font-weight:600}
.iniNota{display:flex;align-items:center;gap:8px;margin-top:16px;font:400 13px/18px var(--md-fonte);color:var(--md-on-surface-variant)}
.iniNota .msr{color:var(--md-primary-container)}

/* ---------- aviso de rodape (snackbar) e "processando" ---------- */
/* (17/10) o aviso virou popover (fica na frente do dialogo aberto): tira o "centro da tela" e a borda que o navegador poe */
#aviso{top:auto;right:auto;margin:0;border:0;overflow:visible}
#aviso{background:var(--md-inverse-surface);color:var(--md-inverse-on-surface);border-radius:4px;padding:14px 16px;
  font:400 14px/20px var(--md-fonte);letter-spacing:.25px;box-shadow:var(--md-elev-3);min-width:288px;max-width:min(560px,calc(100vw - 32px))}
#carregando{background:color-mix(in srgb,var(--md-surface) 86%,transparent);color:var(--md-on-surface);font:500 16px/24px var(--md-fonte)}
#carregando>div::before{content:'';display:block;width:40px;height:40px;margin:0 auto 14px;border-radius:50%;
  border:4px solid var(--md-secondary-container);border-top-color:var(--md-primary);animation:m3gira 1s linear infinite}
@keyframes m3gira{to{transform:rotate(360deg)}}

/* ================= RESPONSIVO (09/10) =================
   1400px ou mais: tudo aberto · abaixo de 1400: empresa so "N3 | N2" ·
   abaixo de 1100 (tablet e celular): os menus de cima vao para uma gaveta (botao de menu no topo), o
   menu da esquerda vira uma fileira de botoes que rola de lado e o painel da direita desce ·
   abaixo de 840: a barrinha de progresso da conciliacao some (os numeros estao no painel) ·
   abaixo de 600 (celular): cartoes do Inicio compactos, um por linha.
   Em qualquer largura as abas rolam de lado em vez de quebrar linha. */
header{top:var(--faixaH,0px)}
#ladoFiltro{top:calc(var(--faixaH,0px) + var(--hdrH,64px) + 12px)}  /* so o menu da esquerda gruda; o painel da direita fica como sempre */
#abasVisao{top:calc(var(--faixaH,0px) + var(--hdrH,64px));flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
#abasVisao::-webkit-scrollbar{display:none}
#abasVisao button{flex:none;white-space:nowrap}
.segNome{pointer-events:none}
#btnNav,#menusTopo .navInicio{display:none}
/* os dois ultimos menus abrem para a esquerda (nao passam da borda da tela) */
#menusTopo>.menuT:nth-last-child(-n+2) .drop{left:auto;right:0}

@media (max-width:1399px){
  .segNome{display:none}
}
@media (max-width:1099px){
  header{padding:8px 12px;gap:8px}
  header h1.marcaErp{margin-right:auto}
  #btnNav{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:999px;background:none;
    color:var(--md-on-surface-variant);font-size:24px;cursor:pointer}
  #btnNav:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}
  /* gaveta de navegacao do Material 3 */
  #menusTopo{position:fixed;top:var(--faixaH,0px);left:0;bottom:0;z-index:80;display:block;width:min(320px,86vw);overflow-y:auto;
    padding:12px 12px 24px;background:var(--md-surface-container-low);border-radius:0 16px 16px 0;box-shadow:var(--md-elev-3);
    transform:translateX(-105%);visibility:hidden;transition:transform .25s ease,visibility .25s}
  body.navAberta #menusTopo{transform:none;visibility:visible}
  #navScrim{position:fixed;inset:0;z-index:79;background:rgba(0,0,0,.32);opacity:0;pointer-events:none;transition:opacity .25s}
  body.navAberta #navScrim{opacity:1;pointer-events:auto}
  #menusTopo .navInicio{display:flex;align-items:center;gap:14px;width:100%;height:48px;margin:0 0 4px;padding:0 16px;border:0;
    border-radius:999px;background:none;font:500 14px/20px var(--md-fonte);color:var(--md-on-surface);cursor:pointer;text-align:left}
  #menusTopo .navInicio:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}
  #menusTopo .navInicio .msr{font-size:24px;color:var(--md-on-surface-variant)}
  #menusTopo>.menuT{display:block}
  #menusTopo>.menuT>button{width:100%;justify-content:space-between;height:48px;padding:0 12px 0 16px}
  #menusTopo .drop{position:static;display:none;min-width:0;padding:0 0 8px;background:none;box-shadow:none;border-radius:0}
  #menusTopo>.menuT.open .drop{display:block}
  #menusTopo .drop h5:first-child{display:none}
  #menusTopo .drop .mitem{min-height:44px;padding:6px 16px 6px 24px;border-radius:999px}
  /* a gaveta do celular fica igual ao menu lateral do computador: area com icone, grupos recuados */
  #menusTopo>.menuT>button{justify-content:flex-start;gap:12px}
  #menusTopo>.menuT>button::before{content:attr(data-ico);font-family:'Material Symbols Outlined';font-size:22px;line-height:1;font-weight:400;
    letter-spacing:normal;font-feature-settings:'liga';font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}
  #menusTopo>.menuT>button .seta{margin-left:auto}
  #menusTopo>.menuT.atual>button::before{color:var(--md-primary)}
  #menusTopo .drop .mitem{padding-left:52px}
  #menusTopo .drop .mitem>.msr{display:none}
  #menusTopo .drop h5:not(:first-child){margin-left:52px}
  #menusTopo .navInicio.on{background:var(--md-secondary-container);color:var(--md-on-secondary-container);font-weight:600}
  #menusTopo>.menuT.atual>button{background:none;color:var(--md-on-surface);font-weight:600}
  #menusTopo .drop .mitem.on{background:var(--md-secondary-container);color:var(--md-on-secondary-container);font-weight:600}
  /* menu da esquerda: fileira de botoes (chips) que rola de lado */
  #menuVert.cartao{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;background:none;border-radius:0;scrollbar-width:none}
  #menuVert::-webkit-scrollbar{display:none}
  #menuVert .mvTit{display:none}
  #menuVert .vitem{flex:none;width:auto;height:36px;padding:0 14px 0 10px;gap:8px;border:1px solid var(--md-outline-variant);border-radius:8px;
    background:var(--md-surface);white-space:nowrap}
  #menuVert .vitem.on{border-color:transparent}
  #menuVert .vitem .msr{font-size:18px}
  #recolheInfo{display:none}
}
@media (max-width:839px){
  #progresso{display:none!important}
  #migalhas{white-space:nowrap;overflow-x:auto;scrollbar-width:none}
  #migalhas::-webkit-scrollbar{display:none}
}
@media (max-width:599px){
  header select{max-width:150px}
  #faixaTeste{font-size:11.5px!important;line-height:15px;padding:4px 8px!important}
  .iniGrade{grid-template-columns:minmax(0,1fr);gap:8px}
  .iniCard{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;row-gap:2px;align-items:center;min-height:0;padding:12px 14px}
  .iniIco{grid-row:1 / span 2;width:40px;height:40px;margin:0}
  .iniTit{font-size:15px;line-height:22px}
  .iniTxt{font-size:13px;line-height:18px}
}

/* ================= MENU LATERAL (09/10, pedido dela: "menu lateral esquerda com opcao de menu hamburguer") =================
   No computador (1100px ou mais) as areas ficam num menu fixo na esquerda (gaveta de navegacao do Material 3):
   Inicio, Cadastros, Financeiro, Comercial, Fabrica, Fiscal, Relatorios e Ferramentas, cada uma com icone. A area
   da tela atual mostra os grupos dela, e o grupo atual fica marcado. O botao de menu do topo recolhe tudo numa faixa
   so de icones: tocar no icone abre os grupos ao lado. No celular e no tablet, o mesmo menu e a gaveta de antes. */
:root{--navW:248px}
@media (min-width:1100px){
  body.navRecolhido{--navW:80px}
  #btnNav{display:grid;place-items:center;width:40px;height:40px;padding:0;margin-right:2px;border:0;border-radius:999px;background:none;
    color:var(--md-on-surface-variant);font-size:24px;cursor:pointer}
  #btnNav:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}
  header h1.marcaErp{margin-right:auto}
  #menusTopo{position:fixed;top:calc(var(--faixaH,0px) + var(--hdrH,64px));left:0;bottom:0;z-index:18;width:var(--navW);display:block;
    overflow-y:auto;overflow-x:hidden;padding:8px 10px 24px;background:var(--md-surface);border-right:1px solid var(--md-outline-variant);
    scrollbar-width:thin}
  #menusTopo .navInicio,#menusTopo>.menuT>button{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;height:44px;
    margin:0 0 2px;padding:0 10px 0 14px;border:0;border-radius:999px;background:none;text-align:left;cursor:pointer;
    font:500 14px/20px var(--md-fonte);letter-spacing:.1px;color:var(--md-on-surface-variant)}
  #menusTopo>.menuT>button::before{content:attr(data-ico);font-family:'Material Symbols Outlined';font-size:22px;line-height:1;font-weight:400;
    letter-spacing:normal;font-feature-settings:'liga';font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}
  #menusTopo .navInicio .msr{font-size:22px;color:inherit}
  #menusTopo .navInicio:hover,#menusTopo>.menuT>button:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent);color:var(--md-on-surface)}
  #menusTopo .navInicio.on{background:var(--md-secondary-container);color:var(--md-on-secondary-container);font-weight:600}
  #menusTopo .navInicio.on .msr{color:var(--md-primary)}
  #menusTopo>.menuT{display:block;position:relative}
  #menusTopo>.menuT.open>button,#menusTopo>.menuT.atual>button{background:none}
  #menusTopo>.menuT.atual>button{color:var(--md-on-surface);font-weight:600}
  #menusTopo>.menuT.atual>button::before{color:var(--md-primary)}
  #menusTopo>.menuT>button .seta{margin-left:auto;font-size:20px}
  #menusTopo .drop{position:static;display:none;min-width:0;padding:0 0 6px;background:none;box-shadow:none;border-radius:0}
  #menusTopo>.menuT.open .drop{display:block}
  #menusTopo .drop h5:first-child{display:none}
  #menusTopo .drop h5:not(:first-child){margin:6px 12px 2px 50px;padding:8px 0 0;border-top:1px solid var(--md-outline-variant)}
  #menusTopo .drop .mitem{min-height:38px;padding:6px 12px 6px 50px;border-radius:999px;font:500 13.5px/18px var(--md-fonte);color:var(--md-on-surface-variant)}
  #menusTopo .drop .mitem>.msr{display:none}
  #menusTopo .drop .mitem:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent);color:var(--md-on-surface)}
  #menusTopo .drop .mitem.on{background:var(--md-secondary-container);color:var(--md-on-secondary-container);font-weight:600}
  #menusTopo .drop .mtx small{display:none}
  /* o conteudo fica ao lado do menu; o menu de grupos da esquerda nao precisa mais aparecer (os grupos estao no menu) */
  #migalhas{margin:12px 0 -2px var(--navW)!important;max-width:none!important}
  .page{margin:16px 0 16px var(--navW)!important;max-width:none!important}
  .page,.page.semFiltro{grid-template-columns:minmax(0,1fr) 250px!important}
  .page.semInfo,.page.semFiltro.semInfo{grid-template-columns:minmax(0,1fr) 30px!important}
  #ladoFiltro{display:none!important}
  /* recolhido: so os icones; tocar no icone abre os grupos ao lado */
  body.navRecolhido #menusTopo{overflow:visible;padding:8px 8px 24px}
  body.navRecolhido #menusTopo .navInicio,body.navRecolhido #menusTopo>.menuT>button{width:56px;height:48px;margin:0 auto 4px;padding:0;
    justify-content:center;gap:0;font-size:0}
  body.navRecolhido #menusTopo .navInicio .mtx,body.navRecolhido #menusTopo>.menuT>button .seta{display:none}
  body.navRecolhido #menusTopo .navInicio .msr,body.navRecolhido #menusTopo>.menuT>button::before{font-size:24px}
  body.navRecolhido #menusTopo>.menuT.atual>button{background:var(--md-secondary-container)}
  body.navRecolhido #menusTopo>.menuT .drop{position:absolute;left:calc(100% + 8px);right:auto;top:0;z-index:30;min-width:240px;padding:8px 0;
    background:var(--md-surface-container);box-shadow:var(--md-elev-2);border-radius:12px}
  body.navRecolhido #menusTopo .drop h5:first-child{display:block;margin:4px 16px 6px;padding:0;border:0;font:500 12px/16px var(--md-fonte);color:var(--md-primary)}
  body.navRecolhido #menusTopo .drop h5:not(:first-child){margin:6px 16px 2px}
  body.navRecolhido #menusTopo .drop .mitem{display:flex;gap:12px;padding:8px 16px;border-radius:0}
  body.navRecolhido #menusTopo .drop .mitem>.msr{display:inline-block;font-size:20px}
}

/* ===================== O QUE FALTA (09/10) =====================
   campo marcado (vermelho = obrigatorio, amarelo = so avisa), o texto embaixo dele e o
   resumo logo acima dos botoes do dialogo — cores de erro e de aviso do Material 3 */
input.falta,select.falta,textarea.falta{border-color:var(--md-error)!important;box-shadow:inset 0 0 0 1px var(--md-error)!important}
input.faltaAviso,select.faltaAviso,textarea.faltaAviso{border-color:var(--md-aviso)!important;box-shadow:inset 0 0 0 1px var(--md-aviso)!important}
/* com o cursor no campo, a cor do erro continua (Material 3: o campo com erro nao vira preto no foco) */
input.falta:focus,select.falta:focus,textarea.falta:focus{outline:2px solid var(--md-error);outline-offset:-2px}
input.faltaAviso:focus,select.faltaAviso:focus,textarea.faltaAviso:focus{outline:2px solid var(--md-aviso);outline-offset:-2px}
div.falta,tbody.falta,table.falta{outline:2px solid var(--md-error);outline-offset:4px;border-radius:8px}
div.faltaAviso,tbody.faltaAviso,table.faltaAviso{outline:2px solid var(--md-aviso);outline-offset:4px;border-radius:8px}
.faltaMsg{display:flex;gap:4px;align-items:flex-start;margin:4px 2px 2px;font-size:12px;line-height:16px;color:var(--md-error);font-weight:500}
.faltaMsg.aviso{color:var(--md-aviso)}
.faltaMsg .msr{font-size:16px;line-height:16px;flex:none}
.caixaFalta{margin:12px 0 0;display:flex;flex-direction:column;gap:8px;max-height:min(24vh,200px);overflow-y:auto}
/* com o resumo aberto, a area que rola do formulario encolhe: os botoes Salvar/Cancelar sempre cabem na tela */
dialog:has(.caixaFalta) form>div[style*="overflow-y:auto"]{max-height:min(44vh,420px)!important}
.cfBloco{display:flex;gap:10px;align-items:flex-start;border-radius:12px;padding:10px 14px;font-size:13px;line-height:18px}
.cfBloco.obr{background:var(--md-error-container);color:var(--md-on-error-container)}
.cfBloco.avi{background:var(--md-aviso-container);color:var(--md-on-aviso-container)}
.cfBloco>.msr{font-size:20px;line-height:20px;flex:none}
.cfBloco.obr>.msr{color:var(--md-error)}
.cfBloco.avi>.msr{color:var(--md-aviso)}
.cfBloco ul{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}
.cfBloco li a{font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer;color:inherit}
.cfBloco li a:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:2px}
.cfBloco small{display:block;margin-top:6px;opacity:.85}
.pillsProd button.temFalta::after,.pillsProd button.temAviso::after{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:6px;vertical-align:middle;background:var(--md-error)}
.pillsProd button.temAviso:not(.temFalta)::after{background:var(--md-aviso)}
.chkLinha{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-weight:400}
.chkLinha input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:var(--md-primary)}
.chkLinha small{display:block;color:var(--md-on-surface-variant);font-size:12px;line-height:16px;margin-top:2px}
.tag.tagVenda{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}
.tag.tagFora{background:var(--md-surface-container-high);color:var(--md-on-surface-variant)}

/* ===================== ⚙ CONFIGURAÇÕES (09/10) ===================== */
.cfgIntro{font-size:13px;line-height:19px;color:var(--md-on-surface-variant);margin:0 0 12px;max-width:72ch}
.cfgAviso{display:flex;gap:8px;align-items:center;background:var(--md-surface-container-high);color:var(--md-on-surface);border-radius:12px;padding:10px 14px;font-size:13px;margin:0 0 12px}
.cfgSec{background:var(--md-surface-container-lowest,#fff);border:1px solid var(--md-outline-variant);border-radius:16px;padding:6px 16px 10px;margin:0 0 14px}
.cfgSec h4{margin:10px 0 4px;font-size:14px;font-weight:600;color:var(--md-on-surface)}
.cfgLinha{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--md-outline-variant)}
.cfgSec h4+.cfgLinha,.cfgSec>.cfgLinha:first-child{border-top:0}
.cfgRot{min-width:0;font-size:13.5px;line-height:19px;color:var(--md-on-surface)}
.cfgRot small{display:block;font-size:12px;color:var(--md-on-surface-variant)}
.segCfg{display:inline-flex;flex:none;border:1px solid var(--md-outline);border-radius:999px;overflow:hidden}
.segCfg button{border:0;border-left:1px solid var(--md-outline);background:transparent;color:var(--md-on-surface);font:inherit;font-size:12.5px;font-weight:500;padding:6px 12px;min-height:32px;cursor:pointer;display:inline-flex;gap:4px;align-items:center;white-space:nowrap}
.segCfg button:first-child{border-left:0}
.segCfg button .msr{font-size:16px}
.segCfg button small{font-size:11px;opacity:.75;font-weight:400}
.segCfg button.on{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}
.segCfg button.on.obrig{background:var(--md-error-container);color:var(--md-on-error-container)}
.segCfg button.on.aviso{background:var(--md-aviso-container);color:var(--md-on-aviso-container)}
.segCfg button:disabled{cursor:default;opacity:.7}
.segCfg button:not(:disabled):not(.on):hover{background:var(--md-surface-container-high)}
.cfgFixos{display:flex;gap:6px;align-items:flex-start;font-size:12px;line-height:17px;color:var(--md-on-surface-variant);padding:8px 0 2px;border-top:1px solid var(--md-outline-variant)}
.cfgFixos .msr{font-size:16px;color:var(--md-primary)}
.tag.tagMudou{background:var(--md-tertiary-container);color:var(--md-on-tertiary-container);font-size:11px}
.chave{flex:none;width:52px;height:32px;border-radius:999px;border:2px solid var(--md-outline);background:var(--md-surface-container-highest);position:relative;cursor:pointer;padding:0;transition:background .15s}
.chave span{position:absolute;top:50%;left:6px;width:16px;height:16px;border-radius:50%;background:var(--md-outline);transform:translateY(-50%);transition:all .15s}
.chave.on{background:var(--md-primary);border-color:var(--md-primary)}
.chave.on span{left:24px;width:24px;height:24px;background:var(--md-on-primary,#fff)}
.chave:disabled{opacity:.55;cursor:default}
.cfgFora{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 6px}
.cfgFora span{background:var(--md-surface-container-high);border-radius:8px;padding:4px 10px;font-size:12.5px}
.cfgFora small{color:var(--md-on-surface-variant)}
@media (max-width:600px){
  .cfgLinha{flex-direction:column;align-items:stretch}
  .segCfg{align-self:flex-start;max-width:100%;overflow-x:auto}
}

/* ===================== SEM A LINHA DAS ÁREAS (09/10, pedido dela) =====================
   "esse menu superior acima dos clientes não precisa mais, pois é a mesma coisa que o menu lateral":
   a linha "… ▸ Início · Cadastros · Financeiro…" repetia as áreas do menu lateral (no celular, o ☰).
   As abas com as telas do grupo continuam. */
#migalhas{display:none!important}
/* no Inicio tambem nao tem a regua de abas (repetia as areas do menu lateral): o painel da direita, que
   desce 76px pra alinhar com o conteudo abaixo da regua, ali fica no alto junto com os cartoes */
body.semAbas #ladoInfo{top:0!important}
/* PERFIS DETALHADOS (10/10): o editor tela a tela */
.guBox{max-height:52vh;overflow:auto;border:1px solid var(--md-outline-variant);border-radius:12px}
.guBox.guAdm{opacity:.45;pointer-events:none}
.guArea{border-bottom:1px solid var(--md-outline-variant)}
.guArea:last-child{border-bottom:0}
.guArea>summary{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;font-size:14px;list-style:none}
.guArea>summary::-webkit-details-marker{display:none}
.guArea>summary::before{content:'▸';color:var(--md-on-surface-variant);transition:transform .15s}
.guArea[open]>summary::before{transform:rotate(90deg)}
.guConta{font-size:12px;color:var(--md-on-surface-variant)}
.guAtalhos{margin-left:auto;display:flex;gap:6px}
.guTab{width:100%;border-collapse:collapse;font-size:13px}
.guTab th{position:sticky;top:0;background:var(--md-surface-container-low,#f3f5f4);font-size:11px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--md-on-surface-variant);padding:6px 8px;text-align:center;z-index:1}
.guTab th:first-child{text-align:left;padding-left:30px}
.guTab td{padding:5px 8px;border-top:1px solid var(--md-outline-variant)}
.guTab .guC{text-align:center;width:86px}
.guTab .guC input{width:17px;height:17px;accent-color:var(--md-primary);cursor:pointer}
.guTab .guNome{padding-left:30px}
.guTab tr.guDesl .guNome{color:var(--md-on-surface-variant)}
.guTab .guGrupo td{background:var(--md-surface-container-lowest,#fff);font-weight:800;font-size:12px;color:var(--md-primary);padding:8px 14px 4px;border-top:1px solid var(--md-outline-variant)}
.guTab .guFunRow td{border-top:0;padding:0 8px 8px 46px}
.guFun{display:inline-flex;gap:6px;align-items:center;margin:2px 18px 2px 0;font-size:12.5px;font-weight:500;color:var(--md-on-surface);cursor:pointer}
.guFun input{width:15px;height:15px;accent-color:var(--md-primary)}
.guNa{color:var(--md-outline-variant)}
/* registro aberto so pra ver (perfil sem "alterar" na tela) */
dialog.soLeitura .pe .btn.primario{display:none}
dialog.soLeitura form::before{content:'👁 só visualização — o seu perfil não altera esta tela';display:block;background:#fff3e0;color:#7a4a00;border-radius:8px;padding:6px 12px;font-size:12.5px;margin-bottom:8px}
/* INICIO DE CADA USUARIO (10/10) */
.iniTopo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 6px;font-size:15px}
.iniTopo .mini{margin-left:auto}
.iniArea{font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--md-on-surface-variant);margin:14px 0 8px}
.iniNum{display:block;font-size:22px;font-weight:600;margin:2px 0 2px;color:var(--md-on-surface)}
.iniNum.vm{color:var(--md-error)} .iniNum.vd{color:var(--md-primary)} .iniNum.va{color:#b26a00}
.iniEscTit{font-weight:800;font-size:12px;color:var(--md-on-surface-variant);margin:12px 0 6px;letter-spacing:.4px}
.iniEsc{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}
.iniOp{display:flex;gap:8px;align-items:center;border:1px solid var(--md-outline-variant);border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:500;margin:0;font-size:13px}
.iniOp input{width:16px;height:16px;accent-color:var(--md-primary)}
.iniOp:has(input:checked){background:color-mix(in srgb,var(--md-primary) 10%,transparent);border-color:var(--md-primary)}
/* LISTAS — REGRA GERAL dela (10/10): o cabecalho das colunas fica PRESO logo abaixo das abas ao rolar
   ("tanto o menu superior quanto a coluna tem que ficar travada pra eu me orientar") */
.cabLst{position:sticky;top:calc(var(--faixaH,0px) + var(--hdrH,64px) + var(--abasH,49px));z-index:12;
  background:var(--md-surface);box-shadow:0 1px 0 var(--md-outline-variant)}
/* ...e a troca de pagina fica no FIM da lista, do lado direito, com 10/30/50 por pagina */
.pgRod{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 4px;
  font-size:12.5px;color:var(--md-on-surface-variant);font-variant-numeric:tabular-nums}
.pgRod b{color:var(--md-on-surface)}
.pgRod label{display:inline-flex;gap:6px;align-items:center}
.pgRod select{font:inherit;font-size:12.5px;border:1px solid var(--md-outline-variant);border-radius:8px;padding:4px 6px;
  background:var(--md-surface-container-lowest);color:var(--md-on-surface)}

/* ---------- modalidade de pagamento (PIX, boleto...) como etiqueta pequena (10/10) ---------- */
.tagMod{display:inline-block;border:1px solid var(--md-outline-variant);border-radius:6px;padding:0 6px;font-size:10.5px;font-weight:700;letter-spacing:.2px;
  line-height:16px;color:var(--md-on-surface-variant);background:var(--md-surface-container-low);vertical-align:1px;white-space:nowrap}

/* ---------- agenda de cobranças no Início (10/10): calendário + lembretes ---------- */
.agenda{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:18px;padding:14px 16px;border:1px solid var(--md-outline-variant);
  border-radius:12px;background:var(--md-surface-container-lowest)}
.agCab{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.agCab b{flex:1;text-align:center;font:500 15px/22px var(--md-fonte)}
.agLista .linklet{align-self:flex-start;border:0;background:none;padding:4px 0;color:var(--md-primary);font:500 13px/18px var(--md-fonte);cursor:pointer;text-align:left}
.agLista .linklet:hover{text-decoration:underline}
.agListaTit .linklet{margin-left:8px;font-size:12.5px}
.agSem,.agGrade{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.agSem span{text-align:center;font:600 11px/18px var(--md-fonte);color:var(--md-on-surface-variant);text-transform:uppercase}
.agDia{position:relative;aspect-ratio:1;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;cursor:pointer;
  font:500 13px var(--md-fonte);color:var(--md-on-surface);font-variant-numeric:tabular-nums}
.agDia:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}
.agDia.hoje{box-shadow:inset 0 0 0 1.5px var(--md-primary);color:var(--md-primary);font-weight:700}
.agDia.sel{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}
.agDia i{position:absolute;top:0;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--md-tertiary);color:#fff;
  font:700 10px/16px var(--md-fonte);font-style:normal}
.agDia.atras i{background:var(--md-error)}
.agDia.hoje i{background:var(--md-aviso)}
.agLeg{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:11.5px;color:var(--md-on-surface-variant)}
.agLeg span{display:inline-flex;align-items:center;gap:5px}
.agLeg i{width:9px;height:9px;border-radius:99px;background:var(--md-tertiary)}
.agLeg .atras i{background:var(--md-error)} .agLeg .hj i{background:var(--md-aviso)}
.agLista{display:flex;flex-direction:column;gap:8px;min-width:0}
.agListaTit{font:500 15px/22px var(--md-fonte);color:var(--md-on-surface)}
.agItem{min-width:0;padding:8px 12px;border:1px solid var(--md-outline-variant);border-left:4px solid var(--md-tertiary);border-radius:8px;font-size:13px}
.agItem.atras{border-left-color:var(--md-error)} .agItem.hoje{border-left-color:var(--md-aviso)}
.agQuem{overflow-wrap:anywhere} .agQuem span{color:var(--md-on-surface-variant)}
.agO{margin-top:2px;color:var(--md-on-surface)}
.agObs{margin-top:2px;color:var(--md-on-surface-variant);font-style:italic;overflow-wrap:anywhere}
.agAc{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.agVazio{padding:14px;border:1px dashed var(--md-outline-variant);border-radius:8px;color:var(--md-on-surface-variant);font-size:13px}
@media (max-width:900px){.agenda{grid-template-columns:minmax(0,1fr)}}

/* ---------- empresa: quadradinho com menu (como o dos bancos), com "Todas as empresas" (10/10) ---------- */
#segEmp select{min-width:160px;font-weight:500}
/* o selo da empresa em cada linha no modo "Todas as empresas" */
.seloEmp{display:inline-block;margin-right:6px;padding:0 6px;border-radius:4px;font:700 10.5px/16px var(--md-fonte);letter-spacing:.3px;vertical-align:1px}
.seloEmp.n3{background:#dff3e4;color:#00531f}
.seloEmp.n2{background:#dde8fb;color:#123f8c}
/* o codigo do cliente/fornecedor (regra dela 10/10: todo lugar com nome tem o codigo) */
.celCod{color:var(--md-on-surface-variant);font-variant-numeric:tabular-nums}

/* ---------- o painel do titulo marcado (A receber / A pagar, 10/10) ---------- */
.ptNome{margin:2px 0 6px;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.ptSelos{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}
.ptLin{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:4px 0;border-bottom:1px solid var(--md-surface-container-high);font-size:12.5px}
.ptLin span{flex:none;color:var(--md-on-surface-variant)}
.ptLin span small{display:block;font-size:11.5px}
.ptLin .ptV{white-space:nowrap}
.ptLin b{font-weight:600;text-align:right;min-width:0}
.ptTxt{font-size:12.5px;line-height:1.45;overflow-wrap:anywhere}

/* ---------- carta de anuencia (10/10) ---------- */
.anuItem{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:8px;padding:10px 12px;border:1px solid var(--md-outline-variant);border-radius:10px}
.anuCab{font-size:14px;overflow-wrap:anywhere}
.anuMot,.anuTits{font-size:12.5px;color:var(--md-on-surface-variant);line-height:1.5}
.anuBanner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#fff3e0;color:#5c3a00;font-size:13px}
.anuBanner.ok{background:#e7f3ec;color:var(--verde-esc)}

/* ---------- dias de pagamento do cliente (10/10) ---------- */
.diasPag .dpLinha{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.diasPag .dpSem{display:inline-flex;align-items:center;gap:4px;margin:0;padding:4px 9px;border:1px solid var(--md-outline-variant);border-radius:999px;font-size:12.5px;font-weight:500;cursor:pointer}
.diasPag .dpSem input{width:15px;height:15px;margin:0;accent-color:var(--verde)}
.diasPag .dpSem:has(input:checked){background:var(--md-secondary-container);border-color:var(--md-primary-container);color:var(--md-on-secondary-container)}
.diasPag .dpMes{display:inline-flex;align-items:center;gap:6px;margin:0 0 0 6px;font-size:12.5px;font-weight:500}
.diasPag .dpMes input{width:110px;padding:5px 8px;font-size:12.5px}
.pedDias{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 2px}
.pedDias .dpTit{font-size:12.5px;font-weight:700;color:var(--md-on-surface-variant)}
.pedDias .dpDica{font-size:11.5px;color:var(--md-on-surface-variant)}

/* ---------- antecipacao de boletos (10/10) ---------- */
.anTits{max-height:min(34vh,300px);overflow:auto;margin:8px 0;border:1px solid var(--md-outline-variant);border-radius:8px}
.anTab{width:100%;border-collapse:collapse;font-size:12.5px}
.anTab th{position:sticky;top:0;z-index:1;padding:6px 8px;background:var(--md-surface-container-low);text-align:left;font-size:11px;letter-spacing:.3px;text-transform:uppercase;color:var(--md-on-surface-variant)}
.anTab td{padding:6px 8px;border-top:1px solid var(--md-surface-container-high)}
.anTab td:nth-last-child(-n+3){white-space:nowrap}
.anTab input[type=checkbox]{width:16px;height:16px;accent-color:var(--verde)}
.anResumo{margin-top:10px;padding:9px 12px;border-radius:8px;background:#fff8e6;font-size:14px}
.antCred{margin:0 0 6px;padding:9px 12px;border-radius:8px;background:#fff3e0;color:#5c3a00;font-size:13px}
.antCred.ok{background:#e7f3ec;color:var(--verde-esc)}
.antRc{padding:4px 0;font-size:12.5px}
.antRcForm{margin-top:12px;padding:10px 12px;border:1px solid #f1c27d;border-radius:8px;background:#fffaf0;font-size:13px}

/* ---------- comanda de fornecedor (10/10) ---------- */
.cmdBox{margin:10px 0;padding:10px 12px;border:1px solid var(--md-outline-variant);border-radius:10px;background:var(--md-surface-container-lowest)}
.cmdBox.fechar{background:#f4fbf6;border-color:var(--md-primary-container)}
.cmdBoxTit{font-weight:700;font-size:14px;margin-bottom:4px}
.cmdBoxTit span{font-weight:400;font-size:12.5px;color:var(--md-on-surface-variant)}
.ceTab{margin-top:6px}
.ceTab input{width:100%;padding:6px 8px;font-size:13px}

/* ---------- cheque na baixa (10/10) ---------- */
.chBaixa{margin:8px 0 2px;padding:8px 12px;border:1px solid #f1c27d;border-radius:8px;background:#fffaf0}
.chBaixaTit{font-weight:700;font-size:13.5px}
.chBaixaTit span{font-weight:400;font-size:12.5px;color:var(--md-on-surface-variant)}
.chRef{color:var(--md-on-surface-variant);font-size:11.5px;font-weight:500}

/* ---------- cartao da empresa (10/10) ---------- */
.ceChips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.ceChip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--md-outline-variant);border-radius:10px;background:var(--md-surface-container-lowest);font:inherit;font-size:13px;cursor:pointer}
.ceChip.on{background:var(--md-secondary-container);border-color:var(--md-primary-container)}
.ceChip.inat{opacity:.55}
.ceChip .ceEd{margin-left:4px;padding:0 4px;border-radius:4px;color:var(--md-on-surface-variant)}
.ceChip .ceEd:hover{background:color-mix(in srgb,var(--md-on-surface) 10%,transparent)}
.faImp{margin:0 0 8px;padding:9px 12px;border-radius:8px;background:#f1f6ff;font-size:13px;line-height:1.6}

/* ---------- RH (10/10) ---------- */
.fuBen{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--md-surface-container-high)}
.fuBen label{display:flex;gap:8px;align-items:center;margin:0;font-size:13.5px}
.fuBen input[type=checkbox]{width:16px;height:16px;accent-color:var(--verde)}
.fuBen .fuBenVal{width:110px;padding:6px 8px;font-size:13px}

/* ---------- RH parte 2: ponto, folha, holerite, recibo de ferias, configuracao (10/10) ---------- */
.feVal{display:grid;grid-template-columns:1fr auto;gap:3px 14px;margin-top:10px;padding:10px 12px;border:1px solid var(--borda);border-radius:10px;font-size:13px;font-variant-numeric:tabular-nums}
.feVal b{text-align:right}.feVal .liq{border-top:1px solid var(--borda);padding-top:5px;margin-top:3px;font-weight:800;color:var(--verde-esc)}
.flResumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:8px}
/* lista em colunas DENTRO de uma janela: o cabecalho prende no topo da janela (e nao abaixo das abas da tela) */
dialog .cabLst{top:0}
.flChip{border:1px solid var(--borda);border-radius:10px;padding:6px 10px;display:flex;flex-direction:column;min-width:0;font-variant-numeric:tabular-nums}
.flChip span{font-size:11px;color:var(--cinza)}.flChip b{font-size:14px}.flChip.forte{background:#e7f3ec;border-color:#bfe0cb}.flChip.forte b{color:var(--verde-esc)}
.flUl{list-style:none;margin:0;padding:0}
.hoTab{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.hoTab th{font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--cinza);text-align:left;border-bottom:2px solid var(--borda);padding:6px}
.hoTab td{padding:4px 6px;border-bottom:1px solid var(--md-surface-container-high)}.hoTab .v{text-align:right;width:130px}.hoTab .ref{color:var(--cinza);width:110px}
.hoTab input{padding:5px 7px;font-size:13px}.hoTab .v input{text-align:right;width:110px}.hoTab tr.man td:first-child input{border-color:#f0c48a}
.hoTab tfoot td{font-weight:800;border-top:2px solid var(--borda);border-bottom:0}.hoTab tr.liq td{color:var(--verde-esc);font-size:14.5px}
.hoRod{font-size:12px;color:var(--cinza);margin-top:8px;line-height:1.5}
.crTab{border-collapse:collapse;margin:4px 0 8px;font-size:13px}.crTab th{font-size:11px;color:var(--cinza);text-align:left;padding:4px 8px 4px 0;text-transform:uppercase;letter-spacing:.3px}
.crTab td{padding:3px 8px 3px 0}.crTab input{width:140px;padding:6px 8px}.crAcima{display:inline-block;width:140px;color:var(--cinza);font-size:12.5px}
.crGrade{display:flex;flex-wrap:wrap;gap:10px 14px;margin:8px 0}.crGrade label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;min-width:170px;flex:1}
.crGrade label.largo{flex:1 1 100%}.crGrade input,.crGrade select{padding:7px 9px;font:inherit;font-weight:400;border:1px solid var(--borda);border-radius:8px}
.crPe{display:flex;justify-content:flex-end;gap:10px;margin:14px 0 24px}

/* ---------- romaneio (quem leva a carga) e veiculos (10/10) ---------- */
.roTipos{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}
.roTipos button{border:1.5px solid var(--borda);background:transparent;color:var(--tinta);border-radius:999px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer}
.roTipos button.on{border-color:var(--verde);background:#e7f3ec;color:var(--verde-esc)}
.roTipos button:disabled{cursor:default;opacity:.75}
.roDica{font-size:12px;color:var(--cinza);margin-top:4px}
.roPeds{max-height:min(34vh,320px);overflow:auto;border:1px solid var(--borda);border-radius:10px;margin-top:6px}
.roPed{display:grid;grid-template-columns:22px 72px minmax(0,1fr) 64px 90px 110px;gap:8px;align-items:center;padding:7px 10px;border-bottom:1px solid var(--md-surface-container-high);margin:0;font-size:13px;font-weight:400;cursor:pointer;font-variant-numeric:tabular-nums}
.roPed.on{background:#f1f9f4}.roPed input{width:16px;height:16px;accent-color:var(--verde)}
.roPed .c{min-width:0}.roPed .c b,.roPed .c small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roPed .c small{color:var(--cinza);font-size:11.5px}
.roPed .v{text-align:right;color:var(--cinza)}.roPed .v b{color:var(--tinta)}
.veiSec{margin:14px 0 4px;font-size:12px;color:var(--cinza);text-transform:uppercase;letter-spacing:.4px}

/* ---------- manifesto (MDF-e) (10/10) ---------- */
.mdCod{display:block;font-size:11.5px;color:var(--cinza);margin-top:2px;min-height:14px}
.mdTab{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums;border:1px solid var(--borda);border-radius:10px;overflow:hidden}
.mdTab th{font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--cinza);text-align:left;border-bottom:2px solid var(--borda);padding:6px 8px}
.mdTab td{padding:6px 8px;border-bottom:1px solid var(--md-surface-container-high);vertical-align:top}.mdTab .v{text-align:right;white-space:nowrap}
.mdTab td small{display:block;color:var(--cinza);font-size:11px;font-family:monospace}.mdTab tr.fora td{background:#fff6f6}
.mdTab input{padding:5px 7px;font-size:12.5px;margin-top:3px}
.mdTot{align-self:flex-end;font-size:13px;padding:8px 10px;background:#f1f6ff;border-radius:8px}
.mdMais{margin:10px 0 4px;border:1px solid var(--borda);border-radius:10px;padding:8px 12px}.mdMais summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--cinza)}
.mxXml{max-height:min(56vh,520px);overflow:auto;background:#0f1720;color:#d6e2ee;border-radius:10px;padding:12px 14px;font-size:11.5px;line-height:1.45;white-space:pre-wrap;word-break:break-all}

/* ---------- nota de saida (opcoes da nota, como no TZ) (10/10) ---------- */
.nsInfo{border:1px solid var(--borda);border-radius:10px;padding:8px 12px;margin-bottom:12px}
.nsLin{display:flex;gap:12px;padding:4px 0;border-bottom:1px solid var(--md-surface-container-high);font-size:13px}.nsLin:last-child{border-bottom:0}
.nsLin span{min-width:150px;color:var(--cinza)}.nsLin b{min-width:0;overflow-wrap:anywhere}
.nsEv{margin-top:8px;font-size:12.5px}.nsEv>div{padding:5px 0;border-top:1px dashed var(--borda)}.nsEv small{display:block;color:var(--cinza)}
.nsAcoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.nsBt{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:1px solid var(--borda);border-radius:12px;background:transparent;color:var(--tinta);font:inherit;font-weight:600;font-size:13px;cursor:pointer}
.nsBt:hover:not(:disabled){border-color:var(--verde);background:#f1f9f4}.nsBt:disabled{opacity:.45;cursor:not-allowed}.nsBt .ic{font-size:22px;line-height:1}
.cceCond{font-size:11.5px;color:var(--cinza);line-height:1.45;border:1px solid var(--borda);border-radius:8px;padding:8px 10px;margin-top:8px}

/* ---------- apuracao de impostos (10/10) ---------- */
.apWrap{overflow:auto;max-height:calc(100vh - 330px);border:1px solid var(--borda);border-radius:10px;background:var(--md-surface,#fff)}
.apTab{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
.apTab th{position:sticky;top:0;z-index:1;background:var(--md-surface-container,#f3f5f4);font-size:10.5px;text-transform:uppercase;letter-spacing:.3px;color:var(--cinza);text-align:left;padding:7px 8px;border-bottom:2px solid var(--borda);white-space:nowrap}
.apTab td{padding:6px 8px;border-bottom:1px solid var(--md-surface-container-high);white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.apTab .v{text-align:right}.apTab tr.ck{cursor:pointer}.apTab tr.ck:hover td{background:#f1f9f4}
.apTab tfoot td{position:sticky;bottom:0;background:var(--md-surface-container,#f3f5f4);font-weight:800;border-top:2px solid var(--borda)}
.apTab .vazioTd{text-align:center;color:var(--cinza);padding:24px}
.apTot{display:flex;flex-wrap:wrap;gap:6px;align-items:stretch;margin-top:8px;padding:8px;border:1px solid var(--borda);border-radius:10px;background:#f1f6ff}
.apTot .rot{align-self:center;font-weight:800;font-size:12px;color:var(--cinza);margin-right:4px}
.apTot span:not(.rot){display:flex;flex-direction:column;padding:2px 10px;border-left:1px solid var(--borda);font-variant-numeric:tabular-nums}.apTot small{font-size:10.5px;color:var(--cinza)}.apTot b{font-size:13px}

/* ---------- aplicativo (10/10): conferir o pedido do app, a integracao ---------- */
.appTab{width:100%;border-collapse:collapse;font-size:13px;margin:4px 0 10px}
.appTab th{font-size:11px;font-weight:800;letter-spacing:.4px;color:var(--cinza);text-transform:uppercase;text-align:left;padding:6px 8px;border-bottom:1px solid var(--borda);white-space:nowrap}
.appTab td{padding:6px 8px;border-bottom:1px solid var(--md-surface-container-high);vertical-align:top}
.appTab .d{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.appTab tfoot td{border-bottom:0;font-weight:700}
.appSit{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.appSit>div{border:1px solid var(--borda);border-radius:10px;padding:10px 12px;min-width:0}.appSit small{display:block;color:var(--cinza);font-size:11.5px;margin-bottom:2px}.appSit b{font-size:14px;overflow-wrap:anywhere}
.appTabI td small{color:var(--cinza)}
.appEnd{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;padding:6px 0;border-top:1px dashed var(--borda);font-size:13px}.appEnd code{font-weight:700}.appEnd>span:last-child{color:var(--cinza);flex:1;min-width:200px}
.appMet{font-size:11px;font-weight:800;border-radius:6px;padding:2px 7px;letter-spacing:.4px}.appMet.get{background:#e3f2fd;color:#1a56c8}.appMet.post{background:#e7f3ec;color:var(--verde-esc)}
.appDoc{background:var(--md-surface-container-high);border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.45;overflow-x:auto;white-space:pre;margin:4px 0 8px}
.appChave{display:flex;gap:8px;align-items:center;border:1px dashed var(--verde);border-radius:10px;padding:10px 12px;margin-top:10px}.appChave code{flex:1;min-width:0;overflow-wrap:anywhere;font-size:13px;user-select:all}
.appVendRow{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-top:10px}.appVendRow label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:700;color:var(--cinza)}
.appVendRow input,.appVendRow select{font:inherit;font-size:13px;border:1px solid var(--borda);border-radius:8px;padding:7px 9px;min-width:170px}
#dlgAppPed .btn:disabled,#dlgAppCli .btn:disabled{opacity:.45;cursor:not-allowed}

/* ---------- ordenar pela coluna (10/10): clicar no nome da coluna ---------- */
.cabLst .ordCab{cursor:pointer;user-select:none}
.cabLst .ordCab:hover,.cabLst .ordCab.on{color:var(--verde-esc)}
.cabLst .ordSeta{font-style:normal;margin-left:4px;font-size:10px;opacity:0;transition:opacity .15s}
.cabLst .ordCab:hover .ordSeta{opacity:.55}.cabLst .ordCab.on .ordSeta{opacity:1}

/* ---------- ⚙ numeracao (10/10) ---------- */
.numTab td{vertical-align:middle;padding:6px 14px 6px 0}.numTab td small{display:block;color:var(--cinza);font-size:11.5px;font-weight:400}
.numTab .d{text-align:right;font-variant-numeric:tabular-nums}.numTab input{font-variant-numeric:tabular-nums}

/* ---------- etiquetas e fechamento do contador (10/10) ---------- */
.etqTipos{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:0 0 10px}
.etqTipos button{display:flex;gap:10px;align-items:center;text-align:left;border:1px solid var(--borda);border-radius:12px;background:transparent;padding:10px 12px;cursor:pointer;font:inherit;color:var(--tinta)}
.etqTipos button .ic{font-size:22px}.etqTipos button small{display:block;color:var(--cinza);font-size:11.5px}
.etqTipos button.on{border-color:var(--verde);background:#eef8f1;box-shadow:inset 0 0 0 1px var(--verde)}
.etqBarra{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 8px;font-size:12.5px}.etqBarra select{font:inherit;font-size:12.5px;border:1px solid var(--borda);border-radius:7px;padding:4px 6px;margin-left:4px}
.etqBarra>span{color:var(--cinza)}
.ctTopo{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin:0 0 10px}.ctTopo h3{margin:0;font-size:17px}.ctTopo small{color:var(--cinza);font-size:12px}
.ctBaixar{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ctCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0 0 12px}
.ctCard{border:1px solid var(--borda);border-radius:12px;padding:10px 12px;min-width:0}.ctCard small{display:block;color:var(--cinza);font-size:11.5px}.ctCard b{display:block;font-size:20px;font-variant-numeric:tabular-nums}.ctCard span{font-size:12px;color:var(--cinza)}
.ctLst{margin:14px 0 6px;font-size:14px}
/* NF-e pelo ERP (10/10): a previa da nota, os totais, o aviso de homologacao e a marca HOM */
.neAmb{display:flex;gap:10px;align-items:flex-start;background:#f3e8fd;color:#4a2470;border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.45;margin-bottom:10px}
.neFalta{background:#fdeaea;border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.45;margin-bottom:10px}
.neOk{background:#e7f3ec;border-radius:12px;padding:14px 16px;font-size:13.5px}
.neSec{font-weight:800;font-size:12px;color:var(--cinza);margin:14px 0 4px;text-transform:uppercase;letter-spacing:.4px}
.neTab{width:100%;border-collapse:collapse;font-size:12.5px;margin:4px 0 6px}
.neTab th{font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--cinza);text-align:left;padding:6px;border-bottom:1px solid var(--borda);font-weight:700;white-space:nowrap}
.neTab td{padding:6px;border-bottom:1px solid var(--md-surface-container-high);vertical-align:top}
.neTab .d{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.neTot{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:6px 0 8px}
.neTot>div{border:1px solid var(--borda);border-radius:10px;padding:7px 10px;min-width:0}
.neTot span{display:block;font-size:11px;color:var(--cinza);text-transform:uppercase;letter-spacing:.3px}
.neTot b{font-size:14px;font-variant-numeric:tabular-nums}
.neTot .tt{background:#e7f3ec;border-color:var(--verde)}
.neHom{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.4px;color:#6a2c9c;background:#f3e8fd;border-radius:6px;padding:1px 5px;vertical-align:1px}
/* NF-e (10/10): a ST e o DIFAL de cada item na previa */
.neSt{font-weight:700;white-space:nowrap}
.neSt small{display:block;font-weight:400;color:var(--cinza);font-size:11px;white-space:normal}
/* credito do ICMS do Simples (⚙ Nota fiscal) */
.snEmp{border-top:1px dashed var(--borda);padding-top:10px;margin-top:10px}
.snCalc{font-size:13px;margin:6px 0;color:var(--tinta)}
/* 13/11: o credito do Simples AUTOMATICO */
.snAuto{border:1px solid var(--borda);border-radius:10px;padding:8px 12px;margin:8px 0;background:var(--sup,#fff)}
.snAutoTit{font-weight:700;font-size:13px;margin-bottom:4px}
.snMeses summary{cursor:pointer;font-size:12.5px;color:var(--cinza);margin:2px 0}
.snDesde{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;margin-top:6px}.snDesde input{padding:5px 8px}.snDesde small{color:var(--cinza)}
/* junto com a nota (emissao da NF-e: GNRE, boletos, etiquetas, DANFE) */
.juntoBox{display:flex;flex-direction:column;gap:8px;border:1px solid var(--borda);border-radius:12px;padding:10px 14px;margin:4px 0 8px;background:var(--fundo-card,#fff)}
.juntoBox label.junto{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;cursor:pointer}
.juntoBox label.junto input{margin-top:3px;width:16px;height:16px}
.juntoBox label.junto small{display:block;color:var(--cinza);font-weight:400;font-size:12px;margin-top:1px}
.juntoBox label.junto.off{opacity:.55;cursor:default}
.njCed{font-size:12.5px;margin-left:26px}
.njCed small{color:var(--cinza);margin-left:6px}
.juntoBox select,.jfBts select{font:inherit;font-size:12.5px;padding:4px 8px;border:1px solid var(--borda);border-radius:8px;background:#fff}
.njObs{display:flex;gap:6px;align-items:flex-start;font-size:12px;color:var(--cinza);border-top:1px dashed var(--borda);padding-top:8px}
.juntoFim{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.jfLin{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border:1px solid var(--borda);border-radius:12px;padding:10px 14px}
.jfIc{font-size:20px}
.jfTx{flex:1;min-width:220px;font-size:13.5px}
.jfTx small{display:block;color:var(--cinza);font-size:12px;line-height:1.45;margin-top:2px}
.jfBts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
/* MENU DE TICAR (13/10): um campo que abre a lista com caixinhas — os vendedores da tabela de preço */
.msel{position:relative}
.msel [hidden]{display:none!important}
.mselBtn{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;padding:8px 10px 8px 12px;font:inherit;font-size:13.5px;text-align:left;
  color:var(--tinta);background:var(--carta);border:1px solid var(--borda);border-radius:8px;cursor:pointer}
.mselBtn:hover{border-color:var(--md-outline)}
.mselBtn:focus-visible{outline:2px solid var(--md-primary);outline-offset:1px}
.mselBtn[aria-expanded="true"]{border-color:var(--md-primary);box-shadow:inset 0 0 0 1px var(--md-primary)}
.mselTxt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.mselTxt.mselVazio{color:var(--cinza);font-weight:400}
.mselBtn .msr{font-size:22px;color:var(--md-on-surface-variant);transition:transform .15s}
.mselBtn[aria-expanded="true"] .msr{transform:rotate(180deg)}
.mselDrop{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;background:var(--md-surface-container-lowest);
  border-radius:10px;box-shadow:var(--md-elev-2);padding:10px}
dialog .mselDrop input.mselBusca{margin:0 0 8px}
.mselLista{max-height:260px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px}
.mselLista label{display:flex;align-items:center;gap:10px;min-height:38px;margin:0;padding:6px 10px;border-radius:8px;cursor:pointer;
  font-size:13.5px;font-weight:500}
.mselLista label:hover{background:color-mix(in srgb,var(--md-on-surface) 6%,transparent)}
.mselLista label:has(input:checked){background:var(--verde-claro)}
.mselLista input{width:18px;height:18px;margin:0;padding:0;flex:none;accent-color:var(--md-primary)}
.mselNada{color:var(--cinza);padding:6px 10px}
.mselPe{display:flex;justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid var(--md-outline-variant)}
@media (prefers-reduced-motion:reduce){.mselBtn .msr{transition:none}}
/* COMANDA (17/10): a entrega que acabou de entrar (o total e o comprovante) e a soma do que entrou no pe da lista */
.ceOk{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between;background:var(--verde-claro);border:1px solid var(--verde-palido);border-radius:10px;padding:10px 14px;margin:0 0 10px;font-size:13px;line-height:1.5}
.ceOk>div{flex:1;min-width:240px}
tr.ceSoma td{background:var(--md-surface-container-low);border-top:2px solid var(--borda);font-size:12.5px;vertical-align:top}
.cmdBox.ceEditando{border-color:var(--ambar);box-shadow:inset 0 0 0 1px var(--ambar);background:var(--ambar-claro)}
.cmdBox.ceEditando .cmdBoxTit .mini{margin-left:8px}
.anTab .mini .msr,.cmdBoxTit .msr{font-size:17px}
/* produto só da lista: a letra que não bate com nenhum produto não entra e o campo dá um tremidinho vermelho */
@keyframes ceRecusa{0%,100%{transform:none}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
input.ceRecusa{border-color:var(--md-error)!important;box-shadow:inset 0 0 0 1px var(--md-error)!important;animation:ceRecusa .18s 2}
@media (prefers-reduced-motion:reduce){input.ceRecusa{animation:none}}
/* código e unidade da linha da comanda (17/10): o select KG/L e a linha de baixo com a conversão pela densidade */
.ceTab select{width:100%;padding:6px 4px;font:inherit;font-size:13px;border:1px solid var(--borda);border-radius:8px;background:var(--carta);color:var(--tinta)}
.ceTab tr.ceConv td{border-top:0;padding:0 8px 8px;font-size:12px;line-height:1.6;color:var(--cinza);white-space:normal}
.ceTab tr.ceConv b{color:var(--tinta)}
.ceDensL{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;margin-right:12px;color:var(--tinta);font-weight:600}
.ceTab .ceDensL input{width:84px;padding:4px 8px}
.ceDensL span{color:var(--cinza);font-weight:400}
.ceCvFalta{color:var(--ambar);font-weight:600}
.ceCodTx{color:var(--cinza);font-size:11.5px;font-variant-numeric:tabular-nums}
.ceVeio{color:var(--cinza)}
/* PARCELAS DO PEDIDO (17/10): saem da condição e não se digitam — cada uma vira um selo com o vencimento e o valor */
.parcCh{display:inline-flex;gap:8px;align-items:center;background:var(--carta);border:1px solid var(--borda);border-radius:9px;padding:7px 11px;font-size:12.5px}
.parcCh .num{font-weight:600;font-variant-numeric:tabular-nums}
.parcCh.ajust{border-color:var(--verde);box-shadow:inset 0 0 0 1px var(--verde)}
/* TABELA DE PREÇO (13/10): todos os produtos acabados com a caixinha pra marcar os que entram */
.tbProdCab{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;margin:14px 0 6px}
.tbConta{font-size:12.5px;color:var(--cinza)}
dialog label.tbSoMarc{display:inline-flex;gap:6px;align-items:center;margin:0;font-size:12.5px;font-weight:500;cursor:pointer}
dialog label.tbSoMarc input{width:auto;margin:0;padding:0;accent-color:var(--md-primary)}
.tbProdBox{max-height:min(46vh,430px);overflow:auto;border:1px solid var(--borda);border-radius:8px}
.tbProdBox thead th{position:sticky;top:0;z-index:1;background:var(--carta);border-bottom:1px solid var(--borda)}
.tbProdBox td{padding:3px 6px;border-top:1px solid var(--borda);vertical-align:middle}
.tbProdBox tr[hidden]{display:none}
.tbProdBox tr.on td{background:color-mix(in srgb,var(--verde-claro) 60%,transparent)}
dialog .tbProdBox input{width:88px;padding:6px 8px}
dialog .tbProdBox input[type=checkbox]{width:18px;height:18px;padding:0;margin:0 4px;accent-color:var(--md-primary);cursor:pointer}
.tbProdBox .tPr{font-weight:600}
.tbProdBox small{color:var(--cinza);margin-left:6px;font-size:11px}
.tbFora{color:var(--ambar);font-size:11.5px}
.tbDica{font-size:12px;color:var(--cinza);margin:6px 0 0}
/* BUSCA NO PLANO DE CONTAS (18/10): a caixinha que abre por cima do seletor — digita e a lista filtra (popover: fica por cima de tudo) */
.sbPop{position:fixed;inset:auto;margin:0;padding:0;border:0;background:transparent;overflow:visible;color:var(--tinta)}
.sbPop input{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:13.5px;padding:7px 10px;border:2px solid var(--md-primary);border-radius:8px;background:var(--carta);color:var(--tinta);outline:none;box-shadow:0 2px 10px rgba(0,0,0,.12)}
#sbLista{position:absolute;left:0;right:0;top:100%;margin-top:4px;max-height:min(340px,50vh);overflow:auto;background:var(--carta);border:1px solid var(--borda);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.16);padding:4px 0}
#sbLista.acima{top:auto;bottom:100%;margin:0 0 4px}
.sbGrupo{font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--cinza);padding:8px 12px 3px}
.sbOp{padding:6px 12px 6px 20px;font-size:13px;cursor:pointer;line-height:1.35}
.sbOp:hover{background:var(--md-surface-container-low)}
.sbOp.on{background:var(--verde-claro)}
.sbOp.atual{font-weight:700}
.sbOp mark,.sbGrupo mark{background:#fff0a8;color:inherit;border-radius:2px;padding:0}
.sbNada{padding:10px 12px;color:var(--cinza);font-size:13px}
/* ENTRADA DE NF (18/10): a faixa do "editar e lançar de novo" e o aviso de NF já lançada */
.enRel{margin:8px 0 4px;padding:9px 12px;border-radius:10px;background:var(--ambar-claro);border:1px solid var(--ambar);font-size:13px;line-height:1.5}
.enDup{margin:8px 0 0;padding:9px 12px;border-radius:10px;background:var(--md-error-container);color:var(--md-on-error-container);font-size:13px;line-height:1.5}
.enRel .msr{font-size:18px;vertical-align:-4px}
/* ENTRADA DE NF (18/10): o que vai entrar no estoque, a vista antes do total (pra quem lança conferir) */
.enEstq{margin-top:10px;padding:9px 12px;border-radius:10px;background:var(--verde-claro);border:1px solid var(--verde-palido);font-size:13px;line-height:1.55}
.enEstqTit{font-weight:700;margin-bottom:3px}
.enEstqTit span{font-weight:400;color:var(--cinza)}
.enEstqL b{font-size:13.5px}
.enEstqL.falta{color:var(--md-on-error-container)}
.enEstqC{color:var(--cinza)}
.enEntra b{color:var(--tinta)}
.enPlanoDe{font-size:11.5px;color:var(--cinza);margin-left:6px}
/* CT-e referenciado (18/10): a etiqueta na lista de notas da SEFAZ e o quadro de cada CT-e */
.cteTag{background:#e8f0fe;color:#1a56c8;cursor:pointer;white-space:nowrap}
.cteBox{border:1px solid var(--borda);border-radius:10px;padding:10px 12px;margin-bottom:10px;background:var(--carta);font-size:13px}
.cteTopo{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:6px}
.cteValor{margin-left:auto;font-weight:800;color:var(--tinta)}
.cteNada{padding:10px 12px;border-radius:10px;background:var(--md-surface-container-low);font-size:13px;line-height:1.55}
/* produto que NÃO controla estoque (18/10) na entrada de NF */
.enSemEst{color:#7a5a00;font-weight:600}
.linklet.enSemLink{display:inline;font-size:11.5px;color:var(--cinza);text-decoration:underline;cursor:pointer}
.enFornInfo{font-size:11.5px;margin-top:3px;line-height:1.4}
/* ENTRADA DE NF (18/10): frete pago à parte (só no custo) e de onde ele veio (CT-e) */
label.enFreteFora{display:flex;gap:5px;align-items:center;margin:4px 0 0;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
label.enFreteFora input{width:15px;height:15px;margin:0;accent-color:var(--verde)}
label.enFreteFora span{font-weight:400;color:var(--cinza)}
.enFreteDe{font-size:11.5px;color:var(--cinza);margin-top:2px}
/* CT-e (18/10): os dados da NF-e em cima e a tabela dos CT-e (clicou, abre os detalhes) — como no Qive */
.cteNfe{border:1px solid var(--borda);border-radius:10px;padding:8px 12px;margin-bottom:10px;background:var(--carta);font-size:13px}
.cteSub{font-weight:700;font-size:13.5px;margin:4px 0 6px}
.cteTab tr.cteLin:hover td{background:var(--md-surface-container-low)}
.cteTab tr.cteLin.sel td{background:var(--verde-claro)}
/* itens da ENTRADA DE NF (18/10, ela: "tá fora de rumo, se tiver mais itens vai bagunçar a linha"): tudo alinhado EM CIMA, na linha dos
   campos (o texto que explica o item fica embaixo do produto e nao empurra o resto pro meio); o total numa linha so */
#enItens > tr > td.enAlinha{vertical-align:top;padding:5px 6px 5px}
#enItens > tr > td.enTot{white-space:nowrap;padding-top:17px}
#enItens > tr > td.enAlinha .enVa{margin-top:7px}
#enItens > tr > td.enAlinha .mini{margin-top:8px}
/* ENTRADA DE CT-e (18/10, ela: "tem que abrir como uma entrada de NF"): a MESMA janela da NF em "modo CT-e" — some o que e so de NF
   (itens, pedido de compra, frete/outros, estoque) e aparece o quadro do CT-e (valor do frete e as NF que ele transportou) */
#dlgEnt.modoCte .soNf{display:none!important}
#dlgEnt:not(.modoCte) .soCte{display:none!important}
.enCteBox{margin-top:10px;border:1px solid var(--borda);border-radius:10px;padding:10px 12px;background:var(--carta);font-size:13px;display:flex;flex-direction:column;gap:8px}
.enCteCab{line-height:1.45}
.enCteCab small{color:var(--cinza)}
.enCteVal{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.enCteVal > div{min-width:150px;max-width:200px}
.enCteVal .enCteComp{font-size:12px;color:var(--cinza);padding-bottom:10px}
.enCteSub{font-weight:800;font-size:12px;color:var(--cinza);letter-spacing:.3px}
.enCteNf{border-top:1px dashed var(--borda);padding-top:6px;line-height:1.45}
.enCteNf .ok{color:var(--verde-esc)}
.enCteNf .falta{color:#b26a00}
label.enCteCusto{display:flex;gap:6px;align-items:flex-start;font-weight:500;font-size:12.5px;margin:2px 0 0;cursor:pointer}
label.enCteCusto input{width:15px;height:15px;margin:2px 0 0;accent-color:var(--verde)}
label.enCteDepois{display:flex;gap:5px;align-items:center;font-size:12px;font-weight:600;margin:4px 0 0;cursor:pointer;white-space:normal}
label.enCteDepois input{width:15px;height:15px;margin:0;accent-color:var(--verde)}
/* CT-e (18/10): o ICMS/composicao ao lado do valor sem quebrar; o "de onde veio o frete" numa linha inteira */
.enCteVal > div.enCteComp{flex:1;max-width:none;min-width:0}
#enFreteDe:not(:empty){margin-top:6px;display:flex;gap:4px 14px;align-items:center;flex-wrap:wrap}
#enFreteDe label.enCteDepois{margin:0}

/* ===================== PEDIDO TRAVADO E LIBERACAO (11/11, pedido dela) =====================
   o cadeado no pedido, a caixa da trava, a tela Liberacoes (cabe no celular) e as regras em Configuracoes */
.tag.tagTrava{background:var(--md-error-container);color:var(--md-on-error-container);font-weight:600}
.tag.tagTrava.rec{background:#eceff3;color:#4f5866}
.travaBox{border:1px solid #f3c2c2;background:#fff5f4;border-radius:12px;padding:10px 14px;margin:0 0 10px}
.travaBox.rec{border-color:#d7dbe0;background:#f4f5f7}
.travaBox .tbTit{font-weight:700;color:var(--md-on-error-container);font-size:14px}
.travaBox.rec .tbTit{color:#4f5866}
.travaBox .tbTit small,.lbQuando{font-weight:400;color:var(--md-on-surface-variant);font-size:12px}
.tbMot{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:5px}
.tbMot li{font-size:13px;line-height:1.45;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.tbMot li small{color:var(--md-on-surface-variant)}
.tbTipo{flex:none;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--md-on-error-container);background:#fff;border:1px solid #f3c2c2;border-radius:6px;padding:0 6px}
.tbRec{font-size:12.5px;background:#fff;border:1px dashed #c9ced6;border-radius:8px;padding:6px 10px;margin-top:6px;line-height:1.45}
.tbAcoes{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
.tbAcoes span{font-size:12px;color:var(--md-on-surface-variant)}
.travaLivre{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin:-4px 0 6px;font-size:12px;color:var(--md-on-surface-variant)}
.travaAviso{background:var(--md-error-container);color:var(--md-on-error-container);border-radius:9px;padding:8px 12px;font-size:13px;margin:6px 0;line-height:1.45}
.travaAviso span{font-size:12px}
.travaCli{margin:10px 0 4px;border:1px solid var(--md-outline-variant);border-radius:10px;padding:8px 12px}
.travaChk{display:flex;gap:8px;align-items:flex-start;margin:0!important;font-weight:400;cursor:pointer}
.travaChk input{width:17px;height:17px;margin:2px 0 0;padding:0;accent-color:var(--md-error);flex:none}
.travaChk small{display:block;color:var(--md-on-surface-variant);font-size:12px;font-weight:400}
.travaInfo{font-size:11.5px;color:var(--md-on-surface-variant);margin-top:3px}
/* a tela Liberacoes */
.libBarra{display:flex;gap:10px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.segLib{display:inline-flex;border:1px solid var(--md-outline);border-radius:999px;overflow:hidden}
.segLib button{border:0;background:none;font:inherit;font-size:13px;padding:7px 14px;cursor:pointer;color:var(--md-on-surface);min-height:36px}
.segLib button+button{border-left:1px solid var(--md-outline)}
.segLib button.on{background:var(--md-secondary-container);color:var(--md-on-secondary-container);font-weight:600}
.segLib button:focus-visible{outline:2px solid var(--md-primary);outline-offset:-2px}
.mtChips{display:flex;flex-wrap:wrap;gap:4px}
.mtChip{font-size:11.5px;font-weight:600;border-radius:6px;padding:1px 7px;background:var(--md-error-container);color:var(--md-on-error-container);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.mtChip.mt-limite{background:#ffeedc;color:#7a4300}
.mtChip.mt-financeiro{background:#f3e8fd;color:#5b1a87}
.mtChip.mt-manual{background:#e3ecfd;color:#1747a6}
.mtChip.mt-estoque{background:#e0f2f1;color:#00574b}
.mtChip.rec{background:#eceff3;color:#4f5866}
/* a janela do pedido travado */
dialog.dlgLib{width:min(560px,96vw)}
.dlgLib form{padding:18px 20px}
.lbTopo{display:flex;align-items:center;gap:10px}
.lbTopo h3{margin:0;flex:1}
.lbFecha{border:0;background:none;font-size:18px;cursor:pointer;width:40px;height:40px;border-radius:999px;color:var(--md-on-surface-variant);flex:none}
.lbFecha:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent)}
.lbCli{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:10px 0 6px;font-size:15px}
.lbCli small{color:var(--md-on-surface-variant);font-size:12.5px;width:100%}
.lbFin{border:1px solid var(--md-outline-variant);border-radius:12px;margin:10px 0;overflow:hidden}
.lbLin{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 12px;font-size:13.5px;border-top:1px solid var(--md-outline-variant)}
.lbLin:first-child{border-top:0}
.lbLin>span{color:var(--md-on-surface-variant)}
.lbLin b{text-align:right;font-variant-numeric:tabular-nums}
.lbLin b small{display:block;font-weight:400;color:var(--md-on-surface-variant);font-size:11.5px}
.lbLin.ruim b{color:var(--md-error)}
.lbLin.bom b{color:var(--verde-esc)}
.lbItens{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.lbItens span{background:var(--md-surface-container-high);border-radius:8px;padding:3px 9px;font-size:12.5px}
.lbItens small{color:var(--md-on-surface-variant)}
.lbLinks{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.lbHist{border-top:1px dashed var(--md-outline-variant);margin-top:8px;padding-top:8px;font-size:12.5px;display:flex;flex-direction:column;gap:6px;line-height:1.45}
.lbHistTit{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--md-on-surface-variant)}
.lbHist small{color:var(--md-on-surface-variant)}
.lbAcoes{margin-top:6px}
.lbAcoes label span{font-weight:400;color:var(--md-on-surface-variant)}
.lbAcoes textarea,.lbAcoes input{width:100%;box-sizing:border-box}
.lbAcoes textarea{font:inherit;font-size:14px;border:1px solid var(--borda);border-radius:8px;padding:9px 11px;resize:vertical}
.lbPe .lbRecusa{color:var(--md-error);border-color:#f3c2c2}
/* travar a mao: os motivos da lista viram botoes */
.ptChips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.ptChip{border:1px solid var(--md-outline);background:none;border-radius:8px;padding:7px 12px;font:inherit;font-size:13px;cursor:pointer;min-height:36px}
.ptChip.on{background:var(--md-secondary-container);color:var(--md-on-secondary-container);border-color:transparent;font-weight:600}
/* ⚙ Configuracoes ▸ Trava do pedido */
.ctDias{display:flex;align-items:center;gap:8px;flex:none}
.ctDias input{width:72px;text-align:right}
.ctDias span{font-size:13px;color:var(--md-on-surface-variant)}
.ctMotivos{display:flex;flex-wrap:wrap;gap:6px}
.ctMot{display:inline-flex;align-items:center;gap:4px;background:var(--md-surface-container-high);border-radius:8px;padding:4px 4px 4px 10px;font-size:13px}
.ctMot button{border:0;background:none;cursor:pointer;color:var(--md-on-surface-variant);font-size:13px;width:28px;height:28px;border-radius:999px}
.ctMot button:hover{background:color-mix(in srgb,var(--md-on-surface) 8%,transparent);color:var(--md-error)}
.ctNovo{display:flex;gap:8px;margin-top:10px}
.ctNovo input{flex:1;min-width:0}
.ctVazio{font-size:12.5px;color:var(--md-on-surface-variant)}
/* no CELULAR: a lista vira cartao (numero, cliente e total em cima; o motivo no meio) e a janela ocupa a tela,
   com Recusar e Liberar grandes embaixo, no alcance do polegar */
@media (max-width:760px){
  /* a lista comum, no celular, so mostra o nome; aqui o cartao mostra numero, cliente, total, motivo, quando e vendedor */
  .libLst li.movRow.lstCad.gen{grid-template-columns:auto minmax(0,1fr) auto!important;grid-template-areas:"num cli tot" "mot mot mot" "quando vend vend";gap:4px 10px;padding:12px 14px}
  .libLst li.movRow.lstCad.gen>span.lcC{display:block!important}
  .libLst li.movRow.lstCad.gen>span.lcC:nth-child(1){grid-area:num;font-weight:700}
  .libLst li.movRow.lstCad.gen>span.lcC:nth-child(2){grid-area:quando;font-size:12px;color:var(--md-on-surface-variant)}
  .libLst li.movRow.lstCad.gen>span.lcC:nth-child(3){display:none!important}
  .libLst li.movRow.lstCad.gen>span.lcC:nth-child(4){grid-area:cli}
  .libLst li.movRow.lstCad.gen>span.lcC:nth-child(5){grid-area:vend;font-size:12px;color:var(--md-on-surface-variant);text-align:right}
  .libLst li.movRow.lstCad.gen>span.lcC:nth-child(6){grid-area:tot;text-align:right}
  .libLst li.movRow.lstCad.gen>span.lcC:nth-child(7){grid-area:mot;white-space:normal}
  .segLib{display:flex;width:100%}
  .segLib button{flex:1;padding:8px 4px}
}
@media (max-width:640px){
  dialog.dlgLib{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
  .dlgLib form{min-height:100%;box-sizing:border-box;display:flex;flex-direction:column;padding:14px 16px 0}
  .dlgLib .lbPe{position:sticky;bottom:0;margin-top:auto;background:var(--md-surface-container-lowest,#fff);border-top:1px solid var(--md-outline-variant);
    padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .dlgLib .lbPe .btn{width:100%;min-height:48px;font-size:15px;margin:0}
  .dlgLib .lbPe .btn[hidden]{display:none}
  .ctNovo{flex-direction:column}
}

/* ===== FECHAMENTO DO ESTOQUE (11/11): Fabrica ▸ Estoque ▸ Fechamento mensal e a configuracao ===== */
.efBarra{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.efFecharMes{display:inline-flex;gap:6px;align-items:center;margin-left:auto;font-size:12.5px;color:var(--md-on-surface-variant)}
.efFecharMes select{font:inherit;font-size:12.5px;border:1px solid var(--borda);border-radius:7px;padding:4px 6px;color:var(--md-on-surface)}
.mini.alerta{background:#fff3e0;color:#7a4a00;border-color:#f0b35a}
.efChip{display:inline-block;font-size:11px;font-weight:700;border-radius:6px;padding:1px 7px;line-height:1.55;white-space:nowrap;vertical-align:1px}
.efChip.neg{background:var(--md-error-container);color:var(--md-on-error-container)}
.efChip.sc{background:#ffeedc;color:#7a4300}
.efChip.salto{background:#fff3e0;color:#8a5200}
.efChip.corr{background:#e3ecfd;color:#1747a6}
.efChip.fora{background:#eceff3;color:#4f5866}
.efChip.ap{background:#f3e8fd;color:#5b1a87}
.efOk{color:var(--verde-esc);font-size:12.5px;font-weight:700}
.efVar{font-variant-numeric:tabular-nums;color:var(--md-on-surface-variant)}
.efVar.forte{color:#b26a00;font-weight:700}
.efTopoM .mini{margin-bottom:6px}
.ctCard.efClic{cursor:pointer}
.ctCard.efClic:hover,.ctCard.efClic:focus-visible{outline:2px solid var(--md-primary);outline-offset:-1px}
.efTab{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
.efTab td{padding:3px 0;border-bottom:1px solid var(--md-outline-variant)}
.efTab td.d{text-align:right;padding-left:8px;white-space:nowrap}
.efTab tr.tot td{font-weight:800;border-bottom:0;padding-top:6px}
.efHist{font-size:12px;line-height:1.45;margin:5px 0}
.efHist span{color:var(--md-on-surface-variant)}
.efLst .lcC b{font-variant-numeric:tabular-nums}
/* os avisos do mes e o nome do produto com os selos quebram a linha em vez de sumir no "..." */
.efLstM li.movRow.lstCad.gen>span.lcC:nth-child(6),.efLst li.movRow.lstCad.gen>span.lcC:nth-child(2){white-space:normal;text-overflow:clip}
.efAvs{display:inline-flex;flex-wrap:wrap;gap:4px}
/* a janela da linha do fechamento */
.dlgEF .efInfo{font-size:13px}
.efGrade{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:6px 0 4px}
.efGrade small{display:block;color:var(--md-on-surface-variant);font-size:11.5px}
.efGrade b{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.efNota{display:flex;gap:8px;align-items:flex-start;background:#fff3e0;color:#5c3800;border-radius:10px;padding:8px 10px;margin-top:8px;font-size:12.5px;line-height:1.45}
.efNota.neg{background:var(--md-error-container);color:var(--md-on-error-container)}
.efNota.corr{background:#e3ecfd;color:#0d3c78}
.efCampos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.efCampos input{width:100%;box-sizing:border-box}
.efConta{font-size:12.5px;color:var(--md-on-surface-variant);margin:4px 0 2px;min-height:18px;font-variant-numeric:tabular-nums}
.dlgEF .pe{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
/* a configuracao: o custo (dois cartoes) e os tipos que ficam fora */
.efOpcs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 4px}
.efOpc{display:flex;flex-direction:column;gap:3px;text-align:left;border:1.5px solid var(--md-outline-variant);background:var(--md-surface-container-lowest,#fff);border-radius:12px;padding:10px 12px;font:inherit;cursor:pointer;color:inherit}
.efOpc small{color:var(--md-on-surface-variant);font-size:12px;line-height:1.4}
.efOpc.on{border-color:var(--md-primary);background:color-mix(in srgb,var(--md-primary) 9%,var(--md-surface-container-lowest,#fff))}
.efOpc:disabled{cursor:default}
.efTipos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin:4px 0 6px}
.efTipo{display:flex;gap:8px;align-items:center;border:1px solid var(--md-outline-variant);border-radius:10px;padding:6px 10px;font-size:13px;cursor:pointer}
.efTipo.on{background:var(--md-surface-container-high)}
.efTipo input{width:auto;margin:0}
/* no CELULAR: o mes vira cartao (mes + valor em cima; quando e avisos embaixo) e a linha do produto mostra quantidade e valor */
@media (max-width:760px){
  .efLstM li.movRow.lstCad.gen{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"mes val" "quando quando" "av av";gap:4px 10px;padding:12px 14px}
  .efLstM li.movRow.lstCad.gen>span.lcC{display:block!important}
  .efLstM li.movRow.lstCad.gen>span.lcC:nth-child(1){grid-area:mes}
  .efLstM li.movRow.lstCad.gen>span.lcC:nth-child(2){grid-area:quando;font-size:12px;color:var(--md-on-surface-variant)}
  .efLstM li.movRow.lstCad.gen>span.lcC:nth-child(3),.efLstM li.movRow.lstCad.gen>span.lcC:nth-child(5){display:none!important}
  .efLstM li.movRow.lstCad.gen>span.lcC:nth-child(4){grid-area:val;text-align:right}
  .efLstM li.movRow.lstCad.gen>span.lcC:nth-child(6){grid-area:av;white-space:normal}
  .efLst li.movRow.lstCad.gen{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"prod val" "qt cu";gap:3px 10px;padding:11px 14px}
  .efLst li.movRow.lstCad.gen>span.lcC{display:block!important}
  .efLst li.movRow.lstCad.gen>span.lcC:nth-child(1),.efLst li.movRow.lstCad.gen>span.lcC:nth-child(3){display:none!important}
  .efLst li.movRow.lstCad.gen>span.lcC:nth-child(2){grid-area:prod;white-space:normal}
  .efLst li.movRow.lstCad.gen>span.lcC:nth-child(4){grid-area:qt;text-align:left}
  .efLst li.movRow.lstCad.gen>span.lcC:nth-child(5){grid-area:cu;font-size:12px;color:var(--md-on-surface-variant)}
  .efLst li.movRow.lstCad.gen>span.lcC:nth-child(6){grid-area:val}
  .efLst.semV li.movRow.lstCad.gen{grid-template-areas:"prod qt"}
  .efFecharMes{margin-left:0;width:100%;flex-wrap:wrap}
}
@media (max-width:640px){
  .efOpcs{grid-template-columns:1fr}
  .efGrade{gap:6px 12px}
  .dlgEF .pe .btn{flex:1 1 auto}
}

/* ===== REMESSA SEM COBRANCA (11/11): a operacao fiscal diz se o faturamento gera financeiro ===== */
.opeChip{display:inline-block;font-size:11px;font-weight:700;border-radius:6px;padding:1px 7px;line-height:1.55;white-space:nowrap;vertical-align:1px}
.opeChip.sem{background:#f3e8fd;color:#5b1a87}
.opeChip.fin{background:#e7f3ec;color:var(--verde-esc)}
.opeChip.est{background:#eceff3;color:#4f5866}
.opeMarcas{display:grid;gap:8px;margin:6px 0 2px}
.opeMarca{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--md-outline-variant);border-radius:12px;padding:9px 12px;cursor:pointer;font-weight:400}
.opeMarca input{width:auto;margin:3px 0 0;flex:none}
.opeMarca b{display:block;font-size:13.5px}
.opeMarca small{display:block;color:var(--md-on-surface-variant);font-size:12px;line-height:1.45}
.pedRemessa{display:flex;gap:8px;align-items:flex-start;background:#f3e8fd;color:#3d1260;border-radius:10px;padding:8px 12px;margin:8px 0 4px;font-size:13px;line-height:1.45}
.pedRemessa .msr{color:#5b1a87}
.parcSem{font-size:12.5px;color:#5b1a87;background:#f3e8fd;border-radius:8px;padding:6px 10px}
/* na lista de pedidos o selo vai numa linha propria embaixo do cliente (o nome comprido nao esconde ele) */
.opeChipL{display:block;width:max-content;max-width:100%;margin-top:3px}

/* ===== ENVASE COM VARIAS LINHAS (11/11): granel + lote → embalado, varias linhas num envase so ===== */
#evLinhas{display:grid;gap:10px;margin:0 0 8px}
.evLinha{border:1px solid var(--md-outline-variant);border-radius:14px;padding:8px 12px 10px;background:var(--md-surface-container-lowest,#fff)}
.evTopo{display:flex;align-items:center;justify-content:space-between;min-height:4px}
.evTopo b{font-size:12px;color:var(--md-on-surface-variant);letter-spacing:.3px;text-transform:uppercase}
.evRm{border:0;background:none;cursor:pointer;color:var(--md-on-surface-variant);font-size:14px;width:30px;height:30px;border-radius:999px}
.evRm:hover{background:color-mix(in srgb,var(--md-error) 12%,transparent);color:var(--md-error)}
.evGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px 10px}
.evGrid label{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:600;color:var(--md-on-surface-variant);margin:0;min-width:0}
.evGrid .evC2{grid-column:span 2}
.evGrid .evC2m{grid-column:span 2}
.evGrid input{width:100%;box-sizing:border-box;font:inherit;font-size:14px;border:1px solid var(--borda);border-radius:8px;padding:8px 10px;color:var(--md-on-surface);font-weight:400}
.evGrid input[readonly]{background:#f4f6f8}
.evVh{font-weight:400;font-size:11px}
.evInfo{margin-top:7px;background:#e8f0fe;border-radius:8px;padding:7px 11px;font-size:12.5px;line-height:1.5}
.evInfo.ruim{background:var(--md-error-container);color:var(--md-on-error-container)}
.evAlerta{color:#b26a00;font-weight:600}
.evResumo{margin-top:10px;font-size:13px;line-height:1.55;background:var(--md-surface-container-high);border-radius:10px;padding:8px 12px}
.evResumo:empty{display:none}
.evResumo.ruim{background:#fff3e0;color:#5c3800}
/* o envase feito (detalhe) */
.evdCab{font-size:12.5px;color:var(--md-on-surface-variant);margin:-2px 0 10px}
.evdLinhas{display:grid;gap:8px}
.evdLinha{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(0,1.1fr);gap:4px 12px;align-items:center;border:1px solid var(--md-outline-variant);border-radius:12px;padding:9px 12px;font-size:13px}
.evdLinha small{display:block;color:var(--md-on-surface-variant);font-size:11px}
.evdLinha b{display:block}
.evdLinha span{display:block;font-size:12px;color:var(--md-on-surface-variant)}
.evdSeta{font-size:18px;color:var(--md-on-surface-variant)}
.evdEmb{font-size:12.5px;line-height:1.5}
@media (max-width:640px){
  .evGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .evGrid .evC2{grid-column:span 2}
  .evGrid .evC2m{grid-column:span 2}
  .evdLinha{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .evdEmb{grid-column:1/-1}
}

/* ===== PEDIDO DE COMPRA DIRETO DA SOLICITACAO (12/11) ===== */
.pcUlt{font-size:11.5px;color:var(--md-on-surface-variant);margin-top:3px;line-height:1.35}
.pcUlt b{color:var(--md-on-surface)}
.pcSolcInfo{display:flex;gap:8px;align-items:flex-start;background:#e3ecfd;color:#0d3c78;border-radius:10px;padding:8px 12px;margin:0 0 8px;font-size:12.5px;line-height:1.45}
.pcSolcInfo .msr{color:#1747a6}
.pcOrig{display:block;width:max-content;max-width:100%;margin-top:3px;font-size:11px;font-weight:700;border-radius:6px;padding:1px 7px;background:#e3ecfd;color:#1747a6}

/* ===== PARCELAS A MÃO NO PEDIDO (12/11): só com a chave de ⚙ Configurações ▸ Venda ligada ===== */
#pedParcelas[data-modo="mao"]{display:block!important}
.pmEd{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;border:1px solid var(--md-outline-variant);border-radius:14px;padding:10px 12px;background:var(--md-surface-container-lowest,#fff)}
.pmLinhas{display:flex;flex-wrap:wrap;gap:8px}
.pmLinha{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--md-outline-variant);border-radius:10px;padding:5px 6px 5px 10px;background:var(--md-surface-container-low,#f6f8f6)}
.pmLinha .pmN{font-size:12px;color:var(--md-on-surface-variant);font-variant-numeric:tabular-nums}
.pmLinha .pmVenc{width:138px;margin:0}
.pmLinha .pmValor{width:104px;margin:0;text-align:right;font-variant-numeric:tabular-nums}
.pmLinha .pmRs{font-size:12px;color:var(--md-on-surface-variant)}
.pmTira{border:0;background:none;cursor:pointer;color:var(--md-on-surface-variant);border-radius:8px;padding:2px;display:inline-flex}
.pmTira:hover{background:var(--verm-claro);color:var(--verm)}
.pmTira .msr{font-size:18px}
.pmAcoes{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pmSoma{margin-left:auto;font-size:12.5px;border-radius:8px;padding:4px 10px;font-variant-numeric:tabular-nums}
.pmSoma.ok{background:var(--verde-claro);color:var(--verde-esc)}
.pmSoma.dif{background:var(--verm-claro);color:var(--verm)}
.pmMotivo label{font-size:12.5px;font-weight:700}
.pmMotivo label small{font-weight:400;color:var(--md-on-surface-variant)}
.pmMotivo input{width:100%;margin-top:3px}
.pmQuem{display:block;font-size:11.5px;color:var(--md-on-surface-variant);margin-top:3px}
.pmLiga{align-self:center}
.pmPerdida{display:flex;gap:6px;align-items:flex-start;flex:1 1 100%;font-size:12.5px;line-height:1.45;background:var(--ambar-claro);color:#6b3d00;border-radius:10px;padding:7px 11px}
@media (max-width:560px){.pmSoma{margin-left:0;flex:1 1 100%}.pmLinha{display:grid;grid-template-columns:auto minmax(0,1.4fr) minmax(0,1fr) auto;width:100%;box-sizing:border-box;padding:5px 4px 5px 8px}.pmLinha .pmRs{display:none}.pmLinha .pmVenc,.pmLinha .pmValor{width:100%;min-width:0}}

/* ===== CANCELAR / REATIVAR / EXCLUIR CONTA (12/11): o "Inativar Conta" do TZ, com motivo e liberação ===== */
.btn.primario.perigo{background:var(--verm);color:#fff}
.btn.primario.perigo:hover{background:#8c1d18;color:#fff}
.tcResumo{display:grid;gap:6px;background:var(--md-surface-container-low,#f6f8f6);border-radius:12px;padding:10px 12px;margin:0 0 10px;font-size:13px}
.tcPes small{display:block;color:var(--md-on-surface-variant);font-size:12px}
.tcParcs{display:flex;flex-wrap:wrap;gap:6px}
.tcParcs span{border:1px solid var(--md-outline-variant);border-radius:8px;padding:4px 9px;font-size:12.5px;background:var(--md-surface-container-lowest,#fff)}
.tcParcs .num,.tcSoma .num{font-variant-numeric:tabular-nums}
.tcSoma{font-size:12.5px;color:var(--md-on-surface-variant)}
.tcEra{font-size:12.5px;color:#55606b}
.tcTodas{display:flex;gap:8px;align-items:center;font-weight:400;margin-top:10px;cursor:pointer}
.tcTodas input{width:auto;margin:0;flex:none}
.tcLib{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.45;background:var(--ambar-claro);color:#6b3d00;border-radius:10px;padding:8px 12px;margin-top:10px}
.tcFicha{border:1px solid #cfd6dd;background:#f4f6f8;border-radius:12px;padding:10px 12px;margin:0 0 12px;display:grid;gap:6px;font-size:13px}
.tcFTit{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.tcFTit .msr{color:#55606b}
.tcFTit small{color:var(--md-on-surface-variant)}
.tcFRe{font-size:12.5px;color:var(--md-on-surface-variant)}
.tcFicha .mini{justify-self:start}

/* ===== HISTÓRICO DE PREÇO (12/11): o log de alteração de preço do TZ ===== */
.hpBarra{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.hpChip{display:inline-flex;gap:6px;align-items:center;background:var(--verde-claro);color:var(--verde-esc);border-radius:99px;padding:3px 10px;font-size:12px}
.hpChip a{cursor:pointer;font-weight:800;color:var(--md-on-surface-variant)}
.hpSobe{color:var(--verm);font-weight:700;font-variant-numeric:tabular-nums}
.hpDesce{color:var(--verde-esc);font-weight:700;font-variant-numeric:tabular-nums}
.hpNovo,.hpTirou{font-size:11px;font-weight:700;border-radius:6px;padding:1px 7px;background:#e3ecfd;color:#1747a6}
.hpTirou{background:#eceff1;color:#55606b}
.hpLst .lcC{font-variant-numeric:tabular-nums}
.prHpTit{font-weight:800;font-size:12px;letter-spacing:.3px;color:var(--cinza);margin:4px 0 4px;display:flex;gap:8px;align-items:center}
.prHpTab{width:100%;border-collapse:collapse;font-size:12.5px}
.prHpTab td{padding:5px 4px;border-top:1px solid var(--borda);vertical-align:top}
.prHpTab td.d{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
/* no CELULAR o histórico de preço vira cartão: produto e variação em cima; onde e o preço novo no meio; quando, quem e o antigo embaixo */
@media (max-width:760px){
  .hpLst li.movRow.lstCad.gen{grid-template-columns:auto minmax(0,1fr) auto!important;grid-template-areas:"prod prod var" "onde onde dep" "quando quem ant";gap:3px 10px;padding:11px 14px}
  .hpLst li.movRow.lstCad.gen>span.lcC{display:block!important}
  .hpLst li.movRow.lstCad.gen>span.lcC:nth-child(1){grid-area:quando;font-size:12px;color:var(--md-on-surface-variant)}
  .hpLst li.movRow.lstCad.gen>span.lcC:nth-child(2){display:none!important}
  .hpLst li.movRow.lstCad.gen>span.lcC:nth-child(3){grid-area:prod}
  .hpLst li.movRow.lstCad.gen>span.lcC:nth-child(4){grid-area:onde;font-size:12.5px}
  .hpLst li.movRow.lstCad.gen>span.lcC:nth-child(5){grid-area:ant;font-size:12px;color:var(--md-on-surface-variant);text-align:right}
  .hpLst li.movRow.lstCad.gen>span.lcC:nth-child(5)::before{content:"era "}
  .hpLst li.movRow.lstCad.gen>span.lcC:nth-child(6){grid-area:dep;text-align:right}
  .hpLst li.movRow.lstCad.gen>span.lcC:nth-child(7){grid-area:var;text-align:right}
  .hpLst li.movRow.lstCad.gen>span.lcC:nth-child(8){grid-area:quem;font-size:12px;color:var(--md-on-surface-variant)}
  .hpBarra .segLib{display:flex;width:100%}
  .hpBarra .segLib button{flex:1;padding:8px 4px}
}
@media (max-width:760px){.hpLst li.movRow.lstCad.gen>span.lcC:nth-child(5):has(.hpNada){visibility:hidden}}

/* ===== HISTÓRICO DA FÓRMULA (12/11): o Historico_Composicao do TZ ===== */
.fhCab{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.fhCab h3{margin:0}
.fhCorpo{display:grid;gap:8px;max-height:min(66vh,620px);overflow-y:auto;padding-right:4px}
.fhAtual{font-size:13px;background:var(--verde-claro);color:var(--verde-esc);border-radius:10px;padding:8px 12px}
.fhVer{border:1px solid var(--md-outline-variant);border-radius:12px;background:var(--md-surface-container-lowest,#fff)}
.fhVer summary{cursor:pointer;display:grid;gap:5px;padding:9px 12px;list-style:none}
.fhVer summary::-webkit-details-marker{display:none}
.fhVer[open] summary{border-bottom:1px solid var(--md-outline-variant)}
.fhQuando{font-size:13px}
.fhQuando small{color:var(--md-on-surface-variant)}
.fhMud{display:flex;flex-wrap:wrap;gap:5px}
.fhCh{font-size:12px;border-radius:7px;padding:2px 8px;background:#eef2f6;color:#3b4652}
.fhCh.ent{background:#e3f4e8;color:#0b5a2a}
.fhCh.sai{background:#fdeaea;color:#8c1d18}
.fhCh.fra{background:#fff3e0;color:#7a4a00}
.fhCh b{font-variant-numeric:tabular-nums}
.fhMot{font-size:12.5px;color:var(--md-on-surface-variant);font-style:italic}
.fhAntes{padding:8px 12px 12px}
.fhAntesTit{font-size:12px;font-weight:700;color:var(--md-on-surface-variant);margin-bottom:4px}
.fhTab{width:100%;border-collapse:collapse;font-size:12.5px}
.fhTab th{text-align:left;font-size:11.5px;color:var(--md-on-surface-variant);padding:4px 6px}
.fhTab td{padding:4px 6px;border-top:1px solid var(--md-outline-variant)}
.fhTab .d{text-align:right;font-variant-numeric:tabular-nums}
.fhPrep{font-size:12.5px;margin-top:8px;white-space:pre-wrap}

/* ===== OUTROS LOCAIS DE ENTREGA (12/11): no cadastro do cliente e o "Entregar em" do pedido ===== */
.ceLista{display:grid;gap:8px;margin:6px 0 8px}
.ceLoc{display:grid;gap:6px;border:1px solid var(--md-outline-variant);border-radius:12px;padding:8px 10px;background:var(--md-surface-container-lowest,#fff)}
.ceLinha{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ceLinha input{margin:0;flex:1 1 120px;min-width:0}
.ceLinha .ceApelido{font-weight:600;flex:1 1 220px}
.ceLinha .ceNum,.ceLinha .ceUF{flex:0 1 70px}
.ceLinha .ceCep{flex:0 1 110px}
.pedEntDica{font-size:12.5px;color:var(--verde-esc);margin-top:4px;line-height:1.4}

/* ===== REGISTRO DE ENVIOS (12/11): e-mail e WhatsApp ===== */
.envOk{background:#e3f4e8!important;color:#0b5a2a!important}
.envErr{background:#fdeaea!important;color:#8c1d18!important}
.envT{background:#fff3e0!important;color:#6b3d00!important}
.envW{background:#e3f6ee!important;color:#075e3c!important}
.envLst .lcC{font-variant-numeric:tabular-nums}
@media (max-width:760px){
  .envLst li.movRow.lstCad.gen{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"cli sit" "doc doc" "para para" "quando via";gap:3px 10px;padding:11px 14px}
  .envLst li.movRow.lstCad.gen>span.lcC{display:block!important}
  .envLst li.movRow.lstCad.gen>span.lcC:nth-child(1){grid-area:quando;font-size:12px;color:var(--md-on-surface-variant)}
  .envLst li.movRow.lstCad.gen>span.lcC:nth-child(2){grid-area:via;font-size:12px;text-align:right}
  .envLst li.movRow.lstCad.gen>span.lcC:nth-child(3){display:none!important}
  .envLst li.movRow.lstCad.gen>span.lcC:nth-child(4){grid-area:cli}
  .envLst li.movRow.lstCad.gen>span.lcC:nth-child(5){grid-area:doc;font-size:12.5px}
  .envLst li.movRow.lstCad.gen>span.lcC:nth-child(6){grid-area:para;font-size:12px;color:var(--md-on-surface-variant)}
  .envLst li.movRow.lstCad.gen>span.lcC:nth-child(7){grid-area:sit;text-align:right}
  .envLst li.movRow.lstCad.gen>span.lcC:nth-child(8){display:none!important}
}

/* ===== NOTA DE DEVOLUÇÃO DE VENDA (12/11) ===== */
.dvCab{display:grid;gap:4px;background:var(--md-surface-container-low,#f6f8f6);border-radius:12px;padding:10px 12px;margin:0 0 10px;font-size:13px}
.dvCab small{display:block;color:var(--md-on-surface-variant);font-size:12px}
.dvNum{font-size:12.5px;color:#3b4652}
.dvTabWrap{overflow-x:auto;border:1px solid var(--md-outline-variant);border-radius:12px}
.dvTab{width:100%;border-collapse:collapse;font-size:13px;min-width:560px}
.dvTab th{text-align:left;font-size:11.5px;color:var(--md-on-surface-variant);padding:7px 8px;background:var(--md-surface-container-low,#f6f8f6)}
.dvTab td{padding:6px 8px;border-top:1px solid var(--md-outline-variant);vertical-align:middle}
.dvTab td small{display:block;color:var(--md-on-surface-variant);font-size:11.5px}
.dvTab .d{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.dvTab .dvQ{width:90px;margin:0;text-align:right}
.dvTab .dvC{width:64px;margin:0}
.dvLinhaTot{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0 2px}
.dvTotal{font-size:13px}
.dvTotal small{color:var(--md-on-surface-variant)}
.dvChk{display:flex;gap:8px;align-items:center;font-weight:400;margin-top:10px;cursor:pointer}
.dvChk input{width:auto;margin:0}
.dvFin{border:1px solid var(--md-outline-variant);border-radius:12px;padding:6px 12px 10px;margin:10px 0 0;display:grid;gap:4px}
.dvFin legend{font-size:12.5px;font-weight:700;padding:0 4px}
.dvFin label{display:flex;gap:8px;align-items:center;font-weight:400;font-size:13px;cursor:pointer;margin:0}
.dvFin input{width:auto;margin:0}
.dvSelo{font-size:10.5px;font-weight:700;border-radius:6px;padding:1px 6px;background:#e3ecfd;color:#1747a6;white-space:nowrap}
.dvSelo.v{background:#eef2f6;color:#5a6472}
.dvSelo.c{background:#fff3e0;color:#8a4b00}

/* ===== FECHAMENTO DO CAIXA PELO EXTRATO (12/11) ===== */
.cxContas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin:0 0 10px}
.cxConta{display:grid;gap:3px;border:1px solid var(--md-outline-variant);border-radius:12px;padding:9px 12px;background:var(--md-surface-container-lowest,#fff);font-size:12.5px}
.cxConta b{font-size:13.5px}
.cxConta.alerta{border-color:#f1c27d;background:#fff8ec}
.cxAv{color:#8a4b00;font-weight:600}
.cxOk{background:#e3f4e8!important;color:#0b5a2a!important}
.cxMao{background:#e3ecfd!important;color:#1747a6!important}
.cxReab{background:#fff3e0!important;color:#7a4a00!important}
.cxPend{background:#fdeaea!important;color:#8c1d18!important}
.cxEmenda{background:#f3e8fd!important;color:#5b1a87!important}
.cxLst .lcC{font-variant-numeric:tabular-nums}
.cxfInfo{font-size:13px;line-height:1.6;background:var(--md-surface-container-low,#f6f8f6);border-radius:10px;padding:8px 12px;margin:0 0 8px}
.cxCfgDias{display:flex;gap:6px;align-items:center;font-size:12.5px}
.cxCfgDias input{width:56px;margin:0;text-align:center}
@media (max-width:760px){
  .cxLst li.movRow.lstCad.gen{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"conta fim" "sit sit" "dia lanc";gap:3px 10px;padding:11px 14px}
  .cxLst li.movRow.lstCad.gen>span.lcC{display:block!important}
  .cxLst li.movRow.lstCad.gen>span.lcC:nth-child(1){grid-area:dia;font-size:12px;color:var(--md-on-surface-variant)}
  .cxLst li.movRow.lstCad.gen>span.lcC:nth-child(2){grid-area:conta}
  .cxLst li.movRow.lstCad.gen>span.lcC:nth-child(3),.cxLst li.movRow.lstCad.gen>span.lcC:nth-child(4),.cxLst li.movRow.lstCad.gen>span.lcC:nth-child(5){display:none!important}
  .cxLst li.movRow.lstCad.gen>span.lcC:nth-child(6){grid-area:fim;text-align:right}
  .cxLst li.movRow.lstCad.gen>span.lcC:nth-child(7){grid-area:lanc;font-size:12px;color:var(--md-on-surface-variant);text-align:right}
  .cxLst li.movRow.lstCad.gen>span.lcC:nth-child(7)::after{content:" lançamentos"}
  .cxLst li.movRow.lstCad.gen>span.lcC:nth-child(8){grid-area:sit;white-space:normal}
}
/* com uma conta escolhida a coluna Conta some: no celular o cartao usa o "fechou" como principal */
@media (max-width:760px){
  .cxLst.umaConta li.movRow.lstCad.gen{grid-template-areas:"dia fim" "sit sit" "lanc lanc"}
  .cxLst.umaConta li.movRow.lstCad.gen>span.lcC:nth-child(1){grid-area:dia;font-size:13px;color:inherit;font-weight:600}
  .cxLst.umaConta li.movRow.lstCad.gen>span.lcC:nth-child(2),.cxLst.umaConta li.movRow.lstCad.gen>span.lcC:nth-child(3),.cxLst.umaConta li.movRow.lstCad.gen>span.lcC:nth-child(4){display:none!important}
  .cxLst.umaConta li.movRow.lstCad.gen>span.lcC:nth-child(5){grid-area:fim;text-align:right;display:block!important}
  .cxLst.umaConta li.movRow.lstCad.gen>span.lcC:nth-child(6){grid-area:lanc;font-size:12px;color:var(--md-on-surface-variant);text-align:left}
  .cxLst.umaConta li.movRow.lstCad.gen>span.lcC:nth-child(6)::after{content:" lançamentos"}
  .cxLst.umaConta li.movRow.lstCad.gen>span.lcC:nth-child(7){grid-area:sit;white-space:normal}
  .cxLst.umaConta li.movRow.lstCad.gen>span.lcC:nth-child(8){display:none!important}
}
/* o ⋮ do dia vai no canto do cartao (no celular) */
@media (max-width:760px){
  .cxLst li.movRow.lstCad.gen{grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-areas:"conta fim menu" "sit sit sit" "dia lanc lanc"}
  .cxLst.umaConta li.movRow.lstCad.gen{grid-template-areas:"dia fim menu" "sit sit sit" "lanc lanc lanc"}
  .cxLst li.movRow.lstCad.gen>span.lcMenu{grid-area:menu;align-self:start}
  .cxLst li.movRow.lstCad.gen>span.lcC:nth-child(7)::after,.cxLst.umaConta li.movRow.lstCad.gen>span.lcC:nth-child(6)::after{content:" lanç."}
}

/* ===== ⚙ Configurações ▸ Backup (12/11) ===== */
.bkCampo{display:flex;gap:6px;align-items:center;font-size:12.5px}
.bkCampo input{width:60px;margin:0;text-align:center}
.bkPasta{flex-wrap:wrap}
.bkPasta input{flex:1 1 280px;min-width:0;margin:0}
.bkSalvar{display:flex;justify-content:flex-end;padding:6px 0 4px}
.bkUlt{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.5;padding:4px 0 6px}
.bkUlt .msr{color:var(--verde-esc)}
.bkUlt small{color:var(--md-on-surface-variant)}
.bkLista{display:grid;gap:2px}
.bkLin{display:grid;grid-template-columns:minmax(0,1fr) 90px 60px;gap:10px;align-items:center;font-size:12.5px;padding:5px 2px;border-top:1px solid var(--md-outline-variant)}
.bkLin .num{text-align:right;font-variant-numeric:tabular-nums}
.bkLin a{color:var(--verde-esc);font-weight:700;text-align:right}
.cfgSec code{font-size:12px;background:var(--md-surface-container-low,#f6f8f6);border-radius:6px;padding:1px 5px;word-break:break-all}

/* ===== Custo da fórmula e a % de cada MP (12/11) ===== */
.fmBaseLin{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:8px}
.fmPctSoma{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12.5px;line-height:1.4;min-width:0}
.fmPctSoma .msr{font-size:18px}
.fmPctSoma.ok{color:var(--verde-esc)}
.fmPctSoma.err{color:var(--verm);font-weight:600}
.fmPctSoma small{flex-basis:100%;color:var(--md-on-surface-variant);font-weight:400}
.fmBaseCampo{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;color:var(--md-on-surface-variant);margin:0;font-weight:500}
.fmBaseCampo input{width:84px;margin:0;text-align:right;font-variant-numeric:tabular-nums}
.fmPct,.pfmPct{text-align:right;font-variant-numeric:tabular-nums}
/* a soma das % ja diz o que falta (em vermelho): a mensagem da conferencia nao repete ali */
.fmBaseLin>.faltaMsg{display:none}
.fmPct:disabled,.pfmPct:disabled{background:transparent;border-color:transparent}
.cuBase{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:var(--md-on-surface-variant);margin:0 0 8px}
.cuBase .msr{font-size:18px;color:var(--verde-esc)}
.cuBase b{color:var(--md-on-surface)}
.cuBase a{color:var(--verde-esc);font-weight:700}
.cuBase.lista{margin:0}
.cuSecTit{font-weight:800;font-size:12.5px;letter-spacing:.3px;color:var(--cinza);margin:14px 0 6px}
.cuSecTit small{font-weight:500;letter-spacing:0}
.cuTabWrap{overflow-x:auto;max-width:100%}
.cuTab{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
.cuTab th{text-align:left;color:var(--cinza);font-size:11px;font-weight:700;padding:4px 7px;white-space:nowrap}
.cuTab td{padding:5px 7px;border-top:1px solid var(--borda);vertical-align:top}
.cuTab .d{text-align:right;white-space:nowrap}
.cuTab td small{display:block;color:var(--md-on-surface-variant);font-size:11px}
.cuTab td.d small{display:block}
.cuTab tfoot td{font-weight:700;border-top:2px solid var(--borda)}
.cuTab tr.cuMp{cursor:pointer}
.cuTab tr.cuMp:hover td{background:var(--md-surface-container-low,#f6f8f6)}
.cuTab tr.cuDet td{background:var(--md-surface-container-low,#f6f8f6);padding:6px 10px 10px}
.cuTab .cb{width:28px;text-align:center}
.cuTab .cb input{width:16px;height:16px;margin:0;accent-color:var(--verde)}
.cuTab .cuNaTab{color:var(--md-on-surface-variant)}
.cuDetTab{width:100%;border-collapse:collapse;font-size:11.5px}
.cuDetTab th{text-align:left;color:var(--cinza);font-weight:700;padding:2px 6px;white-space:nowrap}
.cuDetTab td{padding:3px 6px;border-top:1px solid var(--borda)}
.cuDetTab .d{text-align:right;white-space:nowrap}
.cuDetTab td small{display:inline;margin-left:4px}
.cuDetVazio{font-size:12px;color:var(--md-on-surface-variant);padding:2px 0}
.cuTag{display:inline-block;font-size:11px;font-weight:700;border-radius:999px;padding:1px 8px;background:#eef2f6;color:var(--cinza);white-space:nowrap}
.cuTag.ok{background:#e7f3ec;color:var(--verde-esc)}
.cuTag.velho{background:#fff3e0;color:#b26a00}
.cuTag.erro{background:#fdecea;color:#c62828}
.fiNcmErro{color:#c62828}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .cuTag.erro,:root:not([data-theme="light"]) .fiNcmErro{color:#ef9a9a}}
:root[data-theme="dark"] .cuTag.erro,:root[data-theme="dark"] .fiNcmErro{color:#ef9a9a}
.cuAvi{color:#b26a00!important;font-weight:600}
.cuTotal{display:grid;gap:4px;margin-top:10px;background:#e8f0fe;border-radius:10px;padding:10px 12px;font-size:13px}
.cuTotal>div{display:flex;gap:10px;justify-content:space-between;align-items:baseline}
.cuTotal b{font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.cuTotal .cuCinza{font-size:13px}
.cuCinza{color:var(--md-on-surface-variant);font-weight:600}
.cuAviso{display:flex;gap:6px;align-items:flex-start;margin-top:8px;font-size:12.5px;color:#b26a00}
.cuVazio{font-size:12.5px;color:var(--md-on-surface-variant);padding:4px 0}
.cuRegra{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;margin:0 0 6px}
.cuRegra input{width:62px;margin:0 2px;padding:3px 6px;text-align:right;font-variant-numeric:tabular-nums}
.cuErr{color:var(--verm)}
.cuLevar{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:10px}
.cuLevar label{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;margin:0;font-weight:600}
.cuLevar select{max-width:min(360px,70vw);margin:0}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .cuTotal{background:rgba(26,86,200,.18)}:root:not([data-theme="light"]) .cuTag{background:rgba(255,255,255,.08)}}
:root[data-theme="dark"] .cuTotal{background:rgba(26,86,200,.18)}
:root[data-theme="dark"] .cuTag{background:rgba(255,255,255,.08)}

/* ===== app de vendas: desconto maximo (12/11) ===== */
.appDescMax{display:inline-flex;gap:6px;align-items:center;font-size:13px}
.appDescMax input{width:72px;margin:0;text-align:right;font-variant-numeric:tabular-nums}
