/* App do Pregador — visual estilo Apple (aprovado 24/10/2026). 1rem = 10px (SW Core).
   Um acento âmbar; dia e noite por tokens; púlpito em tela cheia com detalhes nas bordas. */
:root {
  --ap-fundo: #f2f2f7; --ap-cartao: #ffffff; --ap-texto: #1c1c1e; --ap-sub: #8e8e93; --ap-linha: rgba(60,60,67,.18);
  --ap-cinza: rgba(118,118,128,.12); --ap-vidro: rgba(249,249,251,.78); --ap-acento: var(--ap-prim); --ap-acento-txt: #fff;
  --ap-acento-suave: rgba(var(--ap-prim-rgb),.12); --ap-verde: #34c759; --ap-amarelo: #ffcc00; --ap-vermelho: #ff3b30;
  --ap-sombra: 0 4px 24px rgba(0,0,0,.08);
  --ap-fonte: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ap-raio: 1.4rem;
  --ap-borda: rgba(0,0,0,.06);
  --ap-elev: 0 1px 2px rgba(0,0,0,.04), 0 8px 24px -12px rgba(0,0,0,.12);
  --ap-elev-alta: 0 2px 4px rgba(0,0,0,.04), 0 24px 48px -20px rgba(0,0,0,.28);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-ap-tema="claro"]) {
    color-scheme: dark; --ap-fundo: #000; --ap-cartao: #1c1c1e; --ap-texto: #f5f5f7; --ap-sub: #8e8e93; --ap-linha: rgba(84,84,88,.6);
    --ap-cinza: rgba(118,118,128,.24); --ap-vidro: rgba(28,28,30,.78); --ap-acento: var(--ap-acento); --ap-acento-txt: #1c1c1e;
    --ap-acento-suave: rgba(var(--ap-acento-rgb),.16); --ap-sombra: 0 4px 24px rgba(0,0,0,.4);
  }
}
:root[data-ap-tema="escuro"] {
  color-scheme: dark; --ap-fundo: #000; --ap-cartao: #1c1c1e; --ap-texto: #f5f5f7; --ap-sub: #8e8e93; --ap-linha: rgba(84,84,88,.6);
  --ap-cinza: rgba(118,118,128,.24); --ap-vidro: rgba(28,28,30,.78); --ap-acento: var(--ap-acento); --ap-acento-txt: #1c1c1e;
  --ap-acento-suave: rgba(var(--ap-acento-rgb),.16); --ap-sombra: 0 4px 24px rgba(0,0,0,.4);
}

body.ap { margin: 0; background: var(--ap-fundo); color: var(--ap-texto); font: 400 1.7rem/1.45 var(--ap-fonte);
  -webkit-font-smoothing: antialiased; letter-spacing: -.01em; -webkit-tap-highlight-color: transparent; }
