/* ENGTEC v2: área do cliente e painel de admin (protótipos). Mesmos tokens do site. */
:root {
  --fundo: #1f2025; --fundo-fundo: #18191d; --plano: #25262c; --plano-2: #2b2c33; --plano-3: #33343c;
  --fio: rgba(255, 255, 255, .09); --fio-forte: rgba(255, 255, 255, .18);
  --texto: #eeeef0; --texto-2: #b3b4bc; --texto-3: #85868f;
  --verde: #47c0c2; --verde-claro: #63d2d4; --tinta: #10292a;
  --alerta: #e2b33a; --erro: #e0726b; --ok: #6cc08b;
  --canto: 6px; --mola: cubic-bezier(.22, 1, .36, 1);
  color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { background: var(--fundo); -webkit-text-size-adjust: 100%; }
body { font-family: 'Geist', system-ui, sans-serif; font-size: 15px; line-height: 1.55; color: var(--texto); background: transparent; -webkit-font-smoothing: antialiased; }
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .5;
  background-image: linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 96px 96px; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; }
:focus-visible { outline: 2px solid var(--verde); outline-offset: 2px; }
.mono { font-family: 'Geist Mono', ui-monospace, monospace; font-variant-numeric: tabular-nums; }
.muda { color: var(--texto-3); }

/* ── Estrutura ─────────────────────────────────────────────────────────── */
.app { display: grid; grid-template-columns: 264px minmax(0, 1fr); min-height: 100dvh; }
.lateral { position: sticky; top: 0; height: 100dvh; display: flex; flex-direction: column; border-right: 1px solid var(--fio);
  background: rgba(24, 25, 29, .85); padding: 22px 14px 16px; overflow-y: auto; }
.marca-texto { font-size: 1.55rem; font-weight: 600; letter-spacing: -.06em; line-height: 1; padding: 0 10px 22px; display: flex; align-items: baseline; }
.marca-texto small { margin-left: 10px; }
.marca-texto .eng { color: var(--texto); opacity: .78; } .marca-texto .tec { color: var(--verde); opacity: .9; }
.marca-texto small { font-size: .72rem; letter-spacing: .04em; font-weight: 500; color: var(--texto-3); border: 1px solid var(--fio-forte); border-radius: 99px; padding: 1px 8px; }
.grupo-nav { margin-top: 18px; }
.grupo-nav > p { font-size: .76rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--texto-3); padding: 0 10px 6px; }
.nav a, .nav button { width: 100%; display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: var(--canto); color: var(--texto-2);
  text-align: left; transition: background .2s, color .2s; }
