/* MARCO ZERO ONE · SIMULADOR — folha de estilo
   Publicada junto com index.html e simulador.js no hPanel
   (public_html/simulador/). Ao atualizar, suba os TRÊS arquivos e
   troque o ?v= nas tags do index.html para furar o cache. */

:root{
  --ink:#14110D; --ink2:#3A342C; --muted:#7C7366;
  --ivory:#F7F4ED; --paper:#FFFFFF; --line:#DFD8C9;
  --gold:#A8823C; --goldsoft:#EFE6D0;
  --ok:#1C6547; --no:#A32B24; --wa:#8A6420;
  --revenda:#6B3FA0; --revendasoft:#EDE3F7;
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --r:3px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--ivory); color:var(--ink); font-family:var(--sans); font-size:15px; line-height:1.45; -webkit-text-size-adjust:100%}
.num{font-variant-numeric:tabular-nums; font-feature-settings:"tnum"}

.top{background:var(--ink); color:var(--ivory); padding:18px 18px 15px}
.eyebrow{font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin:0 0 6px}
.top h1{font-family:var(--serif); font-weight:400; font-size:27px; letter-spacing:.02em; margin:0}
.top h1 em{font-style:normal; color:var(--goldsoft)}
.top .sub{font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:#B9B0A2; margin:7px 0 0}
.top p{margin:9px 0 0; font-size:12.5px; color:#B9B0A2; line-height:1.6}
.top p b{color:var(--ivory); font-weight:600}

/* caixa usada pelo modal de identificação */
.gatebox{width:100%; max-width:330px}
.gatebox h1{font-family:var(--serif); font-weight:400; font-size:26px; margin:0 0 4px; letter-spacing:.02em}
.gatebox h1 em{font-style:normal; color:var(--goldsoft)}
.gatebox .gsub{font-size:13px; color:#B9B0A2; margin:0 0 20px; line-height:1.5}
.gatebox label{display:block; font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold); margin:0 0 6px}
.gatebox input{width:100%; font:inherit; font-size:16px; padding:11px 12px; border-radius:var(--r);
  background:#1F1B16; color:var(--ivory); border:1px solid #423B32}
.gatebox input:focus-visible{outline:2px solid var(--gold); outline-offset:1px}
.gatebox button{width:100%; font:inherit; font-size:14px; padding:11px; margin:9px 0 0; cursor:pointer;
  border-radius:var(--r); background:var(--gold); color:var(--ink); border:0; font-weight:600}
.gerr{font-size:12.5px; color:#E8A9A4; margin:10px 0 0}
.gnote{font-size:11px; color:#8C8377; margin:18px 0 0; line-height:1.55}

/* barra de identidade e modal de acesso */
.quem{display:flex; align-items:center; justify-content:center; gap:8px;
  background:#1F1B16; color:#B9B0A2; font-size:11.5px; padding:7px 12px}
.quem b{color:var(--ivory); font-weight:600}
.quem button{font:inherit; font-size:11.5px; background:none; border:0; padding:2px 4px;
  color:var(--gold); text-decoration:underline; cursor:pointer}
.modal{position:fixed; inset:0; z-index:120; background:rgba(20,17,13,.92);
  display:flex; align-items:center; justify-content:center; padding:22px}
.modal[hidden]{display:none}   /* sem isto o modal oculto captura o clique */
.modal .gatebox{max-width:340px}
.modal select{width:100%; font:inherit; font-size:15px; padding:10px 12px; border-radius:var(--r);
  background:#1F1B16; color:var(--ivory); border:1px solid #423B32; margin:0 0 12px}
.modal .alt{font:inherit; font-size:12px; background:none; border:0; color:var(--gold);
  text-decoration:underline; cursor:pointer; padding:8px 0 0; display:block}
.modal .gerr{min-height:16px}

.tabs{display:flex; justify-content:center; gap:6px; background:var(--ink); padding:0 10px;
  border-top:1px solid #2C2620}
.tabs button{font:inherit; font-size:13px; padding:12px 14px; cursor:pointer; background:none;
  border:0; border-bottom:2px solid transparent; color:#B9B0A2; letter-spacing:.03em}
.tabs button[aria-selected="true"]{color:var(--ivory); border-bottom-color:var(--gold)}

.wrap{max-width:1080px; margin:0 auto; padding:18px 14px 40px}

/* ---------- espelho de vendas ---------- */
.esptop{font-size:12px; color:var(--ink2); margin:0 0 13px}
.esptop #espSync{color:var(--muted)}
/* fila de aprovações */
.pcard{background:var(--paper); border:1px solid var(--line); border-radius:var(--r);
  padding:13px; margin:0 0 12px}
.pcard.foco{border-color:var(--wa); border-left:3px solid var(--wa)}
.ptop{display:flex; align-items:baseline; gap:9px; flex-wrap:wrap}
.ptop h3{font-family:var(--serif); font-weight:400; font-size:17px; margin:0}
.ptop .pq{font-size:11.5px; color:var(--muted); margin-left:auto}
.pnums{display:flex; flex-wrap:wrap; gap:3px 20px; margin:9px 0 0}
.pnums dl{margin:0}
.pnums dt{font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted)}
.pnums dd{margin:1px 0 0; font-size:14px; font-variant-numeric:tabular-nums}
.pcond{font-size:11.5px; color:var(--ink2); white-space:pre-wrap; line-height:1.5;
  background:var(--ivory); border-radius:var(--r); padding:9px 11px; margin:11px 0 0;
  max-height:190px; overflow:auto}
.pacts{display:flex; gap:8px; margin:11px 0 0}
.pacts button{flex:1; font:inherit; font-size:13px; padding:9px; cursor:pointer;
  border-radius:var(--r); border:1px solid var(--line); background:var(--paper); color:var(--ink)}
.pacts .sim{background:var(--ok); border-color:var(--ok); color:#fff; font-weight:600}
.pacts .nao{color:var(--no); border-color:var(--no)}
.pvazio{color:var(--muted); font-size:13px; padding:14px 0}

.esprod{margin:26px 0 0; padding:18px 0 0; border-top:1px solid var(--line)}
.esprod .lockbar{margin:0 0 12px}
.espwarn{background:#FBF3E2; border:1px solid var(--goldsoft); border-left:3px solid var(--gold);
  border-radius:var(--r); padding:11px 13px; font-size:12px; line-height:1.55; color:var(--ink2); margin:0 0 16px}
.espwarn b{color:var(--ink)}
.espsum{display:flex; flex-wrap:wrap; gap:4px 22px; margin:0 0 14px}
.espsum dl{margin:0}
.espsum dt{font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
.espsum dd{margin:1px 0 0; font-family:var(--serif); font-size:19px}
.lockbar{display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:var(--paper);
  border:1px solid var(--line); border-radius:var(--r); padding:10px 13px; margin:0 0 14px; font-size:13px}
.lockbar .lstate{flex:1 1 auto; color:var(--ink2)}
.lockbar button{font:inherit; font-size:12.5px; padding:7px 12px; cursor:pointer; border-radius:var(--r);
  background:var(--gold); color:var(--ink); border:1px solid var(--gold); font-weight:600}
.lockbar button.gh{background:var(--paper); color:var(--ink2); border-color:var(--line); font-weight:400}

.st{font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; padding:3px 7px;
  border-radius:100px; border:1px solid currentColor; white-space:nowrap; flex:0 0 auto}
.st.d{color:var(--ok)} .st.a{color:var(--wa)} .st.v{color:var(--no)} .st.r{color:var(--revenda)}

/* grade do espelho: um andar por linha, finais 1 a 4 nas colunas */
.mleg{display:flex; flex-wrap:wrap; gap:5px 14px; margin:0 0 9px; font-size:11.5px; color:var(--ink2)}
.mleg span{display:flex; align-items:center; gap:5px}
.mkey{width:15px; height:15px; border-radius:2px; flex:0 0 auto}
.mirror{display:grid; grid-template-columns:auto repeat(4,1fr); gap:3px; align-items:stretch}
.mhead{font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
  text-align:center; padding:0 0 3px}
.mflo{font-size:11px; color:var(--muted); display:flex; align-items:center; justify-content:flex-end;
  padding-right:5px; white-space:nowrap; font-variant-numeric:tabular-nums}
.mcell{font:inherit; cursor:pointer; padding:8px 2px 7px; border-radius:2px; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:3px; min-width:0}
.mcell .mapto{font-family:var(--serif); font-size:14px; line-height:1; font-variant-numeric:tabular-nums}
.mcell .mtag{font-size:8.5px; font-weight:700; letter-spacing:.08em; line-height:1}
.mcell.d{background:var(--paper); border:1px solid var(--line); color:var(--ink)}
.mcell.d .mtag{color:var(--ok)}
.mcell.a{border:1px solid var(--wa); color:var(--ink);
  background:repeating-linear-gradient(45deg,#FBF3E2,#FBF3E2 4px,#E8D5A6 4px,#E8D5A6 8px)}
.mcell.a .mtag{color:#6E4E12}
.mcell.v{background:var(--no); border:1px solid var(--no); color:#FFF}
.mcell.v .mtag{color:#F2D8D6}
/* revenda: informativa, não bloqueia (por isso não recebe o preenchimento
   sólido de "vendida" nem a trama de "aguardando" — precisa ficar claro à
   primeira vista que a unidade continua podendo ser negociada). */
.mcell.r{background:var(--revendasoft); border:1px solid var(--revenda); color:var(--ink)}
.mcell.r .mtag{color:var(--revenda)}
.mcell.sel{outline:2px solid var(--gold); outline-offset:1px}
.mcell.dim{opacity:.22}
.mcell:hover{filter:brightness(.97)}

.edet{background:var(--paper); border:1px solid var(--line); border-radius:var(--r);
  padding:13px; margin:16px 0 0}
.edet h3{font-family:var(--serif); font-weight:400; font-size:17px; margin:0 0 2px}
.edet .esub{font-size:12px; color:var(--muted); margin:0}
.efields{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:11px 0 0}
.efields .f2{grid-column:1/-1}
.efields label{font-size:9.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--muted);
  display:block; margin:0 0 3px}
.efields input,.efields select,.efields textarea{font:inherit; font-size:13.5px; padding:7px 8px; width:100%;
  background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--r)}
.efields textarea{resize:vertical; min-height:52px}
.esalva{display:flex; align-items:center; gap:10px; margin:12px 0 0; flex-wrap:wrap}
.esalva button{font:inherit; font-size:13px; padding:8px 16px; cursor:pointer; border-radius:var(--r);
  background:var(--paper); color:var(--muted); border:1px solid var(--line)}
.esalva button.sujo{background:var(--gold); color:var(--ink); border-color:var(--gold); font-weight:600}
.esalva button:disabled{cursor:default}
.esalva span{font-size:11.5px; color:var(--muted)}
.esalva span.alerta{color:var(--no); font-weight:600}
.esalva span.feito{color:var(--ok); font-weight:600}
.mcell.sujo{box-shadow:inset 0 0 0 2px var(--gold)}

.eread{font-size:13px; margin:11px 0 0; line-height:1.6}
.eread dt{font-size:9.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); margin:7px 0 0}
.eread dd{margin:0}
.eempty{padding:16px 13px; color:var(--muted); font-size:13px}
section{margin:0 0 22px}
.shead{display:flex; align-items:baseline; gap:9px; margin:0 0 10px}
.step{font-family:var(--serif); font-size:13px; color:var(--gold); border:1px solid var(--line); background:var(--paper); width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:0 0 auto}
.shead h2{font-family:var(--serif); font-weight:400; font-size:19px; margin:0; letter-spacing:.01em}
.shead .hint{font-size:11.5px; color:var(--muted); margin-left:auto; text-align:right; max-width:46%}
.card{background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:14px}

.chips{display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px}
.chip{font:inherit; font-size:12.5px; padding:6px 11px; cursor:pointer; background:var(--paper); color:var(--ink2); border:1px solid var(--line); border-radius:100px}
.chip[aria-pressed="true"]{background:var(--ink); color:var(--ivory); border-color:var(--ink)}
label.fld{display:block; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin:0 0 5px}
select,input{font:inherit; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:9px 10px; width:100%}
select{appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%); background-position:calc(100% - 15px) 51%,calc(100% - 10px) 51%; background-size:5px 5px,5px 5px; background-repeat:no-repeat; padding-right:32px}
input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--gold); outline-offset:1px}
.toggle{display:flex; align-items:center; gap:7px; font-size:13px; color:var(--ink2); margin:10px 0 0}
.toggle input{width:auto}

.unit{display:flex; flex-wrap:wrap; gap:2px 22px; margin:13px 0 0; padding:13px 0 0; border-top:1px solid var(--line)}
.unit dl{margin:0}
.unit dt{font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
.unit dd{margin:1px 0 0; font-size:15px}
.unit dd.big{font-family:var(--serif); font-size:21px}
.tag{display:inline-block; font-size:10px; letter-spacing:.12em; text-transform:uppercase; padding:3px 8px; border-radius:100px; border:1px solid currentColor}
.tag.v{color:var(--no)}
.tag.d{color:var(--ok)}

.cols{display:grid; gap:22px}
@media(min-width:900px){ .cols{grid-template-columns:1fr 1fr; align-items:start} }

.ledger{background:var(--paper); border:1px solid var(--line); border-radius:var(--r); overflow:hidden}
.ledger > header{padding:11px 13px; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:8px}
.ledger > header h3{font-family:var(--serif); font-weight:400; font-size:16px; margin:0}
.ledger.tab > header{background:var(--ivory)}
.ledger.prop > header{background:var(--ink); color:var(--ivory); border-bottom-color:var(--ink)}
.lgnote{font-size:11px; color:var(--muted); margin-left:auto}
.lgmeta{font-size:11.5px; line-height:1.6; color:var(--muted); margin:0;
  padding:9px 13px; background:var(--ivory); border-bottom:1px solid var(--line)}
.lgmeta b{color:var(--ink2)}
.ledger.prop .lgnote{color:#B9B0A2}

.row{padding:11px 13px; border-bottom:1px solid var(--line)}
.rtop{display:flex; align-items:baseline; gap:8px}
.rdesc{font-size:13.5px; font-weight:600; flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.rwhen{font-size:11.5px; color:var(--muted); white-space:nowrap}
.rvals{display:flex; align-items:baseline; gap:6px; margin:4px 0 0; font-size:13px; flex-wrap:wrap}
.rvals .nom{font-weight:600}
.rvals .each{margin-left:auto; color:var(--muted)}

.grid{display:grid; grid-template-columns:1.4fr .6fr 1fr 1.1fr; gap:7px; margin:9px 0 0}
.grid .full{grid-column:1/-1}
.grid input,.grid select{padding:7px 8px; font-size:13.5px}
.grid select{background-position:calc(100% - 13px) 51%,calc(100% - 8px) 51%; padding-right:24px}
@media(max-width:620px){
  .grid{grid-template-columns:1fr 1fr}
  .grid .gtipo{grid-column:1/-1}
}
/* campo não editável fica visivelmente cinza (portado da antiga blindagem) */
#tabSim input:disabled, #tabEsp input:disabled{background:#EBE5D9; color:var(--muted); cursor:not-allowed}
.row.novo{background:#FBF3E2}
@media(prefers-reduced-motion:no-preference){
  .row.novo{animation:acende 1.4s ease-out}
  @keyframes acende{ 0%{background:#F2E2BC} 100%{background:transparent} }
}
.glab{font-size:9.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); display:block; margin:0 0 3px}
/* padding vertical maior que o visual pede: só pra dar mais área de toque
   num link que remove uma parcela — sem parecer um botão grande. */
.del{font:inherit; font-size:11.5px; color:var(--no); background:none; border:0; padding:8px 0; margin:-3px 0; cursor:pointer; text-decoration:underline}
.warn{font-size:11.5px; color:var(--no); margin:6px 0 0; line-height:1.4}

.foot{padding:12px 13px; background:var(--ivory); border-top:1px solid var(--line)}
.tot{display:flex; justify-content:space-between; align-items:baseline; gap:10px; font-size:13.5px; padding:2px 0}
.tot b{font-variant-numeric:tabular-nums}
.tot.main{font-size:15px; padding-top:7px; margin-top:6px; border-top:1px solid var(--line)}
.tot.main b{font-family:var(--serif); font-size:21px}
.ledger.tab .foot .tot.main{border-top:0; margin-top:0; padding-top:2px}
.tot.desc b{color:var(--no)}
.addrow{font:inherit; font-size:13px; width:100%; padding:10px; cursor:pointer; background:var(--paper); color:var(--ink); border:1px dashed var(--line); border-radius:var(--r)}
.addrow:hover{border-color:var(--gold); color:var(--gold)}
.lgadd{padding:12px 13px 0}
/* atalhos da proposta, logo abaixo do cabeçalho e antes da grade de parcelas */
.lgactions{display:flex; gap:8px; padding:10px 13px; border-bottom:1px solid var(--line)}
.lnk{font:inherit; font-size:12px; background:none; border:0; color:var(--muted); text-decoration:underline; cursor:pointer; padding:4px 0}
/* no celular viram botões de toque em duas colunas */
@media(max-width:899px){
  .lgactions{display:grid; grid-template-columns:1fr 1fr; gap:7px; padding:11px 13px}
  .lgactions .lnk{background:var(--paper); color:var(--ink); border:1px solid var(--line);
    border-radius:var(--r); text-decoration:none; text-align:center; font-size:12.5px; padding:10px 6px}
}

/* Fixo na tela (sticky), mas só o essencial: status + valor. Os botões de
   ação final (Copiar/Imprimir) ficam FORA — sempre fixo, esse cartão come
   uma faixa permanente do fim da tela, e em notebooks comuns (~700px de
   altura útil) isso já é o bastante pra tampar o fim da grade de parcelas. */
.verdict{position:sticky; bottom:0; z-index:20; margin:22px 0 0; background:var(--paper); border:1px solid var(--line); border-radius:var(--r); box-shadow:0 -6px 18px rgba(20,17,13,.10)}
.vhead{display:flex; align-items:center; gap:10px; padding:11px 13px}
.mark{flex:0 0 auto; width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:16px; line-height:1; color:var(--paper)}
.vbody{min-width:0; flex:1 1 auto}
.vlabel{font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:700}
.vnum{font-family:var(--serif); font-size:24px; line-height:1.15; font-variant-numeric:tabular-nums}
.vsub{font-size:12px; color:var(--muted); margin:2px 0 0}
.is-ok .mark{background:var(--ok)}
.is-ok .vlabel{color:var(--ok)}
.is-no .mark{background:var(--no)}
.is-no .vlabel{color:var(--no)}
.is-wa .mark{background:var(--wa)}
.is-wa .vlabel{color:var(--wa)}
.is-off .mark{background:var(--muted)}
.is-off .vlabel{color:var(--muted)}
.vgap{border-top:1px solid var(--line); padding:11px 13px; font-size:12.5px; color:var(--ink2); background:var(--ivory)}
.vtop{display:flex; align-items:center; gap:10px}
.vtop .vlabel{flex:1 1 auto}
.aprv.enviar{color:var(--ink2); border-color:var(--line)}
.aprv{font:inherit; font-size:11px; letter-spacing:.08em; text-transform:uppercase; font-weight:700;
  padding:4px 10px; cursor:pointer; flex:0 0 auto; border-radius:100px;
  background:var(--paper); color:var(--wa); border:1px solid var(--wa)}
.aprv:hover{background:#FBF3E2}
.aprv.cancel{color:var(--muted); border-color:var(--line)}
.vgap ul{margin:5px 0 0; padding:0 0 0 17px}
.vgap li{margin:2px 0}
.vacts{display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin:10px 0 0}
@media(max-width:520px){ .vacts{grid-template-columns:repeat(2,1fr)} }
.vacts button{font:inherit; font-size:12px; padding:8px 5px; cursor:pointer; text-align:center;
  line-height:1.35; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--r)}
.vacts button b{display:block; font-size:9.5px; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:var(--muted)}
.vacts button span{display:block; font-variant-numeric:tabular-nums}
.vacts button:disabled{opacity:.38; cursor:not-allowed}
.vacts button:not(:disabled):hover{border-color:var(--gold); color:var(--gold)}
.vbtns{display:flex; gap:8px; margin:10px 0 0}
/* Notebook comum (altura útil ~600-700px, browser com barras): encolhe mais o
   cartão fixo, sem tirar nenhuma informação — só menos respiro ao redor dela. */
@media(max-height:700px){
  .vhead{padding:8px 12px; gap:9px}
  .mark{width:25px; height:25px; font-size:13px}
  .vnum{font-size:20px}
  .vsub{font-size:11.5px}
}
.btn{font:inherit; font-size:13px; padding:9px 12px; cursor:pointer; flex:1; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:var(--r)}
/* ação principal em dourado, igual à faixa de preço da tabela de vendas */
.btn.dark{background:var(--gold); color:var(--ink); border-color:var(--gold); font-weight:600}

.pnote{font-size:11.5px; line-height:1.6; color:var(--muted); margin:9px 0 0}
.pnote b{color:var(--ink2)}
/* Composição do desconto, versão compacta pro painel de parâmetros — mesma
   leitura (rótulo, percentual, medidor) da impressão, na cor do papel
   semântico: dourado é concessão (Avant, gordura), tinta neutra é
   estrutural (a própria forma de pagamento, ninguém "dá" nada). */
.dmtit{margin:0 0 5px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.dmrow{display:grid; grid-template-columns:1fr 48px 64px; gap:0 8px; align-items:center; padding:3px 0}
.dmlab{font-size:12px; color:var(--ink2)}
.dmrow b{text-align:right; font-variant-numeric:tabular-nums; font-weight:600; color:var(--ink)}
.dmmeter{display:flex; align-items:center}
.dmtrack{position:relative; width:100%; height:4px; border-radius:2px; border:1px solid var(--line); background:var(--paper)}
.dmfill{position:absolute; inset:0 auto 0 0; height:100%; border-radius:2px; background:var(--gold)}
.dmfill--tinta{background:var(--ink2)}
.dmtot{margin:6px 0 0; padding:6px 0 0; border-top:1px solid var(--line); font-size:11.5px; color:var(--muted)}
.dmtot b{color:var(--ink2)}
.dmwarn{margin:6px 0 0; font-size:11.5px; color:var(--no)}
.psep{margin:14px 0 0; padding:14px 0 0; border-top:1px solid var(--line)}

.params{margin:26px 0 0; font-size:12.5px; color:var(--muted)}
.params summary{cursor:pointer; color:var(--ink2)}
.params .card{margin:9px 0 0}
.prow{display:flex; align-items:center; gap:10px; margin:0 0 9px}
.prow label{flex:1 1 auto; font-size:13px; color:var(--ink2)}
.prow input{width:96px; flex:0 0 auto; text-align:right}
.assin{display:none}
.simul{display:none}
.asgrid{display:grid; grid-template-columns:1fr 1fr; gap:0 46px; margin:26px 0 0}
.ascol{text-align:center}
.asline{border-top:1.5px solid var(--ink); margin:0 0 5px}
.asnome{font-size:12px; font-weight:700; color:var(--ink); margin:0}
.ascargo{font-size:10.5px; color:var(--muted); margin:1px 0 0}
.asrod{display:flex; align-items:baseline; gap:12px; margin:16px 0 0; padding:7px 0 0;
  border-top:1px solid var(--line); font-size:9.5px; color:var(--muted)}
.asmarca{font-weight:800; letter-spacing:.14em; color:var(--ink); flex:0 0 auto}
.asmeio{flex:1 1 auto; text-align:center; letter-spacing:.03em}
.asdata{flex:0 0 auto}

.disc{margin:16px 0 0; font-size:11.5px; color:var(--muted); line-height:1.6}

/* composição do desconto: preenchida sempre, mas só aparece na IMPRESSÃO
   (o bloco de @media print no fim desta folha a liga) */
.dcomp{display:none}

/* [hidden] tem de vencer regra de autor que define display — as regras de
   impressão abaixo pintam display em #tabSim/.assin/.simul e, sem isto,
   ressuscitariam elemento oculto na hora de imprimir. */
#mzoRoot [hidden]{display:none !important}

@media print{
  @page{ size:A4 portrait; margin:9mm }
  body{background:#fff; zoom:var(--pz,.86)}
  .top{background:#fff; color:#000; border-bottom:1.5px solid #000; padding:0 0 6px}
  .top .sub{color:#333; margin:2px 0 0}
  .chips,.lgactions,.vbtns,.vacts,.addrow,.del,.params,.toggle,.grid,.hint,.tabs,
  .lockbar,.efields,.fld,#selUnit,.esprod,.aprv,.quem,.modal,#tabApr,.pacts{display:none!important}
  .wrap{padding:10px 0 0; max-width:none}
  section{margin:0 0 12px}
  .shead{margin:0 0 6px}
  .card{padding:10px}
  .unit{margin:0; padding:0; border-top:0}
  .cols{grid-template-columns:1fr 1fr; gap:12px; align-items:start}
  .ledger.prop > header{background:#fff; color:#000; border-bottom:1px solid #000}
  .ledger.prop .lgnote{color:#333}
  .lgmeta{background:#fff}
  .btn.dark,.lockbar button{background:#fff !important; color:#000 !important; border-color:#000 !important}
  .row{padding:7px 10px; break-inside:avoid}
  .foot{padding:8px 10px; background:#fff}
  .verdict{position:static; box-shadow:none; break-inside:avoid; margin:12px 0 0}
  .vhead{padding:9px}
  .vgap{display:none!important}
  /* composição do desconto: as três naturezas discriminadas para a diretoria */
  .dcomp{display:block; margin:10px 0 0; border:1.5px solid #000; break-inside:avoid}
  .dcomp h4{margin:0; padding:6px 10px; font-size:9.5px; letter-spacing:.16em;
    text-transform:uppercase; font-weight:700; border-bottom:1px solid #000}
  .dcrow{display:grid; grid-template-columns:16px 1fr 56px 64px 168px; gap:0 8px;
    align-items:baseline; padding:5px 10px; border-bottom:1px solid #CCC; font-size:11px}
  .dcrow b{grid-column:3; text-align:right; font-variant-numeric:tabular-nums; font-weight:600}
  .dcpr{grid-column:5; text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap}
  .dcpr i{font-style:normal; color:#888; padding:0 2px}
  .dcn{grid-column:1; color:#555; font-size:10px}
  .dclab{grid-column:2}
  .dclab i{display:block; font-style:normal; font-size:9px; color:#555; margin:1px 0 0}
  /* medidor: comprimento proporcional à magnitude, cor pelo papel semântico —
     dourado quando a casa concede (Avant, gordura), tinta neutra quando o
     desconto é estrutural (a própria forma de pagamento). Nunca só a cor:
     o número ao lado já diz o valor, a barra é reforço visual. */
  .dcmeter{grid-column:4; align-self:center; display:flex; align-items:center}
  .dctrack{position:relative; width:100%; height:5px; border-radius:3px;
    border:1px solid #C9C2B2; background:#fff}
  .dcfill{position:absolute; inset:0 auto 0 0; height:100%; border-radius:3px; background:#A8823C}
  .dcfill--tinta{background:#3A342C}
  .dctot{border-bottom:0; border-top:1.5px solid #000}
  .dctot .dclab{font-weight:700}
  .dctot b{font-family:var(--serif); font-size:13px; font-weight:700}
  .dctot .dcpr{font-weight:700}
  .dcnota{margin:0; padding:4px 10px 7px; font-size:9px; color:#555}
  /* assinaturas e rodapé no pé da folha, com folga em cima da linha para assinar.
     A cadeia toda precisa ser flex: o mzoRoot preenche a altura da página e o
     tabSim cresce, senão o margin-top:auto não tem contra o que empurrar. */
  #mzoRoot{display:flex !important; flex-direction:column;
    min-height:calc(100vh / var(--pz,.86)); box-sizing:border-box}
  #tabSim{display:flex !important; flex-direction:column; flex:1 1 auto}
  .disc{order:1; margin-top:auto; font-size:8.5px}
  .assin{display:block !important; break-inside:avoid; order:2; margin:9px 0 0}
  .assin[hidden]{display:none !important}
  .simul{display:block !important; order:3; margin:12px 0 0; text-align:center;
    font-size:11px; font-weight:700; letter-spacing:.18em; color:#000;
    border:2px solid #000; padding:9px}
  .simul[hidden]{display:none !important}
  .asgrid{margin:0; gap:0 56px}
  .asline{margin:52px 0 5px}
  .asnome{font-size:11.5px}
  .ascargo{font-size:10px}
  #tabEsp{display:none!important}
}
