/* MyJus Calculadora Trabalhista - folha de estilo
   Identidade herdada do site (navy/gold, Inter + Fraunces + JetBrains Mono).
   Assinatura da página: a "fita de liquidação" (extrato vivo em mono). */
:root{
  --ink:#0A1628; --navy:#0C2340; --navy-2:#071A31; --navy-3:#122E52; --navy-4:#04101F;
  --gold:#B98A2E; --gold-2:#E4C465; --gold-soft:#F8F1E0;
  --green:#1FA855; --green-2:#16833F; --red:#C4402E;
  --paper:#F6F8FB; --white:#fff;
  --line:#E3E9F2; --line-2:#D5DEEB;
  --slate:#3A4A66; --muted:#5F7089; --faint:#93A2B8;
  --sh-1:0 1px 2px rgba(10,22,40,.06);
  --sh-2:0 12px 32px -14px rgba(10,22,40,.22);
  --sh-3:0 34px 80px -30px rgba(10,22,40,.45);
  --r:14px; --r-lg:22px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --sans:'Inter',system-ui,sans-serif;
  --disp:'Fraunces',Georgia,serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--slate);background:var(--paper);line-height:1.6;font-size:15.5px;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--disp);color:var(--ink);line-height:1.12;letter-spacing:-.015em;font-weight:600}
a{color:inherit;text-decoration:none}
button{font-family:var(--sans);cursor:pointer}
::selection{background:rgba(228,196,101,.45);color:var(--ink)}
.mono{font-family:var(--mono);letter-spacing:-.01em}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* ---------- header ---------- */
.topo{background:var(--navy);color:#fff}
.topo .wrap{display:flex;align-items:center;gap:16px;height:64px}
.topo img{height:30px;width:auto}
.topo .tag{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-2);border:1px solid rgba(228,196,101,.4);border-radius:99px;padding:3px 10px}
.topo .volta{margin-left:auto;font-size:13.5px;color:#A9BCDA;transition:color .2s}
.topo .volta:hover{color:#fff}

/* ---------- título ---------- */
.titulo{padding:34px 0 6px}
.titulo h1{font-size:clamp(26px,3.6vw,38px)}
.titulo p{margin-top:8px;max-width:640px;color:var(--muted);font-size:15px}
.titulo .fio{width:56px;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-2));border-radius:2px;margin-bottom:14px}

/* ---------- stepper ---------- */
.stepper{display:flex;gap:4px;margin:22px 0 26px;overflow-x:auto;scrollbar-width:none}
.stepper::-webkit-scrollbar{display:none}
.step{flex:1;min-width:130px;border:0;background:#fff;border-top:3px solid var(--line-2);padding:10px 14px 12px;text-align:left;transition:border-color .3s,background .3s;border-radius:0 0 10px 10px}
.step .n{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--faint)}
.step .t{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-top:2px;white-space:nowrap}
.step.on{border-top-color:var(--gold);background:#fff;box-shadow:var(--sh-1)}
.step.on .n{color:var(--gold)}
.step.on .t{color:var(--ink)}
.step.done{border-top-color:var(--navy)}
.step.done .n{color:var(--green)}
.step:disabled{cursor:default}
.step:not(:disabled):hover .t{color:var(--ink)}
.step:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ---------- grid principal ---------- */
.grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:26px;align-items:start;padding-bottom:80px}

/* ---------- cartões de formulário ---------- */
.cartao{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:26px 28px;margin-bottom:18px}
.cartao h2{font-size:19px;margin-bottom:4px}
.cartao .sub{font-size:13.5px;color:var(--muted);margin-bottom:18px}
.cartao h3{font-size:14px;font-family:var(--sans);font-weight:700;color:var(--ink);margin:20px 0 10px;padding-top:16px;border-top:1px dashed var(--line)}
.cartao h3:first-of-type{border-top:0;padding-top:0}
fieldset{border:0}
.campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.campos .full{grid-column:1/-1}
.campo label{display:block;font-size:12.5px;font-weight:600;color:var(--slate);margin-bottom:5px}
.campo .dica{font-weight:400;color:var(--faint)}
.campo input[type=text],.campo input[type=date],.campo input[type=number],.campo input[type=time],.campo input[type=email],.campo select,.campo textarea{
  width:100%;border:1px solid var(--line-2);border-radius:10px;background:#fff;color:var(--ink);
  font-family:var(--sans);font-size:14.5px;padding:10px 12px;transition:border-color .2s,box-shadow .2s}