.nav a:hover, .nav button:hover { background: rgba(255,255,255,.04); color: var(--texto); }
.nav .ativo { background: var(--plano-2); color: var(--texto); }
.nav .ativo::before { content: ""; width: 3px; align-self: stretch; margin: -3px 0 -3px -10px; margin-right: 7px; border-radius: 2px; background: var(--verde); }
.nav .conta-n { margin-left: auto; font-size: .8rem; color: var(--texto-3); font-family: 'Geist Mono', monospace; }
.nav .conta-n.pend { color: var(--alerta); }
.lateral .pe { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--fio); }
.pessoa { display: flex; align-items: center; gap: 10px; padding: 8px 10px; }
.avatar { width: 34px; height: 34px; border-radius: 8px; background: var(--plano-3); display: grid; place-items: center; font-weight: 600; color: var(--verde); flex: none; }
.pessoa b { display: block; font-weight: 500; font-size: .92rem; }
.pessoa span { display: block; font-size: .8rem; color: var(--texto-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 170px; }
.pe .acoes-pe { display: flex; gap: 6px; padding: 4px 10px 0; }
.prototipo { font-size: .74rem; color: var(--texto-3); padding: 12px 10px 0; }

.miolo { padding: 34px clamp(16px, 4vw, 52px) 80px; max-width: 1180px; width: 100%; }
.topo-sec { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 28px; }
.topo-sec h1 { font-size: clamp(1.7rem, 2.6vw, 2.3rem); font-weight: 500; letter-spacing: -.03em; line-height: 1.1; }
.topo-sec p { color: var(--texto-2); margin-top: 6px; }
.secao { display: none; } .secao.on { display: block; }
.abre-menu { display: none; }

@media (max-width: 900px) {
  .app { grid-template-columns: minmax(0, 1fr); }
  .lateral { position: fixed; left: 0; top: 0; bottom: 0; width: 280px; z-index: 40; transform: translateX(-100%); transition: transform .35s var(--mola); }
  .menu-aberto .lateral { transform: none; }
  .veu { position: fixed; inset: 0; z-index: 30; background: rgba(14,15,18,.6); opacity: 0; pointer-events: none; transition: opacity .3s; }
  .menu-aberto .veu { opacity: 1; pointer-events: auto; }
  .barra-cel { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--fio); position: sticky; top: 0; z-index: 20; background: rgba(31,32,37,.92); }
  .barra-cel .marca-texto { padding: 0; font-size: 1.35rem; }
  .abre-menu { display: inline-flex; }
  .miolo { padding-top: 22px; }
}
@media (min-width: 901px) { .barra-cel, .veu { display: none; } }

/* ── Peças ─────────────────────────────────────────────────────────────── */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 99px; font-weight: 500; font-size: .93rem;
  white-space: nowrap; transition: background .2s, border-color .2s, transform .2s var(--mola); }
