/*
 * O POUCO QUE O ADMIN NOVO PRECISA ALÉM DA lb.css (que já tem casco, janelas, abas, tabelas clicáveis,
 * grade de permissões). Mesmas variáveis: preto e dourado do Litigante.
 */

/* a janela de confirmação do casco (data-confirmar) fica por cima de qualquer outra janela */
[data-adm-confirma] { z-index: 2147482000; }
[data-adm-confirma][hidden] { display: none !important; }

/* pílula de situação no cabeçalho da ficha e nas listas */
.adm-pilula { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px;
  font: 500 11px/1.5 'JetBrains Mono', monospace; letter-spacing: .04em; text-transform: uppercase;
  border: 1px solid var(--line-3, #2A251D); color: var(--ink-2, #BDB5A5); white-space: nowrap; }
.adm-pilula::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.adm-pilula--ok { color: var(--ok); border-color: rgba(111, 169, 125, .45); }
.adm-pilula--alto { color: var(--alto); border-color: rgba(232, 132, 111, .45); }
.adm-pilula--aviso { color: var(--aviso); border-color: rgba(217, 164, 65, .45); }
.adm-pilula--gold { color: var(--gold); border-color: rgba(214, 178, 94, .45); }

/* cabeçalho fixo da ficha: nome, situação, plano e ações rápidas */
.adm-ficha-cab { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; margin-top: 4px; }
.adm-ficha-cab .nota { margin: 0; }

/* números do topo de uma tela (cartões) */
.adm-numeros { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1px;
  background: var(--line); border: 1px solid var(--line); }
.adm-numeros > div { background: var(--bg, #0A0907); padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; }
.adm-numeros b { font: 400 26px/1.1 'Instrument Serif', serif; color: var(--ink); }
.adm-numeros small { color: var(--ink-3, #8F8878); font-size: 11.5px; }

/* a linha inteira abre a ficha (padrão de clientes): cursor, destaque e foco */
tr[data-linha] { cursor: pointer; }
tr[data-linha]:hover td { background: var(--line); }
tr[data-linha]:focus-visible { outline: 1px solid var(--gold); outline-offset: -1px; }
tr[data-linha] .adm-linha-nome { color: var(--ink); text-decoration: none; }

/* celular: a tabela vira cartões, e cada cartão abre a ficha */
@media (max-width: 760px) {
  .adm-cartoes thead { display: none; }
  .adm-cartoes, .adm-cartoes tbody, .adm-cartoes tr, .adm-cartoes td { display: block; width: 100%; }
  .adm-cartoes tr { border: 1px solid var(--line-3, #2A251D); border-radius: var(--raio, 6px); margin-bottom: 10px; padding: 10px 12px; }
  .adm-cartoes td { border: 0 !important; padding: 3px 0 !important; text-align: left !important; }
  .adm-cartoes td[data-rot]::before { content: attr(data-rot) ' · '; color: var(--ink-3, #8F8878); font-size: 11px; }
  .modal__caixa--largo { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; }
  .modal__caixa--largo > .painel { min-height: 100%; }
  .jm__abas { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
  .jm__aba { flex: 0 0 auto; }
}

/* caixa de código/segredo para copiar */
.adm-copiar { display: flex; gap: 8px; align-items: stretch; }
.adm-copiar input, .adm-copiar code { flex: 1; min-width: 0; font: 12.5px 'JetBrains Mono', monospace; padding: 10px 12px;
  border: 1px solid var(--line-3, #2A251D); border-radius: var(--raio, 6px); background: var(--field, #0F0D0A); color: var(--gold); overflow-wrap: anywhere; }

/* a tela de entrar do admin */
.adm-entrar { min-height: 100dvh; display: grid; place-items: center; padding: 24px 16px; }
.adm-entrar__caixa { width: min(420px, 100%); display: flex; flex-direction: column; gap: 22px; }
.adm-qr svg { width: 180px; height: 180px; background: #fff; padding: 8px; border-radius: 6px; }

/* a proposta na página do interessado (contrato 1.6): extras e itens em lista, quantidade × valor embaixo do nome */
.prop-pub__lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.prop-pub__lista li { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 13.5px; }
.prop-pub__lista li span { min-width: 0; color: var(--ink); }
.prop-pub__lista li small { display: block; margin-top: 2px; font-size: 11.5px; color: var(--muted-2); }
.prop-pub__lista li b { flex: none; font-weight: 600; color: var(--gold); white-space: nowrap; }

/* =====================================================================================================================
   EDITOR PADRÃO DA PROPOSTA (contrato 1.7, §1 — public/js/admin-proposta-editor.js). O mesmo desenho da central e dos
   outros sistemas: janela larga de altura fixa, abas de ponta a ponta, resumo ao vivo à direita (no celular, no rodapé)
   e os botões no rodapé. Usa a janela do admin (.modal > .modal__caixa > .jm) com as peças próprias (pz-).
   ===================================================================================================================== */
.pz-modal { z-index: 95; }
.pz-caixa { max-width: 1240px; }
.pz { position: relative; overflow: hidden; }
.modal__caixa > .pz.jm { height: min(860px, calc(100vh - 56px)); height: min(860px, calc(100dvh - 56px)); max-height: none; }
.pz-cab { align-items: center; }
.pz-cab .jm__tit { white-space: nowrap; }
.pz-corpo { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 320px; }
.pz-paineis { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 22px 26px 30px; }
.pz-p[hidden] { display: none; }
.pz-t { margin: 26px 0 12px; font-family: var(--f-mono); font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.pz-t small { margin-left: 8px; letter-spacing: .06em; text-transform: none; color: var(--faint); font-size: 11px; }
.pz-p > .pz-t:first-child, .pz-p > .pz-h:first-child .pz-t, .pz-p > .pz-aviso + .pz-t { margin-top: 0; }
.pz-h { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 12px; }
.pz-h .pz-t { margin: 0; }
.pz-g { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pz-g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 20px; }
.pz-2 { grid-column: 1 / -1; }
.pz-f > label small { text-transform: none; letter-spacing: 0; color: var(--faint); }
.pz-f .entrada { height: 46px; }
.pz-f textarea.entrada { height: auto; }
.pz-f[hidden] { display: none; }
.pz-err { margin: 0; font-size: 12px; color: var(--alto); }
.pz-ruim .entrada, .pz-ruim .pz-rs { border-color: var(--alto-line) !important; }
.pz-ruim .pz-rs .entrada { border-color: transparent !important; }
.pz-aviso { margin: 0 0 18px; padding: 12px 14px; border: 1px solid var(--aviso-line); background: var(--aviso-bg); color: #C9A24F; font-size: 13px; line-height: 1.55; border-radius: var(--raio); }

/* R$ antes do valor */
.pz-rs { display: flex; align-items: stretch; border: 1px solid var(--line-3); border-radius: var(--raio); background: var(--field); }
.pz-rs > span { display: grid; place-items: center; padding: 0 0 0 12px; font-family: var(--f-mono); font-size: 12px; color: var(--faint-2); }
.pz-rs .entrada { border: 0; background: transparent; font-family: var(--f-mono); text-align: right; min-width: 0; }
.pz-rs:focus-within { border-color: var(--gold-deep); }

/* seletor de duas opções (mensal/anual, %/R$) */
.pz-seg { display: inline-flex; border: 1px solid var(--line-3); border-radius: var(--raio); overflow: hidden; background: var(--field); }
.pz-seg label { position: relative; cursor: pointer; }
.pz-seg input { position: absolute; opacity: 0; pointer-events: none; }
.pz-seg span { display: block; padding: 9px 16px; font-family: var(--f-mono); font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted-2); transition: color .15s, background .15s; }
.pz-seg input:checked + span { background: rgba(214, 178, 94, .14); color: var(--gold-bright); }
.pz-seg input:focus-visible + span { box-shadow: inset 0 0 0 2px var(--gold-deep); }

/* planos */
.pz-planos { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.pz-plano { position: relative; display: block; cursor: pointer; }
.pz-plano input { position: absolute; opacity: 0; pointer-events: none; }
.pz-pc { display: flex; flex-direction: column; gap: 7px; height: 100%; padding: 16px 16px 14px; border: 1px solid var(--line-3); border-radius: var(--raio); background: var(--carbon); transition: border-color .15s, background .15s; }
.pz-plano:hover .pz-pc { border-color: var(--line-4); }
.pz-plano.on .pz-pc { border-color: var(--gold-deep); background: linear-gradient(180deg, rgba(214, 178, 94, .08), rgba(214, 178, 94, .02)); box-shadow: 0 0 0 1px rgba(214, 178, 94, .25) inset; }
.pz-plano input:focus-visible + .pz-pc { box-shadow: 0 0 0 2px var(--gold); }
.pz-pn { font-family: var(--f-serif); font-weight: 400; font-size: 20px; color: var(--ink-hi); }
.pz-pv { font-family: var(--f-mono); font-size: 15px; color: var(--gold); }
.pz-pv small { color: var(--faint); font-size: 11px; margin-left: 2px; }
.pz-pv em { display: block; font-style: normal; font-size: 11px; color: var(--faint); }
.pz-pd { font-size: 12px; line-height: 1.5; color: var(--muted-2); }
.pz-lim { margin: 2px 0 0; padding: 0; list-style: none; font-size: 12px; color: var(--muted); }
.pz-lim li::before { content: "· "; color: var(--gold-deep); }
.pz-inc { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 2px; }
.pz-inc span { padding: 2px 7px; border: 1px solid var(--line-3); border-radius: 999px; font-size: 10.5px; color: var(--muted-2); }
.pz-sem .pz-pv { color: var(--muted); }

/* módulos */
.pz-mods { display: flex; flex-direction: column; border: 1px solid var(--line-2); border-radius: var(--raio); }
.pz-mod { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px 14px; border-top: 1px solid var(--line); cursor: pointer; }
.pz-mod:first-child { border-top: 0; }
.pz-mod.off { cursor: default; opacity: .6; }
.pz-mt b { display: block; font-weight: 500; font-size: 14px; color: var(--ink); }
.pz-mt small { display: block; margin-top: 2px; font-size: 12px; line-height: 1.5; color: var(--muted-2); }
.pz-mp { text-align: right; font-size: 12px; color: var(--muted-2); white-space: nowrap; }
.pz-sw { position: relative; display: inline-block; width: 36px; height: 20px; }
.pz-sw input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.pz-tr { position: absolute; inset: 0; border-radius: 999px; background: var(--line-3); transition: background .18s; pointer-events: none; }
.pz-tr::after { content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: var(--muted-2); transition: transform .18s var(--mola, ease), background .18s; }
.pz-sw input:checked + .pz-tr { background: var(--gold-deep); }
.pz-sw input:checked + .pz-tr::after { transform: translateX(16px); background: var(--gold-bright); }
.pz-sw input:focus-visible + .pz-tr { box-shadow: 0 0 0 2px var(--gold); }
.pz-sw input:disabled { cursor: default; }

/* extras */
.pz-exs { display: flex; flex-direction: column; border: 1px solid var(--line-2); border-radius: var(--raio); }
.pz-ex { display: grid; grid-template-columns: minmax(0, 1fr) auto auto 150px 110px; align-items: center; gap: 12px; padding: 12px 14px; border-top: 1px solid var(--line); }
.pz-ex:first-child { border-top: 0; }
.pz-ex.on { background: rgba(214, 178, 94, .04); }
.pz-ex > .pz-err { grid-column: 1 / -1; }
.pz-xt b { display: block; font-weight: 500; font-size: 14px; color: var(--ink); }
.pz-xt small { font-size: 12px; color: var(--muted-2); }
.pz-step { display: inline-flex; align-items: stretch; border: 1px solid var(--line-3); border-radius: var(--raio); overflow: hidden; }
.pz-step button { width: 32px; border: 0; background: var(--carbon); color: var(--muted); font-size: 16px; cursor: pointer; }
.pz-step button:hover { color: var(--gold); }
.pz-step .entrada { width: 58px; height: 36px; border: 0; border-radius: 0; text-align: center; font-family: var(--f-mono); padding: 0 6px; }
.pz-x { color: var(--faint); }
.pz-vu .entrada { height: 36px; }
.pz-st { text-align: right; font-weight: 500; color: var(--ink); font-size: 13px; }

/* itens livres */
.pz-itwrap { overflow-x: auto; }
.pz-itens { width: 100%; border-collapse: collapse; }
.pz-itens th { padding: 0 6px 8px; text-align: left; font-family: var(--f-mono); font-size: 10px; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; color: var(--faint); }
.pz-itens td { padding: 4px 6px; vertical-align: middle; }
.pz-itens .entrada { height: 38px; padding: 0 10px; font-size: 13.5px; }
.pz-itens textarea.entrada { height: 38px; min-height: 38px; padding: 9px 10px; line-height: 1.4; resize: vertical; }
.pz-itens .c-qt { width: 80px; } .pz-itens .c-vu { width: 140px; } .pz-itens .c-rc { width: 66px; text-align: center; } .pz-itens .c-tt { width: 120px; text-align: right; font-size: 13px; } .pz-itens .c-rm { width: 40px; }
.pz-itens .qt, .pz-itens .v { font-family: var(--f-mono); text-align: right; }
.pz-ck input { width: 16px; height: 16px; accent-color: var(--gold); }
.pz-add { margin-top: 10px; }

/* desconto */
.pz-dl { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.pz-dl .pz-dv { width: 120px; height: 42px; font-family: var(--f-mono); text-align: right; }
.pz-dl .dsb { width: auto; min-width: 220px; height: 42px; }

/* resumo ao vivo */
.pz-res { min-height: 0; overflow-y: auto; display: flex; flex-direction: column; gap: 14px; padding: 20px 20px 18px; border-left: 1px solid var(--line-2); background: var(--carbon); }
.pz-rh { display: flex; align-items: center; gap: 10px; }
.pz-rh img { width: 30px; height: 30px; border-radius: 6px; }
.pz-rh b { display: block; font-size: 13.5px; font-weight: 600; color: var(--ink); }
.pz-rh small { display: block; font-size: 11.5px; color: var(--muted-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 220px; }
.pz-tg, .pz-tg2 { display: none; margin-left: auto; width: 30px; height: 30px; border: 1px solid var(--line-3); border-radius: var(--raio); background: none; color: var(--muted); cursor: pointer; }
.pz-det { display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.pz-det > div { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); }
.pz-det > div b { font-weight: 500; color: var(--ink); white-space: nowrap; }
.pz-det > div.dsc b, .pz-det > div.dsc span { color: var(--ok); }
.pz-det > div.g { padding-top: 6px; margin-top: 2px; border-top: 1px solid var(--line-2); color: var(--ink); }
.pz-det > div.g b { color: var(--gold); }
.pz-rt { margin: 10px 0 2px; font-family: var(--f-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--faint); }
.pz-rt:first-child { margin-top: 0; }
.pz-rt small { letter-spacing: 0; text-transform: none; }
.pz-tot { margin-top: auto; display: flex; flex-direction: column; gap: 10px; padding-top: 14px; border-top: 1px solid var(--line-2); }
.pz-big span { display: block; font-family: var(--f-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--faint); }
.pz-big b { display: block; margin: 4px 0 2px; font-family: var(--f-serif); font-weight: 400; font-size: 32px; line-height: 1.1; color: var(--gold-bright); font-variant-numeric: tabular-nums; }
.pz-big small { font-size: 11.5px; color: var(--muted-2); }
.pz-mini { display: flex; gap: 16px; font-size: 11.5px; color: var(--faint); }
.pz-mini b { display: block; font-size: 13.5px; font-weight: 500; color: var(--ink); }
.pz-val { margin: 0; font-size: 11.5px; line-height: 1.5; color: var(--muted-2); }

/* rodapé: Excluir (e Mais ações) à esquerda; Baixar PDF · Salvar rascunho · Enviar ao cliente à direita */
.pz-pe { justify-content: space-between; }
.pz-esq, .pz-dir { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pz-dir { margin-left: auto; justify-content: flex-end; }
.pz-perigo { color: var(--alto) !important; border-color: var(--alto-line) !important; }
.pz-mais { position: relative; }
.pz-menu { position: absolute; left: 0; bottom: calc(100% + 6px); z-index: 5; min-width: 240px; display: flex; flex-direction: column; padding: 6px; border: 1px solid var(--line-3); border-radius: var(--raio); background: var(--panel); box-shadow: 0 16px 40px rgba(0, 0, 0, .55); }
.pz-menu[hidden] { display: none; }
.pz-menu button { padding: 10px 12px; border: 0; background: none; text-align: left; font: inherit; font-size: 13.5px; color: var(--ink); cursor: pointer; border-radius: var(--raio); }
.pz-menu button:hover, .pz-menu button:focus-visible { background: rgba(214, 178, 94, .1); color: var(--gold-bright); outline: none; }

/* confirmação, envio e recado — dentro da janela */
.pz-cx { position: absolute; inset: 0; z-index: 6; display: grid; place-items: center; padding: 20px; background: rgba(6, 5, 4, .72); backdrop-filter: blur(2px); }
.pz-cxb { width: 100%; max-width: 480px; display: flex; flex-direction: column; gap: 16px; padding: 22px 24px; border: 1px solid var(--line-3); border-radius: var(--raio); background: var(--panel); box-shadow: 0 24px 70px rgba(0, 0, 0, .6); }
.pz-cxb > p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--muted); }
.pz-cxa { display: flex; justify-content: flex-end; gap: 10px; }
.pz-env { max-width: 560px; }
.pz-recado { position: absolute; left: 50%; bottom: 84px; z-index: 7; transform: translateX(-50%); max-width: min(560px, calc(100% - 32px)); padding: 12px 16px; font-size: 13.5px; box-shadow: 0 16px 40px rgba(0, 0, 0, .5); animation: lb-sobe .25s var(--mola, ease) both; }

/* a página própria: aberta direto (fundo escuro) e dentro da central (tela inteira) */
.pz-corpo-pagina { margin: 0; background: var(--void); }
.pz-pagina { position: fixed; }
html.em-moldura .pz-pagina, .pz-na-moldura .pz-pagina { padding: 0; background: var(--void); backdrop-filter: none; }
html.em-moldura .pz-pagina .pz-caixa, .pz-na-moldura .pz-pagina .pz-caixa { max-width: none; animation: none; }
html.em-moldura .pz-pagina .modal__caixa > .pz.jm, .pz-na-moldura .pz-pagina .modal__caixa > .pz.jm { height: 100vh; height: 100dvh; border: 0; box-shadow: none; }

@media (max-width: 1080px) {
  .pz-corpo { grid-template-columns: minmax(0, 1fr) 280px; }
  .pz-ex { grid-template-columns: minmax(0, 1fr) auto auto 130px; }
  .pz-ex .pz-st { grid-column: 1 / -1; text-align: left; }
}
@media (max-width: 860px) {
  .modal__caixa > .pz.jm { height: 100vh; height: 100dvh; }
  .pz-modal { padding: 0; }
  .pz-caixa { max-width: none; }
  .pz-corpo { display: flex; flex-direction: column; }
  .pz-paineis { flex: 1 1 auto; padding: 18px 16px 24px; }
  .pz-res { flex: 0 0 auto; max-height: 64%; border-left: 0; border-top: 1px solid var(--line-2); padding: 12px 16px; gap: 10px; box-shadow: 0 -12px 30px rgba(0, 0, 0, .35); }
  .pz-res:not(.aberto) .pz-rh, .pz-res:not(.aberto) .pz-det, .pz-res:not(.aberto) .pz-mini, .pz-res:not(.aberto) .pz-val { display: none; }
  .pz-res:not(.aberto) .pz-tot { flex-direction: row; align-items: center; margin: 0; padding: 0; border: 0; }
  .pz-res:not(.aberto) .pz-big b { font-size: 24px; }
  .pz-res.aberto .pz-tg2 { display: none; }
  .pz-tg2 { display: block; order: 2; margin-left: auto; }
  .pz-res.aberto .pz-tg { display: block; }
  .pz-g, .pz-g3 { grid-template-columns: minmax(0, 1fr); }
  .pz-ex { grid-template-columns: minmax(0, 1fr) auto; }
  .pz-ex .pz-x { display: none; }
  .pz-ex .pz-vu { grid-column: 1 / 2; }
  .pz-ex .pz-st { grid-column: 2 / 3; }
  .pz-mod { grid-template-columns: auto minmax(0, 1fr); }
  .pz-mp { grid-column: 2; text-align: left; }
  .pz-pe { padding: 12px 16px; gap: 8px; }
  .pz-dir { width: 100%; }
  .pz-dir .btn { flex: 1 1 auto; }
  .pz-cab .jm__tit { font-size: 18px; }
  .pz-recado { bottom: 150px; }
}

/* ---------- a ficha do cliente: Plano e faturas e Material (blocos com título, grade de 12, botão na linha do campo) */
.fx-plano .fx-topo { margin-top: 4px; }
.fx-plano__pe { justify-content: space-between; margin-top: 14px; padding: 12px 14px; border: 1px solid var(--line); background: var(--panel); }
.fx-uso { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; border: 1px solid var(--line); background: var(--panel); }
.fx-uso__barra { height: 6px; background: var(--line-2); border-radius: 3px; overflow: hidden; }
.fx-uso__barra > div { height: 100%; background: var(--gold, #D6B25E); }
.fx-uso__barra--peq { height: 5px; margin: 4px 0 6px; }
.fx-sub { font: 500 10px/1.4 'JetBrains Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 18px 0 10px; }
.secao-form__nota + .fx-sub { margin-top: 0; }
.fx-hist { padding: 7px 0; border-bottom: 1px solid var(--line); }
.fx-mat-tab td { vertical-align: top; }
.fx-mat-sub { margin: 5px 0 0; font-size: 11.5px; line-height: 1.5; }
.fx-mat-tab .adm-pilula { margin-top: 1px; }
.btn.btn--alto { color: var(--alto); }

/* ---------- Financeiro: blocos explicados, cartões do mesmo tamanho */
.fin-cartoes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.fin-cartoes > div { background: var(--bg, #0A0907); padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; min-height: 118px; min-width: 0; }
.fin-cartoes b { font: 400 28px/1.1 'Instrument Serif', serif; color: var(--ink); }
.fin-cartoes small { color: var(--ink-3, #8F8878); font-size: 11.5px; line-height: 1.5; }
.fin-cartoes .fin-alto { color: var(--alto); }
.fin-cartoes .fin-ok { color: var(--ok); }
.fin-bloco { margin-top: 26px; }
.fin-bloco > .painel__cabeca { display: flex; flex-direction: column; gap: 6px; }
.fin-bloco > .painel__cabeca .nota { margin: 0; font-size: 12.5px; line-height: 1.6; max-width: 110ch; }
.fin-duas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.fin-duas > .fin-bloco { margin-top: 26px; min-width: 0; }
.fin-dias { font-family: var(--f-mono, 'JetBrains Mono', monospace); white-space: nowrap; }
@media (max-width: 1100px) { .fin-cartoes { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fin-duas { grid-template-columns: minmax(0, 1fr); gap: 0; } }
@media (max-width: 560px) { .fin-cartoes { grid-template-columns: minmax(0, 1fr); } .fin-cartoes > div { min-height: 0; } }
.filtros__atalhos { margin-left: 4px; }
.filtros__atual { border-color: var(--gold-deep); color: var(--gold); }
.fin-cartoes--calmo > div { background: var(--panel); min-height: 104px; }
.fin-cartoes--calmo b { font-size: 24px; }

/* ============================================================ PADRÃO DA ADMINISTRAÇÃO (contrato 1.19) */
/* Equipe: a grade de permissões (busca, modelos, contador, perigosa) */
.op-ferramentas { margin: 0 0 14px; transition: opacity .2s; }
.op-ferramentas[data-op-desligada] { opacity: .35; pointer-events: none; }
.op-mod__conta { margin-left: 6px; font-family: var(--f-mono); font-size: 10px; font-weight: 400; color: var(--faint); letter-spacing: .04em; }
.op-mod:has(input[data-op-perm]:checked) .op-mod__conta { color: var(--gold); }
.op-perigosa { display: inline-block; margin-left: 6px; padding: 0 6px; border: 1px solid var(--alto-line, rgba(232, 132, 111, .45)); border-radius: 999px;
  font-family: var(--f-mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; color: var(--alto); vertical-align: 1px; }
.op-mod[hidden], .op-grade__mods[hidden], .op-grade__grupo[hidden] { display: none; }
.op-pessoa__sigla--foto { padding: 0; overflow: hidden; }
.op-pessoa__sigla--foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 761px) { .op-tab { min-width: 1060px; } }
.op-tab td, .op-tab th { padding-left: 10px; padding-right: 10px; }
.op-tab .baixinha--larga { padding-left: 14px; padding-right: 14px; }
.op-app { white-space: normal; line-height: 1.5; display: inline-block; }
/* a ficha: foto, interruptor, senha provisória, o que acessa */
.adm-foto-linha { display: flex; align-items: center; gap: 18px; margin-bottom: 18px; flex-wrap: wrap; }
@media (max-width: 720px) { .adm-foto-linha > div { flex: 1 1 100%; min-width: 0; } }
/* o botão de salvar de cada aba: preso ao pé do corpo da janela, sempre à vista */
.adm-salvar { position: sticky; bottom: -24px; z-index: 3; display: flex; justify-content: flex-end; gap: 12px; align-items: center;
  margin: auto -26px -24px; padding: 14px 26px; background: var(--panel); border-top: 1px solid var(--line-2); }
.adm-salvar--entre { justify-content: space-between; flex-wrap: wrap; }
.jm__corpo > .adm-salvar:last-child { margin-bottom: -24px; }
@media (max-width: 760px) { .adm-salvar { margin-left: -18px; margin-right: -18px; padding-left: 18px; padding-right: 18px; } }
.adm-liga { display: flex; align-items: flex-start; gap: 12px; margin: 16px 0; cursor: pointer; }
.adm-liga input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.adm-liga__trilho { flex: 0 0 auto; position: relative; width: 40px; height: 22px; border-radius: 999px; border: 1px solid var(--line-3, var(--line-2)); background: var(--field); transition: background .15s, border-color .15s; }
.adm-liga__trilho::after { content: ''; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: var(--faint); transition: transform .15s, background .15s; }
.adm-liga input:checked + .adm-liga__trilho { border-color: var(--gold-deep); background: var(--raised); }
.adm-liga input:checked + .adm-liga__trilho::after { transform: translateX(18px); background: var(--gold-bright); }
.adm-liga input:focus-visible + .adm-liga__trilho { outline: 2px solid var(--gold); outline-offset: 2px; }
.adm-liga b { display: block; font-size: 13.5px; font-weight: 500; color: var(--ink); }
.adm-liga small { display: block; margin-top: 2px; font-size: 11.5px; color: var(--faint); }
.adm-provisoria { display: flex; flex-direction: column; gap: 10px; margin: 0 0 16px; padding: 16px 18px; border: 1px solid var(--gold-edge); border-radius: var(--raio); background: var(--raised); }
.adm-provisoria code { font-size: 18px; letter-spacing: .08em; color: var(--gold-bright); user-select: all; }
.adm-acessos { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.adm-acessos__mod { border: 1px solid var(--line-2); border-radius: var(--raio); background: var(--panel); padding: 12px 14px; min-width: 0; }
.adm-acessos__mod--nao { opacity: .6; }
.adm-acessos__cab { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.adm-acessos__cab b { font-size: 13px; font-weight: 500; color: var(--ink); }
.adm-acessos__marca { color: var(--ok); font-size: 12px; }
.adm-acessos__mod--nao .adm-acessos__marca { color: var(--alto); }
.adm-acessos ul { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 3px; }
.adm-acessos li { font-size: 12px; color: var(--muted); }
.adm-acessos li.sim span[aria-hidden] { color: var(--ok); }
.adm-acessos li.nao { color: var(--faint); }
.adm-acessos li.nao span[aria-hidden] { color: var(--alto); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.jm__pe__extra { flex-wrap: wrap; }
/* Configurações: as abas do padrão e as sub-abas */
.adm-abas { display: flex; flex-wrap: wrap; gap: 0 4px; margin-top: 20px; border-bottom: 1px solid var(--line-2); }
.adm-abas a { display: inline-flex; align-items: center; gap: 8px; padding: 12px 16px; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.adm-abas a:hover { color: var(--ink); }
.adm-abas a[aria-current="page"] { color: var(--gold-bright); border-bottom-color: var(--gold); }
.adm-subabas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
@media (max-width: 720px) { .adm-abas { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; } .adm-abas::-webkit-scrollbar { display: none; } }
/* Auditoria: filtros, linha clicável, paginação, antes/depois */
.adm-paginas { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 14px; }
.adm-antes-depois td, .adm-antes-depois th { vertical-align: top; overflow-wrap: anywhere; }
.adm-antes-depois .antes { color: var(--faint); text-decoration: line-through; text-decoration-color: rgba(232, 132, 111, .5); }
.adm-antes-depois .depois { color: var(--ink); }
