/* Tema claro da carteira CEDUSP — carregado só quando `marca.tema` é
   `tema-cedusp` (ver templates/base.html). O resto do portal continua escuro:
   nada aqui vaza para os outros clientes, porque todo seletor começa em
   `body.tema-cedusp`.

   Pedido do Cicero (18/09/2026): layout mais limpo, cores claras, o logo da
   CEDUSP no topo e, no rodapé, que o portal é um produto ProSolution. O azul é
   o do logo (#2B3F95) com o institucional (#1F497D). */

body.tema-cedusp {
  --bg-primary: #f3f6fb;
  --bg-card: #ffffff;
  --bg-card-hover: #f7f9fd;
  --border-glass: #e1e7f0;
  --border-glass-light: #d3dbe7;
  --text-primary: #1b2a41;
  --text-secondary: #4b5b72;
  --text-muted: #7b879a;
  --accent: #2b3f95;
  --accent-strong: #1f497d;
  --accent-rgb: 43, 63, 149;
  --accent-strong-rgb: 31, 73, 125;
  --blue: #1f497d;
  --gradient-1: linear-gradient(135deg, #1f497d 0%, #2b3f95 100%);
  --chart-cores: "#2b3f95,#4f8fd6,#f59e0b,#16a34a,#9bbbe0,#b45309,#0ea5e9,#7c3aed,#64748b,#dc2626,#0891b2,#a16207";
  --shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 16px rgba(16, 24, 40, .06);
  --blur: none;
  background: var(--bg-primary);
  color: var(--text-primary);
}
body.tema-cedusp::before { background: var(--bg-primary) !important; }

/* ── Topo, com o logo ─────────────────────────────────────────────────── */
body.tema-cedusp .topbar {
  background: #ffffff; border-bottom: 1px solid var(--border-glass);
  box-shadow: 0 1px 0 rgba(16, 24, 40, .03); backdrop-filter: none; -webkit-backdrop-filter: none;
}
body.tema-cedusp .brand .logo-img { height: 38px; width: auto; display: block; }
body.tema-cedusp .brand h1 { display: flex; flex-direction: column; line-height: 1.1; }
body.tema-cedusp .brand h1 span { color: var(--text-primary); background: none; -webkit-text-fill-color: currentColor; }
body.tema-cedusp .brand h1 small { font-size: 11px; font-weight: 600; color: var(--text-muted);
  letter-spacing: .4px; text-transform: uppercase; }
body.tema-cedusp .topnav a { color: var(--text-secondary); }
body.tema-cedusp .topnav a:hover { background: #eef2f9; color: var(--text-primary); }
body.tema-cedusp .topnav a.ativo { background: #e8edf8; color: var(--accent); border-color: #cfd8ee; }
body.tema-cedusp .btn, body.tema-cedusp .recs-toggle, body.tema-cedusp .troca-empresa select {
  background: #ffffff; color: var(--text-primary); border: 1px solid var(--border-glass-light); }
body.tema-cedusp .btn:hover, body.tema-cedusp .recs-toggle:hover { background: #f1f4fa; }
body.tema-cedusp:not(.recs-hidden) .recs-toggle { background: #e8edf8; color: var(--accent); border-color: #cfd8ee; }
body.tema-cedusp .troca-empresa select option { background: #fff; color: var(--text-primary); }

/* ── Superfícies ──────────────────────────────────────────────────────── */
body.tema-cedusp .panel, body.tema-cedusp .dash-bar, body.tema-cedusp .kpi,
body.tema-cedusp .chart-card, body.tema-cedusp .lib-cont, body.tema-cedusp .lib-busca,
body.tema-cedusp .perm-data {
  background: #ffffff; border: 1px solid var(--border-glass); box-shadow: var(--shadow);
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
body.tema-cedusp .panel-head { background: #fafbfd; border-bottom-color: var(--border-glass); }
body.tema-cedusp .dash-bar h2 { color: var(--text-primary); }
body.tema-cedusp .count-badge { background: #eef2f9; color: var(--accent); border-color: #d9e1f0; }
body.tema-cedusp .note, body.tema-cedusp .container-wide .note { color: var(--text-secondary); }
body.tema-cedusp .kpi .k-value.plain { color: var(--text-primary); }
body.tema-cedusp .kpi:hover, body.tema-cedusp .lib-cont:hover { border-color: #c7d2ea; }

/* Filtros e menus suspensos */
body.tema-cedusp .dd-btn { background: #ffffff; color: var(--text-primary); border-color: var(--border-glass-light); }
body.tema-cedusp .dd-panel, body.tema-cedusp .cc-fmenu, body.tema-cedusp .cc-menu, body.tema-cedusp .cc-edit {
  background: #ffffff; color: var(--text-primary); border-color: var(--border-glass-light);
  box-shadow: 0 12px 30px rgba(16, 24, 40, .12); backdrop-filter: none; }
body.tema-cedusp .dd-panel input, body.tema-cedusp .dd-panel select {
  background: #f7f9fc; color: var(--text-primary); border-color: var(--border-glass-light); }
body.tema-cedusp .field select option, body.tema-cedusp .doc-sel option { background: #fff; color: var(--text-primary); }

/* Painel lateral «O que precisa de ação» */
body.tema-cedusp .recs-panel { background: #ffffff; border-left-color: var(--border-glass);
  box-shadow: -8px 0 30px rgba(16, 24, 40, .08); backdrop-filter: none; }
body.tema-cedusp .rec { background: #fbfcfe; border-color: var(--border-glass); }
body.tema-cedusp .rec.alta { background: #fff8eb; }
body.tema-cedusp .rec p { color: var(--text-secondary); }
body.tema-cedusp .recs-hide { background: #f3f6fb; color: var(--text-secondary); }

/* Tabela (Tabulator vem com o tema escuro «midnight») */
body.tema-cedusp .tabulator { background: #ffffff; border-color: var(--border-glass); color: var(--text-primary); }
body.tema-cedusp .tabulator .tabulator-header,
body.tema-cedusp .tabulator .tabulator-header .tabulator-col { background: #f5f7fb; color: var(--text-secondary);
  border-color: var(--border-glass); }
body.tema-cedusp .tabulator .tabulator-tableholder,
body.tema-cedusp .tabulator .tabulator-tableholder .tabulator-table { background: #ffffff; color: var(--text-primary); }
body.tema-cedusp .tabulator-row, body.tema-cedusp .tabulator-row.tabulator-row-even { background: #ffffff; color: var(--text-primary);
  border-bottom: 1px solid #eef1f6; }
body.tema-cedusp .tabulator-row.tabulator-row-even { background: #fafbfd; }
body.tema-cedusp .tabulator-row:hover { background: #eef3fb !important; }
body.tema-cedusp .tabulator .tabulator-footer { background: #f5f7fb; color: var(--text-secondary); border-color: var(--border-glass); }
body.tema-cedusp .tabulator .tabulator-footer .tabulator-page { background: #fff; color: var(--text-primary); border-color: var(--border-glass-light); }
body.tema-cedusp .tabulator .tabulator-footer .tabulator-page.active { background: var(--accent); color: #fff; }

/* ── Liberação: cartões, contadores, estados ─────────────────────────── */
body.tema-cedusp .lib-cartao, body.tema-cedusp .perm-card, body.tema-cedusp .lib-ext-topo > div {
  background: #ffffff; border-color: var(--border-glass); box-shadow: var(--shadow); }
body.tema-cedusp .lib-tipo { background: #eef2f7; color: var(--text-secondary); }
body.tema-cedusp .lib-tipo.urgente { background: #e8edf8; color: #2B3F95; }
body.tema-cedusp .lib-ex-tab td { border-bottom-color: #eef1f6; }
body.tema-cedusp .lib-cont-atrasado .lib-cont-n, body.tema-cedusp .lib-res.atrasado,
body.tema-cedusp .lib-st.atrasado, body.tema-cedusp .lib-sit.atrasado { color: #64748b; }
body.tema-cedusp .lib-cont-hoje .lib-cont-n, body.tema-cedusp .lib-res.hoje,
body.tema-cedusp .lib-st.hoje { color: var(--accent); }
body.tema-cedusp .lib-cont-prontos .lib-cont-n, body.tema-cedusp .lib-res.ok,
body.tema-cedusp .lib-st.ok { color: #15803d; }
body.tema-cedusp .lib-res.prazo, body.tema-cedusp .lib-st.prazo { color: var(--accent); }
body.tema-cedusp .lib-cobrar { color: var(--text-secondary); background: transparent; border-color: #d5dce6; }
body.tema-cedusp .lib-cobrar:hover { background: #f1f5f9; color: var(--text-primary); }
body.tema-cedusp .lib-aviso-clinica { background: #fff8eb; border-color: #f6d59a; }
body.tema-cedusp .lib-aviso-clinica svg { color: #b45309; }
body.tema-cedusp .lib-mes { background: #ffffff; border-color: var(--border-glass-light); color: var(--text-secondary); }
body.tema-cedusp .lib-mes.ativa { background: #e8edf8; border-color: #c7d2ea; color: var(--accent); }
body.tema-cedusp .lib-anel span { background: #ffffff; color: var(--text-primary); }
body.tema-cedusp .lib-bolha { color: #ffffff; }
body.tema-cedusp .lib-estrada { background: repeating-linear-gradient(90deg, #c9d3e3 0 18px, transparent 18px 30px); }
body.tema-cedusp .lib-parada:hover { background: #f3f6fb; }
body.tema-cedusp .lib-parada.ativa { background: #eef2fa; border-color: #c7d2ea; }
body.tema-cedusp .lib-chegada { color: #15803d; }
body.tema-cedusp .lib-barra { background: #e9eef6; }
body.tema-cedusp .lib-selo.ganhou { background: #f3f6fd; border-color: #c7d2ea; }
body.tema-cedusp .lib-aviso { background: #15803d; }
body.tema-cedusp .lib-aviso.erro { background: #be123c; }

/* Guia, permanência e solicitações */
body.tema-cedusp .guia-emitir { color: #ffffff; }
body.tema-cedusp .guia-erro { color: #9f1239; background: #fff1f3; border-color: #fbc5ce; }
body.tema-cedusp .guia-erro.ok { color: #14532d; background: #ecfdf3; border-color: #a7e3bd; }
body.tema-cedusp .guia-erro.ok a { color: #14532d; }
body.tema-cedusp .gf { box-shadow: 0 2px 4px rgba(16, 24, 40, .06), 0 12px 32px rgba(16, 24, 40, .10); }
body.tema-cedusp .perm-aviso { background: #eef2fa; border-color: #c7d2ea; }
body.tema-cedusp .perm-data input { color-scheme: light; }
body.tema-cedusp .perm-barra { background: #e9eef6; }
body.tema-cedusp .perm-total.acima { color: #b45309; }
body.tema-cedusp .cham-form input, body.tema-cedusp .cham-form select, body.tema-cedusp .cham-form textarea {
  background: #f7f9fc; border-color: var(--border-glass-light); color: var(--text-primary); color-scheme: light; }
body.tema-cedusp .cham-item.aviso { background: #fffaf0; }
body.tema-cedusp .cham-st.concluida { color: #15803d; background: #ecfdf3; }
body.tema-cedusp .cham-st.aguardando, body.tema-cedusp .cham-st.controle,
body.tema-cedusp .cham-st.adiada { color: #92400e; background: #fef3c7; }
body.tema-cedusp .cham-st.recusada { color: #9f1239; background: #fff1f3; }
body.tema-cedusp .cham-st.andamento { color: #1d4ed8; background: #eaf1ff; }
body.tema-cedusp .cham-tag { background: #eef2f7; color: var(--text-secondary); }
body.tema-cedusp .cham-tag.recoleta { color: #92400e; background: #fef3c7; }

/* ── Rodapé: produto ProSolution ─────────────────────────────────────── */
.rodape-produto { display: none; }
body.tema-cedusp .rodape-produto {
  display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap;
  padding: 18px 16px 26px; font-size: 12.5px; color: var(--text-muted);
  border-top: 1px solid var(--border-glass); background: #ffffff;
}
body.tema-cedusp .rodape-produto img { height: 22px; width: auto; opacity: .9; }
body.tema-cedusp .rodape-produto b { color: var(--text-secondary); }
body.tema-cedusp:not(.recs-empty):not(.recs-hidden) .rodape-produto { padding-right: 372px; }
@media (max-width: 820px) {
  body.tema-cedusp .rodape-produto { padding-right: 16px !important; }
  body.tema-cedusp .brand .logo-img { height: 30px; }
}

@media print { .rodape-produto { display: none !important; } }

/* Correções da primeira revisão visual */
body.tema-cedusp .kpi .k-sub { color: var(--text-secondary); font-size: 12px; }
body.tema-cedusp .kpi .k-label { color: var(--text-secondary); }
body.tema-cedusp .btn.guia-emitir, body.tema-cedusp .guia-emitir {
  background: var(--gradient-1); color: #ffffff; border: none; }
body.tema-cedusp .btn.guia-emitir:hover { filter: brightness(1.08); background: var(--gradient-1); }
body.tema-cedusp .btn.guia-emitir:disabled { opacity: .55; cursor: not-allowed; filter: none; }
body.tema-cedusp .rec .r-acao button.r-botao { color: var(--text-secondary); background: #ffffff; border-color: #d5dce6; }
body.tema-cedusp .rec .r-acao button.r-botao:hover { background: #f1f5f9; }
body.tema-cedusp .rec .r-acao .r-para { color: var(--text-secondary); }
body.tema-cedusp .rec h4 { color: var(--text-primary); }

/* ── Tela mais calma (18/09/2026) ──────────────────────────────────────
   A tela é da cliente: o que passou da previsão aparece como fato, em cinza,
   sem vermelho nem negrito. Destaque só para o que está pronto. */
body.tema-cedusp .lib-res, body.tema-cedusp .lib-st { font-weight: 500; }
body.tema-cedusp .lib-res { font-size: 13.5px; }
body.tema-cedusp .lib-res.ok { font-weight: 600; }
body.tema-cedusp .lib-cartao-nome { font-weight: 600; font-size: 15px; }
body.tema-cedusp .lib-tipo { font-weight: 600; }
body.tema-cedusp .lib-cartao { border-left-width: 3px; }
body.tema-cedusp .lib-c-atrasado, body.tema-cedusp .lib-c-vence_hoje,
body.tema-cedusp .lib-c-no_prazo, body.tema-cedusp .lib-c-sem_prazo { border-left-color: #d5dce6; }
body.tema-cedusp .lib-c-liberado { border-left-color: #86c9a0; }
body.tema-cedusp .lib-cont, body.tema-cedusp .lib-cont-atrasado,
body.tema-cedusp .lib-cont-hoje, body.tema-cedusp .lib-cont-pendentes { border-top-color: #e2e8f0; }
body.tema-cedusp .lib-cont-prontos { border-top-color: #86c9a0; }
body.tema-cedusp .lib-cont-n { font-weight: 600; }
body.tema-cedusp .lib-cont-pendentes .lib-cont-n { color: var(--text-primary); }
body.tema-cedusp .rec.alta, body.tema-cedusp .rec.info { background: #f8fafc; border-left-color: #cbd5e1; }
body.tema-cedusp .kpi.alert, body.tema-cedusp .kpi.warn { border-color: var(--border-glass); }
body.tema-cedusp .lib-aviso-clinica { background: #f8fafc; border-color: #e2e8f0; }
body.tema-cedusp .lib-aviso-clinica svg { color: var(--accent); }
body.tema-cedusp .lib-aviso-clinica b { font-weight: 600; }

/* Resultados prontos: o documento do atendimento e o link de cada exame */
.lib-doc { display: inline-flex; align-items: center; gap: 5px; margin-left: auto; padding: 4px 10px;
  border: 1px solid var(--border-glass); border-radius: 8px; font-size: 12.5px; font-weight: 600;
  color: var(--accent); text-decoration: none; white-space: nowrap; }
.lib-doc svg { width: 14px; height: 14px; }
.lib-doc:hover { background: rgba(43,63,149,.06); }
.lib-sem-arq { color: var(--text-muted); font-size: 12.5px; }
body.tema-cedusp .lib-resumo:has(.lib-doc) { align-items: center; }

/* O rosa da trilha (#ff4b72) sinaliza o atendimento em atraso — como marca,
   não como alarme: sublinha «em liberação», o texto segue em cinza
   (Cicero, 18/09/2026). */
body.tema-cedusp .lib-res.atrasado, body.tema-cedusp .lib-st.atrasado {
  text-decoration: underline; text-decoration-color: #ff4b72; text-decoration-thickness: 2px;
  text-underline-offset: 4px; }
body.tema-cedusp .lib-res.atrasado svg, body.tema-cedusp .lib-st.atrasado svg { color: #ff4b72; }
body.tema-cedusp .lib-c-atrasado { border-left-color: #ff4b72; }
body.tema-cedusp .lib-cont-atrasado { border-top-color: #ff4b72; }
body.tema-cedusp .lib-cont-atrasado .lib-cont-n {
  text-decoration: underline; text-decoration-color: #ff4b72; text-decoration-thickness: 3px;
  text-underline-offset: 5px; }
body.tema-cedusp .rec.info { border-left-color: #ff4b72; }
body.tema-cedusp .lib-s-atrasado .lib-item-prazo b { color: var(--text-secondary); font-weight: 500;
  text-decoration: underline; text-decoration-color: #ff4b72; text-decoration-thickness: 2px;
  text-underline-offset: 4px; }
body.tema-cedusp .lib-s-vence_hoje .lib-item-prazo b { color: var(--accent); font-weight: 500; }

/* Janela do «Pedir posição» */
.lib-pedido { border: 0; padding: 0; border-radius: 16px; width: min(520px, calc(100vw - 32px));
  margin: auto; position: fixed; inset: 0; height: fit-content; max-height: calc(100vh - 48px); overflow: auto;
  box-shadow: 0 20px 60px rgba(15,23,42,.25); background: #ffffff; color: var(--text-primary); }
.lib-pedido::backdrop { background: rgba(15,23,42,.35); }
.lib-pedido-corpo { padding: 20px 22px; }
.lib-pedido h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 16px; font-weight: 600; }
.lib-pedido h3 svg { width: 18px; height: 18px; color: var(--accent); }
.lib-pedido-fim.ok h3 svg { color: #15803d; }
.lib-pedido p { margin: 6px 0 10px; font-size: 13.5px; color: var(--text-secondary); line-height: 1.5; }
.lib-pedido-lista { list-style: none; margin: 0 0 10px; padding: 0; max-height: 220px; overflow-y: auto;
  border: 1px solid var(--border-glass); border-radius: 10px; }
.lib-pedido-lista li { display: flex; justify-content: space-between; gap: 10px; padding: 7px 12px;
  font-size: 13px; border-bottom: 1px solid var(--border-glass); }
.lib-pedido-lista li:last-child { border-bottom: 0; }
.lib-pedido-lista small { color: var(--text-muted); white-space: nowrap; }
.lib-pedido-como { background: #f8fafc; border-radius: 10px; padding: 10px 12px; }
.lib-pedido-botoes { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.lib-pedido-enviar { background: var(--gradient-1); color: #ffffff; border: none; text-decoration: none;
  display: inline-flex; align-items: center; gap: 6px; }
.lib-pedido-enviar svg { width: 14px; height: 14px; }
.lib-pedido-enviar:disabled { opacity: .6; }

/* Permanência em desenvolvimento: aviso e o exemplo fixo */
.perm-dev { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; padding: 14px 16px; margin-bottom: 16px;
  border-radius: 14px; background: #fff7ed; border: 1px solid #fed7aa; font-size: 13.5px; color: var(--text-secondary);
  line-height: 1.5; }
.perm-dev > div { flex: 1; min-width: 240px; }
.perm-dev b { color: var(--text-primary); }
.perm-dev-selo { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px;
  background: #ffedd5; color: #9a3412; font-weight: 600; font-size: 12.5px; white-space: nowrap; }
.perm-dev-selo svg { width: 14px; height: 14px; }
.perm-selo-ex { display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 6px; font-size: 11px;
  font-weight: 600; letter-spacing: .03em; text-transform: uppercase; background: #fff7ed; color: #9a3412;
  border: 1px dashed #fdba74; vertical-align: middle; }
.perm-card.perm-exemplo { border-style: dashed; }
.lib-pedido .btn.lib-pedido-enviar, .lib-pedido a.lib-pedido-enviar { background: var(--gradient-1); color: #ffffff; border: none; }
.lib-pedido .btn.lib-pedido-enviar:hover { filter: brightness(1.08); }

/* Login pelo portal.cedusp.com.br: o botão Entrar com o azul da marca */
body.tema-cedusp .glass-card form .btn[type="submit"] { background: var(--gradient-1); color: #ffffff; border: none; }
body.tema-cedusp .glass-card form .btn[type="submit"]:hover { filter: brightness(1.08); }

/* ── Espaço comercial da tela de entrada (app/comercial.json) ──────────── */
.wrap-center.com-banner { gap: 28px; flex-wrap: wrap; align-items: flex-start; align-content: center; }
@media (min-width: 900px) { .wrap-center.com-banner { align-items: stretch; } }
.promo { position: relative; width: 100%; max-width: 400px; padding: 34px 30px 28px; border-radius: 24px;
  overflow: hidden; text-align: left; display: flex; flex-direction: column; gap: 10px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, .12); }
.promo h3 { margin: 4px 0 0; padding-right: 64px; font-size: 26px; line-height: 1.15; font-weight: 700; }
.promo p { margin: 0; font-size: 14.5px; line-height: 1.55; }
.promo ul { margin: 4px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.promo li { position: relative; padding-left: 26px; font-size: 14px; }
.promo li::before { content: "✓"; position: absolute; left: 0; top: -1px; font-weight: 700; }
.promo-selo { align-self: flex-start; padding: 5px 12px; border-radius: 999px; font-size: 12px; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; }
.promo-botao { margin-top: auto; align-self: flex-start; padding: 12px 20px; border-radius: 12px; font-weight: 700;
  font-size: 14px; text-decoration: none; transition: filter .15s; }
.promo-botao:hover { filter: brightness(1.07); }
.promo small { font-size: 12px; opacity: .8; }
.promo-laco { position: absolute; right: 18px; top: 18px; opacity: .9; }
/* Outubro Rosa */
.promo-rosa { background: linear-gradient(150deg, #fff1f5 0%, #fbd3e0 55%, #f4a6c0 100%); color: #5b1631; }
.promo-rosa .promo-selo { background: #d6336c; color: #ffffff; }
.promo-rosa h3 { color: #8e1b46; }
.promo-rosa li::before { color: #d6336c; }
.promo-rosa .promo-botao { background: #d6336c; color: #ffffff; box-shadow: 0 8px 20px rgba(214, 51, 108, .3); }
.promo-rosa .promo-laco { color: #e0457b; }
.promo-rosa::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 220px; height: 220px;
  border-radius: 50%; background: rgba(255, 255, 255, .35); pointer-events: none; }
@media (max-width: 900px) { .promo { max-width: 420px; } .promo h3 { font-size: 22px; } .promo-botao { margin-top: 10px; } }

/* Campos de formulário: o estilo base é do tema escuro (texto branco) — no tema
   claro o que se digitava ficava invisível, branco sobre branco (19/09/2026). */
body.tema-cedusp .field input, body.tema-cedusp .field select, body.tema-cedusp .field textarea,
body.tema-cedusp input[type="text"], body.tema-cedusp input[type="email"], body.tema-cedusp input[type="password"],
body.tema-cedusp input[type="search"], body.tema-cedusp input[type="date"], body.tema-cedusp input[type="number"],
body.tema-cedusp input[type="tel"], body.tema-cedusp select, body.tema-cedusp textarea {
  color: var(--text-primary); -webkit-text-fill-color: var(--text-primary); caret-color: var(--accent); }
body.tema-cedusp .field input, body.tema-cedusp .field select, body.tema-cedusp .field textarea {
  background: #ffffff; border-color: #d5dce6; }
body.tema-cedusp .field input:focus, body.tema-cedusp .field select:focus, body.tema-cedusp .field textarea:focus {
  border-color: var(--accent); box-shadow: 0 0 0 3px rgba(43, 63, 149, .12); }
body.tema-cedusp input::placeholder, body.tema-cedusp textarea::placeholder {
  color: var(--text-muted); -webkit-text-fill-color: var(--text-muted); }