.botao:active { transform: scale(.98); }
.botao.cheio { background: var(--verde); color: var(--tinta); } .botao.cheio:hover { background: var(--verde-claro); }
.botao.vazio { border: 1px solid var(--fio-forte); } .botao.vazio:hover { border-color: rgba(255,255,255,.34); }
.botao.perigo { border: 1px solid rgba(224,114,107,.5); color: var(--erro); }
.botao.mini { height: 32px; padding: 0 12px; font-size: .85rem; }
.ir { color: var(--verde); font-weight: 500; }
.ir:hover { color: var(--verde-claro); }
.cartao { background: var(--plano); border: 1px solid var(--fio); border-radius: var(--canto); padding: 22px; }
.cartao h2 { font-size: 1.12rem; font-weight: 500; letter-spacing: -.01em; }
.cartao h3 { font-size: 1rem; font-weight: 500; }
.cartao .sub { color: var(--texto-2); margin-top: 4px; }
.grade-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.grade-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 860px) { .grade-2, .grade-3 { grid-template-columns: 1fr; } }
.etiqueta { display: inline-flex; align-items: center; gap: 6px; font-size: .78rem; font-weight: 500; padding: 3px 9px; border-radius: 99px; border: 1px solid var(--fio-forte); color: var(--texto-2); white-space: nowrap; }
.etiqueta.ok { color: var(--ok); border-color: rgba(108,192,139,.45); }
.etiqueta.alerta { color: var(--alerta); border-color: rgba(226,179,58,.45); }
.etiqueta.erro { color: var(--erro); border-color: rgba(224,114,107,.45); }
.etiqueta.verde { color: var(--verde); border-color: rgba(71,192,194,.45); }
.ponto { width: 8px; height: 8px; border-radius: 50%; background: var(--texto-3); flex: none; }
.ponto.ok { background: var(--ok); } .ponto.and { background: var(--verde); } .ponto.erro { background: var(--erro); } .ponto.fila { background: var(--alerta); }
.sem-itens { text-align: center; padding: 42px 20px; color: var(--texto-2); border: 1px dashed var(--fio-forte); border-radius: var(--canto); }
.sem-itens b { display: block; color: var(--texto); font-weight: 500; margin-bottom: 4px; }
.chips { display: flex; gap: 6px; flex-wrap: wrap; }
.chips button { padding: 6px 12px; border-radius: 99px; border: 1px solid var(--fio); color: var(--texto-2); font-size: .88rem; }
.chips button.on { border-color: rgba(71,192,194,.55); color: var(--texto); background: rgba(71,192,194,.08); }
.campo { display: flex; flex-direction: column; gap: 6px; }
.campo label { font-size: .86rem; color: var(--texto-2); }
.campo input, .campo select, .campo textarea, .busca { height: 42px; padding: 0 12px; border-radius: var(--canto); border: 1px solid var(--fio-forte); background: var(--fundo-fundo); font-size: 16px; }
.campo textarea { height: auto; min-height: 84px; padding: 10px 12px; }
.campo small { color: var(--texto-3); font-size: .8rem; }
.busca { width: 100%; max-width: 380px; }
.linha-acoes { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.sep { height: 1px; background: var(--fio); margin: 18px 0; }

/* Tabela */
.tabela { width: 100%; border-collapse: collapse; font-size: .92rem; }
.tabela th { text-align: left; font-weight: 400; color: var(--texto-3); font-size: .82rem; padding: 0 12px 10px 0; border-bottom: 1px solid var(--fio); }
.tabela td { padding: 12px 12px 12px 0; border-bottom: 1px solid var(--fio); vertical-align: middle; }
.tabela td.num, .tabela th.num { text-align: right; font-family: 'Geist Mono', monospace; }
.rolavel { overflow-x: auto; }

/* Indicadores */
.kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.kpi { background: var(--plano); border: 1px solid var(--fio); border-radius: var(--canto); padding: 16px 16px 14px; }
.kpi span { display: block; color: var(--texto-3); font-size: .84rem; }
.kpi b { display: block; font-size: 1.6rem; font-weight: 500; letter-spacing: -.03em; margin-top: 6px; font-family: 'Geist Mono', monospace; }
.kpi small { display: block; color: var(--texto-3); font-size: .8rem; margin-top: 2px; }
.kpi.alerta { border-color: rgba(226,179,58,.45); } .kpi.alerta b { color: var(--alerta); }
.bloco-kpi + .bloco-kpi { margin-top: 30px; }
.bloco-kpi > h2 { font-size: 1.05rem; font-weight: 500; margin-bottom: 12px; display: flex; gap: 10px; align-items: baseline; }
.bloco-kpi > h2 small { font-size: .82rem; color: var(--texto-3); font-weight: 400; }

/* Lista de análises */
.historico .dia { font-size: .8rem; color: var(--texto-3); margin: 22px 0 8px; letter-spacing: .04em; text-transform: uppercase; }
.analise { border: 1px solid var(--fio); border-radius: var(--canto); background: var(--plano); }
.analise + .analise { margin-top: 8px; }
.analise > button.cab { width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto auto; gap: 14px; align-items: center; padding: 14px 16px; text-align: left; }
.analise .nome { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analise .meta { color: var(--texto-3); font-size: .84rem; }
.analise .area { font-family: 'Geist Mono', monospace; color: var(--texto-2); font-size: .88rem; }
.analise .seta { width: 8px; height: 8px; border-right: 1.6px solid var(--texto-3); border-bottom: 1.6px solid var(--texto-3); transform: rotate(-45deg); transition: transform .25s; }
.analise.aberta .seta { transform: rotate(45deg); }
.analise .corpo { display: none; border-top: 1px solid var(--fio); padding: 18px 16px 20px; }
.analise.aberta .corpo { display: block; }
@media (max-width: 700px) {
  .analise > button.cab { grid-template-columns: auto minmax(0, 1fr) auto; }
  .analise .area, .analise .rapidos { display: none; }
}
.progresso { height: 6px; background: var(--plano-3); border-radius: 99px; overflow: hidden; margin: 10px 0 8px; }
.progresso i { display: block; height: 100%; background: var(--verde); border-radius: 99px; }

/* Ficha em abas */
.abas { display: flex; gap: 2px; overflow-x: auto; border-bottom: 1px solid var(--fio); margin-bottom: 18px; scrollbar-width: none; }
.abas button { padding: 9px 12px; color: var(--texto-3); font-size: .9rem; white-space: nowrap; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.abas button.on { color: var(--texto); border-bottom-color: var(--verde); }
.painel-aba { display: none; } .painel-aba.on { display: block; }
.dados { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.dado { background: var(--fundo-fundo); border: 1px solid var(--fio); border-radius: var(--canto); padding: 12px 14px; }
.dado span { display: block; color: var(--texto-3); font-size: .8rem; }
.dado b { display: block; font-weight: 500; font-size: 1.1rem; margin-top: 4px; font-family: 'Geist Mono', monospace; }
.dado b small { font-size: .8rem; color: var(--texto-3); }
.ficha h4 { font-size: .9rem; font-weight: 500; color: var(--texto-2); margin: 18px 0 10px; }
.ficha h4:first-child { margin-top: 0; }
.empilhada { display: flex; height: 14px; border-radius: 99px; overflow: hidden; background: var(--plano-3); }
.legenda { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; font-size: .84rem; color: var(--texto-2); }
.legenda i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.barras div { display: grid; grid-template-columns: 110px 1fr 54px; gap: 10px; align-items: center; font-size: .88rem; margin: 6px 0; }
.barras .t { height: 8px; background: var(--plano-3); border-radius: 99px; overflow: hidden; }
.barras .t i { display: block; height: 100%; background: var(--verde); }
.barras .v { text-align: right; font-family: 'Geist Mono', monospace; color: var(--texto-2); }
.alertas li { list-style: none; padding: 10px 12px; border-radius: var(--canto); background: var(--fundo-fundo); border: 1px solid var(--fio); margin-bottom: 8px; color: var(--texto-2); }
.alertas li.at { border-color: rgba(226,179,58,.45); color: var(--texto); }

/* Nova análise */
.nova { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 14px; }
@media (max-width: 960px) { .nova { grid-template-columns: 1fr; } }
.soltar { border: 1px dashed var(--fio-forte); border-radius: var(--canto); padding: 46px 20px; text-align: center; color: var(--texto-2); background: var(--fundo-fundo); }
.soltar b { display: block; color: var(--texto); font-size: 1.05rem; font-weight: 500; }
.mapa-falso { position: relative; height: 340px; border-radius: var(--canto); overflow: hidden; border: 1px solid var(--fio); background: #15161a url(img/abertura-engenharia-mini.webp) center / cover; }
.mapa-falso .busca-mapa { position: absolute; top: 12px; left: 12px; right: 12px; display: flex; gap: 8px; }
.mapa-falso .busca-mapa input { flex: 1; height: 40px; border-radius: var(--canto); border: 1px solid var(--fio-forte); background: rgba(24,25,29,.92); padding: 0 12px; font-size: 16px; }
.mapa-falso .instr { position: absolute; left: 12px; bottom: 12px; right: 12px; background: rgba(24,25,29,.92); border: 1px solid var(--fio-forte); border-radius: var(--canto); padding: 10px 12px; font-size: .88rem; color: var(--texto-2); display: flex; justify-content: space-between; gap: 10px; }
.saldo { display: flex; align-items: center; gap: 16px; }
.saldo b { font-size: 2.2rem; font-weight: 500; letter-spacing: -.04em; font-family: 'Geist Mono', monospace; line-height: 1; }
.aviso { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: var(--canto); border: 1px solid rgba(71,192,194,.35); background: rgba(71,192,194,.06); color: var(--texto-2); font-size: .9rem; }
.aviso button { margin-left: auto; color: var(--texto-3); }

/* Modal */
dialog { margin: auto; border: 1px solid var(--fio-forte); border-radius: 10px; background: var(--plano); color: var(--texto); padding: 26px; width: min(980px, 94vw); max-height: 92vh; }
dialog.estreito { width: min(520px, 94vw); }
dialog::backdrop { background: rgba(14,15,18,.75); }
dialog h2 { font-size: 1.35rem; font-weight: 500; letter-spacing: -.02em; }
.fechar-modal { position: absolute; top: 16px; right: 16px; }
.pacotes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 18px; }
@media (max-width: 860px) { .pacotes { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .pacotes { grid-template-columns: 1fr; } }
.pacote { border: 1px solid var(--fio); border-radius: var(--canto); padding: 18px; background: var(--fundo-fundo); display: flex; flex-direction: column; gap: 4px; }
.pacote.marca { border-color: rgba(71,192,194,.6); }
.pacote .selo { font-size: .78rem; color: var(--verde); min-height: 18px; }
.pacote h3 { font-size: 1.15rem; font-weight: 500; }
.pacote .preco { font-family: 'Geist Mono', monospace; font-size: 1.4rem; margin-top: 12px; }
.pacote .botao { margin-top: 14px; }

/* Links do mapa */
.link-mapa { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 12px 14px; background: var(--fundo-fundo); border: 1px solid var(--fio); border-radius: var(--canto); margin-top: 8px; }
.link-mapa code { font-family: 'Geist Mono', monospace; font-size: .84rem; color: var(--texto-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
@media (max-width: 700px) { .link-mapa { grid-template-columns: 1fr; } }

/* Itens de lista (admin) */
.item-lista { border: 1px solid var(--fio); border-radius: var(--canto); background: var(--plano); }
.item-lista + .item-lista { margin-top: 8px; }
.item-lista > button { width: 100%; display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 14px 16px; text-align: left; flex-wrap: wrap; }
.item-lista .detalhe { display: none; border-top: 1px solid var(--fio); padding: 16px; }
.item-lista.aberta .detalhe { display: block; }
.par { display: grid; grid-template-columns: 200px 1fr; gap: 10px; padding: 7px 0; font-size: .92rem; border-bottom: 1px solid var(--fio); }
.par:last-child { border-bottom: 0; }
.par span:first-child { color: var(--texto-3); }
@media (max-width: 600px) { .par { grid-template-columns: 1fr; gap: 2px; } }
.toast { position: fixed; bottom: 20px; left: 50%; transform: translate(-50%, 20px); opacity: 0; background: var(--plano-3); border: 1px solid var(--fio-forte); padding: 10px 16px; border-radius: 99px; transition: all .3s var(--mola); z-index: 60; }
.toast.on { opacity: 1; transform: translate(-50%, 0); }
.miolo, .topo-sec > * { min-width: 0; }
.topo-sec h1 { overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .topo-sec { align-items: stretch; }
  .topo-sec .linha-acoes, .topo-sec .chips { flex-wrap: wrap; }
  .cartao.saldo { width: 100%; }
}
.app { grid-template-columns: 264px minmax(0, 1fr); }
@media (max-width: 900px) { .app { grid-template-columns: minmax(0, 1fr); } }
.grade-2 > *, .grade-3 > *, .nova > * { min-width: 0; }
.campo input, .campo select, .campo textarea { width: 100%; min-width: 0; }
@media (max-width: 1100px) { .grade-3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 860px) { .grade-3 { grid-template-columns: 1fr; } }
/* conteúdo ocupa toda a largura ao lado do menu */
.miolo { max-width: none; width: 100%; }
@media (min-width: 1700px) { .miolo { padding-left: 64px; padding-right: 64px; } }

/* Botões de arquivo: ícone + cor sólida */
.botao .ic { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.botao.mini .ic { width: 14px; height: 14px; }
.botao.solido { background: #e8e9ec; color: #1f2025; }
.botao.solido:hover { background: #ffffff; }
.botao.arquivo { font-weight: 600; letter-spacing: .02em; gap: 6px; }
.botao.arquivo.pdf { background: rgba(71, 192, 194, .16); color: var(--verde-claro); border: 1px solid rgba(71, 192, 194, .45); }
.botao.arquivo.pdf:hover { background: var(--verde); color: var(--tinta); }
.botao.arquivo.dxf { background: rgba(255, 255, 255, .08); color: var(--texto); border: 1px solid var(--fio-forte); }
.botao.arquivo.dxf:hover { background: #e8e9ec; color: #1f2025; }
/* atalhos PDF e DXF: cor sólida, sem transparência */
.botao.arquivo.pdf { background: var(--verde); color: var(--tinta); border: 1px solid var(--verde); }
.botao.arquivo.pdf:hover { background: var(--verde-claro); border-color: var(--verde-claro); }
.botao.arquivo.dxf { background: #e8e9ec; color: #1f2025; border: 1px solid #e8e9ec; }
.botao.arquivo.dxf:hover { background: #ffffff; border-color: #ffffff; }

/* Menu lateral no mesmo tom do site: sem fonte mono nos contadores e sem rótulos em caixa alta */
.nav a, .nav button { font-size: .98rem; }
.nav .conta-n { font-family: inherit; font-size: .84rem; font-variant-numeric: tabular-nums; }
.grupo-nav > p { text-transform: none; letter-spacing: 0; font-size: .84rem; font-weight: 400; color: var(--texto-3); }

/* ── Painel de admin (admin-v2): peças próprias, prefixo adm- ─────────────── */
.adm-carregando .app { visibility: hidden; }
.adm-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.adm-nota { font-size: .86rem; margin-top: 10px; display: block; }
.adm-erro { color: var(--erro); font-size: .88rem; }
.adm-erro:empty { display: none; }
.adm-subtit { font-size: 1.05rem; font-weight: 500; margin: 26px 0 10px; }
.adm-cab-cartao { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; align-items: center; }
.adm-vazio-cartao { margin-top: 14px; padding: 26px 16px; text-align: center; color: var(--texto-3); border: 1px dashed var(--fio-forte); border-radius: var(--canto); }
.adm-tit-item { display: flex; flex-direction: column; min-width: 0; }
.adm-tit-item b { font-weight: 500; }
.adm-tit-item .muda { font-size: .86rem; overflow-wrap: anywhere; }
.item-lista > button > .linha-acoes { justify-content: flex-end; }
.toast.erro { border-color: rgba(224,114,107,.55); color: #f3c1bd; }
.toast { max-width: calc(100vw - 32px); text-align: center; }

/* busca + lista de contas */
.adm-busca-linha { display: flex; gap: 8px; margin-top: 12px; }
.adm-busca-linha .busca { max-width: none; flex: 1; min-width: 0; }
.adm-contas { margin-top: 12px; display: grid; gap: 2px; max-height: 420px; overflow-y: auto; }
.adm-conta { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px; border-radius: var(--canto); text-align: left; transition: background .2s; }
.adm-conta:hover { background: rgba(255,255,255,.04); }
.adm-conta.sel { background: var(--plano-2); box-shadow: inset 3px 0 0 var(--verde); }
.adm-conta-txt { display: flex; flex-direction: column; min-width: 0; }
.adm-conta-txt > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-conta-txt .muda { font-size: .82rem; }
.adm-conta-dir { display: flex; gap: 4px; flex-wrap: wrap; justify-content: flex-end; flex: none; max-width: 55%; }

/* caixas de seleção */
.adm-check { display: inline-flex; gap: 8px; align-items: center; color: var(--texto-2); font-size: .92rem; cursor: pointer; }
.adm-check input, .tabela input[type=checkbox] { width: 17px; height: 17px; accent-color: var(--verde); flex: none; }
.adm-check-bloco { display: flex; align-items: flex-start; }
.adm-check-bloco input { margin-top: 3px; }
.adm-check-bloco > span { display: flex; flex-direction: column; }
.adm-check-bloco b { font-weight: 500; color: var(--texto); }

/* valores em tabela e campos soltos */
.adm-valor, .adm-select, .adm-periodo input[type=date], .adm-prazo input[type=date] { height: 36px; border-radius: var(--canto); border: 1px solid var(--fio-forte); background: var(--fundo-fundo); padding: 0 10px; font-size: 16px; }
.adm-valor { width: 120px; text-align: right; }
.adm-select { max-width: 100%; }
.tabela td.num .adm-valor { margin-left: auto; }
.adm-tab-orc tfoot td { border-bottom: 0; padding-top: 14px; }
.adm-regra { color: var(--texto-2); font-size: .9rem; }
.adm-link-btn { color: var(--texto-3); font-size: .82rem; text-decoration: underline; margin-left: 4px; }
.adm-link-btn:hover { color: var(--texto); }

/* instalador */
.adm-soltar { display: block; margin-top: 14px; padding: 30px 16px; cursor: pointer; transition: border-color .2s, background .2s; overflow-wrap: anywhere; }
.adm-soltar:hover, .adm-soltar.sobre { border-color: rgba(71,192,194,.6); background: rgba(71,192,194,.05); }
.adm-soltar:focus-within { outline: 2px solid var(--verde); outline-offset: 2px; }

/* orçamento */
.adm-resumo { margin-top: 16px; padding: 14px 16px; border-radius: var(--canto); background: var(--fundo-fundo); border: 1px solid var(--fio); display: grid; gap: 4px; font-size: .92rem; color: var(--texto-2); }
.adm-resumo:empty { display: none; }
.adm-resumo b { color: var(--texto); font-weight: 500; }
.adm-pronto { margin-top: 16px; }
.adm-link { display: block; margin-top: 6px; color: var(--texto); overflow-wrap: anywhere; font-size: .86rem; }
.adm-direta { margin-top: 26px; }
.adm-direta summary { cursor: pointer; list-style: none; display: flex; flex-direction: column; gap: 2px; }
.adm-direta summary::-webkit-details-marker { display: none; }
.adm-direta summary h2::after { content: " +"; color: var(--texto-3); }
.adm-direta[open] summary h2::after { content: " \2212"; }
.adm-direta summary .muda { font-size: .86rem; }
.link-mapa code a { color: inherit; }

/* parceiros e período */
.adm-periodo { justify-content: space-between; }
.adm-parceiro h2 { overflow-wrap: anywhere; }
.adm-externo { color: var(--texto-3) !important; }
@media (max-width: 600px) {
  .adm-conta-dir { max-width: 45%; }
  #parCsv { margin-left: 0 !important; }
  .adm-valor { width: 104px; }
}
.miolo [hidden] { display: none !important; }
.adm-mono { font-weight: 400; color: var(--texto); }
/* tabelas de preço no celular: módulo em cima, mensal e anual lado a lado */
@media (max-width: 600px) {
  .adm-tab-precos thead { display: none; }
  .adm-tab-precos tr { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 10px; padding: 12px 0; border-bottom: 1px solid var(--fio); }
  .adm-tab-precos td { border: 0; padding: 0; }
  .adm-tab-precos td:first-child { grid-column: 1 / -1; }
  .adm-tab-precos td.num { text-align: left; display: flex; flex-direction: column; gap: 4px; }
  .adm-tab-precos td.num::before { content: attr(data-rot); font-family: 'Geist', system-ui, sans-serif; font-size: .8rem; color: var(--texto-3); }
  .adm-tab-precos .adm-valor { width: 100%; }
  .adm-tab-precos tfoot td { padding-top: 0; }
}
@media (max-width: 600px) { .adm-parceiro .dados { grid-template-columns: 1fr 1fr; } }