.ap *, .ap *::before, .ap *::after { box-sizing: border-box; }
:where(.ap) button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.ap h1, .ap h2, .ap h3 { color: var(--ap-texto); font-family: var(--ap-fonte); background: none; -webkit-text-fill-color: currentColor; }
.ap .ap-destaque h2, .ap .ap-destaque { color: #fff; }
.ap .ap-sermao__rot, .ap .ap-verso__col h3, .ap .ap-leitura__col h3 { color: var(--ap-acento); }
.ap input, .ap textarea, .ap select { font: inherit; color: var(--ap-texto); }
.ap :focus-visible { outline: 2px solid var(--ap-acento); outline-offset: 2px; }
.ap-raiz { min-height: 100dvh; }
.ap-carregando { min-height: 100dvh; display: grid; place-items: center; }
.ap-logo { font-weight: 800; font-size: 2.8rem; letter-spacing: -.04em; color: var(--ap-acento); }

/* ── TELA COM TÍTULO GRANDE ───────────────────────────── */
.ap-tela { max-width: 96rem; margin: 0 auto; padding: calc(env(safe-area-inset-top, 0px) + 1.6rem) max(1.6rem, env(safe-area-inset-right, 0px)) 12rem max(1.6rem, env(safe-area-inset-left, 0px));
  display: flex; flex-direction: column; gap: 1.6rem; }
.ap-tela__lista { display: flex; flex-direction: column; gap: 1.4rem; }
.ap-borda-dir { display: flex; }
.ap-topo { display: flex; flex-direction: column; gap: .2rem; }
.ap-topo__linha { display: flex; justify-content: space-between; align-items: center; min-height: 3.6rem; gap: 1rem; }
.ap-topo small { color: var(--ap-acento); font-size: 1.4rem; font-weight: 500; }
.ap-topo h1 { margin: 0; font-size: 3.4rem; font-weight: 800; letter-spacing: -.035em; line-height: 1.1; text-wrap: balance; }
.ap-voltar { color: var(--ap-acento); font-size: 1.7rem; display: inline-flex; align-items: center; gap: .2rem; }
.ap-acoes { display: flex; gap: .8rem; }
.ap-redondo { width: 3.6rem; height: 3.6rem; border-radius: 50%; background: var(--ap-cinza); color: var(--ap-acento);
  display: grid; place-items: center; font-size: 2rem; }
.ap-redondo--cheio { background: var(--ap-acento); color: var(--ap-acento-txt); }

.ap-rotulo { font-size: 1.3rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ap-sub); padding: 0 1.6rem; font-weight: 500; }
.ap-grupo { background: var(--ap-cartao); border-radius: var(--ap-raio); overflow: hidden; }
.ap-linha { display: flex; align-items: center; gap: 1.2rem; padding: 1.2rem 1.6rem; min-height: 4.8rem; width: 100%; text-align: left; }
.ap-linha + .ap-linha { box-shadow: inset 1.6rem 1px 0 -1px var(--ap-cartao), inset 0 1px 0 var(--ap-linha); }
.ap-linha__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ap-linha__txt b { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ap-linha__txt span { color: var(--ap-sub); font-size: 1.4rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ap-linha__fim { color: var(--ap-sub); font-size: 1.5rem; display: flex; align-items: center; gap: .6rem; white-space: nowrap; }
.ap-linha__ico { width: 3rem; height: 3rem; border-radius: .8rem; background: var(--ap-acento); color: var(--ap-acento-txt); display: grid; place-items: center; font-size: 1.7rem; flex: none; }
.ap-seta::after { content: "›"; color: var(--ap-sub); font-size: 2.2rem; line-height: 1; margin-left: .4rem; }
.ap-estrela { color: var(--ap-acento); }
.ap-vazio { text-align: center; color: var(--ap-sub); padding: 3.2rem 1.6rem; display: flex; flex-direction: column; gap: .8rem; align-items: center; }
.ap-vazio i { font-size: 4rem; color: var(--ap-acento); }

/* destaque da próxima pregação */
.ap-destaque { background: linear-gradient(135deg, #1c1c1e, #2c2c2e); color: #fff; border-radius: 2rem; padding: 2rem; display: flex; flex-direction: column; gap: .6rem; }
.ap-destaque small { color: var(--ap-acento); font-size: 1.2rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.ap-destaque h2 { margin: 0; font-size: 2.6rem; font-weight: 700; letter-spacing: -.03em; line-height: 1.15; text-wrap: balance; }
.ap-destaque p { margin: 0; color: #c7c7cc; font-size: 1.5rem; }
.ap-pilula { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; background: var(--ap-acento); color: var(--ap-acento-txt);
  border-radius: 98rem; padding: 1rem 2rem; font-weight: 600; font-size: 1.6rem; align-self: flex-start; }
.ap-destaque .ap-pilula { background: var(--ap-acento); color: #1c1c1e; margin-top: .6rem; }
.ap-pilula--larga { align-self: stretch; padding: 1.4rem; }
.ap-pilula--cinza { background: var(--ap-cinza); color: var(--ap-acento); }
.ap-pilula--perigo { background: transparent; color: var(--ap-vermelho); }
.ap-pilula:disabled { opacity: .5; }

.ap-numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.ap-numero { background: var(--ap-cartao); border-radius: var(--ap-raio); padding: 1.4rem; display: flex; flex-direction: column; }
.ap-numero b { font-size: 2.8rem; font-weight: 700; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.ap-numero span { color: var(--ap-sub); font-size: 1.3rem; }

/* busca e chips */
.ap-busca { display: flex; align-items: center; gap: .8rem; background: var(--ap-cinza); border-radius: 1rem; padding: .8rem 1rem; color: var(--ap-sub); }
.ap-busca input { flex: 1; border: 0; background: none; outline: none; min-width: 0; }
.ap-chips { display: flex; gap: .8rem; overflow-x: auto; scrollbar-width: none; padding-bottom: .2rem; }
.ap-chips::-webkit-scrollbar { display: none; }
.ap-chip { background: var(--ap-cartao); border-radius: 98rem; padding: .6rem 1.4rem; font-size: 1.4rem; font-weight: 500; white-space: nowrap; }
.ap-chip--on { background: var(--ap-acento); color: var(--ap-acento-txt); }

/* barra de abas em vidro */
.ap-abas { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(env(safe-area-inset-bottom, 0px) + 1.2rem); z-index: 20;
  display: flex; gap: .2rem; padding: .6rem; border-radius: 98rem; background: var(--ap-vidro);
  backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%);
  box-shadow: var(--ap-sombra), inset 0 0 0 .5px var(--ap-linha); max-width: calc(100% - 2.4rem); }
.ap-aba { display: flex; flex-direction: column; align-items: center; gap: .1rem; padding: .6rem 1.4rem; border-radius: 98rem; font-size: 1.1rem; font-weight: 600; color: var(--ap-sub); }
.ap-aba i { font-size: 2.2rem; }
.ap-aba--on { color: var(--ap-acento); background: var(--ap-acento-suave); }

/* ── FOLHA (modal de baixo) ───────────────────────────── */
.ap-veu { position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 40; display: flex; align-items: flex-end; justify-content: center; animation: ap-aparece .2s; }
.ap-folha { background: var(--ap-fundo); width: 100%; max-width: 64rem; max-height: 92dvh; overflow: auto; border-radius: 2rem 2rem 0 0;
  padding: 1rem max(1.6rem, env(safe-area-inset-right, 0px)) calc(env(safe-area-inset-bottom, 0px) + 2rem) max(1.6rem, env(safe-area-inset-left, 0px));
  display: flex; flex-direction: column; gap: 1.4rem; animation: ap-sobe .28s cubic-bezier(.2,.8,.2,1); }
@media (min-width: 700px) { .ap-veu { align-items: center; } .ap-folha { border-radius: 2rem; } }
.ap-folha__puxador { width: 3.6rem; height: .5rem; border-radius: 1rem; background: var(--ap-linha); align-self: center; }
.ap-folha__topo { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.ap-folha__topo h2 { margin: 0; font-size: 1.9rem; font-weight: 700; }
.ap-folha__topo button { color: var(--ap-acento); font-size: 1.7rem; }
.ap-folha__topo .ap-forte { font-weight: 700; }
@keyframes ap-sobe { from { transform: translateY(40px); opacity: .4; } to { transform: none; opacity: 1; } }
@keyframes ap-aparece { from { opacity: 0; } to { opacity: 1; } }

/* campos */
.ap-campo { display: flex; flex-direction: column; gap: .4rem; padding: 1rem 1.6rem; }
.ap-campo + .ap-campo { box-shadow: inset 0 1px 0 var(--ap-linha); }
.ap-campo label { font-size: 1.3rem; color: var(--ap-sub); }
.ap-campo input, .ap-campo textarea, .ap-campo select { border: 0; background: none; outline: none; padding: .2rem 0; width: 100%; resize: vertical; }
.ap-campo textarea { min-height: 7rem; line-height: 1.5; }
.ap-campo--linha { flex-direction: row; align-items: center; justify-content: space-between; }
.ap-campo--linha input, .ap-campo--linha select { width: auto; text-align: right; }
.ap-erro { color: var(--ap-vermelho); font-size: 1.4rem; text-align: center; min-height: 2rem; }

/* segmentado */
.ap-seg { display: flex; background: var(--ap-cinza); border-radius: 1rem; padding: .2rem; }
.ap-seg button { flex: 1; padding: .7rem 1rem; border-radius: .8rem; font-size: 1.4rem; font-weight: 600; }
.ap-seg .on { background: var(--ap-cartao); box-shadow: 0 1px 4px rgba(0,0,0,.12); }

/* interruptor */
.ap-chave { appearance: none; width: 5.1rem; height: 3.1rem; border-radius: 98rem; background: var(--ap-cinza); position: relative; transition: background .2s; flex: none; cursor: pointer; }
.ap-chave::after { content: ""; position: absolute; top: .2rem; left: .2rem; width: 2.7rem; height: 2.7rem; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.2); transition: transform .2s; }
.ap-chave:checked { background: var(--ap-verde); }
.ap-chave:checked::after { transform: translateX(2rem); }

/* ── ENTRAR ───────────────────────────────────────────── */
.ap-entrar { min-height: 100dvh; display: grid; place-items: center; padding: 2.4rem max(1.6rem, env(safe-area-inset-right, 0px)) 2.4rem max(1.6rem, env(safe-area-inset-left, 0px)); }
.ap-entrar__caixa { width: 100%; max-width: 40rem; display: flex; flex-direction: column; gap: 1.6rem; text-align: center; }
.ap-entrar h1 { margin: 0; font-size: 4rem; font-weight: 800; letter-spacing: -.04em; line-height: 1; }
.ap-entrar h1 span { color: var(--ap-acento); }
.ap-entrar p { margin: 0; color: var(--ap-sub); }
.ap-entrar .ap-grupo { text-align: left; }
.ap-link { color: var(--ap-acento); font-size: 1.5rem; }

/* ── EDITOR ───────────────────────────────────────────── */
.ap-topico { background: var(--ap-cartao); border-radius: var(--ap-raio); overflow: hidden; }
.ap-topico__cab { display: flex; align-items: center; gap: 1rem; padding: 1.2rem 1.6rem; width: 100%; text-align: left; }
.ap-topico__n { width: 2.8rem; height: 2.8rem; border-radius: 50%; background: var(--ap-acento-suave); color: var(--ap-acento); display: grid; place-items: center; font-weight: 700; font-size: 1.4rem; flex: none; }
.ap-topico__cab b { flex: 1; min-width: 0; font-weight: 600; }
.ap-topico__min { color: var(--ap-sub); font-size: 1.4rem; font-variant-numeric: tabular-nums; }
.ap-topico__corpo { box-shadow: inset 0 1px 0 var(--ap-linha); }
.ap-topico__ordem { display: flex; gap: .6rem; padding: .8rem 1.6rem 1.2rem; justify-content: flex-end; }
.ap-topico__ordem button { color: var(--ap-acento); font-size: 1.4rem; padding: .4rem .8rem; border-radius: .8rem; background: var(--ap-cinza); }
.ap-topico__ordem .ap-apagar { color: var(--ap-vermelho); margin-right: auto; }
.ap-ia { background: linear-gradient(135deg, var(--ap-acento-suave), transparent); border-radius: var(--ap-raio); padding: 1.4rem 1.6rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.ap-ia b { display: block; }
.ap-ia span { color: var(--ap-sub); font-size: 1.4rem; }
.ap-refs { display: flex; flex-wrap: wrap; gap: .6rem; padding: 0 1.6rem 1rem; }
.ap-ref { background: var(--ap-acento-suave); color: var(--ap-acento); border-radius: 98rem; padding: .3rem 1rem; font-size: 1.4rem; font-weight: 600; }

/* ── AGENDA ───────────────────────────────────────────── */
.ap-cal { background: var(--ap-cartao); border-radius: var(--ap-raio); padding: 1.2rem; display: flex; flex-direction: column; gap: .8rem; }
.ap-cal__mes { display: flex; justify-content: space-between; align-items: center; }
.ap-cal__mes b { font-size: 1.8rem; font-weight: 700; }
.ap-cal__mes b::first-letter { text-transform: uppercase; }
.ap-cal__mes button { color: var(--ap-acento); font-size: 2.2rem; width: 3.6rem; height: 3.6rem; }
.ap-cal__dias { display: grid; grid-template-columns: repeat(7, 1fr); gap: .2rem; text-align: center; font-variant-numeric: tabular-nums; }
.ap-cal__dias span { color: var(--ap-sub); font-size: 1.2rem; font-weight: 600; padding: .4rem 0; }
.ap-cal__dias button { aspect-ratio: 1; border-radius: 50%; font-size: 1.5rem; position: relative; max-width: 4.4rem; justify-self: center; width: 100%; }
.ap-cal__dias .hoje { color: var(--ap-acento); font-weight: 700; }
.ap-cal__dias .sel { background: var(--ap-acento); color: var(--ap-acento-txt); font-weight: 700; }
.ap-cal__dias .tem::after { content: ""; position: absolute; bottom: .4rem; left: 50%; width: .5rem; height: .5rem; margin-left: -.25rem; border-radius: 50%; background: var(--ap-acento); }
.ap-cal__dias .sel.tem::after { background: var(--ap-acento-txt); }
.ap-feito { color: var(--ap-verde); }

/* ── BÍBLIA ───────────────────────────────────────────── */
.ap-leitura { background: var(--ap-cartao); border-radius: var(--ap-raio); padding: 2rem; display: grid; gap: 2.4rem; }
.ap-leitura--duas { grid-template-columns: 1fr 1fr; }
@media (max-width: 640px) { .ap-leitura--duas { grid-template-columns: 1fr; } }
.ap-leitura__col { display: flex; flex-direction: column; gap: .8rem; min-width: 0; }
.ap-leitura__col h3 { margin: 0; font-size: 1.3rem; color: var(--ap-acento); text-transform: uppercase; letter-spacing: .06em; }
.ap-leitura p { margin: 0; font-size: calc(1.8rem * var(--ap-letra, 1)); line-height: 1.6; }
.ap-leitura sup { color: var(--ap-acento); font-weight: 700; font-size: .65em; margin-right: .3rem; }
.ap-leitura .alvo { background: var(--ap-acento-suave); border-radius: .4rem; }
.ap-nav-cap { display: flex; justify-content: space-between; gap: 1rem; }
.ap-escolha { display: grid; grid-template-columns: repeat(auto-fill, minmax(5.2rem, 1fr)); gap: .6rem; }
.ap-escolha button { background: var(--ap-cartao); border-radius: 1rem; padding: 1rem 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.ap-livros { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: .6rem; }
.ap-livros button { background: var(--ap-cartao); border-radius: 1rem; padding: 1rem 1.2rem; text-align: left; font-weight: 500; }
.ap-aviso { background: var(--ap-acento-suave); color: var(--ap-texto); border-radius: 1rem; padding: 1rem 1.4rem; font-size: 1.4rem; }

/* ── PÚLPITO: o sermão ocupa a tela; detalhes nas bordas ── */
.ap-pulpito { position: fixed; inset: 0; z-index: 30; background: var(--ap-fundo); display: grid;
  grid-template-rows: auto 1fr auto; grid-template-columns: auto 1fr auto;
  padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px); }
.ap-pulpito__topo { grid-column: 1 / -1; display: flex; align-items: center; gap: 1.6rem; padding: .6rem 1.6rem; font-size: 1.4rem; color: var(--ap-sub); min-height: 3.6rem; }
.ap-pulpito__topo .ap-tit { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center; font-weight: 600; }
.ap-relogio { font-variant-numeric: tabular-nums; font-weight: 700; font-size: 1.8rem; color: var(--ap-texto); letter-spacing: -.02em; }
.ap-relogio small { font-size: 1rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ap-sub); font-weight: 600; margin-right: .4rem; }
.ap-relogio--msg { color: var(--ap-verde); }
.ap-pulpito__topo button { color: var(--ap-sub); font-size: 2rem; width: 3.2rem; height: 3.2rem; display: grid; place-items: center; border-radius: 50%; }
.ap-pulpito__topo button:hover { background: var(--ap-cinza); }
.ap-borda { width: 4.4rem; display: flex; align-items: center; justify-content: center; color: var(--ap-sub); font-size: 2.6rem; opacity: .35; }
.ap-borda:hover { opacity: 1; }
.ap-trilho { width: 4.4rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; }
.ap-trilho button { width: .8rem; border-radius: 1rem; background: var(--ap-linha); transition: background .2s, height .2s; }
.ap-trilho .feito { background: var(--ap-acento); opacity: .5; }
.ap-trilho .atual { background: var(--ap-acento); }
.ap-sermao { overflow: auto; border-radius: 2.2rem; background: var(--ap-cartao); padding: clamp(2rem, 4vw, 4.8rem);
  box-shadow: 0 0 0 .3rem var(--ap-estado, var(--ap-verde)); transition: box-shadow .6s; display: flex; flex-direction: column; gap: 1.6rem;
  font-size: calc(clamp(2.2rem, 2.6vw, 3.4rem) * var(--ap-letra, 1)); line-height: 1.45; }
.ap [class^="swi-"], .ap [class*=" swi-"] { color: inherit; }
.ap-sermao[data-estado="atencao"] { --ap-estado: var(--ap-amarelo); }
.ap-sermao[data-estado="passou"] { --ap-estado: var(--ap-vermelho); }
.ap-sermao__rot { font-size: .55em; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--ap-acento); }
.ap-sermao h2 { margin: 0; font-size: 1.8em; font-weight: 800; letter-spacing: -.03em; line-height: 1.08; text-wrap: balance; }
.ap-sermao ul { margin: 0; padding-left: 1.1em; display: flex; flex-direction: column; gap: .35em; }
.ap-sermao__bloco { display: flex; flex-direction: column; gap: .2em; }
.ap-sermao__bloco small { font-size: .5em; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--ap-sub); }
.ap-sermao .ap-refs { padding: 0; }
.ap-sermao .ap-ref { font-size: .7em; padding: .2em .8em; }
.ap-frase { font-weight: 700; font-size: 1.15em; border-left: .3rem solid var(--ap-acento); padding-left: .8em; }
.ap-pulpito__pe { grid-column: 1 / -1; display: flex; align-items: center; gap: 1.2rem; padding: .6rem 1.6rem; font-size: 1.4rem; color: var(--ap-sub); min-height: 3.6rem; }
.ap-barra { flex: 1; height: .6rem; border-radius: 1rem; background: var(--ap-cinza); overflow: hidden; max-width: 40rem; }
.ap-barra i { display: block; height: 100%; width: 0; background: var(--ap-estado-pe, var(--ap-verde)); transition: width 1s linear; }
.ap-proximo { margin-left: auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 50%; }
@media (max-width: 600px) {
  .ap-borda, .ap-trilho { width: 1.2rem; }
  .ap-borda i { display: none; }
  .ap-trilho button { width: .5rem; }
  .ap-pulpito__topo .ap-tit { display: none; }
}

/* versículo por cima (uma ou duas versões) */
.ap-verso { display: grid; gap: 1.6rem; }
.ap-verso--duas { grid-template-columns: 1fr 1fr; }
@media (max-width: 560px) { .ap-verso--duas { grid-template-columns: 1fr; } }
.ap-verso__col { background: var(--ap-cartao); border-radius: var(--ap-raio); padding: 1.6rem; display: flex; flex-direction: column; gap: .8rem; }
.ap-verso__col h3 { margin: 0; font-size: 1.2rem; color: var(--ap-acento); text-transform: uppercase; letter-spacing: .06em; }
.ap-verso__col p { margin: 0; font-size: 1.9rem; line-height: 1.55; }
.ap-verso__col sup { color: var(--ap-acento); font-weight: 700; font-size: .65em; margin-right: .3rem; }

/* aviso rápido */
.ap-toast { position: fixed; left: 50%; top: calc(env(safe-area-inset-top, 0px) + 1.2rem); transform: translateX(-50%); z-index: 60;
  background: var(--ap-vidro); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: var(--ap-sombra);
  padding: 1rem 1.8rem; border-radius: 98rem; font-weight: 600; font-size: 1.5rem; animation: ap-aparece .2s; max-width: calc(100% - 3.2rem); }
.ap-offline { color: var(--ap-amarelo); }

/* ══ ACABAMENTO (24/10 tarde) — profundidade, hierarquia e identidade ══ */
@media (prefers-color-scheme: dark) { :root:not([data-ap-tema="claro"]) { --ap-borda: rgba(255,255,255,.07); --ap-elev: 0 0 0 1px rgba(255,255,255,.04); --ap-elev-alta: 0 24px 48px -20px rgba(0,0,0,.8); } }
:root[data-ap-tema="escuro"] { --ap-borda: rgba(255,255,255,.07); --ap-elev: 0 0 0 1px rgba(255,255,255,.04); --ap-elev-alta: 0 24px 48px -20px rgba(0,0,0,.8); }

body.ap { font-family: "Inter", var(--ap-fonte); font-feature-settings: "cv11", "ss01", "ss03"; font-optical-sizing: auto;
  background: radial-gradient(120rem 60rem at 50% -20rem, var(--ap-acento-suave), transparent 60%) no-repeat, var(--ap-fundo); }
.ap-tela { max-width: 112rem; gap: 2rem; padding-top: calc(env(safe-area-inset-top, 0px) + 2.4rem); }
.ap-topo h1, .ap-ola h1 { font-size: clamp(3rem, 4vw, 4rem); letter-spacing: -.04em; font-weight: 750; }
.ap-grupo, .ap-numero, .ap-cal, .ap-topico, .ap-leitura, .ap-verso__col, .ap-chip { box-shadow: var(--ap-elev); border: 1px solid var(--ap-borda); }
.ap-grupo { border-radius: 1.8rem; }
.ap-linha { transition: background .15s; }
.ap-linha:hover { background: var(--ap-cinza); }

/* saudação com avatar */
.ap-ola { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.6rem; }
.ap-ola small { color: var(--ap-sub); font-size: 1.4rem; font-weight: 500; display: block; }
.ap-ola h1 { margin: .2rem 0 0; line-height: 1.05; text-wrap: balance; }
.ap-avatar { width: 4.8rem; height: 4.8rem; border-radius: 50%; flex: none; font-weight: 700; font-size: 1.7rem; letter-spacing: -.02em;
  background: linear-gradient(145deg, var(--ap-prim-claro), var(--ap-prim)); color: #1c1c1e; box-shadow: 0 6px 16px -6px rgba(var(--ap-prim-rgb),.6); }

/* painel: destaque + coluna (lado a lado no tablet) */
.ap-painel { display: grid; gap: 1.6rem; }
@media (min-width: 900px) { .ap-painel { grid-template-columns: 1.35fr 1fr; align-items: stretch; } }
.ap-coluna { display: flex; flex-direction: column; gap: 1.6rem; }
.ap-destaque { position: relative; overflow: hidden; border-radius: 2.4rem; padding: clamp(2.2rem, 3vw, 3.2rem); gap: 1rem; min-height: 26rem; justify-content: flex-end;
  background:
    radial-gradient(60rem 30rem at 110% -10%, rgba(var(--ap-acento-rgb),.45), transparent 60%),
    radial-gradient(40rem 30rem at -20% 120%, rgba(var(--ap-prim-rgb),.25), transparent 60%),
    linear-gradient(160deg, #1c1c1e 0%, #0d0d0e 100%);
  box-shadow: var(--ap-elev-alta); }
.ap-destaque::after { content: ""; position: absolute; right: -4rem; top: -4rem; width: 22rem; height: 22rem; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.08); box-shadow: 0 0 0 3rem rgba(255,255,255,.02), 0 0 0 6rem rgba(255,255,255,.015); pointer-events: none; }
.ap-destaque__topo { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: auto; }
.ap-destaque h2 { font-size: clamp(2.6rem, 3.4vw, 3.6rem); letter-spacing: -.035em; line-height: 1.05; max-width: 20ch; }
.ap-destaque__info { display: flex; flex-wrap: wrap; gap: .6rem 1.6rem; color: #d1d1d6; font-size: 1.5rem; }
.ap-destaque__info span { display: inline-flex; align-items: center; gap: .6rem; }
.ap-destaque__info i { color: var(--ap-acento); font-size: 1.7rem; }
.ap-destaque__alerta { background: rgba(var(--ap-acento-rgb),.14); color: var(--ap-acento-claro) !important; border-radius: 1rem; padding: .8rem 1.2rem; font-size: 1.4rem; align-self: flex-start; }
.ap-destaque .ap-pilula { box-shadow: 0 8px 20px -8px rgba(var(--ap-acento-rgb),.7); }
.ap-selo { display: inline-flex; align-items: center; gap: .4rem; border-radius: 98rem; padding: .3rem 1rem; font-size: 1.25rem; font-weight: 600;
  background: rgba(255,255,255,.12); color: #fff; backdrop-filter: blur(8px); }
.ap-selo--ok { background: rgba(52,199,89,.14); color: var(--ap-verde); backdrop-filter: none; }

.ap-numeros { gap: 1.2rem; }
.ap-numero { border-radius: 1.8rem; padding: 1.6rem; gap: .2rem; }
.ap-numero b { font-size: 3.2rem; letter-spacing: -.04em; line-height: 1.1; }

/* atalhos com ícone colorido (estilo Ajustes do iPhone) */
.ap-atalhos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem; flex: 1; }
@media (max-width: 899px) { .ap-atalhos { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 520px) { .ap-atalhos { grid-template-columns: repeat(2, 1fr); } }
.ap-atalho { background: var(--ap-cartao); border: 1px solid var(--ap-borda); box-shadow: var(--ap-elev); border-radius: 1.8rem; padding: 1.6rem;
  display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 1.6rem; text-align: left; font-weight: 600; font-size: 1.5rem;
  transition: transform .15s, box-shadow .15s; }
.ap-atalho:hover { transform: translateY(-2px); box-shadow: var(--ap-elev-alta); }
.ap-atalho__ico { width: 4rem; height: 4rem; border-radius: 1.1rem; display: grid; place-items: center; font-size: 2.1rem; color: #fff;
  background: linear-gradient(160deg, color-mix(in srgb, var(--cor) 80%, #fff), var(--cor)); box-shadow: 0 6px 14px -6px var(--cor); }

/* ícone dentro do quadradinho colorido (gosto do Sandro) */
.ap-icofundo { width: 3.2rem; height: 3.2rem; border-radius: .9rem; flex: none; display: grid; place-items: center; font-size: 1.8rem; color: #fff;
  background: linear-gradient(160deg, color-mix(in srgb, var(--cor) 78%, #fff), var(--cor)); box-shadow: 0 4px 10px -4px var(--cor); }
.ap-campo--ico { display: grid; grid-template-columns: 3.2rem 1fr; column-gap: 1.2rem; align-items: center; }
.ap-campo--ico > .ap-icofundo { grid-row: span 2; align-self: start; margin-top: .2rem; }
.ap-campo--ico.ap-campo--linha { grid-template-columns: 3.2rem 1fr auto; }
.ap-campo--ico.ap-campo--linha > .ap-icofundo { grid-row: auto; align-self: center; margin: 0; }
.ap-campo--ico + .ap-campo, .ap-campo + .ap-campo--ico { box-shadow: inset 6rem 1px 0 -1px var(--ap-cartao), inset 0 1px 0 var(--ap-linha); }
.ap-rotulo--ico { display: flex; align-items: center; gap: 1rem; padding: 0 .4rem; margin-top: .6rem; font-size: 1.5rem; font-weight: 700; letter-spacing: -.01em; text-transform: none; color: var(--ap-texto); }
.ap-rotulo--ico .ap-icofundo { width: 2.8rem; height: 2.8rem; font-size: 1.6rem; border-radius: .8rem; }

/* ícone gigante de fundo: inclinado, cortado na direita, quase invisível */
.ap-raiz { position: relative; overflow-x: clip; }
.ap-marca { position: absolute; top: -2rem; right: -9rem; z-index: 0; pointer-events: none; color: var(--ap-acento);
  font-size: clamp(30rem, 42vw, 52rem); line-height: 1; opacity: .07; transform: rotate(-14deg); animation: ap-marca 1.2s cubic-bezier(.2,.8,.2,1) both; }
.ap-marca i { display: block; }
.ap-tela { position: relative; z-index: 1; }
@keyframes ap-marca { from { opacity: 0; transform: rotate(-4deg) translateX(4rem); } to { opacity: .07; transform: rotate(-14deg); } }
@media (prefers-color-scheme: dark) { :root:not([data-ap-tema="claro"]) .ap-marca { opacity: .09; } }
:root[data-ap-tema="escuro"] .ap-marca { opacity: .09; }
@media (max-width: 600px) { .ap-marca { right: -7rem; top: 0; font-size: 26rem; } }

/* transição entre telas: desliza para o lado (sai à esquerda, entra pela direita) */
.ap-sai { position: absolute; left: 0; right: 0; margin: 0 auto; pointer-events: none; z-index: 1; }
.ap-sai--vai   { animation: ap-sai-esq .42s cubic-bezier(.32,.72,0,1) both; }
.ap-sai--volta { animation: ap-sai-dir .42s cubic-bezier(.32,.72,0,1) both; }
.ap-entra--vai   { animation: ap-entra-dir .42s cubic-bezier(.32,.72,0,1) both; }
.ap-entra--volta { animation: ap-entra-esq .42s cubic-bezier(.32,.72,0,1) both; }
@keyframes ap-sai-esq   { to { transform: translateX(-35%); opacity: 0; } }
@keyframes ap-sai-dir   { to { transform: translateX(35%);  opacity: 0; } }
@keyframes ap-entra-dir { from { transform: translateX(100%); opacity: .4; } }
@keyframes ap-entra-esq { from { transform: translateX(-100%); opacity: .4; } }

/* cascata: cada bloco sobe e aparece, sobrepondo o anterior */
.ap-cascata { animation: ap-sobe-bloco .6s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--i, 0) * 55ms + 80ms); }
@keyframes ap-sobe-bloco { from { opacity: 0; transform: translateY(1.8rem) scale(.985); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
/* cartões em linha: entram um a um */
.ap-cascata .ap-cartao, .ap-cascata .ap-atalho, .ap-cascata .ap-numero { animation: ap-sobe-bloco .55s cubic-bezier(.2,.8,.2,1) both; }
.ap-cascata .ap-cartao:nth-child(2), .ap-cascata .ap-atalho:nth-child(2), .ap-cascata .ap-numero:nth-child(2) { animation-delay: .12s; }
.ap-cascata .ap-cartao:nth-child(3), .ap-cascata .ap-atalho:nth-child(3), .ap-cascata .ap-numero:nth-child(3) { animation-delay: .19s; }
.ap-cascata .ap-cartao:nth-child(n+4), .ap-cascata .ap-atalho:nth-child(4) { animation-delay: .26s; }
/* menu: a aba escolhida "pula" */
.ap-aba--on { animation: ap-pula .45s cubic-bezier(.34,1.56,.64,1); }
.ap-aba--on i { animation: ap-pula-ico .5s cubic-bezier(.34,1.56,.64,1); }
@keyframes ap-pula { from { transform: scale(.82); } }
@keyframes ap-pula-ico { 0% { transform: translateY(0); } 40% { transform: translateY(-.4rem); } 100% { transform: none; } }
.ap-abas { animation: ap-menu .7s .2s cubic-bezier(.2,.8,.2,1) both; }
@keyframes ap-menu { from { opacity: 0; transform: translate(-50%, 2rem); } }
@media (max-width: 520px) { @keyframes ap-menu { from { opacity: 0; transform: translateY(2rem); } } }
/* toque: tudo que é clicável afunda um pouco */
.ap-cartao:active, .ap-atalho:active, .ap-linha:active, .ap-redondo:active, .ap-chip:active { transform: scale(.97); transition-duration: .08s; }
/* ícones coloridos: leve giro ao passar o mouse */
.ap-atalho:hover .ap-atalho__ico, .ap-linha:hover .ap-icofundo { transform: rotate(-8deg) scale(1.08); }
.ap-atalho__ico, .ap-icofundo { transition: transform .3s cubic-bezier(.34,1.56,.64,1); }
/* destaque: brilho dourado que respira devagar */
.ap-destaque { background-size: 140% 140%, 140% 140%, 100% 100%; animation: ap-respira 9s ease-in-out infinite alternate; }
@keyframes ap-respira { from { background-position: 0% 0%, 0% 0%, 0 0; } to { background-position: 100% 60%, 30% 100%, 0 0; } }
.ap-destaque .ap-pilula { animation: ap-chama 2.6s 1.2s ease-in-out infinite; }
@keyframes ap-chama { 0%, 100% { box-shadow: 0 8px 20px -8px rgba(var(--ap-acento-rgb),.7); } 50% { box-shadow: 0 8px 28px -4px rgba(var(--ap-acento-rgb),.95), 0 0 0 .6rem rgba(var(--ap-acento-rgb),.12); } }
/* ícone gigante flutua devagar */
.ap-marca { animation: ap-marca 1.2s cubic-bezier(.2,.8,.2,1) both, ap-flutua 12s 1.2s ease-in-out infinite alternate; }
@keyframes ap-flutua { from { transform: rotate(-14deg) translateY(0); } to { transform: rotate(-11deg) translateY(1.6rem); } }
/* folha sobe com mola; véu escurece suave */
.ap-folha { animation: ap-sobe .42s cubic-bezier(.34,1.3,.64,1); }

/* destaque acompanha o tema: dourado-claro de dia, preto com dourado à noite */
:root {
  --ap-dest-fundo:
    radial-gradient(60rem 30rem at 110% -10%, rgba(var(--ap-acento-rgb),.55), transparent 60%),
    radial-gradient(40rem 30rem at -20% 120%, rgba(var(--ap-acento-rgb),.5), transparent 60%),
    linear-gradient(160deg, #fffaf0 0%, #fdebc8 100%);
  --ap-dest-txt: #1c1c1e; --ap-dest-sub: #6e6e73; --ap-dest-rot: var(--ap-acento); --ap-dest-ico: var(--ap-acento);
  --ap-dest-selo: rgba(120,80,10,.10); --ap-dest-anel: rgba(181,116,10,.14); --ap-dest-btn: #1c1c1e; --ap-dest-btn-txt: var(--ap-acento-claro);
}
@media (prefers-color-scheme: dark) { :root:not([data-ap-tema="claro"]) {
  --ap-dest-fundo:
    radial-gradient(60rem 30rem at 110% -10%, rgba(var(--ap-acento-rgb),.45), transparent 60%),
    radial-gradient(40rem 30rem at -20% 120%, rgba(var(--ap-prim-rgb),.25), transparent 60%),
    linear-gradient(160deg, #1c1c1e 0%, #0d0d0e 100%);
  --ap-dest-txt: #fff; --ap-dest-sub: #d1d1d6; --ap-dest-rot: var(--ap-acento); --ap-dest-ico: var(--ap-acento);
  --ap-dest-selo: rgba(255,255,255,.12); --ap-dest-anel: rgba(255,255,255,.08); --ap-dest-btn: var(--ap-acento); --ap-dest-btn-txt: #1c1c1e; } }
:root[data-ap-tema="escuro"] {
  --ap-dest-fundo:
    radial-gradient(60rem 30rem at 110% -10%, rgba(var(--ap-acento-rgb),.45), transparent 60%),
    radial-gradient(40rem 30rem at -20% 120%, rgba(var(--ap-prim-rgb),.25), transparent 60%),
    linear-gradient(160deg, #1c1c1e 0%, #0d0d0e 100%);
  --ap-dest-txt: #fff; --ap-dest-sub: #d1d1d6; --ap-dest-rot: var(--ap-acento); --ap-dest-ico: var(--ap-acento);
  --ap-dest-selo: rgba(255,255,255,.12); --ap-dest-anel: rgba(255,255,255,.08); --ap-dest-btn: var(--ap-acento); --ap-dest-btn-txt: #1c1c1e;
}
.ap .ap-destaque { background: var(--ap-dest-fundo); background-size: 140% 140%, 140% 140%, 100% 100%; color: var(--ap-dest-txt); border: 1px solid var(--ap-borda); }
.ap .ap-destaque h2 { color: var(--ap-dest-txt); }
.ap-destaque small { color: var(--ap-dest-rot); }
.ap-destaque p, .ap-destaque__info { color: var(--ap-dest-sub); }
.ap-destaque__info i { color: var(--ap-dest-ico); }
.ap-destaque::after { border-color: var(--ap-dest-anel); box-shadow: 0 0 0 3rem color-mix(in srgb, var(--ap-dest-anel) 25%, transparent), 0 0 0 6rem color-mix(in srgb, var(--ap-dest-anel) 15%, transparent); }
.ap-destaque .ap-selo { background: var(--ap-dest-selo); color: var(--ap-dest-txt); }
.ap-destaque .ap-pilula { background: var(--ap-dest-btn); color: var(--ap-dest-btn-txt); }
.ap-destaque__alerta { background: var(--ap-dest-selo); color: var(--ap-dest-txt) !important; }

/* ── A MENSAGEM VEM DO CÉU ── */
.ap-entrar__lema { font-size: 1.9rem; font-weight: 600; color: var(--ap-texto) !important; letter-spacing: -.02em; margin-top: -.6rem !important; }
.ap-manifesto { min-height: 100dvh; display: grid; place-items: center; text-align: center;
  padding: calc(env(safe-area-inset-top, 0px) + 3.2rem) max(2rem, env(safe-area-inset-right, 0px)) calc(env(safe-area-inset-bottom, 0px) + 3.2rem) max(2rem, env(safe-area-inset-left, 0px));
  background: radial-gradient(80rem 50rem at 50% -10%, var(--ap-acento-suave), transparent 70%), var(--ap-fundo); position: relative; overflow: hidden; }
.ap-manifesto::before { content: ""; position: absolute; inset: auto -20% -30% -20%; height: 60%; background: radial-gradient(closest-side, rgba(var(--ap-acento-rgb),.22), transparent); filter: blur(30px); }
.ap-manifesto__caixa { position: relative; max-width: 56rem; display: flex; flex-direction: column; align-items: center; gap: 2rem; }
.ap-manifesto__caixa > * { animation: ap-sobe-bloco .9s cubic-bezier(.2,.8,.2,1) both; }
.ap-manifesto__caixa > :nth-child(2) { animation-delay: .25s; } .ap-manifesto__caixa > :nth-child(3) { animation-delay: .55s; }
.ap-manifesto__caixa > :nth-child(4) { animation-delay: .9s; } .ap-manifesto__caixa > :nth-child(5) { animation-delay: 1.3s; }
.ap-manifesto__selo { width: 7.2rem; height: 7.2rem; border-radius: 2rem; display: grid; place-items: center; font-size: 3.8rem; color: #fff;
  background: linear-gradient(160deg, var(--ap-prim-claro), var(--ap-prim)); box-shadow: 0 16px 36px -12px rgba(var(--ap-prim-rgb),.7); }
.ap-manifesto h1 { margin: 0; font-size: clamp(4rem, 8vw, 6.4rem); font-weight: 800; letter-spacing: -.045em; line-height: 1; text-wrap: balance; }
.ap-manifesto h1 span, .ap-entrar h1 span { background: linear-gradient(180deg, var(--ap-acento-claro), var(--ap-acento)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ap-manifesto__texto { margin: 0; font-size: clamp(1.8rem, 2.2vw, 2.1rem); line-height: 1.55; color: var(--ap-sub); max-width: 46ch; }
.ap-manifesto__verso { margin: 0; padding: 1.8rem 2.2rem; border-radius: 1.8rem; background: var(--ap-cartao); border: 1px solid var(--ap-borda); box-shadow: var(--ap-elev); }
.ap-manifesto__verso p { margin: 0 0 .6rem; font-size: 1.8rem; font-style: italic; line-height: 1.5; }
.ap-manifesto__verso cite { font-style: normal; font-weight: 700; color: var(--ap-acento); font-size: 1.4rem; }
.ap-manifesto .ap-pilula { width: 100%; max-width: 36rem; align-self: center; }

/* cartão fixo no Início */
.ap-lema { position: relative; overflow: hidden; display: flex; gap: 1.8rem; align-items: flex-start; border-radius: 2.2rem; padding: 2.2rem 2.4rem;
  background: linear-gradient(120deg, var(--ap-cartao) 0%, color-mix(in srgb, var(--ap-cartao) 88%, var(--ap-acento)) 100%);
  border: 1px solid color-mix(in srgb, var(--ap-acento) 30%, transparent); box-shadow: var(--ap-elev); }
.ap-lema::after { content: "”"; position: absolute; right: 1.6rem; bottom: -6rem; font-size: 22rem; line-height: 1; font-weight: 800; color: var(--ap-acento); opacity: .1; transform: rotate(8deg); pointer-events: none; }
.ap-lema__ico { width: 5.2rem; height: 5.2rem; flex: none; border-radius: 1.4rem; display: grid; place-items: center; font-size: 2.8rem; color: #fff;
  background: linear-gradient(160deg, var(--ap-prim-claro), var(--ap-prim)); box-shadow: 0 10px 22px -10px rgba(var(--ap-prim-rgb),.8); }
.ap-lema h2 { margin: 0 0 .6rem; font-size: clamp(2rem, 2.4vw, 2.6rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.15; }
.ap-lema h2 span { color: var(--ap-acento); }
.ap-lema p { margin: 0; color: var(--ap-sub); font-size: 1.55rem; line-height: 1.55; max-width: 70ch; position: relative; }
@media (max-width: 520px) { .ap-lema { flex-direction: column; padding: 2rem; } }

/* consagração antes de pregar */
.ap-consagra { position: absolute; inset: 0; z-index: 5; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.6rem; text-align: center; padding: 3rem;
  background: radial-gradient(60rem 40rem at 50% 40%, var(--ap-acento-suave), transparent 70%), var(--ap-fundo); animation: ap-aparece .5s both; }
.ap-consagra__frase { margin: 0; font-size: clamp(3.6rem, 6vw, 6rem); font-weight: 800; letter-spacing: -.04em; animation: ap-sobe-bloco 1s .1s both; }
.ap-consagra__ref { margin: 0; color: var(--ap-sub); font-size: 1.8rem; font-style: italic; max-width: 40ch; animation: ap-sobe-bloco 1s .5s both; }
.ap-consagra--sai { animation: ap-some .7s forwards; }
@keyframes ap-some { to { opacity: 0; transform: scale(1.03); } }

/* ── MENOS COR (Sandro, 24/10): fundos e ícone gigante em tons de cinza; dourado só nos detalhes ── */
:root { --ap-bruma: rgba(60,60,67,.07); --ap-bruma-forte: rgba(60,60,67,.12); }
@media (prefers-color-scheme: dark) { :root:not([data-ap-tema="claro"]) { --ap-bruma: rgba(235,235,245,.06); --ap-bruma-forte: rgba(235,235,245,.10); } }
:root[data-ap-tema="escuro"] { --ap-bruma: rgba(235,235,245,.06); --ap-bruma-forte: rgba(235,235,245,.10); }

body.ap { background: radial-gradient(120rem 60rem at 50% -20rem, var(--ap-bruma-forte), transparent 60%) no-repeat, var(--ap-fundo); }
.ap-marca { color: var(--ap-sub); }
.ap-manifesto { background: radial-gradient(80rem 50rem at 50% -10%, var(--ap-bruma-forte), transparent 70%), var(--ap-fundo); }
.ap-manifesto::before { background: radial-gradient(closest-side, var(--ap-bruma), transparent); }
.ap-consagra { background: radial-gradient(60rem 40rem at 50% 40%, var(--ap-bruma-forte), transparent 70%), var(--ap-fundo); }
.ap-lema { background: linear-gradient(120deg, var(--ap-cartao) 0%, color-mix(in srgb, var(--ap-cartao) 90%, #8e8e93) 100%); border-color: var(--ap-borda); }
.ap-lema::after { color: var(--ap-sub); opacity: .12; }
:root {
  --ap-dest-fundo:
    radial-gradient(60rem 30rem at 110% -10%, rgba(255,255,255,.9), transparent 60%),
    radial-gradient(40rem 30rem at -20% 120%, rgba(142,142,147,.18), transparent 60%),
    linear-gradient(160deg, #fbfbfd 0%, #e8e8ed 100%);
  --ap-dest-txt: #1c1c1e; --ap-dest-sub: #6e6e73; --ap-dest-rot: var(--ap-acento); --ap-dest-ico: #8e8e93;
  --ap-dest-selo: rgba(60,60,67,.08); --ap-dest-anel: rgba(60,60,67,.10);
}

/* ── ÍCONE SEM QUADRADINHO (Sandro, 24/10): solto, maior, na cor ── */
.ap .ap-atalho__ico, .ap .ap-icofundo, .ap .ap-lema__ico, .ap .ap-manifesto__selo {
  background: none; box-shadow: none; border-radius: 0; width: auto; height: auto; color: var(--cor, var(--ap-acento)); }
.ap .ap-atalho__ico { font-size: 3.4rem; line-height: 1; }
.ap .ap-icofundo { font-size: 2.6rem; line-height: 1; min-width: 3.2rem; display: grid; place-items: center; }
.ap .ap-rotulo--ico .ap-icofundo { font-size: 2.2rem; min-width: 2.6rem; width: auto; height: auto; }
.ap .ap-lema__ico { font-size: 4.4rem; line-height: 1; color: var(--ap-acento); }
.ap .ap-manifesto__selo { font-size: 6.4rem; line-height: 1; color: var(--ap-acento); }
.ap-atalho:hover .ap-atalho__ico, .ap-linha:hover .ap-icofundo { transform: rotate(-8deg) scale(1.12); }

/* ── NADA BRUTO (Sandro, 24/10): toda troca dentro da tela é em fade ── */
.ap-suave { animation: ap-suave .32s cubic-bezier(.2,.8,.2,1) both; }
@keyframes ap-suave { from { opacity: 0; transform: translateY(.6rem); } to { opacity: 1; transform: none; } }
.ap-marca--fica { animation: ap-flutua 12s ease-in-out infinite alternate; opacity: .07; }
.ap-abas--fica, .ap-abas--fica .ap-aba--on, .ap-abas--fica .ap-aba--on i { animation: none; }
.ap-abas--fica .ap-aba--on { animation: ap-pula .45s cubic-bezier(.34,1.56,.64,1); }
.ap-veu--sai { animation: ap-some-veu .26s forwards; }
.ap-veu--sai .ap-folha { animation: ap-desce .26s cubic-bezier(.4,0,1,1) forwards; }
@keyframes ap-some-veu { to { opacity: 0; } }
@keyframes ap-desce { to { transform: translateY(3rem); opacity: 0; } }
.ap-toast--sai { animation: ap-toast-sai .3s forwards; }
@keyframes ap-toast-sai { to { opacity: 0; transform: translate(-50%, -1rem); } }
/* tópico do editor abre deslizando */
.ap-topico__corpo { animation: ap-abre .34s cubic-bezier(.2,.8,.2,1) both; transform-origin: top; }
@keyframes ap-abre { from { opacity: 0; transform: translateY(-.8rem); clip-path: inset(0 0 100% 0); } to { opacity: 1; transform: none; clip-path: inset(0 0 0 0); } }
/* chips, abas, segmentado e interruptor mudam de cor suave */
.ap-chip, .ap-aba, .ap-seg button, .ap-cal__dias button, .ap-redondo { transition: background-color .25s, color .25s, box-shadow .25s, transform .15s; }
.ap-cal__dias .sel { animation: ap-pula .35s cubic-bezier(.34,1.56,.64,1); }

/* ── MENU MODERNO: vidro líquido + pílula que desliza esticando ── */
.ap .ap-abas { position: fixed; display: flex; gap: .2rem; padding: .7rem; border-radius: 98rem; isolation: isolate; animation: ap-menu .7s .2s cubic-bezier(.2,.8,.2,1) both;
  background: linear-gradient(180deg, color-mix(in srgb, var(--ap-vidro) 92%, #fff), var(--ap-vidro));
  backdrop-filter: blur(28px) saturate(200%); -webkit-backdrop-filter: blur(28px) saturate(200%);
  box-shadow: 0 18px 40px -16px rgba(0,0,0,.35), 0 2px 6px rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,.7), inset 0 -1px 0 rgba(0,0,0,.05); }
.ap .ap-abas::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none; z-index: 2;
  background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,255,255,.1) 40%, rgba(255,255,255,.05) 60%, rgba(255,255,255,.6));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
.ap-abas__luz { position: absolute; top: .7rem; bottom: .7rem; left: 0; width: 0; z-index: 0; border-radius: 98rem;
  background: linear-gradient(160deg, var(--ap-prim-claro), var(--ap-prim)); box-shadow: 0 8px 18px -6px rgba(var(--ap-prim-rgb),.65), inset 0 1px 0 rgba(255,255,255,.45);
  transition: transform .5s cubic-bezier(.34,1.45,.5,1), width .5s cubic-bezier(.34,1.45,.5,1); }
.ap-abas__luz--sem { transition: none !important; }
.ap .ap-abas.ap-abas--fixo { animation: none; }
.ap-abas__luz--estica { transition-duration: .17s, .17s; transition-timing-function: cubic-bezier(.5,0,.75,0); }
.ap-abas__luz--assenta { transition-duration: .55s, .55s; }
.ap .ap-aba { position: relative; z-index: 1; flex-direction: row; gap: 0; min-width: 0; padding: 1rem 1.4rem; background: none !important; color: var(--ap-sub);
  font-size: 1.5rem; font-weight: 650; letter-spacing: -.01em; transition: color .3s, gap .45s cubic-bezier(.34,1.45,.5,1), padding .45s cubic-bezier(.34,1.45,.5,1); animation: none; }
.ap .ap-aba i { font-size: 2.4rem; transition: transform .45s cubic-bezier(.34,1.56,.64,1); animation: none; }
.ap .ap-aba:hover:not(.ap-aba--on) i { transform: translateY(-.2rem) scale(1.08); }
.ap-aba__nome { max-width: 0; opacity: 0; overflow: hidden; white-space: nowrap; transition: max-width .45s cubic-bezier(.34,1.2,.5,1), opacity .25s; }
.ap .ap-aba--on { color: var(--ap-prim-txt); gap: .7rem; padding-inline: 1.8rem 2rem; animation: none; }
.ap .ap-aba--on .ap-aba__nome { max-width: 12rem; opacity: 1; transition-delay: 0s, .12s; }
.ap .ap-aba--on i { animation: ap-aba-ico .6s cubic-bezier(.34,1.56,.64,1); }
@keyframes ap-aba-ico { 0% { transform: scale(.6) rotate(-12deg); } 60% { transform: scale(1.18) rotate(4deg); } 100% { transform: none; } }
.ap .ap-aba:active i { transform: scale(.85); }
@media (prefers-color-scheme: dark) { :root:not([data-ap-tema="claro"]) .ap .ap-abas { box-shadow: 0 18px 40px -16px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.12); }
  :root:not([data-ap-tema="claro"]) .ap .ap-abas::before { background: linear-gradient(135deg, rgba(255,255,255,.35), rgba(255,255,255,.03) 45%, rgba(255,255,255,.2)); } }
:root[data-ap-tema="escuro"] .ap .ap-abas { box-shadow: 0 18px 40px -16px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.12); }
:root[data-ap-tema="escuro"] .ap .ap-abas::before { background: linear-gradient(135deg, rgba(255,255,255,.35), rgba(255,255,255,.03) 45%, rgba(255,255,255,.2)); }
@media (max-width: 520px) { .ap .ap-aba { flex: 0 1 auto; padding: 1rem 1.1rem; font-size: 1.4rem; } .ap .ap-aba--on { padding-inline: 1.4rem 1.6rem; } .ap .ap-abas { justify-content: space-between; } }

/* título de seção com link */
.ap-secao { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-top: .8rem; }
.ap-secao h2 { margin: 0; font-size: 2.2rem; font-weight: 700; letter-spacing: -.03em; }
.ap-secao button { color: var(--ap-acento); font-size: 1.5rem; font-weight: 500; }

/* cartões de mensagem */
.ap-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(26rem, 1fr)); gap: 1.4rem; }
.ap-cartoes--linha { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(26rem, 30rem); overflow-x: auto; scroll-snap-type: x mandatory;
  padding: .4rem .2rem 1.6rem; margin: 0 -.2rem; scrollbar-width: none; }
.ap-cartoes--linha::-webkit-scrollbar { display: none; }
.ap-cartao { position: relative; overflow: hidden; scroll-snap-align: start; text-align: left; display: flex; flex-direction: column; gap: .6rem;
  background: var(--ap-cartao); border: 1px solid var(--ap-borda); box-shadow: var(--ap-elev); border-radius: 2rem; padding: 1.8rem 1.8rem 1.6rem; min-height: 17rem;
  transition: transform .18s, box-shadow .18s; }
.ap-cartao::before { content: ""; position: absolute; inset: 0 0 auto; height: .4rem; background: var(--cor); }
.ap-cartao:hover { transform: translateY(-3px); box-shadow: var(--ap-elev-alta); }
.ap-cartao__pasta { display: flex; align-items: center; gap: .6rem; font-size: 1.25rem; font-weight: 600; color: var(--cor); text-transform: uppercase; letter-spacing: .05em; }
.ap-cartao__pasta .ap-estrela { margin-left: auto; font-size: 1.6rem; }
.ap-ponto { width: .8rem; height: .8rem; border-radius: 50%; background: var(--cor); }
.ap-cartao__tit { font-size: 1.9rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ap-cartao__base { color: var(--ap-sub); font-size: 1.45rem; }
.ap-cartao__pe { margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--ap-borda); display: flex; gap: 1.6rem; color: var(--ap-sub); font-size: 1.35rem; font-variant-numeric: tabular-nums; }
.ap-cartao__pe span { display: inline-flex; align-items: center; gap: .5rem; }
.ap-vazio--cartao { background: var(--ap-cartao); border: 1.5px dashed var(--ap-linha); border-radius: 2rem; width: 100%; }

/* data em bloco (agenda) */
.ap-data { width: 5rem; flex: none; border-radius: 1.2rem; overflow: hidden; text-align: center; background: var(--ap-fundo); border: 1px solid var(--ap-borda); display: flex; flex-direction: column; }
.ap-data small { background: var(--ap-vermelho); color: #fff; font-size: 1.05rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: .2rem 0; }
.ap-data b { font-size: 2.2rem; font-weight: 700; letter-spacing: -.03em; padding: .2rem 0 .4rem; font-variant-numeric: tabular-nums; }
.ap-linha--agenda { padding-block: 1.2rem; gap: 1.4rem; }
.ap-linha--agenda + .ap-linha--agenda { box-shadow: inset 7.8rem 1px 0 -1px var(--ap-cartao), inset 0 1px 0 var(--ap-linha); }

/* busca e chips mais finos */
.ap-busca { background: var(--ap-cartao); border: 1px solid var(--ap-borda); box-shadow: var(--ap-elev); border-radius: 1.4rem; padding: 1.1rem 1.4rem; }
.ap-chip { padding: .7rem 1.6rem; }
.ap-chip--on { box-shadow: 0 6px 14px -6px var(--ap-acento); border-color: transparent; }

/* barra de abas: ícone maior, aba ativa em pílula */
.ap-abas { padding: .7rem; gap: .4rem; }
.ap-aba { min-width: 7.2rem; padding: .7rem 1.2rem; transition: background .2s, color .2s; }
.ap-aba i { font-size: 2.3rem; }
.ap-aba--on { background: var(--ap-acento); color: var(--ap-acento-txt); }
@media (max-width: 520px) { .ap-aba { min-width: 0; flex: 1; padding: .6rem .2rem; font-size: 1rem; letter-spacing: -.02em; } .ap-abas { left: 1.2rem; right: 1.2rem; transform: none; max-width: none; } }

/* botões redondos e pílulas com acabamento */
.ap-redondo { background: var(--ap-cartao); border: 1px solid var(--ap-borda); box-shadow: var(--ap-elev); width: 4.2rem; height: 4.2rem; }
.ap-redondo--cheio { background: var(--ap-acento); border-color: transparent; box-shadow: 0 8px 18px -8px var(--ap-acento); }
.ap-pilula { transition: transform .12s, filter .15s; }
.ap-pilula:active { transform: scale(.97); }
.ap-pilula:hover { filter: brightness(1.05); }

/* folha */
.ap-veu { backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.ap-folha { box-shadow: var(--ap-elev-alta); }

/* púlpito: cartão do sermão com sombra suave e estado só na borda */
.ap-pulpito { background: var(--ap-fundo); }
.ap-sermao { border-radius: 2.6rem; box-shadow: 0 0 0 .25rem var(--ap-estado, var(--ap-verde)), var(--ap-elev-alta); }
.ap-sermao h2 { letter-spacing: -.04em; }
.ap-relogio { font-size: 2rem; }

@media (prefers-reduced-motion: reduce) { .ap *, .ap *::before, .ap *::after { animation: none !important; transition: none !important; } }

/* ══ CORES FINAIS (Sandro, 24/10): GRAFITE nas peças principais + AZUL NOITE nos detalhes. Sem amarelo. ══ */
:root {
  --ap-prim: #3d424b; --ap-prim-claro: #5c626d; --ap-prim-txt: #ffffff; --ap-prim-rgb: 61,66,75;
  --ap-acento: #1f4e8c; --ap-acento-claro: #3a6db3; --ap-acento-txt: #ffffff; --ap-acento-rgb: 31,78,140;
  --ap-acento-suave: rgba(31,78,140,.10);
  --ap-dest-rot: #1f4e8c; --ap-dest-ico: #1f4e8c; --ap-dest-btn: #3d424b; --ap-dest-btn-txt: #ffffff;
}
@media (prefers-color-scheme: dark) { :root:not([data-ap-tema="claro"]) {
  --ap-prim: #e5e5ea; --ap-prim-claro: #ffffff; --ap-prim-txt: #1c1c1e; --ap-prim-rgb: 229,229,234;
  --ap-acento: #6d9be0; --ap-acento-claro: #9dbcf0; --ap-acento-txt: #0b1a30; --ap-acento-rgb: 109,155,224;
  --ap-acento-suave: rgba(109,155,224,.16);
  --ap-dest-rot: #6d9be0; --ap-dest-ico: #6d9be0; --ap-dest-btn: #e5e5ea; --ap-dest-btn-txt: #1c1c1e; } }
:root[data-ap-tema="escuro"] {
  --ap-prim: #e5e5ea; --ap-prim-claro: #ffffff; --ap-prim-txt: #1c1c1e; --ap-prim-rgb: 229,229,234;
  --ap-acento: #6d9be0; --ap-acento-claro: #9dbcf0; --ap-acento-txt: #0b1a30; --ap-acento-rgb: 109,155,224;
  --ap-acento-suave: rgba(109,155,224,.16);
  --ap-dest-rot: #6d9be0; --ap-dest-ico: #6d9be0; --ap-dest-btn: #e5e5ea; --ap-dest-btn-txt: #1c1c1e;
}
/* peças principais em grafite */
.ap .ap-pilula:not(.ap-pilula--cinza):not(.ap-pilula--perigo), .ap .ap-redondo--cheio, .ap .ap-chip--on, .ap-cal__dias .sel {
  background: var(--ap-prim); color: var(--ap-prim-txt); box-shadow: 0 8px 18px -8px rgba(var(--ap-prim-rgb),.55); }
.ap-avatar { color: var(--ap-prim-txt); }
.ap-cal__dias .sel.tem::after { background: var(--ap-prim-txt); }
/* detalhes em azul noite */
.ap .ap-lema__ico, .ap .ap-manifesto__selo, .ap-voltar, .ap-secao button, .ap-link, .ap-folha__topo button, .ap-topo small { color: var(--ap-acento); }
.ap-manifesto h1 span, .ap-entrar h1 span { background: linear-gradient(180deg, var(--ap-acento-claro), var(--ap-acento)); -webkit-background-clip: text; background-clip: text; }

/* ══ LOGIN (24/10, refeito: "capricha") — tela dividida: vitrine escura + formulário ══ */
.ap-login { min-height: 100dvh; display: grid; grid-template-columns: 1.1fr 1fr; background: var(--ap-fundo); }
@media (max-width: 900px) { .ap-login { grid-template-columns: 1fr; } }

.ap-login__vitrine { position: relative; overflow: hidden; color: #f5f5f7; display: flex; flex-direction: column; justify-content: space-between; gap: 3.2rem;
  padding: calc(env(safe-area-inset-top, 0px) + 4rem) 5.6rem calc(env(safe-area-inset-bottom, 0px) + 4rem) max(5.6rem, env(safe-area-inset-left, 0px));
  background:
    radial-gradient(70rem 50rem at 85% 15%, rgba(58,109,179,.55), transparent 60%),
    radial-gradient(60rem 40rem at 0% 110%, rgba(31,78,140,.45), transparent 60%),
    linear-gradient(160deg, #2b2f36 0%, #16181c 100%);
  background-size: 140% 140%, 140% 140%, 100% 100%; animation: ap-respira 14s ease-in-out infinite alternate; }
.ap-login__vitrine::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px); background-size: 2.4rem 2.4rem;
  -webkit-mask: linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent); mask: linear-gradient(180deg, transparent, #000 30%, #000 70%, transparent); }
.ap-login__marca { position: relative; z-index: 1; display: flex; align-items: center; gap: 1rem; font-weight: 700; font-size: 1.7rem; letter-spacing: -.01em; }
.ap-login__marca i { font-size: 2.8rem; color: #9dbcf0; }
.ap-login__frase { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 1.6rem; max-width: 52rem; }
.ap-login__frase h1 { margin: 0; color: #fff; font-size: clamp(4.4rem, 5.6vw, 7.6rem); font-weight: 800; letter-spacing: -.05em; line-height: .95; }
.ap-login__frase em { font-style: normal; background: linear-gradient(180deg, #b9d0f5, #5d8fd6); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ap-login__frase p { margin: 0; color: #c7c7cc; font-size: 1.9rem; line-height: 1.5; max-width: 40ch; }
.ap-login__verso { position: relative; z-index: 1; margin: 0; padding-left: 1.6rem; border-left: 2px solid rgba(157,188,240,.5); max-width: 44rem; }
.ap-login__verso p { margin: 0 0 .4rem; font-size: 1.6rem; font-style: italic; color: #e5e5ea; }
.ap-login__verso cite { font-style: normal; font-size: 1.3rem; font-weight: 600; color: #9dbcf0; letter-spacing: .02em; }
.ap-login__fundo { position: absolute; right: -10rem; bottom: -8rem; font-size: 46rem; line-height: 1; color: #fff; opacity: .045; transform: rotate(-14deg); pointer-events: none; }
.ap-login__fundo i { display: block; }

/* prévia flutuante do púlpito */
.ap-login__previa { position: absolute; z-index: 1; right: 4.8rem; top: 11rem; width: 28rem; padding: 1.4rem; border-radius: 2.2rem;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 40px 80px -30px rgba(0,0,0,.7); transform: rotate(6deg); animation: ap-previa 7s ease-in-out infinite alternate; }
@keyframes ap-previa { from { transform: translateY(0) rotate(6deg); } to { transform: translateY(-1.4rem) rotate(4deg); } }
.ap-previa__topo { display: flex; justify-content: space-between; padding: 0 .4rem .8rem; font-weight: 700; font-size: 1.5rem; font-variant-numeric: tabular-nums; color: #fff; }
.ap-previa__topo small { display: block; font-size: .9rem; letter-spacing: .1em; color: #8e8e93; font-weight: 600; }
.ap-previa__tempo { color: #34c759; text-align: right; }
.ap-previa__cartao { background: #fff; color: #1c1c1e; border-radius: 1.6rem; padding: 1.6rem; display: flex; flex-direction: column; gap: .8rem; box-shadow: 0 0 0 2px #34c759; }
.ap-previa__cartao small { font-size: 1rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #1f4e8c; }
.ap-previa__cartao b { font-size: 2rem; font-weight: 800; letter-spacing: -.03em; line-height: 1.1; }
.ap-previa__ref { align-self: flex-start; background: rgba(31,78,140,.1); color: #1f4e8c; border-radius: 98rem; padding: .2rem .9rem; font-size: 1.2rem; font-weight: 600; }
.ap-previa__linha { display: block; height: .7rem; border-radius: 1rem; background: #e5e5ea; }
.ap-previa__linha--curta { width: 65%; }
.ap-previa__barra { display: block; height: .5rem; border-radius: 1rem; background: #e5e5ea; overflow: hidden; margin-top: .4rem; }
.ap-previa__barra i { display: block; height: 100%; width: 0; background: #34c759; animation: ap-barra 6s linear infinite; }
@keyframes ap-barra { to { width: 100%; } }
@media (max-width: 1250px), (max-height: 760px) { .ap-login__previa { display: none; } }

/* lado do formulário */
.ap-login__lado { display: grid; place-items: center; padding: 4rem max(2.4rem, env(safe-area-inset-right, 0px)) 4rem 2.4rem; }
.ap-login__form { width: 100%; max-width: 42rem; display: flex; flex-direction: column; gap: 1.8rem; }
.ap-login__abas { position: relative; display: grid; grid-template-columns: 1fr 1fr; padding: .4rem; border-radius: 1.4rem; background: var(--ap-cinza); margin-bottom: .8rem; }
.ap-login__abas button { position: relative; z-index: 1; padding: 1rem; border-radius: 1rem; font-weight: 600; font-size: 1.5rem; color: var(--ap-sub); transition: color .3s; }
.ap-login__abas button.on { color: var(--ap-texto); }
.ap-login__abas-luz { position: absolute; top: .4rem; bottom: .4rem; left: .4rem; width: calc(50% - .4rem); border-radius: 1rem; background: var(--ap-cartao);
  box-shadow: 0 2px 8px rgba(0,0,0,.1); transition: transform .45s cubic-bezier(.34,1.45,.5,1); }
.ap-login__abas-luz--dir { transform: translateX(100%); }
.ap-login__titulo h2 { margin: 0 0 .6rem; font-size: clamp(2.6rem, 3vw, 3.2rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.1; text-wrap: balance; }
.ap-login__titulo p { margin: 0; color: var(--ap-sub); font-size: 1.6rem; }
.ap-login__campo { display: flex; flex-direction: column; gap: .7rem; }
.ap-login__rot { font-size: 1.35rem; font-weight: 600; color: var(--ap-texto); }
.ap-login__caixa { display: flex; align-items: center; gap: 1.2rem; height: 5.6rem; padding: 0 1.6rem; border-radius: 1.4rem; background: var(--ap-cartao);
  border: 1.5px solid var(--ap-borda); box-shadow: var(--ap-elev); transition: border-color .2s, box-shadow .2s; }
.ap-login__caixa > i { font-size: 2.2rem; color: var(--ap-sub); transition: color .2s; }
.ap-login__caixa input { flex: 1; min-width: 0; border: 0; outline: none; background: none; font-size: 1.7rem; height: 100%; }
/* Preenchimento automático do Chrome: sem o fundo cinza-azulado dele; o campo fica com a cor da caixa e o texto normal */
.ap input:-webkit-autofill, .ap input:-webkit-autofill:hover, .ap input:-webkit-autofill:focus, .ap textarea:-webkit-autofill, .ap select:-webkit-autofill {
  -webkit-text-fill-color: currentColor; caret-color: currentColor; font-size: inherit;
  transition: background-color 600000s 0s, color 600000s 0s; }
.ap input:autofill { background: none; }
.ap-login__caixa input::placeholder { color: color-mix(in srgb, var(--ap-sub) 75%, transparent); }
.ap-login__caixa:focus-within { border-color: var(--ap-acento); box-shadow: 0 0 0 .4rem var(--ap-acento-suave); }
.ap-login__caixa:focus-within > i { color: var(--ap-acento); }
.ap .ap-login__caixa input:focus-visible { outline: none; }
.ap-olho { font-size: 2.2rem; color: var(--ap-sub); display: grid; place-items: center; width: 3.6rem; height: 3.6rem; border-radius: 50%; }
.ap-olho:hover { background: var(--ap-cinza); color: var(--ap-texto); }
.ap-login__btn { display: flex; align-items: center; justify-content: center; gap: 1rem; height: 5.8rem; border-radius: 1.4rem; margin-top: .4rem;
  background: linear-gradient(180deg, var(--ap-prim-claro), var(--ap-prim)); color: var(--ap-prim-txt); font-size: 1.7rem; font-weight: 700;
  box-shadow: 0 14px 28px -12px rgba(var(--ap-prim-rgb),.7), inset 0 1px 0 rgba(255,255,255,.15); transition: transform .15s, box-shadow .2s, filter .2s; }
.ap-login__btn i { font-size: 2.2rem; transition: transform .3s cubic-bezier(.34,1.56,.64,1); }
.ap-login__btn:hover { filter: brightness(1.08); box-shadow: 0 18px 34px -12px rgba(var(--ap-prim-rgb),.8), inset 0 1px 0 rgba(255,255,255,.15); }
.ap-login__btn:hover i { transform: translateX(.5rem); }
.ap-login__btn:active { transform: scale(.98); }
.ap-login__btn--indo i { animation: ap-indo .8s ease-in-out infinite; }
@keyframes ap-indo { 50% { transform: translateX(.8rem); opacity: .5; } }
.ap-login__pe { display: flex; align-items: center; justify-content: center; gap: .6rem; margin: .4rem 0 0; color: var(--ap-sub); font-size: 1.3rem; }
.ap-login .ap-erro { min-height: 0; }
.ap-login .ap-erro:not(:empty) { background: rgba(255,59,48,.08); border-radius: 1rem; padding: 1rem 1.4rem; text-align: left; }
.ap-login__form > * { animation: ap-sobe-bloco .6s cubic-bezier(.2,.8,.2,1) both; }
.ap-login__form > :nth-child(2) { animation-delay: .06s; } .ap-login__form > :nth-child(3) { animation-delay: .12s; }
.ap-login__form > :nth-child(4) { animation-delay: .18s; } .ap-login__form > :nth-child(5) { animation-delay: .24s; }
.ap-login__form > :nth-child(n+6) { animation-delay: .3s; }
.ap-login__frase > *, .ap-login__verso { animation: ap-sobe-bloco 1s cubic-bezier(.2,.8,.2,1) both; }
.ap-login__frase > :nth-child(2) { animation-delay: .2s; } .ap-login__verso { animation-delay: .45s; }

@media (max-width: 900px) {
  .ap-login__vitrine { padding: calc(env(safe-area-inset-top, 0px) + 2.4rem) 2.4rem 3.2rem; gap: 2rem; min-height: auto; }
  .ap-login__frase h1 { font-size: 4.2rem; }
  .ap-login__frase p, .ap-login__verso { display: none; }
  .ap-login__fundo { font-size: 26rem; right: -6rem; bottom: -6rem; }
  .ap-login__lado { place-items: start center; padding-top: 2.8rem; }
}

/* Botões de dentro iguais ao do login: cinza grafite com degradê e brilho (Sandro, 24/10: "é isso aí") */
.ap .ap-pilula:not(.ap-pilula--cinza):not(.ap-pilula--perigo), .ap .ap-redondo--cheio, .ap .ap-chip--on, .ap-cal__dias .sel, .ap-abas__luz {
  background: linear-gradient(180deg, var(--ap-prim-claro), var(--ap-prim));
  box-shadow: 0 10px 22px -10px rgba(var(--ap-prim-rgb),.7), inset 0 1px 0 rgba(255,255,255,.15); }
.ap .ap-pilula:not(.ap-pilula--cinza):not(.ap-pilula--perigo):hover, .ap .ap-redondo--cheio:hover { filter: brightness(1.08); }

/* ══ BÍBLIA (24/10, refeita): letra de leitura, capítulo gigante, 2 colunas no tablet, busca viva ══ */
:root { --ap-leitura: "Literata", Georgia, "Times New Roman", serif; }
.ap-biblia__topo { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.6rem; }
.ap-biblia__topo small { display: block; color: var(--ap-acento); font-size: 1.35rem; font-weight: 600; margin-bottom: .2rem; }
.ap-biblia__titulo { display: inline-flex; align-items: center; gap: .6rem; font-family: var(--ap-leitura); font-size: clamp(3.4rem, 4.4vw, 4.6rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.05; }
.ap-biblia__titulo i { font-size: 2.4rem; color: var(--ap-sub); transition: transform .3s; }
.ap-biblia__titulo:hover i { transform: translateY(.3rem); color: var(--ap-acento); }

.ap-biblia__busca { display: flex; align-items: center; gap: 1.2rem; height: 5.8rem; padding: 0 .6rem 0 1.8rem; border-radius: 1.8rem;
  background: var(--ap-cartao); border: 1.5px solid var(--ap-borda); box-shadow: var(--ap-elev); transition: border-color .2s, box-shadow .2s; }
.ap-biblia__busca > i { font-size: 2.2rem; color: var(--ap-sub); transition: color .2s; }
.ap-biblia__busca input { flex: 1; min-width: 0; border: 0; outline: none; background: none; font-size: 1.8rem; height: 100%; }
.ap-biblia__busca input::placeholder { color: color-mix(in srgb, var(--ap-sub) 75%, transparent); transition: opacity .3s; }
.ap .ap-biblia__busca input:focus-visible { outline: none; }
.ap-biblia__busca:focus-within { border-color: var(--ap-acento); box-shadow: 0 0 0 .4rem var(--ap-acento-suave), var(--ap-elev); }
.ap-biblia__busca:focus-within > i { color: var(--ap-acento); }
.ap-biblia__ir { height: 4.6rem; padding: 0 2.2rem; border-radius: 1.3rem; font-weight: 700; font-size: 1.6rem; color: var(--ap-prim-txt);
  background: linear-gradient(180deg, var(--ap-prim-claro), var(--ap-prim)); box-shadow: inset 0 1px 0 rgba(255,255,255,.15); }
.ap-biblia__sug { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; min-height: 0; margin-top: -.6rem; }
.ap-biblia__sug small { color: var(--ap-sub); font-size: 1.3rem; margin-right: .4rem; }
.ap-biblia__sug .ap-chip { animation: ap-suave .3s both; }
.ap-biblia__abrir { display: inline-flex; align-items: center; gap: 1rem; padding: 1rem 1.6rem; border-radius: 1.4rem; font-size: 1.6rem;
  background: var(--ap-acento-suave); color: var(--ap-acento); animation: ap-suave .3s both; }
.ap-biblia__abrir b { font-weight: 700; }
.ap-biblia__abrir i:last-child { transition: transform .3s; }
.ap-biblia__abrir:hover i:last-child { transform: translateX(.4rem); }

/* a página */
.ap-biblia__pagina { background: var(--ap-cartao); border: 1px solid var(--ap-borda); box-shadow: var(--ap-elev); border-radius: 2.4rem; padding: clamp(2.4rem, 4vw, 5.2rem); }
.ap-biblia__texto { font-family: var(--ap-leitura); font-size: calc(2.1rem * var(--ap-letra, 1)); line-height: 1.75; color: var(--ap-texto); font-optical-sizing: auto; }
@media (min-width: 900px) { .ap-biblia__texto--corrido { columns: 2; column-gap: 5.6rem; column-rule: 1px solid var(--ap-borda); } }
.ap-biblia__texto--corrido { text-align: justify; hyphens: auto; }
.ap-biblia__cap { float: left; font-family: var(--ap-leitura); font-size: 7.6em; font-weight: 700; line-height: .78; margin: .06em .14em -.05em 0; color: var(--ap-acento); letter-spacing: -.04em; }
.ap-v { border-radius: .4rem; padding: .05em .1em; margin: 0 -.1em; cursor: pointer; transition: background .2s; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.ap-v:hover { background: var(--ap-cinza); }
.ap-v__n { font-family: "Inter", var(--ap-fonte); font-size: .62em; font-weight: 800; color: var(--ap-acento); margin-right: .25em; vertical-align: .32em; letter-spacing: -.02em; }
.ap-biblia__texto--linhas .ap-v { display: block; padding: .5em .6em .5em 3em; margin: 0 0 .2em; text-indent: -2.2em; break-inside: avoid; }
.ap-biblia__texto--linhas .ap-v__n { display: inline-block; width: 2em; text-align: right; margin-right: .2em; text-indent: 0; font-size: .8em; vertical-align: 0; }
.ap-biblia__texto--linhas .ap-biblia__cap { float: none; display: block; font-size: 4em; margin: 0 0 .2em; }
.ap-v--sel { background: var(--ap-acento-suave); box-shadow: 0 0 0 2px var(--ap-acento); }
.ap-v--marca-azul { background: rgba(58,109,179,.16); }
.ap-v--marca-cinza { background: rgba(142,142,147,.2); }
.ap-v--marca-verde { background: rgba(52,199,89,.16); }
.ap-biblia__carregando { color: var(--ap-sub); font-style: italic; }

/* barra do versículo tocado (flutua acima do menu) */
.ap-biblia__acoes { position: fixed; left: 50%; bottom: calc(env(safe-area-inset-bottom, 0px) + 9.6rem); transform: translateX(-50%); z-index: 25;
  display: flex; align-items: center; gap: .6rem; padding: .7rem .8rem .7rem 1.6rem; border-radius: 98rem; max-width: calc(100% - 2.4rem); overflow-x: auto;
  background: var(--ap-vidro); backdrop-filter: blur(24px) saturate(180%); -webkit-backdrop-filter: blur(24px) saturate(180%);
  box-shadow: 0 18px 40px -16px rgba(0,0,0,.4), inset 0 0 0 .5px var(--ap-linha); animation: ap-sobe .35s cubic-bezier(.34,1.3,.64,1); }
.ap-biblia__acoes b { font-size: 1.4rem; white-space: nowrap; margin-right: .6rem; }
.ap-biblia__acoes button { display: inline-flex; align-items: center; gap: .4rem; padding: .7rem 1.2rem; border-radius: 98rem; font-size: 1.4rem; font-weight: 600; white-space: nowrap; }
.ap-biblia__acoes button:hover { background: var(--ap-cinza); }
.ap-biblia__cor { width: 2.8rem; height: 2.8rem; padding: 0 !important; border-radius: 50% !important; box-shadow: inset 0 0 0 2px rgba(0,0,0,.08); }
.ap-biblia__cor--azul { background: #8fb2e6 !important; } .ap-biblia__cor--cinza { background: #c7c7cc !important; } .ap-biblia__cor--verde { background: #9fdcae !important; }
.ap-biblia__fechar { color: var(--ap-sub); }

/* navegação entre capítulos */
.ap-biblia__nav { display: flex; justify-content: space-between; gap: 1.2rem; }
.ap-biblia__nav button { display: flex; align-items: center; gap: 1rem; padding: 1.4rem 1.8rem; border-radius: 1.8rem; background: var(--ap-cartao);
  border: 1px solid var(--ap-borda); box-shadow: var(--ap-elev); font-weight: 600; font-size: 1.6rem; text-align: left; transition: transform .15s, box-shadow .2s; }
.ap-biblia__nav button:hover { transform: translateY(-2px); box-shadow: var(--ap-elev-alta); }
.ap-biblia__nav small { display: block; color: var(--ap-sub); font-size: 1.2rem; font-weight: 500; }
.ap-biblia__nav i { font-size: 2.2rem; color: var(--ap-acento); }
.ap-biblia__nav-prox { text-align: right !important; margin-left: auto; }
@media (max-width: 520px) { .ap-biblia__texto { font-size: calc(1.9rem * var(--ap-letra, 1)); } .ap-biblia__cap { font-size: 5.6em; } .ap-biblia__ir { padding: 0 1.6rem; } }

/* Um versículo por linha (padrão do Sandro): linhas juntas dentro do versículo, espaço maior só entre versículos; 2 colunas no tablet */
.ap-biblia__texto--linhas { line-height: 1.5; }
@media (min-width: 900px) { .ap-biblia__texto--linhas { columns: 2; column-gap: 5.6rem; column-rule: 1px solid var(--ap-borda); } }
.ap-biblia__texto--linhas .ap-v { padding: .15em .5em .15em 2.6em; margin: 0 0 .85em; text-indent: -2.1em; }
.ap-biblia__texto--linhas .ap-v__n { font-size: .78em; width: 1.9em; }
.ap-biblia__texto--linhas .ap-biblia__cap { column-span: all; font-size: 3.6em; line-height: 1; margin: 0 0 .3em; }

/* Bíblia: fonte um pouco menor (Sandro, 24/10: "é por aí, só diminui um pouco") */
.ap-biblia__texto { font-size: calc(1.85rem * var(--ap-letra, 1)); }
@media (max-width: 520px) { .ap-biblia__texto { font-size: calc(1.7rem * var(--ap-letra, 1)); } }

/* ══ PÚLPITO (24/10, acabamento novo): escuro por padrão, letra de leitura, topo em pílulas de vidro ══ */
.ap-pulpito--noite { color-scheme: dark; --ap-fundo: #0b0c0e; --ap-cartao: #16181c; --ap-texto: #f2f2f5; --ap-sub: #8e9099; --ap-linha: rgba(255,255,255,.12);
  --ap-cinza: rgba(255,255,255,.08); --ap-borda: rgba(255,255,255,.07); --ap-vidro: rgba(30,32,36,.75);
  --ap-acento: #8fb2e6; --ap-acento-suave: rgba(143,178,230,.14); --ap-prim: #e5e5ea; --ap-prim-claro: #fff; --ap-prim-txt: #16181c; --ap-prim-rgb: 229,229,234; }
.ap-pulpito { background: radial-gradient(90rem 50rem at 50% -10%, rgba(58,109,179,.10), transparent 60%), var(--ap-fundo); color: var(--ap-texto); }
.ap-pulpito__topo { gap: 1rem; padding: 1rem 1.6rem .8rem; }
.ap-pulpito__topo .ap-relogio { background: var(--ap-cartao); border: 1px solid var(--ap-borda); border-radius: 98rem; padding: .5rem 1.4rem; font-size: 2rem; display: inline-flex; align-items: baseline; gap: .6rem; box-shadow: var(--ap-elev); }
.ap-pulpito__topo .ap-relogio small { margin: 0; }
.ap-pulpito__topo .ap-tit { font-size: 1.5rem; color: var(--ap-sub); }
/* Tempo rápido no púlpito: pílula com os minutos, abre a folha de troca */
.ap-pulpito__topo .ap-pulpito__tempo { width: auto; padding: 0 1.4rem; gap: .6rem; display: inline-flex; border-radius: 98rem; font-size: 1.5rem; font-weight: 700; color: var(--ap-acento); }
.ap-pulpito__tempo i { font-size: 2rem; }
.ap-tempo-rapido { display: flex; flex-direction: column; gap: 2rem; padding-bottom: 1rem; }
.ap-tempo-rapido__ops { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; }
.ap-tempo-rapido__ops .ap-duracao__op { font-size: 1.7rem; font-weight: 700; }
.ap-tempo-rapido__ajuste { display: flex; align-items: center; justify-content: center; gap: 2.4rem; }
.ap-tempo-rapido__valor { font-size: 3.6rem; font-weight: 800; letter-spacing: -.04em; min-width: 12rem; text-align: center; }
.ap-consagra .ap-link + .ap-link { font-size: 1.5rem; opacity: .75; }
.ap-pulpito__topo button { width: 4rem; height: 4rem; background: var(--ap-cartao); border: 1px solid var(--ap-borda); color: var(--ap-texto); }
.ap-pulpito__topo button:hover { background: var(--ap-cinza); }
.ap-sermao { background: var(--ap-cartao); color: var(--ap-texto); border-radius: 2.8rem; padding: clamp(2.4rem, 4.4vw, 5.6rem); gap: 1.8rem; }
.ap-sermao h2 { font-size: 1.9em; color: var(--ap-texto); }
.ap-sermao ul, .ap-sermao__bloco > div, .ap-sermao > div:not(.ap-refs):not(.ap-frase):not(.ap-sermao__bloco) { font-family: var(--ap-leitura); font-size: .95em; line-height: 1.5; }
.ap-sermao ul { padding-left: 0; list-style: none; gap: .55em; }
.ap-sermao li { position: relative; padding-left: 1.2em; }
.ap-sermao li::before { content: ""; position: absolute; left: .1em; top: .62em; width: .42em; height: .42em; border-radius: 50%; background: var(--ap-acento); }
.ap-sermao__bloco { border-top: 1px solid var(--ap-borda); padding-top: .7em; }
.ap-frase { font-family: var(--ap-leitura); font-style: italic; font-weight: 600; border-left-color: var(--ap-acento); }
.ap-sermao .ap-ref { background: var(--ap-acento-suave); color: var(--ap-acento); }
.ap-pulpito__pe { padding: .8rem 1.6rem 1.2rem; }
.ap-pulpito__pe .ap-relogio { font-size: 1.7rem; }
.ap-barra { height: .8rem; background: var(--ap-cinza); }
.ap-trilho button { background: var(--ap-linha); }
.ap-pulpito .ap-redondo { background: var(--ap-cartao); border-color: var(--ap-borda); color: var(--ap-texto); }
.ap-consagra { background: radial-gradient(60rem 40rem at 50% 40%, rgba(58,109,179,.16), transparent 70%), var(--ap-fundo); color: var(--ap-texto); }

/* ══ EDITOR (24/10, acabamento): linha do tempo, tópicos em cartão, barra de salvar fixa ══ */
.ap-tempo { display: flex; flex-direction: column; gap: .8rem; }
.ap-tempo__barra { display: flex; gap: .4rem; height: 3.2rem; padding: .4rem; border-radius: 1.4rem; background: var(--ap-cartao); border: 1px solid var(--ap-borda); box-shadow: var(--ap-elev); }
.ap-tempo__seg { flex: 1 1 0; min-width: .6rem; border-radius: 1rem; display: grid; place-items: center; overflow: hidden; transition: flex-grow .5s cubic-bezier(.34,1.3,.5,1); }
.ap-tempo__seg small { font-size: 1.15rem; font-weight: 700; color: #fff; font-variant-numeric: tabular-nums; }
.ap-tempo__seg--intro, .ap-tempo__seg--fim { background: color-mix(in srgb, var(--ap-sub) 55%, transparent); }
.ap-tempo__seg--t0 { background: linear-gradient(180deg, var(--ap-acento-claro), var(--ap-acento)); }
.ap-tempo__seg--t1 { background: linear-gradient(180deg, var(--ap-prim-claro), var(--ap-prim)); }
.ap-tempo__seg--t1 small { color: var(--ap-prim-txt); }
.ap-tempo__aviso { display: flex; align-items: center; gap: .6rem; margin: 0; font-size: 1.35rem; color: var(--ap-sub); }
.ap-tempo__aviso i { color: var(--ap-acento); font-size: 1.7rem; }
.ap-topico { border-radius: 1.8rem; transition: box-shadow .25s; }
.ap-topico:has(.ap-topico__corpo) { box-shadow: var(--ap-elev-alta); border-color: color-mix(in srgb, var(--ap-acento) 35%, transparent); }
.ap-topico__cab { padding: 1.4rem 1.8rem; }
.ap-topico__cab::after { content: "›"; font-size: 2.4rem; color: var(--ap-sub); transition: transform .3s; line-height: 1; }
.ap-topico__cab[aria-expanded="true"]::after { transform: rotate(90deg); }
.ap-topico__n { width: 3.2rem; height: 3.2rem; font-size: 1.5rem; background: linear-gradient(180deg, var(--ap-acento-claro), var(--ap-acento)); color: #fff; }
.ap-topico__min { background: var(--ap-cinza); border-radius: 98rem; padding: .2rem 1rem; font-weight: 600; }
.ap-topico__ordem button { display: inline-flex; align-items: center; gap: .3rem; padding: .6rem 1.1rem; }
.ap-salvar { position: sticky; bottom: calc(env(safe-area-inset-bottom, 0px) + 1.2rem); z-index: 15; display: flex; align-items: center; justify-content: space-between; gap: 1.6rem;
  padding: .9rem .9rem .9rem 2rem; border-radius: 2rem; background: var(--ap-vidro); backdrop-filter: blur(24px) saturate(180%); -webkit-backdrop-filter: blur(24px) saturate(180%);
  box-shadow: 0 18px 40px -16px rgba(0,0,0,.35), inset 0 0 0 .5px var(--ap-linha); }
.ap-salvar small { display: block; color: var(--ap-sub); font-size: 1.2rem; }
.ap-salvar b { font-size: 2.2rem; font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.ap-salvar .ap-pilula { padding: 1.2rem 2.4rem; }

/* esqueci a senha */
.ap-login__esqueci { align-self: flex-end; margin-top: -.8rem; color: var(--ap-acento); font-size: 1.4rem; font-weight: 600; }
.ap-folha__texto { margin: 0; color: var(--ap-sub); font-size: 1.5rem; }
.ap-novasenha { width: 100%; max-width: 44rem; }
.ap-novasenha .ap-login__campo, .ap-novasenha .ap-login__btn { width: 100%; }

/* versículo do dia */
.ap-vdia { position: relative; overflow: hidden; text-align: left; display: flex; flex-direction: column; gap: 1rem; padding: 2.4rem 2.6rem; border-radius: 2.2rem;
  background: linear-gradient(135deg, color-mix(in srgb, var(--ap-acento) 92%, #000), color-mix(in srgb, var(--ap-acento) 70%, #0b1a30)); color: #fff; box-shadow: var(--ap-elev-alta);
  transition: transform .2s; }
.ap-vdia:hover { transform: translateY(-2px); }
.ap-vdia::after { content: "“"; position: absolute; right: 2rem; top: -3rem; font-family: var(--ap-leitura); font-size: 22rem; line-height: 1; color: #fff; opacity: .1; }
.ap-vdia__rot { display: inline-flex; align-items: center; gap: .6rem; font-size: 1.25rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.75); }
.ap-vdia__texto { margin: 0; font-family: var(--ap-leitura); font-size: clamp(2rem, 2.4vw, 2.6rem); line-height: 1.45; max-width: 60ch; position: relative; }
.ap-vdia__ref { font-size: 1.5rem; color: #cfe0fa; }

.ap-esboco-previa { margin: 0; max-height: 26rem; overflow: auto; padding: 1.6rem; border-radius: 1.4rem; background: var(--ap-cartao); border: 1px solid var(--ap-borda);
  font-family: var(--ap-leitura); font-size: 1.45rem; line-height: 1.55; white-space: pre-wrap; color: var(--ap-sub); }

/* montar passo a passo */
.ap-modelos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
.ap-modelo { display: flex; flex-direction: column; align-items: flex-start; gap: .6rem; padding: 1.8rem; border-radius: 1.8rem; text-align: left;
  background: var(--ap-cartao); border: 1.5px solid var(--ap-borda); box-shadow: var(--ap-elev); transition: transform .15s, border-color .2s, box-shadow .2s; }
.ap-modelo:hover { transform: translateY(-2px); border-color: var(--ap-acento); box-shadow: var(--ap-elev-alta); }
.ap-modelo__ico { font-size: 3rem; color: var(--ap-acento); line-height: 1; }
.ap-modelo b { font-size: 1.8rem; font-weight: 700; }
.ap-modelo span:last-child { color: var(--ap-sub); font-size: 1.4rem; line-height: 1.4; }
.ap-topico__guia { color: var(--ap-sub); font-weight: 500 !important; font-style: italic; }
.ap-topico__dica { display: flex; align-items: flex-start; gap: .8rem; margin: 0; padding: 1.2rem 1.6rem; background: var(--ap-acento-suave); color: var(--ap-acento); font-size: 1.45rem; font-weight: 500; }
.ap-topico__dica i { font-size: 1.8rem; margin-top: .1rem; }
@media (max-width: 520px) { .ap-modelos { grid-template-columns: 1fr; } }

/* referências cruzadas */
.ap-relacionados, .ap-reforco { display: flex; flex-direction: column; gap: .8rem; }
.ap-relacionados small, .ap-reforco small { display: inline-flex; align-items: center; gap: .5rem; color: var(--ap-sub); font-size: 1.3rem; font-weight: 600; }
.ap-reforco { padding: 0 1.6rem 1.2rem; }
.ap-reforco:empty { display: none; }
.ap-chips--quebra { flex-wrap: wrap; overflow: visible; }
.ap-chip--mais { display: inline-flex; align-items: center; gap: .3rem; color: var(--ap-acento); border: 1px dashed color-mix(in srgb, var(--ap-acento) 45%, transparent); background: transparent; box-shadow: none; }
.ap-relacionados__fonte { font-size: 1.1rem; color: var(--ap-sub); opacity: .7; }

/* CONTORNO em todos os cartões (Sandro, 24/10): cinza clarinho sempre; azul só no destaque (aberto, escolhido, mouse em cima) */
:root { --ap-contorno: rgba(60,60,67,.16); }
@media (prefers-color-scheme: dark) { :root:not([data-ap-tema="claro"]) { --ap-contorno: rgba(235,235,245,.14); } }
:root[data-ap-tema="escuro"] { --ap-contorno: rgba(235,235,245,.14); }
.ap .ap-grupo, .ap .ap-cartao, .ap .ap-numero, .ap .ap-atalho, .ap .ap-cal, .ap .ap-topico, .ap .ap-biblia__pagina, .ap .ap-lema,
.ap .ap-destaque, .ap .ap-modelo, .ap .ap-biblia__nav button, .ap .ap-biblia__busca, .ap .ap-busca, .ap .ap-login__caixa, .ap .ap-tempo__barra,
.ap .ap-verso__col, .ap .ap-esboco-previa, .ap .ap-chip:not(.ap-chip--on), .ap .ap-redondo:not(.ap-redondo--cheio) { border: 1px solid var(--ap-contorno); }
.ap .ap-cartao:hover, .ap .ap-atalho:hover, .ap .ap-modelo:hover, .ap .ap-biblia__nav button:hover, .ap .ap-topico:has(.ap-topico__corpo),
.ap .ap-busca:focus-within, .ap .ap-biblia__busca:focus-within, .ap .ap-login__caixa:focus-within { border-color: color-mix(in srgb, var(--ap-acento) 55%, transparent); }
.ap .ap-cartao::before { display: none; }
.ap .ap-cartao { border-top: 3px solid var(--cor, var(--ap-contorno)); }

/* aberta / particular */
.ap-quemve { display: flex; flex-direction: column; gap: 1.2rem; }
.ap-quemve__opcoes { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
@media (max-width: 520px) { .ap-quemve__opcoes { grid-template-columns: 1fr; } }
.ap-quemve__op { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; padding: 1.6rem 1.8rem; border-radius: 1.8rem; text-align: left;
  background: var(--ap-cartao); border: 1.5px solid var(--ap-contorno); box-shadow: var(--ap-elev); transition: border-color .2s, box-shadow .2s, background .2s; }
.ap-quemve__op i { font-size: 2.6rem; color: var(--ap-sub); }
.ap-quemve__op b { font-size: 1.7rem; }
.ap-quemve__op span { color: var(--ap-sub); font-size: 1.4rem; line-height: 1.4; }
.ap-quemve__op.on { border-color: var(--ap-acento); background: color-mix(in srgb, var(--ap-acento) 6%, var(--ap-cartao)); box-shadow: 0 0 0 .3rem var(--ap-acento-suave); }
.ap-quemve__op.on i { color: var(--ap-acento); }
.ap-quemve__op:disabled { opacity: .45; cursor: not-allowed; }
.ap-quemve__nota { margin: 0; color: var(--ap-sub); font-size: 1.35rem; }
.ap-cartao__part { color: var(--ap-sub); font-size: 1.5rem; margin-left: auto; }
.ap-cartao__part + .ap-estrela { margin-left: .4rem; }
.ap-login__termo { margin: 0; color: var(--ap-sub); font-size: 1.25rem; line-height: 1.5; text-align: center; }
.ap-login__caixa select { flex: 1; min-width: 0; border: 0; outline: none; background: none; font-size: 1.7rem; height: 100%; color: var(--ap-texto); cursor: pointer; }

/* biblioteca de sermões */
.ap-seg--abas button { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; padding: 1rem; font-size: 1.5rem; }
.ap-seg--abas button i { font-size: 1.9rem; }
.ap-cartao--bib { --cor: var(--ap-acento); }
.ap-cartao--bib .ap-cartao__pasta { color: var(--ap-acento); }
.ap-esboco-previa--alta { max-height: 50vh; }

/* versículo no meio do texto (púlpito) */
.ap-ref-texto { display: inline-flex; align-items: baseline; gap: .25em; padding: 0 .35em; margin: 0 .05em; border-radius: .4em; font: inherit; font-weight: 700;
  color: var(--ap-acento); background: var(--ap-acento-suave); border-bottom: 2px solid color-mix(in srgb, var(--ap-acento) 45%, transparent); cursor: pointer; }
.ap-ref-texto i { font-size: .8em; }
.ap-ref-texto:hover { background: color-mix(in srgb, var(--ap-acento) 22%, transparent); }

/* tempo: escolha da duração e controle − min + */
.ap-duracao { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.ap-duracao .ap-quemve__nota { grid-column: 1 / -1; }
@media (max-width: 640px) { .ap-duracao { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ap-duracao__op { display: flex; flex-direction: column; align-items: center; gap: .2rem; padding: 1.4rem .8rem; border-radius: 1.6rem;
  background: var(--ap-cartao); border: 1.5px solid var(--ap-contorno); box-shadow: var(--ap-elev); transition: border-color .2s, box-shadow .2s, transform .15s; }
.ap-duracao__op b { font-size: 2rem; font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.ap-duracao__op span { font-size: 1.3rem; color: var(--ap-sub); }
.ap-duracao__op:hover { transform: translateY(-2px); }
.ap-duracao__op.on { border-color: var(--ap-acento); box-shadow: 0 0 0 .3rem var(--ap-acento-suave); }
.ap-duracao__op.on b { color: var(--ap-acento); }
.ap-passo { display: inline-flex; align-items: center; gap: .4rem; padding: .3rem; border-radius: 98rem; background: var(--ap-cinza); border: 1px solid var(--ap-contorno); }
.ap-passo button { width: 3.4rem; height: 3.4rem; border-radius: 50%; display: grid; place-items: center; font-size: 1.8rem; color: var(--ap-acento); background: var(--ap-cartao); box-shadow: 0 1px 3px rgba(0,0,0,.08); transition: transform .12s; }
.ap-passo button:active { transform: scale(.9); }
.ap-passo__valor { min-width: 7rem; text-align: center; font-weight: 700; font-size: 1.6rem; font-variant-numeric: tabular-nums; }

/* SW Core no app: esconde o botão de tema dele (o app tem o próprio) e veste o select no estilo do app */
.sw-day-fab { display: none !important; }
.ap .ap-seletor { position: relative; min-width: 22rem; }
.ap .ap-seletor .sw-select-box { min-height: 4.6rem; padding: 0 1.4rem 0 1.6rem; gap: 1rem; border-radius: 1.3rem; display: flex; align-items: center; justify-content: space-between;
  background: var(--ap-cartao); color: var(--ap-texto); border: 1.5px solid var(--ap-contorno); box-shadow: var(--ap-elev); font: 500 1.6rem var(--ap-fonte); cursor: pointer;
  transition: border-color .2s, box-shadow .2s; }
.ap .ap-seletor .sw-select-box:hover, .ap .ap-seletor .sw-select-box[aria-expanded="true"] { border-color: var(--ap-acento); box-shadow: 0 0 0 .4rem var(--ap-acento-suave); }
.ap .ap-seletor .sw-select-box-txt { color: var(--ap-texto); }
.ap .ap-seletor .sw-select-box-txt.is-ph { color: var(--ap-sub); }
.ap .ap-seletor .sw-select-arr { border-color: var(--ap-acento) !important; color: var(--ap-acento); }
.ap .ap-seletor .sw-select-drp { background: var(--ap-cartao); color: var(--ap-texto); border: 1px solid var(--ap-contorno); border-radius: 1.4rem;
  box-shadow: var(--ap-elev-alta); padding: .6rem; z-index: 50; min-width: 100%; }
.ap .ap-seletor .sw-select-drp * { color: var(--ap-texto); font-family: var(--ap-fonte); }
.ap .ap-seletor .sw-select-list > * { padding: 1.1rem 1.4rem; border-radius: 1rem; font-size: 1.6rem; background: transparent; }
.ap .ap-seletor .sw-select-list > *:hover { background: var(--ap-cinza); }
.ap .ap-seletor .sw-select-list > [aria-selected="true"], .ap .ap-seletor .sw-select-list > .is-sel { background: var(--ap-acento-suave); color: var(--ap-acento); font-weight: 600; }
.ap .ap-login__caixa .ap-seletor { flex: 1; min-width: 0; }
.ap .ap-login__caixa .ap-seletor .sw-select-box { border: 0; box-shadow: none; background: transparent; padding: 0; min-height: 5rem; }

/* select aberto sempre NA FRENTE (Sandro: "está ficando por trás de tudo no cadastro") */
.ap .ap-grupo:has([sw-select]) { overflow: visible; }
.ap .ap-seletor .sw-select-drp { z-index: 80; }
.ap .ap-login__campo:has(.sw-select-box[aria-expanded="true"]),
.ap .ap-campo:has(.sw-select-box[aria-expanded="true"]),
.ap .ap-grupo:has(.sw-select-box[aria-expanded="true"]),
.ap .ap-cascata:has(.sw-select-box[aria-expanded="true"]),
.ap .ap-login__form > *:has(.sw-select-box[aria-expanded="true"]) { position: relative; z-index: 60; }
.ap .ap-login__caixa:has(.sw-select-box[aria-expanded="true"]) { position: relative; z-index: 61; }

/* Login: página fixa em 100% (tablet/PC); só o lado do formulário rola (Sandro, 24/10) */
@media (min-width: 901px) {
  .ap-login { height: 100dvh; min-height: 0; overflow: hidden; }
  .ap-login__vitrine { height: 100dvh; }
  .ap-login__lado { height: 100dvh; overflow-y: auto; overscroll-behavior: contain; display: flex; align-items: safe center; justify-content: center;
    scrollbar-width: thin; scrollbar-color: var(--ap-contorno) transparent; }
  .ap-login__lado::-webkit-scrollbar { width: 8px; }
  .ap-login__lado::-webkit-scrollbar-thumb { background: var(--ap-contorno); border-radius: 8px; }
  .ap-login__form { margin-block: auto; padding-block: 2.4rem; }
}

/* sem contorno azul ao clicar nos campos (Sandro, 24/10: "está muito feio, tira") */
.ap input:focus, .ap input:focus-visible, .ap textarea:focus, .ap textarea:focus-visible, .ap select:focus, .ap select:focus-visible { outline: none !important; box-shadow: none; }

/* campo ativo = fundo cinza suave com folga (sem linha azul) */
.ap .ap-campo input:not([type="checkbox"]), .ap .ap-campo textarea { padding: .7rem 1rem; margin-left: -1rem; width: calc(100% + 1rem); border-radius: 1rem; transition: background .2s; }
.ap .ap-campo input:not([type="checkbox"]):focus, .ap .ap-campo textarea:focus { background: var(--ap-cinza); }
.ap .ap-login__caixa:focus-within, .ap .ap-biblia__busca:focus-within, .ap .ap-busca:focus-within { border-color: var(--ap-contorno); box-shadow: 0 0 0 .4rem var(--ap-cinza), var(--ap-elev); background: color-mix(in srgb, var(--ap-cartao) 94%, #8e8e93); }
.ap .ap-login__caixa:focus-within > i, .ap .ap-biblia__busca:focus-within > i { color: var(--ap-texto); }
.ap .ap-seletor .sw-select-box:hover, .ap .ap-seletor .sw-select-box[aria-expanded="true"] { border-color: var(--ap-contorno); box-shadow: 0 0 0 .4rem var(--ap-cinza); }

/* Entrar ⇄ Criar conta desliza */
.ap-login__lado { position: relative; overflow-x: hidden; }
.ap-login__form--sai { position: absolute; left: 50%; top: 0; width: 100%; max-width: 42rem; transform: translateX(-50%); pointer-events: none; }
@media (min-width: 901px) { .ap-login__form--sai { top: 50%; } }
.ap-login__form--sai-esq { animation: ap-form-sai-esq .4s cubic-bezier(.32,.72,0,1) forwards; }
.ap-login__form--sai-dir { animation: ap-form-sai-dir .4s cubic-bezier(.32,.72,0,1) forwards; }
.ap-login__form--entra-dir { animation: ap-form-entra-dir .45s cubic-bezier(.32,.72,0,1) both; }
.ap-login__form--entra-esq { animation: ap-form-entra-esq .45s cubic-bezier(.32,.72,0,1) both; }
.ap-login__form--entra-dir > *, .ap-login__form--entra-esq > * { animation: none; }
@keyframes ap-form-sai-esq { to { transform: translate(-90%, var(--ty, 0)); opacity: 0; } }
@keyframes ap-form-sai-dir { to { transform: translate(-10%, var(--ty, 0)); opacity: 0; } }
@keyframes ap-form-entra-dir { from { transform: translateX(40%); opacity: 0; } }
@keyframes ap-form-entra-esq { from { transform: translateX(-40%); opacity: 0; } }
@media (min-width: 901px) { .ap-login__form--sai { --ty: -50%; transform: translate(-50%, -50%); } }

/* carregamento com a logomarca (livro com fita + "App do Pregador") */
.ap-carregando { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2.4rem; }
.ap-logo { display: inline-flex; align-items: center; gap: 1.2rem; font-size: 2.8rem; font-weight: 800; letter-spacing: -.03em; color: var(--ap-texto); animation: ap-logo-entra .7s cubic-bezier(.2,.8,.2,1) both; }
.ap-logo i { font-size: 4.4rem; color: var(--ap-acento); animation: ap-logo-pulsa 1.6s ease-in-out infinite; }
.ap-carregando__barra { width: 14rem; height: .4rem; border-radius: 1rem; background: var(--ap-cinza); overflow: hidden; position: relative; }
.ap-carregando__barra::after { content: ""; position: absolute; inset: 0; width: 40%; border-radius: inherit; background: var(--ap-acento); animation: ap-carrega 1.1s ease-in-out infinite; }
@keyframes ap-logo-entra { from { opacity: 0; transform: translateY(1rem) scale(.96); } }
@keyframes ap-logo-pulsa { 50% { transform: scale(1.08); } }
@keyframes ap-carrega { from { transform: translateX(-100%); } to { transform: translateX(250%); } }
.ap-login__como { display: inline-flex; align-self: center; align-items: center; gap: .6rem; color: var(--ap-acento); font-weight: 600; font-size: 1.5rem; text-decoration: none; }
.ap-login__como i { font-size: 2rem; }
a.ap-linha { color: inherit; text-decoration: none; }

/* "Como usar" em destaque na entrada (Sandro: pregador que não sabe nem cadastrar) */
.ap-login__ajuda { display: flex; align-items: center; gap: 1.2rem; padding: 1.2rem 1.6rem; border-radius: 1.6rem; text-decoration: none; color: var(--ap-texto);
  background: color-mix(in srgb, var(--ap-acento) 8%, var(--ap-cartao)); border: 1px solid color-mix(in srgb, var(--ap-acento) 30%, transparent); transition: transform .15s, box-shadow .2s; }
.ap-login__ajuda:hover { transform: translateY(-1px); box-shadow: var(--ap-elev); }
.ap-login__ajuda > i:last-child { margin-left: auto; color: var(--ap-acento); font-size: 2.2rem; }
.ap-login__ajuda small { display: block; color: var(--ap-sub); font-size: 1.25rem; }
.ap-login__ajuda b { font-size: 1.6rem; }
.ap-login__ajuda-ico { width: 4.2rem; height: 4.2rem; flex: none; border-radius: 50%; display: grid; place-items: center; font-size: 2rem; color: #fff;
  background: linear-gradient(180deg, var(--ap-acento-claro), var(--ap-acento)); animation: ap-chama-azul 2.4s ease-in-out infinite; }
@keyframes ap-chama-azul { 0%, 100% { box-shadow: 0 0 0 0 rgba(var(--ap-acento-rgb), .35); } 50% { box-shadow: 0 0 0 .8rem rgba(var(--ap-acento-rgb), 0); } }
.ap-login__vitrine-ajuda { position: relative; z-index: 1; align-self: flex-start; display: inline-flex; align-items: center; gap: .8rem; padding: 1rem 1.6rem; border-radius: 98rem;
  color: #fff; text-decoration: none; font-weight: 600; font-size: 1.5rem; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(8px); }
.ap-login__vitrine-ajuda i { font-size: 2.2rem; color: #9dbcf0; }
.ap-login__vitrine-ajuda:hover { background: rgba(255,255,255,.16); }
@media (max-width: 900px) { .ap-login__vitrine-ajuda { display: none; } }
.ap-login__como { display: none; }
.ap-ajuda-topo { width: 4.8rem; height: 4.8rem; font-size: 2.4rem; color: var(--ap-acento); text-decoration: none; }
.ap-ola .ap-acoes { align-items: center; gap: 1rem; }

/* "Como usar" só na parte escura (Sandro: tira de cima do formulário) — no celular ela vira o topo e o botão aparece lá */
.ap-login__ajuda { display: none !important; }
@media (max-width: 900px) { .ap-login__vitrine-ajuda { display: inline-flex; font-size: 1.4rem; padding: .8rem 1.4rem; } }

/* Entrar ⇄ Criar: empurra (o antigo sai no mesmo ritmo em que o novo entra) */
.ap .ap-login__form--sai { position: absolute; margin: 0; padding-block: 0; transform: none; top: 0; left: 0; }
.ap .ap-login__form--sai-esq { animation: ap-empurra-sai-esq .5s cubic-bezier(.65,0,.35,1) forwards; }
.ap .ap-login__form--sai-dir { animation: ap-empurra-sai-dir .5s cubic-bezier(.65,0,.35,1) forwards; }
.ap .ap-login__form--entra-dir { animation: ap-empurra-entra-dir .5s cubic-bezier(.65,0,.35,1) both; }
.ap .ap-login__form--entra-esq { animation: ap-empurra-entra-esq .5s cubic-bezier(.65,0,.35,1) both; }
@keyframes ap-empurra-sai-esq { to { transform: translateX(calc(var(--dx, 600px) * -1)); } }
@keyframes ap-empurra-sai-dir { to { transform: translateX(var(--dx, 600px)); } }
@keyframes ap-empurra-entra-dir { from { transform: translateX(var(--dx, 600px)); } }
@keyframes ap-empurra-entra-esq { from { transform: translateX(calc(var(--dx, 600px) * -1)); } }
.ap-cartao__fila { margin-left: auto; display: inline-flex; align-items: center; gap: .3rem; font-size: 1.1rem; text-transform: none; letter-spacing: 0; color: var(--ap-sub); background: var(--ap-cinza); padding: .2rem .8rem; border-radius: 98rem; }
