[hidden]{display:none !important}
.catalogo-editor{display:grid;gap:28px;max-width:1200px;margin:0 auto}
.catalogo-editor__topo h2{font:400 30px/1.2 "Instrument Serif",Georgia,serif;color:var(--gesso)}
.catalogo-editor__topo p{max-width:650px;margin-top:8px;color:var(--poeira);font-size:14px;line-height:1.6}
.catalogo-editor__cabecalho{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.catalogo-editor__cabecalho h3{font-size:16px;font-weight:600;color:var(--gesso)}
.catalogo-editor__grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.catalogo-oferta{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:20px;border:1px solid var(--risco-2);border-radius:12px;background:var(--bancada)}
.catalogo-oferta__titulo{max-width:100%;padding:0 7px;color:var(--gesso);font-size:14px;font-weight:600;overflow-wrap:anywhere}
.catalogo-oferta__campo{display:grid;gap:7px;min-width:0}
.catalogo-oferta__campo:first-of-type{grid-column:1/-1}
.catalogo-oferta__campo span{font-size:12px;font-weight:500;color:var(--poeira)}
.catalogo-oferta__campo input{width:100%;min-width:0;min-height:43px;padding:10px 11px;border:1px solid var(--risco-2);border-radius:6px;background:var(--bancada-2);color:var(--gesso);font-size:14px;font-variant-numeric:tabular-nums}
.catalogo-oferta__campo input:focus{outline:2px solid var(--verdete);outline-offset:2px}
.catalogo-oferta__unitario{grid-column:1/-1;color:var(--poeira-2);font-size:12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.catalogo-oferta__ativo{grid-column:1/-1;display:flex;align-items:center;gap:9px;color:var(--poeira);font-size:13px;cursor:pointer}
.catalogo-oferta__ativo input{width:18px;height:18px;accent-color:var(--verdete);flex:0 0 auto}
.catalogo-oferta__ativo input:focus-visible{outline:2px solid var(--verdete);outline-offset:3px}
.catalogo-oferta--inativa{border-style:dashed;background:var(--breu)}
.catalogo-oferta--inativa .catalogo-oferta__titulo{color:var(--poeira-2)}
.catalogo-editor__adicionar,.catalogo-editor__recarregar,.catalogo-oferta__descartar,
.revisao-acao__cancelar{padding:10px 14px;border:1px solid var(--risco-2);border-radius:7px;background:var(--bancada-2);color:var(--gesso);font:500 13px/1.4 "Instrument Sans",system-ui,sans-serif;cursor:pointer}
.catalogo-oferta__descartar{grid-column:1/-1;justify-self:start;font-size:12px;padding:7px 10px}
.catalogo-editor__rodape{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 0;background:var(--bancada);border-top:1px solid var(--risco)}
.catalogo-editor__estado{flex:1;min-width:200px;color:var(--poeira);font-size:13px;line-height:1.6}
.catalogo-editor__estado--erro{color:var(--coral)}
.catalogo-editor__salvar,.revisao-acao__confirmar{padding:11px 17px;border:1px solid transparent;border-radius:7px;background:var(--verdete);color:#10251D;font:600 13px/1.4 "Instrument Sans",system-ui,sans-serif;cursor:pointer}
.catalogo-editor button,.revisao-acao button{transition:transform var(--troca),border-color var(--troca),background var(--troca)}
.catalogo-editor button:hover:not(:disabled),.revisao-acao button:hover:not(:disabled){transform:translateY(-1px)}
.catalogo-editor button:active:not(:disabled),.revisao-acao button:active:not(:disabled){transform:scale(.97)}
.catalogo-editor button:focus-visible,.revisao-acao button:focus-visible{outline:2px solid var(--verdete);outline-offset:3px}
.catalogo-editor button:disabled,.revisao-acao button:disabled{cursor:default;opacity:.55}
:root[data-tema="claro"] :is(.catalogo-editor__salvar,.revisao-acao__confirmar){color:#FFF}
.oferta__unitario{font-size:11.5px;color:var(--poeira-2);margin-top:7px;line-height:1.5;overflow-wrap:anywhere}
.oferta__c--contrato-anterior{border-color:var(--risco-2)}
.oferta__condicoes{font-size:10px;color:var(--poeira-2);margin-bottom:9px;line-height:1.4}
.oferta__contrato{font-size:12px;color:var(--poeira);margin-top:12px;line-height:1.6}

/* Um diálogo nativo mantém o foco preso à revisão e suspende a página
   de baixo. Cancelar recebe foco antes de qualquer ação financeira. */
.revisao-acao{position:fixed;inset:0;margin:auto;padding:0;width:min(720px,calc(100vw - 32px));height:fit-content;max-width:none;max-height:min(88dvh,860px);border:1px solid var(--risco-2);border-radius:14px;background:var(--bancada);color:var(--gesso);box-shadow:0 24px 90px #0006;overflow:hidden}
.revisao-acao[open]{display:flex;flex-direction:column}
.revisao-acao::backdrop{background:rgba(20,15,31,.67);backdrop-filter:blur(4px)}
.revisao-acao__topo{flex:0 0 auto;padding:24px 26px 19px;border-bottom:1px solid var(--risco)}
.revisao-acao__topo h2{font:400 28px/1.2 "Instrument Serif",Georgia,serif;letter-spacing:0}
.revisao-acao__topo p{margin-top:10px;font-size:14px;line-height:1.6;color:var(--poeira)}
.revisao-acao__conteudo{flex:1 1 auto;min-height:0;overflow-y:auto;padding:22px 26px;overscroll-behavior:contain}
.revisao-acao__conteudo:empty{display:none}
.revisao-acao__dados{display:grid;grid-template-columns:1fr 1fr;gap:15px 22px}
.revisao-acao__dados div{min-width:0}
.revisao-acao__dados dt{font-size:11px;color:var(--poeira-2);margin-bottom:4px}
.revisao-acao__dados dd{font-size:14px;color:var(--gesso);overflow-wrap:anywhere}
.revisao-acao__grupo + .revisao-acao__grupo{margin-top:24px}
.revisao-acao__grupo h3{font-size:14px;font-weight:600;margin-bottom:10px;color:var(--gesso);overflow-wrap:anywhere}
.revisao-acao__tabela{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}
.revisao-acao__tabela th,.revisao-acao__tabela td{padding:10px;text-align:left;border-bottom:1px solid var(--risco);vertical-align:top;overflow-wrap:anywhere}
.revisao-acao__tabela thead th{font-size:10px;color:var(--poeira-2);font-weight:500;text-transform:uppercase;letter-spacing:.09em}
.revisao-acao__tabela tbody th{font-weight:500;color:var(--poeira);width:28%}
.revisao-acao__antes{color:var(--poeira-2)}
.revisao-acao__depois{color:var(--gesso);background:var(--verdete-vel);font-weight:500}
.revisao-acao__acoes{flex:0 0 auto;display:flex;justify-content:flex-end;gap:10px;padding:18px 26px;border-top:1px solid var(--risco);background:var(--bancada)}
.revisao-acao__confirmar--perigo{background:var(--coral);color:#29110C}
:root[data-tema="claro"] .revisao-acao::backdrop{background:rgba(68,55,85,.38)}
@media(max-width:1000px){.catalogo-editor__grade{grid-template-columns:1fr}}
@media(max-width:560px){
  .catalogo-editor{gap:23px}.catalogo-editor__topo h2{font-size:27px}
  .catalogo-editor__cabecalho{align-items:flex-start;gap:10px}.catalogo-editor__cabecalho h3{font-size:15px;padding-top:9px}
  .catalogo-editor__adicionar{padding:9px 10px;font-size:12px;flex:0 0 auto}
  .catalogo-oferta{padding:16px 12px;gap:14px 10px}
  .catalogo-oferta__campo span{font-size:11.5px}.catalogo-oferta__campo input{font-size:16px;padding:9px}
  .catalogo-editor__rodape{gap:10px}.catalogo-editor__estado{flex-basis:100%;min-width:0}
  .catalogo-editor__salvar,.catalogo-editor__recarregar{width:100%}
  .revisao-acao{width:calc(100vw - 20px);max-height:92dvh;border-radius:11px}
  .revisao-acao__topo{padding:20px 17px 15px}.revisao-acao__topo h2{font-size:25px}
  .revisao-acao__topo p{font-size:13px}.revisao-acao__conteudo{padding:17px}
  .revisao-acao__dados{grid-template-columns:1fr;gap:12px}
  .revisao-acao__tabela thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .revisao-acao__tabela tbody tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--risco);padding-bottom:5px}
  .revisao-acao__tabela tbody th{grid-column:1/-1;width:auto;padding:9px 6px 5px}
  .revisao-acao__tabela th,.revisao-acao__tabela td{border:0;font-size:12px}
  .revisao-acao__tabela td{padding:7px 6px}
  .revisao-acao__tabela td::before{content:attr(data-rotulo);display:block;font-size:10px;font-weight:400;color:var(--poeira-2);margin-bottom:3px}
  .revisao-acao__acoes{padding:14px 17px;flex-wrap:wrap}.revisao-acao__acoes button{width:100%;min-height:43px}
}
@media(prefers-reduced-motion:reduce){.catalogo-editor button,.revisao-acao button{transition:none;transform:none !important}}