.campo input.dinheiro,.campo input[type=number]{font-family:var(--mono);font-size:14px}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(185,138,46,.15)}
.campo textarea{resize:vertical;min-height:74px}
.prefixo{position:relative}
.prefixo>span{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:13px;color:var(--faint)}
.prefixo input{padding-left:38px !important}

/* toggle simples */
.chk{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .2s,background .2s}
.chk:hover{border-color:var(--line-2);background:#FBFCFE}
.chk input{margin-top:3px;accent-color:var(--gold);width:16px;height:16px;flex:0 0 auto}
.chk b{display:block;font-size:13.5px;color:var(--ink);font-weight:600}
.chk small{font-size:12.5px;color:var(--muted);line-height:1.45;display:block}
.chk.marcada{border-color:var(--gold);background:var(--gold-soft)}

/* sub-blocos condicionais */
.subbloco{margin-top:10px;padding:14px;border:1px dashed var(--line-2);border-radius:12px;background:#FBFCFE}
.oculto{display:none !important}

/* segmentado (tabs da jornada) */
.seg{display:inline-flex;background:#EEF2F8;border-radius:11px;padding:3px;gap:2px;margin-bottom:16px}
.seg button{border:0;background:transparent;border-radius:9px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--muted);transition:all .2s}
.seg button.on{background:#fff;color:var(--navy);box-shadow:var(--sh-1)}

/* grade de jornada */
.jornada{width:100%;border-collapse:collapse;font-size:13.5px}
.jornada th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);padding:6px 8px;border-bottom:1px solid var(--line)}
.jornada td{padding:7px 8px;border-bottom:1px solid var(--paper)}
.jornada td:first-child{font-weight:600;color:var(--ink);white-space:nowrap}
.jornada input[type=time]{width:100%;min-width:86px;border:1px solid var(--line-2);border-radius:8px;padding:6px 8px;font-family:var(--mono);font-size:12.5px}
.jornada input[type=number]{width:74px;border:1px solid var(--line-2);border-radius:8px;padding:6px 8px;font-family:var(--mono);font-size:12.5px}
.jornada input[type=checkbox]{accent-color:var(--gold);width:15px;height:15px}
.jornada tr.folga td:not(:first-child):not(:nth-child(2)){opacity:.35;pointer-events:none}

/* navegação entre etapas */
.nav-etapas{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:6px}
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:11px;padding:12px 22px;font-size:14.5px;font-weight:600;transition:all .25s var(--ease)}
.btn-primario{background:var(--navy);color:#fff;box-shadow:var(--sh-2)}
.btn-primario:hover{background:var(--navy-3)}
.btn-ouro{background:linear-gradient(135deg,var(--gold),#CBA045);color:#fff;box-shadow:0 12px 30px -12px rgba(185,138,46,.55)}
.btn-ouro:hover{filter:brightness(1.06)}
.btn-fantasma{background:#fff;color:var(--navy);border-color:var(--line-2)}
.btn-fantasma:hover{border-color:var(--navy)}
.btn:disabled{opacity:.5;cursor:not-allowed;filter:none}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ---------- fita de liquidação (assinatura) ---------- */
.fita{position:sticky;top:18px;background:linear-gradient(174deg,var(--navy-2),var(--navy) 55%,var(--navy-4));border-radius:var(--r-lg);box-shadow:var(--sh-3);color:#DCE6F5;overflow:hidden}
.fita::before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-2),var(--gold))}
.fita-cab{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 10px}
.fita-cab .rot{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8FA6C9}
.fita-cab .mod{font-size:11px;color:var(--gold-2);font-weight:600;text-align:right;max-width:170px;line-height:1.3}
.fita-linhas{padding:4px 20px;max-height:44vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#2A4368 transparent}
.fita-g{margin:10px 0 4px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7C94BC;border-bottom:1px dashed rgba(143,166,201,.25);padding-bottom:4px}
.fita-l{display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:12px;padding:3.5px 0;animation:entra .4s var(--ease)}
.fita-l .rt{color:#B9C9E2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fita-l .vl{color:#fff;font-weight:600;white-space:nowrap}
.fita-l.neg .vl{color:#F0A9A0}
@keyframes entra{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.fita-total{border-top:1px solid rgba(228,196,101,.35);margin-top:8px;padding:14px 20px 16px;background:rgba(4,16,31,.45)}
.fita-total .rot{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8FA6C9}
.fita-total .valor{font-family:var(--mono);font-weight:700;font-size:clamp(22px,2vw,27px);color:var(--gold-2);margin-top:2px;transition:opacity .2s}
.fita-total .obs{font-size:10.5px;color:#7C94BC;margin-top:6px;line-height:1.45}
.fita-vazia{padding:26px 20px;font-size:12.5px;color:#8FA6C9;line-height:1.55}
.fita-vazia .mono{color:var(--gold-2)}

/* barra mobile */
.barra-mob{display:none}

/* ---------- header: botão do editor de teses ---------- */
.topo-btn{border:1px solid rgba(228,196,101,.45);background:transparent;color:var(--gold-2);border-radius:9px;padding:7px 13px;font-size:12.5px;font-weight:700;transition:background .2s}
.topo-btn:hover{background:rgba(228,196,101,.12)}

/* ---------- modal do editor de teses ---------- */
.modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-fundo{position:absolute;inset:0;background:rgba(4,16,31,.62);backdrop-filter:blur(3px)}
.modal-caixa{position:relative;background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-3);width:min(860px,100%);max-height:88vh;display:flex;flex-direction:column;overflow:hidden}
.modal-cab{display:flex;justify-content:space-between;gap:16px;padding:22px 26px 14px;border-bottom:1px solid var(--line)}
.modal-cab h2{font-size:20px}
.modal-cab p{font-size:13px;color:var(--muted);margin-top:4px;max-width:560px}
.modal-x{border:0;background:transparent;font-size:26px;color:var(--faint);cursor:pointer;line-height:1;height:34px;width:34px;border-radius:8px}
.modal-x:hover{background:var(--paper);color:var(--ink)}
.modal-corpo{padding:18px 26px 24px;overflow-y:auto}
.et-grupo{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}
.et-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:8px;background:#fff}
.et-item b{font-size:13.5px;color:var(--ink)}
.et-item small{display:block;font-size:12px;color:var(--muted)}
.et-item .et-badge{font-size:10.5px;font-weight:700;color:var(--gold);border:1px solid var(--gold-2);border-radius:99px;padding:2px 8px;white-space:nowrap}
.et-item .acoes{display:flex;gap:6px;flex:0 0 auto}
.et-item .acoes button{border:1px solid var(--line-2);background:#fff;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600;color:var(--navy)}
.et-item .acoes button:hover{border-color:var(--navy)}
.ajuda-placeholders{font-size:12.5px;color:var(--muted)}
.ajuda-placeholders summary{cursor:pointer;font-weight:600;color:var(--slate)}
.ajuda-placeholders code{background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:11px}
.ajuda-placeholders p{margin-top:8px;line-height:1.7}

/* editor rico do texto da tese */
.et-editor-caixa{border:1px solid var(--line-2);border-radius:12px;overflow:hidden;background:#fff}
.et-editor-caixa:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(185,138,46,.15)}
.et-toolbar{display:flex;gap:4px;align-items:center;padding:7px 10px;border-bottom:1px solid var(--line);background:#FBFCFE;flex-wrap:wrap}
.et-toolbar button{border:1px solid transparent;background:transparent;border-radius:8px;min-width:30px;height:30px;font-size:13px;color:var(--slate);font-weight:600;cursor:pointer}
.et-toolbar button:hover{background:#EEF2F8;color:var(--ink)}
.et-toolbar .sep{width:1px;height:18px;background:var(--line-2);margin:0 4px}
.et-toolbar select{border:1px solid var(--line-2);border-radius:8px;background:#fff;color:var(--slate);font-size:12px;font-weight:600;padding:5px 8px;max-width:220px}
#et_editor{padding:16px 18px;min-height:260px;max-height:46vh;overflow-y:auto;outline:0;
  font-family:'Palatino Linotype',Palatino,Georgia,serif;font-size:14px;color:#1a2233;line-height:1.7;text-align:justify}
#et_editor p{margin:0 0 9px}
#et_editor blockquote{margin:10px 0 10px 1.8em;padding:2px 0 2px 12px;border-left:3px solid var(--gold);font-size:13px;color:#2a3550}
.et-var-exemplo{font-family:var(--mono);font-size:11px;background:var(--gold-soft);border:1px solid var(--gold-2);border-radius:5px;padding:1px 5px;color:var(--gold)}

/* ---------- feriados (etapa 3) ---------- */
.feriados-lista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.feriados-lista .chk{padding:8px 10px}
.feriados-lista .chk b{font-size:12.5px}
.feriados-lista .chk small{font-size:11px}
@media(max-width:960px){.feriados-lista{grid-template-columns:1fr 1fr}}

/* ---------- resumo do contrato (etapa 4) ---------- */
.contrato-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px}
.cg-item{border-left:2px solid var(--gold-2);padding-left:10px}
.cg-rot{display:block;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.cg-val{font-size:13.5px;color:var(--ink)}
@media(max-width:960px){.contrato-grid{grid-template-columns:1fr 1fr}}

/* ---------- botões de copiar (etapa 4) ---------- */
.copiar-linha{border:0;background:transparent;color:var(--faint);cursor:pointer;font-size:13px;padding:2px 6px;border-radius:6px;vertical-align:middle;margin-left:6px}
.copiar-linha:hover{background:var(--gold-soft);color:var(--gold)}
.copiado-flash{color:var(--green) !important}

/* ---------- variantes de rescisão indireta (etapa 5) ---------- */
.variantes-caixa{margin:10px 0 16px;padding:14px;border:1px dashed var(--gold);border-radius:12px;background:var(--gold-soft)}
.variantes-caixa .vtit{font-size:12px;font-weight:700;color:var(--navy);margin-bottom:8px}
.variantes-caixa .teses-lista{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:960px){.variantes-caixa .teses-lista{grid-template-columns:1fr}}

/* ---------- períodos de férias/13º (etapa 2) ---------- */
.periodos-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ptit{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.periodo{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin-bottom:8px;background:#fff;transition:border-color .2s,background .2s}
.periodo.aberta{border-color:var(--gold);background:var(--gold-soft)}
.periodo .pinfo{min-width:0}
.periodo .pdatas{font-family:var(--mono);font-size:12px;color:var(--ink);font-weight:600;white-space:nowrap}
.periodo .pmeta{font-size:11.5px;color:var(--muted)}
.periodo .pmeta .dobro{color:var(--red);font-weight:700}
.ptoggle{flex:0 0 auto;display:inline-flex;background:#EEF2F8;border-radius:9px;padding:2px;gap:2px}
.ptoggle button{border:0;background:transparent;border-radius:7px;padding:5px 10px;font-size:11.5px;font-weight:700;color:var(--muted);cursor:pointer}
.ptoggle button.on{background:var(--navy);color:#fff}
.periodo.aberta .ptoggle button.on{background:var(--gold);color:#fff}
@media(max-width:960px){.periodos-grid{grid-template-columns:1fr}}

/* ---------- resumo (etapa 4) ---------- */
.destaques{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.dst{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.dst .rot{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.dst .val{font-family:var(--mono);font-size:21px;font-weight:700;color:var(--navy);margin-top:4px}
.dst.total{background:var(--navy);border-color:var(--navy)}
.dst.total .rot{color:#8FA6C9}
.dst.total .val{color:var(--gold-2)}
.tabela-resumo{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.tabela-resumo caption{caption-side:top;text-align:left;padding:0 0 10px;font-family:var(--disp);font-size:18px;color:var(--ink);font-weight:600}
.tabela-resumo th{background:var(--navy);color:#fff;text-align:left;font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px}
.tabela-resumo th:last-child{text-align:right}
.tabela-resumo td{padding:9px 14px;border-bottom:1px solid var(--paper);vertical-align:top}
.tabela-resumo td:last-child{text-align:right;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap}
.tabela-resumo tr.grupo td{background:var(--gold-soft);font-weight:700;color:var(--navy);font-size:12.5px;letter-spacing:.03em;text-transform:uppercase}
.tabela-resumo tr.subtotal td{font-weight:700;border-bottom:2px solid var(--line-2)}
.tabela-resumo tr.totalzao td{background:var(--navy);color:#fff;font-size:15px;font-weight:700;padding:13px 14px}
.tabela-resumo tr.totalzao td:last-child{color:var(--gold-2)}
.formula{display:block;font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:3px;line-height:1.5}
.aviso-caixa{border:1px solid var(--line-2);border-left:3px solid var(--gold);background:#fff;border-radius:10px;padding:12px 16px;font-size:13px;color:var(--muted);margin:14px 0}

/* ---------- teses (etapa 5) ---------- */
.teses-grupo{margin-bottom:16px}
.teses-grupo .gtit{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.teses-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tese{position:relative}
.tese>span>b{padding-right:88px}
.tese .valorzinho{position:absolute;right:12px;top:10px;font-family:var(--mono);font-size:11.5px;font-weight:700;color:var(--gold);white-space:nowrap}
.gerar-caixa{background:linear-gradient(174deg,var(--navy-2),var(--navy));border-radius:var(--r-lg);padding:24px 26px;color:#DCE6F5;box-shadow:var(--sh-2)}
.gerar-caixa h3{color:#fff;border:0;padding:0;margin:0 0 6px;font-size:16px}
.gerar-caixa p{font-size:13px;color:#A9BCDA;margin-bottom:14px;line-height:1.55}
.progresso{display:none;margin-top:16px}
.progresso.on{display:block}
.progresso .fases{font-size:12.5px;color:#A9BCDA;font-family:var(--mono)}
.pbar{height:6px;background:rgba(255,255,255,.12);border-radius:99px;overflow:hidden;margin-top:8px}
.pbar>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-2));border-radius:99px;transition:width .8s var(--ease)}

/* editor */
.editor-caixa{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2);overflow:hidden;margin-top:18px}
.editor-bar{display:flex;gap:4px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);background:#FBFCFE;flex-wrap:wrap}
.editor-bar button{border:1px solid transparent;background:transparent;border-radius:8px;min-width:32px;height:32px;font-size:13.5px;color:var(--slate);font-weight:600}
.editor-bar button:hover{background:#EEF2F8;color:var(--ink)}
.editor-bar .sep{width:1px;height:20px;background:var(--line-2);margin:0 6px}
.editor-bar .direita{margin-left:auto;display:flex;gap:8px}
#editor{padding:34px clamp(20px,6%,64px);min-height:420px;max-height:72vh;overflow-y:auto;outline:0;
  font-family:'Palatino Linotype',Palatino,Georgia,serif;font-size:15px;color:#1a2233;line-height:1.75;text-align:justify}
#editor h1{font-family:inherit;font-size:16.5px;text-align:center;text-transform:uppercase;margin:0 0 18px}
#editor h2{font-family:inherit;font-size:15.5px;text-transform:uppercase;color:var(--navy);margin:22px 0 10px;text-align:left;letter-spacing:.01em}
#editor p{margin:0 0 11px;text-indent:2.2em}
#editor blockquote{margin:14px 0 14px 2.5em;padding:2px 0 2px 14px;border-left:3px solid var(--gold);font-size:13.8px;text-align:justify;color:#2a3550}
#editor blockquote p{text-indent:0}
#editor table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13.5px}
#editor th{background:var(--navy);color:#fff;padding:7px 10px;text-align:left;font-size:12px}
#editor td{border:1px solid var(--line-2);padding:6px 10px}
#editor td:last-child{font-family:var(--mono);font-size:12.5px;white-space:nowrap;text-align:right}

/* rodapé */
.rodape{border-top:1px solid var(--line);background:#fff;padding:22px 0 26px;margin-top:30px}
.rodape .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:var(--faint)}
.rodape a{color:var(--muted);font-weight:600}
.rodape a:hover{color:var(--navy)}

/* ---------- impressão (memória de cálculo) ---------- */
#printMemoria{display:none}
@media print{
  body>*:not(#printMemoria){display:none !important}
  body{background:#fff}
  #printMemoria{display:block;font-family:Georgia,'Palatino Linotype',serif;color:#111;font-size:12px}
  #printMemoria .pm-cab{display:flex;justify-content:space-between;align-items:center;border-bottom:2.5px solid #B98A2E;padding-bottom:10px;margin-bottom:16px}
  #printMemoria .pm-cab img{height:26px}
  #printMemoria .pm-cab .dir{text-align:right;font-size:10.5px;color:#555}
  #printMemoria h1{font-size:17px;color:#0C2340;margin:0 0 2px;font-family:Georgia,serif}
  #printMemoria h2{font-size:12px;color:#0C2340;text-transform:uppercase;letter-spacing:.05em;margin:16px 0 6px;border-bottom:1px solid #ddd;padding-bottom:3px}
  #printMemoria table{width:100%;border-collapse:collapse;font-size:11px}
  #printMemoria td{padding:4px 6px;border-bottom:1px solid #eee;vertical-align:top}
  #printMemoria td:last-child{text-align:right;font-family:'Courier New',monospace;white-space:nowrap;font-weight:700}
  #printMemoria .pm-form{display:block;font-family:'Courier New',monospace;font-size:9.5px;color:#666}
  #printMemoria .pm-sub td{font-weight:700;border-bottom:2px solid #B98A2E;background:#FBF6EA}
  #printMemoria .pm-tot td{background:#0C2340;color:#fff;font-size:13px;font-weight:700;padding:8px 6px}
  #printMemoria .pm-tot td:last-child{color:#E4C465}
  #printMemoria .pm-meta{font-size:10.5px;color:#444;margin-bottom:10px;line-height:1.6}
  #printMemoria .pm-nota{margin-top:14px;font-size:9.5px;color:#777;border-top:1px solid #ddd;padding-top:8px;line-height:1.5}
  @page{size:A4;margin:16mm 14mm}
}

/* ---------- responsivo ---------- */
@media(max-width:960px){
  .grid{grid-template-columns:1fr}
  .fita{display:none}
  .barra-mob{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--navy);color:#fff;
    align-items:center;justify-content:space-between;padding:12px 18px;box-shadow:0 -8px 30px rgba(10,22,40,.35)}
  .barra-mob .rot{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8FA6C9}
  .barra-mob .valor{font-family:var(--mono);font-weight:700;font-size:19px;color:var(--gold-2)}
  .barra-mob button{border:1px solid rgba(228,196,101,.5);background:transparent;color:var(--gold-2);border-radius:9px;padding:8px 14px;font-size:12.5px;font-weight:700}
  .grid{padding-bottom:120px}
  .campos{grid-template-columns:1fr}
  .teses-lista{grid-template-columns:1fr}
  .destaques{grid-template-columns:1fr}
  .cartao{padding:20px 18px}
  .step{min-width:112px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
}
