/* ============================================================
   ALMA LIVRE · Design System v3 — "UAU"
   Direção da dona: lúdico, bonito, visual, instagramável.
   Base de UX aplicada:
   · Design Emocional (Don Norman): beleza visceral + clareza
   · Hierarquia tipográfica: Fraunces display p/ emoção,
     Inter p/ interface (leitura rápida)
   · Movimento com propósito (Material/HIG): entradas < 400ms,
     escalonadas, e respeito a quem prefere menos movimento
   · Fitts: alvos grandes; ritmo de espaçamento em múltiplos de 8
   · Momentos de prazer (delight) sem infantilizar (spec §8.3)
   ============================================================ */

:root {
  --vinho-900:   #3E2426;
  --vinho-700:   #633B3B;
  --rose-600:    #8A4148;
  --rose-500:    #B4626C;
  --rose-400:    #C98A91;
  --rose-100:    #F6E3E4;
  --pessego:     #F3D8C7;
  --fundo:       #FAF5F1;
  --card:        #FFFFFF;
  --verde:       #4C9A6B;
  --ambar:       #D98E3B;
  --vermelho:    #C0504B;

  --raio-card: 24px;
  --raio-controle: 16px;
  --sombra-card: 0 10px 34px rgba(99, 59, 59, .12);
  --sombra-cta: 0 10px 24px rgba(138, 65, 72, .35);
  --grad-marca: linear-gradient(135deg, #C97781 0%, var(--rose-500) 35%, var(--rose-600) 70%, var(--vinho-700) 100%);
  --grad-suave: linear-gradient(160deg, #FDF9F6 0%, #F8E9E5 55%, #F3DCD8 100%);
  --fonte: 'Inter', -apple-system, 'SF Pro Text', 'Segoe UI', sans-serif;
  --fonte-display: 'Fraunces', Georgia, serif;

  /* ------------------------------------------------------------
     ALIASES DE COMPATIBILIDADE — os nomes antigos (v1) apontam
     pros novos. Garante contraste em TODA tela antiga.
     Nunca remover sem varrer os usos com grep.
     ------------------------------------------------------------ */
  --rose:        var(--rose-500);
  --rose-forte:  var(--rose-600);
  --rose-suave:  var(--rose-400);
  --marrom:      var(--vinho-700);
  --creme:       var(--fundo);
  --areia:       var(--rose-100);
  --grafite:     var(--vinho-900);
  --branco-card: var(--card);
  --raio:        var(--raio-card);
  --sombra:      var(--sombra-card);
  --fonte-titulo: var(--fonte-display);
  --fonte-corpo:  var(--fonte);
}

/* Ícones SVG: herdam a cor do texto e alinham com ele */
svg.icn { width: 1.25em; height: 1.25em; vertical-align: -0.22em; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.tab-bar svg.icn { width: 22px; height: 22px; }

@media (prefers-color-scheme: dark) {
  :root {
    --fundo:     #1C1315;
    --card:      #2A1E20;
    --vinho-900: #F7ECE9;
    --vinho-700: #EBD9D6;
    --rose-500:  #C97781;
    --rose-400:  #D98F97;
    --rose-100:  #3A282B;
    --pessego:   #3F2C26;
    --grad-suave: linear-gradient(160deg, #241A1C 0%, #2E2022 60%, #362528 100%);
    --sombra-card: 0 10px 34px rgba(0, 0, 0, .5);
  }
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html { font-size: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--fundo);
  color: var(--vinho-900);
  font-family: var(--fonte);
  font-size: 1rem;
  line-height: 1.55;
  min-height: 100dvh;
  overflow-x: hidden;
}

/* ---------- O CENÁRIO: bolhas orgânicas flutuando ao fundo ---------- */
.cenario { position: fixed; inset: 0; z-index: -1; overflow: hidden; }
.blob { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; }
.b1 { width: 46vmax; height: 46vmax; top: -18vmax; right: -14vmax;
      background: radial-gradient(circle, var(--rose-400), transparent 65%);
      animation: flutuar 26s ease-in-out infinite alternate; }
.b2 { width: 34vmax; height: 34vmax; bottom: -12vmax; left: -10vmax;
      background: radial-gradient(circle, var(--pessego), transparent 65%);
      animation: flutuar 32s ease-in-out infinite alternate-reverse; }
.b3 { width: 22vmax; height: 22vmax; top: 38%; left: 58%;
      background: radial-gradient(circle, var(--rose-100), transparent 60%);
      animation: flutuar 40s ease-in-out infinite alternate; }
@keyframes flutuar {
  from { transform: translate(0, 0) scale(1); }
  to   { transform: translate(-5vmax, 4vmax) scale(1.12); }
}

/* ---------- Tipografia: manchete editorial ---------- */
h1 {
  font-family: var(--fonte-display);
  font-weight: 640; font-size: 2.35rem; line-height: 1.08;
  letter-spacing: -0.015em; margin: 18px 0 12px;
  background: linear-gradient(120deg, var(--vinho-900) 30%, var(--rose-600) 85%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
h2 { font-size: 1.2rem; font-weight: 800; letter-spacing: -0.015em; color: var(--vinho-900); }
a { color: var(--rose-600); font-weight: 600; }
.citacao, [style*="var(--fonte-titulo)"] { font-family: var(--fonte-display) !important; }

/* ---------- Estrutura ---------- */
.pagina { max-width: 640px; margin: 0 auto; padding: 12px 20px 112px; }

.topo {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 20px;
  background: color-mix(in srgb, var(--fundo) 78%, transparent);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
}
.topo .marca { font-size: 1.12rem; color: var(--vinho-900); text-decoration: none; font-weight: 400; display: inline-flex; align-items: center; gap: 9px; }
.btn-voltar { width: 40px; height: 40px; flex-shrink: 0; margin-right: 10px;
  border: 1.5px solid rgba(99,59,59,.14); border-radius: 13px; background: var(--card);
  color: var(--vinho-900); font-size: 1.15rem; line-height: 1; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  transition: transform .12s ease, background .15s ease; }
.btn-voltar:active { transform: scale(.92); }
@media (hover:hover) { .btn-voltar:hover { background: var(--rose-100); } }
.logo-marca { width: 28px; height: 28px; border-radius: 9px; flex-shrink: 0; box-shadow: 0 3px 10px rgba(138,65,72,.28); }
.sidebar .marca-lateral { display: flex; align-items: center; gap: 9px; }
.sidebar .marca-lateral .logo-marca { width: 30px; height: 30px; border-radius: 10px; }
.topo .marca b { font-weight: 800; }
.topo .acoes { display: flex; gap: 8px; align-items: center; }

.btn-lupa { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; background: var(--rose-100); text-decoration: none; font-size: 1.05rem; }
.btn-apoio {
  font-size: .85rem; font-weight: 700; color: var(--rose-600); text-decoration: none;
  padding: 8px 14px; border-radius: 999px; background: var(--rose-100);
  min-height: 40px; display: inline-flex; align-items: center;
}
.btn-sair-rapido { font-size: .9rem; border: none; background: none; color: var(--vinho-900); padding: 8px; cursor: pointer; opacity: .55; }

/* ---------- Cards: entrada em cascata + vida ao passar o dedo ---------- */
.card {
  background: var(--card); border-radius: var(--raio-card);
  box-shadow: var(--sombra-card); padding: 24px; margin: 16px 0;
  border: 1px solid rgba(99, 59, 59, .05);
  animation: subir .45s cubic-bezier(.2, .8, .3, 1) both;
  transition: transform .18s ease, box-shadow .18s ease;
}
.card:nth-child(2) { animation-delay: .05s; }
.card:nth-child(3) { animation-delay: .1s; }
.card:nth-child(4) { animation-delay: .15s; }
.card:nth-child(5) { animation-delay: .2s; }
.card:nth-child(n+6) { animation-delay: .25s; }
@media (hover: hover) {
  .card:hover { transform: translateY(-3px); box-shadow: 0 16px 44px rgba(99, 59, 59, .16); }
}
@keyframes subir {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Card-destaque (gradiente da marca) vira PEÇA DE INSTAGRAM:
   usado nas capas de teste, resultados e frases da Mayra */
.card[style*="grad"], .card[style*="linear-gradient"] { position: relative; overflow: hidden; }

/* ---------- Botões: gradiente vivo + brilho que desliza ---------- */
.botao {
  position: relative; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--grad-marca); background-size: 160% 160%; color: #fff;
  border: none; cursor: pointer;
  font-size: 1rem; font-family: var(--fonte); font-weight: 700; letter-spacing: .01em;
  padding: 16px 28px; border-radius: var(--raio-controle); text-decoration: none;
  min-height: 54px; min-width: 48px;
  box-shadow: var(--sombra-cta);
  transition: transform .12s ease, box-shadow .12s ease, background-position .5s ease;
}
.botao:hover { background-position: 90% 50%; }
.botao:active { transform: scale(.96); box-shadow: 0 5px 12px rgba(138,65,72,.28); }
.botao::after {          /* brilho que atravessa (uma vez, sutil) */
  content: ''; position: absolute; top: 0; left: -80%;
  width: 50%; height: 100%; transform: skewX(-20deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent);
  animation: brilho 3.2s ease 1s 2;
}
@keyframes brilho { 0% { left: -80%; } 60%, 100% { left: 130%; } }
.botao.secundario { background: var(--rose-100); color: var(--rose-600); box-shadow: none; }
.botao.secundario::after { display: none; }
.botao.largura-total { width: 100%; }
form .botao { margin-top: 20px; }

/* ---------- Formulários ---------- */
label { display: block; font-size: .9rem; margin: 16px 0 6px; font-weight: 700; }
input[type=text], input[type=email], input[type=password], input[type=tel], input[type=date], input[type=number], input[type=url], textarea, select {
  width: 100%; font-size: 1rem; font-family: var(--fonte);
  padding: 14px 16px; border-radius: 14px; border: 1.5px solid transparent;
  background: color-mix(in srgb, var(--rose-100) 45%, var(--fundo));
  color: var(--vinho-900); min-height: 52px;
  transition: box-shadow .15s ease, background .15s ease;
}
input:focus, textarea:focus, select:focus {
  outline: none; border-color: var(--rose-500); background: var(--card);
  box-shadow: 0 0 0 4px rgba(180, 98, 108, .16);
}
.aviso { background: var(--rose-100); border-radius: 14px; padding: 12px 16px; font-size: .95rem; border-left: 4px solid var(--rose-400); }
.aviso.erro { background: color-mix(in srgb, var(--vermelho) 12%, var(--card)); border-left-color: var(--vermelho); }

.opcao {
  display: block; background: var(--card); border: 2px solid rgba(99,59,59,.08);
  border-radius: var(--raio-controle); padding: 17px 18px; margin: 10px 0; cursor: pointer;
  font-weight: 500; transition: all .14s ease;
  animation: subir .4s cubic-bezier(.2,.8,.3,1) both;
}
.opcao:hover { border-color: var(--rose-400); transform: translateX(4px); }
.opcao:has(input:checked) { border-color: var(--rose-600); background: var(--rose-100);
  box-shadow: 0 6px 18px rgba(138,65,72,.16); }
/* ✨ onboarding com o brilho do resto do app */
.onb-hero { background: var(--grad-marca); color: #fff; border-radius: var(--raio-card);
  padding: 26px 22px; margin: 4px 0 16px; box-shadow: var(--sombra-cta); }
.onb-hero h1 { color: #fff; -webkit-text-fill-color: #fff; background: none; margin: 0 0 6px; }
.onb-hero p { margin: 0; font-family: var(--fonte-display); font-size: 1.05rem; opacity: .95; line-height: 1.6; }
.onb-hero .logo-marca { width: 40px; height: 40px; border-radius: 12px; margin-bottom: 10px;
  box-shadow: 0 4px 14px rgba(0,0,0,.25); }
.opcao:active { transform: scale(.985); }
.opcao:has(input:checked) { border-color: var(--rose-500); background: color-mix(in srgb, var(--rose-100) 55%, var(--card)); }
.opcao input { margin-right: 10px; accent-color: var(--rose-600); }

/* ---------- Telas de entrada (login/cadastro): o palco ---------- */
body.rota-auth { background: var(--grad-suave); }
body.rota-auth .blob { opacity: .8; }
body.rota-auth .pagina { display: flex; flex-direction: column; justify-content: center; min-height: calc(100dvh - 180px); }
body.rota-auth h1 { font-size: 2.7rem; font-style: italic; font-weight: 560; text-align: center; }
body.rota-auth .pagina > p { text-align: center; margin-top: -4px; opacity: .85; }
body.rota-auth .card {
  background: color-mix(in srgb, var(--card) 82%, transparent);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}

/* ---------- Tab bar flutuante ---------- */
.tab-bar {
  position: fixed; bottom: 12px; left: 14px; right: 14px; z-index: 50;
  background: color-mix(in srgb, var(--card) 90%, transparent);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border-radius: 26px; box-shadow: 0 12px 34px rgba(62, 36, 38, .2);
  display: flex; justify-content: space-around;
  padding: 8px 6px calc(8px + env(safe-area-inset-bottom) / 2);
  border: 1px solid rgba(99, 59, 59, .06);
}
.tab-bar a {
  text-decoration: none; color: var(--vinho-900); font-size: .7rem; font-weight: 600; opacity: .6;
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  min-width: 58px; min-height: 52px; justify-content: center; border-radius: 18px;
  transition: transform .12s ease, opacity .12s ease;
}
.tab-bar a:active { transform: scale(.9); }
.tab-bar a.ativa { color: #fff; background: var(--grad-marca); opacity: 1; font-weight: 800; box-shadow: 0 6px 16px rgba(138,65,72,.35); }
.tab-bar .icone { font-size: 1.35rem; }

/* ---------- Desktop ---------- */
@media (min-width: 900px) {
  .tab-bar { display: none; }
  .com-sidebar { display: grid; grid-template-columns: 240px 1fr; min-height: 100dvh; }
  .sidebar { background: var(--card); padding: 24px 14px; display: flex; flex-direction: column; gap: 4px; box-shadow: var(--sombra-card); }
  .sidebar a { text-decoration: none; color: var(--vinho-900); padding: 12px 16px; border-radius: 14px; font-size: .98rem; font-weight: 600; }
  .sidebar a.ativa { background: var(--grad-marca); color: #fff; font-weight: 800; }
  .pagina { max-width: 880px; }
  body.rota-auth .card { max-width: 480px; margin-left: auto; margin-right: auto; width: 100%; }
}

/* ---------- Progresso com festa contida ---------- */
.contador-dias {
  font-family: var(--fonte-display);
  font-size: 4rem; font-weight: 700; letter-spacing: -0.03em; line-height: 1;
  background: var(--grad-marca);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: crescer .6s cubic-bezier(.2, .8, .3, 1) both;
}
@keyframes crescer { from { opacity: 0; transform: scale(.7); } to { opacity: 1; transform: scale(1); } }
.marcos { display: flex; gap: 8px; }
.marco { flex: 1; height: 11px; border-radius: 99px; background: color-mix(in srgb, var(--rose-100) 70%, var(--fundo)); overflow: hidden; position: relative; }
.marco.feito { background: var(--grad-marca); box-shadow: 0 2px 10px rgba(138,65,72,.35); }
.marco.feito::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.4), transparent);
  animation: brilho 2.6s ease .6s 2;
}

/* ---------- Acessibilidade: menos movimento p/ quem prefere ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  html { scroll-behavior: auto; }
}

/* ============================================================
   ONDA 1 — Home em grade (padrão do app-modelo, cores nossas)
   ============================================================ */
.grid-home {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 18px 0;
}
@media (min-width: 640px) { .grid-home { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) { .grid-home { grid-template-columns: repeat(4, 1fr); } }

.tile {
  position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
  background: var(--card); border: 1px solid rgba(99,59,59,.05);
  border-radius: var(--raio-card); box-shadow: var(--sombra-card);
  padding: 18px; min-height: 132px; text-decoration: none; color: var(--vinho-900);
  animation: subir .45s cubic-bezier(.2,.8,.3,1) both;
  transition: transform .15s ease, box-shadow .15s ease;
}
.tile:nth-child(2) { animation-delay: .04s; } .tile:nth-child(3) { animation-delay: .08s; }
.tile:nth-child(4) { animation-delay: .12s; } .tile:nth-child(5) { animation-delay: .16s; }
.tile:nth-child(6) { animation-delay: .2s; }  .tile:nth-child(n+7) { animation-delay: .24s; }
@media (hover: hover) { .tile:hover { transform: translateY(-4px) scale(1.01); box-shadow: 0 16px 44px rgba(99,59,59,.18); } }
.tile:active { transform: scale(.97); }

.tile .bolha {
  width: 46px; height: 46px; border-radius: 15px; color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 14px rgba(99,59,59,.25);
}
.tile .bolha svg.icn { width: 22px; height: 22px; }
.tile b { font-size: 1rem; letter-spacing: -0.01em; }
.tile small { font-size: .78rem; opacity: .65; line-height: 1.35; font-weight: 500; }
.tile .selo {
  position: absolute; top: 12px; right: 12px;
  font-size: .68rem; font-weight: 800; padding: 3px 9px; border-radius: 999px;
  background: var(--rose-100); color: var(--rose-600);
}

/* bolhas por área (tudo dentro da família da marca) */
.bolha.g-rose   { background: var(--grad-marca); }
.bolha.g-vinho  { background: linear-gradient(135deg, #7A4A4E, #3E2426); }
.bolha.g-verde  { background: linear-gradient(135deg, #5FAE7F, #35754F); }
.bolha.g-ambar  { background: linear-gradient(135deg, #E3A55C, #B06F24); }
.bolha.g-nude   { background: linear-gradient(135deg, #D8AFA0, #A97862); }

/* cartão de streak (gamificação na home) */
.streak-hero {
  display: flex; align-items: center; gap: 18px;
  background: var(--grad-marca); color: #fff;
  border-radius: var(--raio-card); padding: 20px 22px; margin: 14px 0;
  box-shadow: var(--sombra-cta);
  animation: subir .4s cubic-bezier(.2,.8,.3,1) both;
}
.streak-hero .numero { font-family: var(--fonte-display); font-size: 3rem; font-weight: 700; line-height: 1; }
.streak-hero .info { flex: 1; }
.streak-hero .info b { display: block; font-size: 1.02rem; }
.streak-hero .info small { opacity: .9; font-size: .85rem; }
.streak-hero .botao { background: rgba(255,255,255,.18); box-shadow: none; border: 1.5px solid rgba(255,255,255,.5); min-height: 46px; padding: 10px 18px; }

/* sidebar (desktop) escondida no mobile */
.sidebar { display: none; }
@media (min-width: 900px) {
  .sidebar { display: flex; position: sticky; top: 0; height: 100dvh; }
  .sidebar .marca-lateral { font-size: 1.2rem; padding: 6px 16px 18px; color: var(--vinho-900); text-decoration: none; }
  .sidebar .marca-lateral b { font-weight: 800; }
  .sidebar a.item { display: flex; align-items: center; gap: 10px; }
  .sidebar .rodape-lateral { margin-top: auto; padding: 12px 16px; font-size: .85rem; opacity: .75; }
  .avatar-inicial {
    width: 34px; height: 34px; border-radius: 50%; background: var(--grad-marca); color: #fff;
    display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: .95rem;
  }
  body.com-lateral .topo { display: none; }
  body.com-lateral .tab-bar { display: none; }
}

/* ---------- Onda 1b: capas de teste, avatar com foto, FAQ ---------- */
.capa-mini {
  width: 100%; aspect-ratio: 2.6 / 1; border-radius: 16px; color: #fff;
  display: flex; align-items: center; justify-content: center; margin-bottom: 4px;
}
.capa-mini svg.icn { width: 30px; height: 30px; }
.capa-mini.c1 { background: var(--grad-marca); }
.capa-mini.c2 { background: linear-gradient(135deg, #7A4A4E, #3E2426); }
.capa-mini.c3 { background: linear-gradient(135deg, #C98A91, #8A4148); }
.capa-mini.c4 { background: linear-gradient(135deg, #A97862, #633B3B); }

.avatar-foto { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; box-shadow: 0 2px 8px rgba(99,59,59,.3); }
.avatar-grande { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; box-shadow: var(--sombra-card); }
.avatar-inicial.grande { width: 84px; height: 84px; font-size: 2rem; }

details.faq {
  background: var(--card); border-radius: var(--raio-controle); box-shadow: var(--sombra-card);
  border: 1px solid rgba(99,59,59,.05); padding: 4px 18px; margin: 10px 0;
}
details.faq summary { cursor: pointer; font-weight: 700; padding: 14px 0; list-style: none; display: flex; justify-content: space-between; align-items: center; }
details.faq summary::after { content: '+'; font-size: 1.3rem; color: var(--rose-600); transition: transform .2s ease; }
details.faq[open] summary::after { transform: rotate(45deg); }
details.faq p { margin-top: 0; }

/* ---------- Onda 2: curso (fileiras Netflix), player, encontros, popup ---------- */
.fileira { display: flex; gap: 14px; overflow-x: auto; padding: 6px 2px 14px; scroll-snap-type: x mandatory; }
.fileira::-webkit-scrollbar { display: none; }
.aula-card {
  min-width: 210px; max-width: 210px; scroll-snap-align: start;
  background: var(--card); border-radius: 18px; box-shadow: var(--sombra-card);
  text-decoration: none; color: var(--vinho-900); overflow: hidden;
  transition: transform .15s ease; border: 1px solid rgba(99,59,59,.05);
}
@media (hover: hover) { .aula-card:hover { transform: translateY(-4px) scale(1.02); } }
.aula-card .thumb {
  aspect-ratio: 16/9; display: flex; align-items: center; justify-content: center; color: #fff; position: relative;
}
.aula-card .thumb svg.icn { width: 34px; height: 34px; }
.aula-card .thumb .dur { position: absolute; bottom: 8px; right: 8px; font-size: .7rem; font-weight: 700; background: rgba(0,0,0,.45); padding: 2px 8px; border-radius: 99px; }
.aula-card .meta { padding: 12px 14px; }
.aula-card .meta b { font-size: .92rem; display: block; line-height: 1.25; }
.aula-card .meta small { opacity: .65; font-size: .78rem; }
.aula-card.feita .thumb::after { content: '✓'; position: absolute; top: 8px; left: 8px; background: var(--verde); color: #fff; width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: .85rem; }

.player { aspect-ratio: 16/9; width: 100%; border: 0; border-radius: 18px; box-shadow: var(--sombra-card); background: #000; }

.encontro {
  display: flex; align-items: center; gap: 16px;
}
.encontro .data-bloco {
  min-width: 64px; text-align: center; background: var(--rose-100); border-radius: 14px; padding: 10px 8px;
}
.encontro .data-bloco b { display: block; font-size: 1.4rem; line-height: 1; color: var(--rose-600); }
.encontro .data-bloco small { font-size: .72rem; font-weight: 700; text-transform: uppercase; }

.aviso-modal { position: fixed; inset: 0; z-index: 100; display: none; align-items: center; justify-content: center; background: rgba(62,36,38,.45); backdrop-filter: blur(6px); padding: 20px; }
.aviso-modal.aberto { display: flex; }
.aviso-modal .card { max-width: 440px; width: 100%; animation: crescer .35s cubic-bezier(.2,.8,.3,1) both; }

/* ---------- Testes v2: perguntas com alma + resultados visuais ---------- */
.pergunta-enunciado {
  font-family: var(--fonte-display); font-size: 1.55rem; font-weight: 600;
  line-height: 1.25; letter-spacing: -0.01em; margin: 10px 0 18px;
}
.opcao-teste {
  display: flex; align-items: center; gap: 14px; width: 100%; text-align: left;
  font-size: 1rem; font-family: var(--fonte); font-weight: 500; cursor: pointer;
  background: var(--card); border: 2px solid rgba(99,59,59,.08);
  border-radius: var(--raio-controle); padding: 15px 16px; margin: 10px 0;
  transition: all .14s ease; animation: subir .4s cubic-bezier(.2,.8,.3,1) both;
  color: var(--vinho-900);
}
.opcao-teste:nth-child(2) { animation-delay: .05s; } .opcao-teste:nth-child(3) { animation-delay: .1s; }
.opcao-teste:nth-child(4) { animation-delay: .15s; } .opcao-teste:nth-child(5) { animation-delay: .2s; }
.opcao-teste:hover { border-color: var(--rose-400); transform: translateX(5px); }
.opcao-teste:active { transform: scale(.98); }
.opcao-teste .letra {
  min-width: 34px; height: 34px; border-radius: 11px; background: var(--rose-100);
  color: var(--rose-600); font-weight: 800; display: flex; align-items: center; justify-content: center;
  transition: all .14s ease;
}
.opcao-teste:hover .letra { background: var(--grad-marca); color: #fff; }

.progresso-teste { display: flex; align-items: center; gap: 12px; margin: 6px 0 4px; }
.progresso-teste .trilho { flex: 1; height: 10px; border-radius: 99px; background: var(--rose-100); overflow: hidden; }
.progresso-teste .feito-fill { height: 100%; border-radius: 99px; background: var(--grad-marca); transition: width .4s cubic-bezier(.2,.8,.3,1); }
.progresso-teste .num { font-weight: 800; font-size: .85rem; color: var(--rose-600); white-space: nowrap; }

.btn-voltar {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 14px;
  background: none; border: none; cursor: pointer; color: var(--vinho-900);
  font-family: var(--fonte); font-size: .92rem; font-weight: 600; opacity: .65; padding: 10px 6px;
}
.btn-voltar:hover { opacity: 1; }

/* barras de dimensão no resultado (qualitativas, sem número) */
.dim-linha { margin: 14px 0; }
.dim-linha .topo-dim { display: flex; justify-content: space-between; font-size: .92rem; margin-bottom: 6px; }
.dim-linha .rotulo-nivel { font-weight: 700; color: var(--rose-600); font-size: .8rem; }
.dim-linha .trilho { height: 14px; border-radius: 99px; background: var(--rose-100); overflow: hidden; }
.dim-linha .fill {
  height: 100%; border-radius: 99px; background: var(--grad-marca);
  animation: abrir-barra 1s cubic-bezier(.2,.8,.3,1) both; transform-origin: left;
}
.dim-linha.dominante .topo-dim b { color: var(--rose-600); }
@keyframes abrir-barra { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* lista de sinais "como aparece no dia a dia" */
.sinal-item { display: flex; gap: 10px; align-items: flex-start; margin: 10px 0; }
.sinal-item .ponto { min-width: 26px; height: 26px; border-radius: 9px; background: var(--rose-100);
  color: var(--rose-600); display: flex; align-items: center; justify-content: center; margin-top: 1px; }
.sinal-item .ponto svg.icn { width: 14px; height: 14px; }

/* frase-cartão instagramável */
.quote-share {
  background: var(--grad-marca); color: #fff; border-radius: var(--raio-card);
  padding: 34px 26px; text-align: center; box-shadow: var(--sombra-cta); position: relative; overflow: hidden;
}
.quote-share::before { content: '“'; position: absolute; top: -14px; left: 14px; font-family: var(--fonte-display);
  font-size: 7rem; opacity: .18; }
.quote-share .frase { font-family: var(--fonte-display); font-style: italic; font-size: 1.45rem; line-height: 1.3; font-weight: 560; }
.quote-share .assina { margin-top: 14px; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }

/* ============================================================
   OLGA 🐈‍⬛ — janela flutuante em todas as páginas
   ============================================================ */
.olga-bolinha {
  width: 42px; height: 42px; border-radius: 50%; cursor: pointer; border: none;
  background: var(--grad-marca); padding: 5px; box-shadow: 0 4px 14px rgba(138,65,72,.4);
  display: inline-flex; align-items: center; justify-content: center;
  transition: transform .15s ease;
}
.olga-bolinha img { width: 30px; height: 30px; }
.olga-bolinha:hover { transform: scale(1.08) rotate(-6deg); }

.olga-janela {
  position: fixed; z-index: 200; display: none; flex-direction: column;
  right: 18px; bottom: 18px; width: min(430px, calc(100vw - 24px)); height: min(640px, calc(100dvh - 40px));
  background: var(--card); border-radius: 22px; overflow: hidden;
  box-shadow: 0 24px 70px rgba(62,36,38,.4); border: 1px solid rgba(99,59,59,.1);
}
.olga-janela.aberta { display: flex; }
.olga-janela.com-lista { }

.olga-topo {
  display: flex; align-items: center; gap: 10px; padding: 12px 14px;
  background: var(--grad-marca); color: #fff; cursor: move; user-select: none;
}
.olga-topo img { width: 30px; height: 30px; }
.olga-topo b { flex: 1; font-size: 1rem; }
.olga-topo button { background: rgba(255,255,255,.15); border: none; color: #fff; border-radius: 10px;
  min-width: 32px; height: 32px; cursor: pointer; font-size: .95rem; }

.olga-corpo { display: flex; flex: 1; min-height: 0; }
.olga-mensagens { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; scroll-behavior: auto; }
.olga-msg { max-width: 88%; padding: 12px 14px; border-radius: 16px; font-size: .95rem; line-height: 1.5; }
.olga-msg.ela { align-self: flex-end; background: var(--grad-marca); color: #fff; border-bottom-right-radius: 4px; }
.olga-msg.olga { align-self: flex-start; background: color-mix(in srgb, var(--rose-100) 55%, var(--card));
  border-bottom-left-radius: 4px; }
.olga-msg.olga h1, .olga-msg.olga h2, .olga-msg.olga h3 { font-size: 1.02rem; margin: 10px 0 4px; }
.olga-msg.olga ul { padding-left: 18px; margin: 6px 0; }
.olga-msg.olga li { margin: 4px 0; }
.olga-msg .hora { display: block; font-size: .68rem; opacity: .6; margin-top: 6px; }
.olga-msg .fotos-tag { font-size: .75rem; opacity: .8; }
.olga-digitando { align-self: flex-start; opacity: .7; font-size: .9rem; padding: 8px 14px; }
.olga-digitando .pontinhos::after { content: '…'; animation: pontinhos 1.2s steps(4) infinite; }
@keyframes pontinhos { 0% { content: ''; } 25% { content: '.'; } 50% { content: '..'; } 75% { content: '...'; } }

/* sidebar de conversas (direita, estilo Claude/GPT) */
.olga-lista {
  width: 0; overflow: hidden; transition: width .2s ease; background: color-mix(in srgb, var(--fundo) 70%, var(--card));
  border-left: 1px solid rgba(99,59,59,.08); display: flex; flex-direction: column;
}
.olga-janela.com-lista .olga-lista { width: 190px; }
.olga-lista .cabecalho { padding: 10px 12px 6px; font-size: .75rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: .08em; opacity: .6; }
.olga-lista .rolagem { flex: 1; overflow-y: auto; padding: 0 8px 10px; }
.olga-pasta { font-size: .72rem; font-weight: 800; color: var(--rose-600); margin: 10px 4px 2px;
  text-transform: uppercase; letter-spacing: .06em; display: flex; align-items: center; gap: 4px; }
.olga-conv { display: block; width: 100%; text-align: left; border: none; background: none; cursor: pointer;
  font-size: .82rem; padding: 8px 10px; border-radius: 10px; color: var(--vinho-900);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: var(--fonte); }
.olga-conv:hover { background: var(--rose-100); }
.olga-conv.ativa { background: var(--grad-marca); color: #fff; font-weight: 700; }
.olga-lista .acoes-lista { padding: 8px; display: flex; flex-direction: column; gap: 6px; }
.olga-lista .acoes-lista button { font-size: .78rem; border: 1px dashed var(--rose-400); background: none;
  color: var(--rose-600); border-radius: 10px; padding: 7px; cursor: pointer; font-weight: 700; }

/* composer */
.olga-escrever { padding: 10px 12px calc(10px + env(safe-area-inset-bottom)/2); border-top: 1px solid rgba(99,59,59,.08);
  display: flex; flex-direction: column; gap: 8px; }
.olga-escrever textarea { min-height: 44px; max-height: 120px; resize: none; font-size: .95rem; padding: 11px 14px; }
.olga-linha-acoes { display: flex; align-items: center; gap: 8px; }
.olga-icone-btn { min-width: 40px; height: 40px; border-radius: 12px; border: none; cursor: pointer;
  background: var(--rose-100); color: var(--rose-600); display: flex; align-items: center; justify-content: center; }
.olga-icone-btn.gravando { background: var(--vermelho); color: #fff; animation: pulso 1s ease infinite; }
@keyframes pulso { 50% { transform: scale(1.12); } }
.olga-enviar { flex: 1; min-height: 40px; padding: 8px 16px; }
.olga-modo { display: flex; background: var(--rose-100); border-radius: 999px; padding: 3px; }
.olga-modo button { border: none; background: none; font-size: .72rem; font-weight: 800; padding: 6px 10px;
  border-radius: 999px; cursor: pointer; color: var(--rose-600); font-family: var(--fonte); }
.olga-modo button.ativo { background: var(--grad-marca); color: #fff; }
.olga-fotos-previa { display: flex; gap: 6px; flex-wrap: wrap; }
.olga-fotos-previa img { width: 44px; height: 44px; object-fit: cover; border-radius: 10px; border: 2px solid var(--rose-100); }

/* alças de redimensionar (4 cantos) */
.olga-alca { position: absolute; width: 18px; height: 18px; z-index: 5; }
.olga-alca.no { top: 0; left: 0; cursor: nwse-resize; }
.olga-alca.ne { top: 0; right: 0; cursor: nesw-resize; }
.olga-alca.so { bottom: 0; left: 0; cursor: nesw-resize; }
.olga-alca.se { bottom: 0; right: 0; cursor: nwse-resize; }

@media (max-width: 640px) {
  .olga-janela { right: 8px; left: 8px; bottom: 8px; width: auto; height: min(78dvh, 640px); }
  .olga-janela.com-lista .olga-lista { width: 150px; }
}

/* ---------- Resultado: painel de perfis com % + espectro ---------- */
.perfil-pct { display: flex; align-items: center; gap: 10px; margin: 10px 0; }
.perfil-pct .emoji { font-size: 1.3rem; min-width: 30px; text-align: center; }
.perfil-pct .info { flex: 1; }
.perfil-pct .nome { font-size: .9rem; font-weight: 700; display: flex; justify-content: space-between; }
.perfil-pct .nome .valor { color: var(--rose-600); font-weight: 800; }
.perfil-pct .trilho { height: 10px; border-radius: 99px; background: var(--rose-100); overflow: hidden; margin-top: 4px; }
.perfil-pct .fill { height: 100%; border-radius: 99px; background: var(--grad-marca);
  animation: abrir-barra .9s cubic-bezier(.2,.8,.3,1) both; transform-origin: left; }
.perfil-pct.dominante .nome { color: var(--rose-600); }
.perfil-pct.apagado { opacity: .55; }

.espectro { position: relative; height: 14px; border-radius: 99px; margin: 26px 0 8px;
  background: linear-gradient(90deg, #7FB08A, #E3C56C, #D98E5B, #C0504B); }
.espectro .marcador { position: absolute; top: -7px; width: 28px; height: 28px; border-radius: 50%;
  background: var(--card); border: 4px solid var(--vinho-900); transform: translateX(-50%);
  box-shadow: 0 4px 10px rgba(0,0,0,.25); }
.espectro-rotulos { display: flex; justify-content: space-between; font-size: .72rem; font-weight: 700; opacity: .75; }

/* ---------- Plano de ação (home) ---------- */
.plano-item { display: flex; align-items: flex-start; gap: 12px; padding: 10px 0;
  border-bottom: 1px solid rgba(99,59,59,.06); cursor: pointer; }
.plano-item .checkbola { min-width: 28px; height: 28px; border-radius: 50%; border: 2.5px solid var(--rose-400);
  display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 800;
  transition: all .15s ease; margin-top: 1px; }
.plano-item.feita .checkbola { background: var(--grad-marca); border-color: transparent; }
.plano-item.feita span.txt { text-decoration: line-through; opacity: .55; }
.plano-item:active .checkbola { transform: scale(.85); }

/* ---------- DATES v2: hub + Kanban CRM ---------- */
.dates-hero { background: var(--grad-marca); color: #fff; border-radius: var(--raio-card);
  padding: 26px 24px; box-shadow: var(--sombra-cta); }
.dates-hero h1 { color: #fff; -webkit-text-fill-color: #fff; margin: 0 0 6px; }

.kanban { display: flex; gap: 14px; overflow-x: auto; padding: 6px 2px 18px; align-items: flex-start; }
.kanban-col { min-width: 260px; width: 260px; background: color-mix(in srgb, var(--rose-100) 40%, var(--fundo));
  border-radius: 18px; padding: 12px; }
.kanban-col h3 { margin: 2px 6px 10px; font-size: .85rem; font-weight: 800; letter-spacing: .04em;
  text-transform: uppercase; display: flex; justify-content: space-between; }
.kanban-col.solta { outline: 3px dashed var(--rose-400); outline-offset: -6px; }
.cara-card { background: var(--card); border-radius: 14px; box-shadow: 0 4px 14px rgba(99,59,59,.1);
  padding: 12px 14px; margin: 8px 0; cursor: grab; border: 1px solid rgba(99,59,59,.06);
  transition: transform .12s ease; }
.cara-card:active { cursor: grabbing; }
.cara-card.arrastando { opacity: .5; transform: rotate(2deg) scale(1.02); }
.cara-card b { display: block; }
.cara-card .onde { font-size: .75rem; opacity: .65; }
.cara-card .chips { display: flex; gap: 4px; margin-top: 8px; flex-wrap: wrap; }
.chip-sinal { font-size: .72rem; font-weight: 800; padding: 2px 8px; border-radius: 99px; }
.chip-sinal.verde { background: #E4F2E6; color: #2F7048; }
.chip-sinal.amarelo { background: #FBF0D8; color: #8A6414; }
.chip-sinal.laranja { background: #FBE4D2; color: #9A5313; }
.chip-sinal.vermelho { background: #F8DBD8; color: #9C312B; }
.chip-sinal.alerta-vermelho { background: var(--vermelho); color: #fff; animation: pulso 1.4s ease infinite; }

/* semáforo v2: cartões coloridos com faixa forte */
.farol { border-radius: var(--raio-card); padding: 22px; margin: 14px 0; color: #fff;
  box-shadow: var(--sombra-card); animation: subir .45s cubic-bezier(.2,.8,.3,1) both; }
.farol h2 { color: #fff; display: flex; align-items: center; gap: 10px; margin-top: 0; }
.farol ul { padding-left: 20px; margin: 8px 0 0; }
.farol li { margin: 7px 0; }
.farol.verde { background: linear-gradient(140deg, #5FA478, #2F6947); }
.farol.amarelo { background: linear-gradient(140deg, #E3B85C, #A87C1D); }
.farol.laranja { background: linear-gradient(140deg, #E08A4B, #A85A17); }
.farol.vermelho { background: linear-gradient(140deg, #D06158, #8E2F28); }
.farol.escuro { background: linear-gradient(140deg, #5C4145, #2E1E20); }

/* Olga: lista de conversas na ESQUERDA (padrão GPT/Claude) */
.olga-corpo { flex-direction: row-reverse; }
.olga-lista { border-left: none; border-right: 1px solid rgba(99,59,59,.08); }

/* Bolinha da Olga SEMPRE visível no canto superior direito (desktop esconde o topo) */
@media (min-width: 900px) {
  body.com-lateral .olga-bolinha { position: fixed; top: 14px; right: 18px; z-index: 90;
    width: 52px; height: 52px; }
  body.com-lateral .olga-bolinha img { width: 38px; height: 38px; }
}

/* rodapé da sidebar do app: cartãozinho digno */
@media (min-width: 900px) {
  .sidebar .rodape-lateral { display: flex; align-items: center; gap: 10px;
    background: color-mix(in srgb, var(--rose-100) 45%, var(--card));
    border-radius: 14px; margin: auto 8px 10px; padding: 10px 12px; font-weight: 700; font-size: .9rem; opacity: 1; }
  .sidebar .rodape-lateral .btn-sair-rapido { margin-left: auto; opacity: .5; }
  .sidebar .rodape-lateral .btn-sair-rapido:hover { opacity: 1; color: var(--vermelho); }
}

/* ---------- Espelho v2: chips de toque + gráfico de evolução ---------- */
.espelho-linha { margin: 14px 0; }
.espelho-linha .perg { font-weight: 700; font-size: .95rem; margin-bottom: 8px; display: block; }
.chips-escolha { display: flex; gap: 8px; flex-wrap: wrap; }
.chips-escolha label { cursor: pointer; display: inline-flex; margin: 0; font-weight: 400; }
.chips-escolha input { position: absolute; opacity: 0; }
.chips-escolha .pill { display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px;
  border-radius: 999px; border: 2px solid rgba(99,59,59,.12); background: var(--card);
  font-size: .9rem; font-weight: 600; transition: all .12s ease; min-height: 44px; }
.chips-escolha label:active .pill { transform: scale(.95); }
.chips-escolha input:checked + .pill { background: var(--grad-marca); border-color: transparent;
  color: #fff; box-shadow: 0 4px 14px rgba(138,65,72,.32); }
.chips-escolha input:checked + .pill.pos { background: #E4F2E6; border-color: #4C9A6B; color: #2F7048; }
.chips-escolha input:checked + .pill.neg { background: #F8E4E2; border-color: var(--vermelho); color: #8E2F28; }

.grafico-evolucao { display: flex; align-items: flex-end; gap: 6px; height: 120px; padding: 10px 4px 0; }
.grafico-evolucao .coluna { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%; justify-content: flex-end; }
.grafico-evolucao .barra-g { width: 100%; max-width: 34px; border-radius: 8px 8px 4px 4px;
  background: var(--grad-marca); animation: abrir-v .7s cubic-bezier(.2,.8,.3,1) both; transform-origin: bottom; }
.grafico-evolucao .barra-g.baixa { background: linear-gradient(180deg, #D98E5B, #C0504B); }
.grafico-evolucao small { font-size: .62rem; opacity: .6; white-space: nowrap; }
@keyframes abrir-v { from { transform: scaleY(0); } to { transform: scaleY(1); } }

/* ===== Pop-up da ficha (Diário de Encontros) ===== */
.ficha-overlay{position:fixed;inset:0;background:rgba(62,36,38,.55);backdrop-filter:blur(6px);
  z-index:1200;display:flex;align-items:center;justify-content:center;padding:18px;
  animation:olga-surge .18s ease}
.ficha-modal{position:relative;width:min(680px,100%);height:min(86vh,820px);
  background:var(--areia,#FAF5F1);border-radius:24px;overflow:hidden;
  box-shadow:0 30px 80px rgba(62,36,38,.45)}
.ficha-modal iframe{width:100%;height:100%;border:0;display:block}
.ficha-fechar{position:absolute;top:10px;right:10px;z-index:2;width:38px;height:38px;
  border-radius:50%;border:0;background:rgba(62,36,38,.85);color:#fff;font-size:1rem;
  cursor:pointer;display:flex;align-items:center;justify-content:center}
.ficha-fechar:hover{background:var(--rose-600,#8A4148)}
body.modo-popup{background:var(--areia,#FAF5F1)}
body.modo-popup .pagina{padding:18px 16px 30px;max-width:none}

/* ===== A leitura em CAMADAS (resultado dos testes) ===== */
.leitura-viva .leitura-lead{font-family:'Fraunces',serif;font-size:1.18rem;line-height:1.55;
  color:var(--vinho,#633B3B);padding:14px 16px;border-left:4px solid var(--rose-500,#AF8588);
  background:color-mix(in srgb,var(--rose-100,#D5BDC1) 22%, transparent);border-radius:0 14px 14px 0}
.leitura-viva .leitura-par{line-height:1.65;margin:14px 2px}
.leitura-viva .leitura-secao{font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  font-size:.8rem;color:var(--rose-600,#8A4148);margin:20px 2px 8px;display:flex;align-items:center;gap:10px}
.leitura-viva .leitura-secao::after{content:'';flex:1;height:2px;border-radius:2px;
  background:color-mix(in srgb,var(--rose-400,#B4626C) 35%, transparent)}
.leitura-passos{display:flex;flex-direction:column;gap:10px;margin:10px 0}
.leitura-passo{display:flex;gap:12px;align-items:flex-start;background:var(--card,#fff);
  border:1px solid color-mix(in srgb,var(--rose-400,#B4626C) 22%, transparent);
  border-radius:14px;padding:12px 14px;line-height:1.5}
.leitura-passo .num{flex:none;width:28px;height:28px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-weight:800;font-size:.85rem;color:#fff;
  background:var(--grad-marca,linear-gradient(135deg,#B4626C,#8A4148));margin-top:1px}

/* ===== Ferramentas v2: hero da página + herói Clareza ===== */
.hero-pagina{margin:6px 0 16px}
.hero-pagina h1{margin-bottom:4px}
.hero-pagina p{opacity:.75;margin:0;font-size:.95rem}
.hero-clareza{display:flex;align-items:center;gap:16px;text-decoration:none;color:#fff;
  background:var(--grad-marca,linear-gradient(135deg,#B4626C,#8A4148));
  border:0;box-shadow:0 14px 36px rgba(138,65,72,.35);margin-bottom:4px;
  transition:transform .15s ease, box-shadow .15s ease}
@media (hover:hover){.hero-clareza:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(138,65,72,.45)}}
.hero-clareza b, .hero-clareza small{color:#fff}
.hero-clareza .hero-emoji{font-size:2.2rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}
.hero-clareza .hero-cta{flex:none;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);
  padding:10px 16px;border-radius:999px;font-weight:800;font-size:.85rem;white-space:nowrap}
.selo.verde{background:#E4F2E6;color:#2F7048}

/* ===== Fontes de Amor v2: o jardim 🌱 ===== */
.jardim-medidor .canteiros{display:flex;gap:12px;align-items:center;margin:4px 0 2px}
.jardim-medidor .canteiro{font-size:2rem;filter:grayscale(1);opacity:.45;transition:all .3s ease}
.jardim-medidor .canteiro.florido{filter:none;opacity:1;transform:scale(1.12)}
.jardim-medidor .canteiro.extra{font-size:1rem;font-weight:800;color:var(--rose-600)}
.sugestoes-jardim{display:flex;flex-wrap:wrap;gap:8px}
.sugestoes-jardim .sug-pill{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;
  border-radius:999px;border:1.5px dashed var(--rose-400,#B4626C);background:transparent;
  color:var(--vinho-900,#3E2426);font-family:var(--fonte);font-size:.88rem;font-weight:600;
  cursor:pointer;transition:all .15s ease}
.sugestoes-jardim .sug-pill:hover{background:color-mix(in srgb,var(--rose-100) 40%, transparent);border-style:solid}
.sugestoes-jardim .sug-pill:active{transform:scale(.95)}
.sugestoes-jardim .sug-pill .mais{font-weight:800;color:var(--rose-600)}
.jardim-area{font-weight:800;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--rose-600);margin:16px 0 8px}
.jardim-chips{display:flex;flex-wrap:wrap;gap:8px}
.fonte-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 8px 9px 14px;border-radius:999px;
  background:#E4F2E6;border:1px solid #4C9A6B;color:#2F7048;font-size:.88rem;font-weight:600}
.fonte-chip.murcha{background:#FBF3E2;border-color:var(--ambar,#C98B2D);color:#8a6320}
.fonte-chip form{margin:0;display:inline-flex}
.fonte-chip button{border:0;background:rgba(0,0,0,.08);color:inherit;width:22px;height:22px;
  border-radius:50%;cursor:pointer;font-size:.7rem;display:flex;align-items:center;justify-content:center}
.fonte-chip button:hover{background:rgba(0,0,0,.18)}
.visualmente-oculto{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}

/* rodapé da sidebar bem diagramado */
.rodape-lateral{display:flex !important;align-items:center;gap:10px;flex-wrap:nowrap}
.rodape-lateral .nome-lateral{flex:1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rodape-lateral .link-sair{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.14);color:inherit;text-decoration:none}
.rodape-lateral .link-sair:hover{background:rgba(255,255,255,.28)}

/* jardim: lista limpa */
.fonte-linha{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(99,59,59,.08)}
.fonte-linha:last-of-type{border-bottom:0}
.fonte-linha .cat{font-size:1.4rem;flex:none}
.fonte-linha .desc{flex:1;line-height:1.3}
.fonte-linha .desc small{display:block;opacity:.6;font-size:.78rem}
.fonte-linha.murcha{opacity:.65}
.fonte-linha form{margin:0}
.fonte-linha button{border:0;background:rgba(99,59,59,.08);width:28px;height:28px;border-radius:50%;
  cursor:pointer;font-size:.75rem;color:var(--vinho-900)}
.fonte-linha button:hover{background:rgba(99,59,59,.2)}

/* ===== Painel admin v2: abas + linhas de membro ===== */
.admin-nav{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}
.admin-nav a{padding:10px 16px;border-radius:999px;font-weight:700;font-size:.88rem;text-decoration:none;
  color:var(--vinho-900);background:var(--card,#fff);border:1px solid rgba(99,59,59,.1);
  box-shadow:0 2px 8px rgba(99,59,59,.06)}
.admin-nav a.ativa{background:var(--grad-marca,linear-gradient(135deg,#B4626C,#8A4148));color:#fff;border-color:transparent}
.admin-nav .badge{background:var(--vermelho,#C0392B);color:#fff;border-radius:999px;padding:1px 7px;font-size:.72rem}
.membro-linha{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0;
  border-bottom:1px solid rgba(99,59,59,.08)}
.membro-linha .quem{flex:1;min-width:200px;line-height:1.3}
.membro-linha .quem small{display:block;opacity:.65;font-size:.78rem}
.membro-linha .acoes-membro{display:flex;gap:6px;margin:0;align-items:center}
.membro-linha select,.membro-linha input[type=date]{min-height:38px;padding:4px 8px;font-size:.85rem}
.botao.mini{min-height:38px;padding:6px 12px;font-size:.82rem}

/* ============================================================
   📱 MOBILE NATIVO — o app foi "criado pra celular":
   app bar fixa com blur, tab bar flutuante com safe-area,
   toques grandes, kanban em swipe, Olga e ficha em tela cheia.
   (desktop >=900px permanece intocado)
   ============================================================ */
@media (max-width: 899px) {
  html { -webkit-tap-highlight-color: transparent; }
  body { padding-bottom: 0; }

  /* app bar fixa com vidro (cara de app, não de site) */
  .topo { position: sticky; top: 0; z-index: 60;
    background: color-mix(in srgb, var(--fundo, #FAF5F1) 82%, transparent);
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
    padding: calc(10px + env(safe-area-inset-top)) 16px 10px;
    border-bottom: 1px solid rgba(99,59,59,.06); }
  .topo .marca { font-size: 1.05rem; }

  .pagina { padding: 14px 16px calc(108px + env(safe-area-inset-bottom)); }
  h1 { font-size: 1.5rem; letter-spacing: -0.02em; }
  h2 { font-size: 1.05rem; }

  .card { border-radius: 20px; padding: 18px 16px; margin: 12px 0; }
  .grid-home { gap: 12px; margin: 14px 0; }
  .tile { min-height: 118px; padding: 15px; border-radius: 20px;
    -webkit-user-select: none; user-select: none; }

  /* dedo feliz: nada de campo pequeno (16px evita o zoom do iOS) */
  input[type=text], input[type=email], input[type=password], input[type=date],
  input[type=datetime-local], select, textarea {
    font-size: 16px !important; min-height: 48px; border-radius: 14px; }
  .botao { min-height: 50px; border-radius: 16px; font-size: 1rem; }
  .botao.mini { min-height: 42px; }
  details.faq summary { min-height: 48px; display: flex; align-items: center; }
  .chips-escolha .pill { min-height: 44px; }
  .sugestoes-jardim .sug-pill { min-height: 46px; }

  /* tab bar: pílula flutuante com safe-area (polegar manda) */
  .tab-bar { left: 12px; right: 12px; bottom: calc(10px + env(safe-area-inset-bottom));
    padding: 8px; border-radius: 24px;
    background: color-mix(in srgb, var(--card, #fff) 88%, transparent);
    -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
    box-shadow: 0 12px 40px rgba(62,36,38,.22); }
  .tab-bar a { border-radius: 16px; padding: 8px 4px; font-size: .68rem; }

  /* progresso do teste gruda embaixo da app bar */
  .progresso-teste { position: sticky; top: calc(52px + env(safe-area-inset-top));
    z-index: 50; background: color-mix(in srgb, var(--fundo) 88%, transparent);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    padding: 8px 2px; border-radius: 12px; }

  /* Kanban do Diário: colunas em SWIPE com snap (padrão Trello mobile) */
  .kanban { display: flex !important; grid-template-columns: none;
    overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px;
    padding-bottom: 8px; margin: 0 -16px; padding-left: 16px; padding-right: 16px;
    -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .kanban::-webkit-scrollbar { display: none; }
  .kanban-col { flex: 0 0 82vw; max-width: 340px; scroll-snap-align: center; }

  /* Olga em TELA CHEIA (bottom sheet total) */
  .olga-janela, .olga-janela.aberta {
    left: 0 !important; right: 0 !important; top: 0 !important; bottom: 0 !important;
    width: 100vw !important; height: 100dvh !important; border-radius: 0; }
  .olga-alca { display: none; }
  .olga-topo { padding-top: calc(10px + env(safe-area-inset-top)); }
  .olga-escrever { padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
  .olga-janela.com-lista .olga-lista { width: 200px; }

  /* Ficha do Diário: sheet de tela cheia com respiro no topo */
  .ficha-overlay { padding: 0; align-items: flex-end; }
  .ficha-modal { width: 100%; height: calc(100dvh - 34px); max-height: none;
    border-radius: 24px 24px 0 0; animation: subir .3s cubic-bezier(.2,.8,.3,1) both; }
  .ficha-fechar { top: calc(10px + env(safe-area-inset-top)); }

  /* Espelho: pílulas em coluna cheia (toque fácil) */
  .espelho-linha .chips-escolha { flex-direction: column; align-items: stretch; }
  .espelho-linha .pill { width: 100%; justify-content: center; }

  /* Admin: abas em fita deslizante + linhas empilhadas */
  .admin-nav { flex-wrap: nowrap; overflow-x: auto; margin: 12px -16px 16px;
    padding: 2px 16px 8px; scrollbar-width: none; }
  .admin-nav::-webkit-scrollbar { display: none; }
  .admin-nav a { white-space: nowrap; flex: none; }
  .membro-linha { flex-direction: column; align-items: stretch; gap: 8px; }
  .membro-linha .acoes-membro { flex-wrap: wrap; }

  /* leitura em camadas mais colada nas bordas */
  .leitura-viva .leitura-lead { font-size: 1.08rem; padding: 12px 14px; }
  .quote-share { border-radius: 20px; }
  .espectro-rotulos { font-size: .62rem; }
  .hero-clareza { flex-wrap: wrap; }
  .hero-clareza .hero-cta { margin-left: auto; }

  /* selo/segurança: botões de emergência gigantes */
  .botao.largura-total { min-height: 54px; }
}

/* 📱 refinos da varredura visual (mobile) */
@media (max-width: 899px) {
  /* card do desafio na home: respira (nada de palavra espremida) */
  .streak-hero { flex-wrap: wrap; gap: 12px 16px; }
  .streak-hero .numero { font-size: 2.4rem; }
  .streak-hero .info { flex: 1 1 55%; min-width: 0; }
  .streak-hero .botao, .streak-hero a.botao { flex: 1 1 100%; text-align: center; justify-content: center; }

  /* herói Clareza empilhado com CTA de largura total */
  .hero-clareza { flex-direction: column; align-items: flex-start; gap: 10px; }
  .hero-clareza .hero-cta { margin-left: 0; width: 100%; text-align: center; }

  /* cabeçalho da ficha (pop-up do Diário): empilha bonito */
  body.modo-popup .card { border-radius: 18px; }
  body.modo-popup .pagina > .card:first-of-type { flex-wrap: wrap; }
  body.modo-popup .pagina > .card:first-of-type form {
    width: 100%; display: flex; gap: 8px; align-items: stretch; }
  body.modo-popup .pagina > .card:first-of-type form select { flex: 1; }
  body.modo-popup .pagina > .card:first-of-type form .botao { margin-top: 0; }

  /* Olga: lista de conversas vira GAVETA deslizante por cima do papo */
  .olga-janela .olga-lista { position: absolute; top: 0; bottom: 0; left: 0;
    width: min(300px, 84%); max-width: none; z-index: 6;
    background: var(--card, #fff); box-shadow: 18px 0 40px rgba(62,36,38,.25);
    transform: translateX(-105%); transition: transform .25s cubic-bezier(.2,.8,.3,1); }
  .olga-janela.com-lista .olga-lista { width: min(300px, 84%); transform: translateX(0); }
  .olga-janela .olga-corpo { position: relative; overflow: hidden; }

  /* barras do resultado mais presentes */
  .perfil-pct .trilho { height: 12px; }
}

/* botões com cor de FUNÇÃO: plano = verde (ação), SOS = vermelho (emergência) */
.botao.botao-verde{background:linear-gradient(135deg,#4C9A6B,#2F7048);box-shadow:0 10px 26px rgba(47,112,72,.35)}
.botao.botao-verde:hover{filter:brightness(1.06)}
.botao.botao-sos, .btn-apoio{background:linear-gradient(135deg,#C0392B,#8E2F28) !important;color:#fff !important;
  box-shadow:0 10px 26px rgba(192,57,43,.35)}
.btn-apoio svg.icn{color:#fff}
.espectro-rotulos{font-size:.68rem}
.espectro-rotulos span{white-space:normal;line-height:1.25}

/* ============================================================
   📖 ESPAÇO DE LEITURA — biblioteca + leitor estilo Kindle
   ============================================================ */
/* --- biblioteca --- */
.lt-progresso-geral{display:flex;align-items:center;gap:12px;font-size:.85rem;font-weight:700;opacity:.85;margin:2px 0 10px}
.lt-progresso-geral .trilho{flex:1;height:8px;border-radius:99px;background:var(--rose-100);overflow:hidden}
.lt-progresso-geral .fill{height:100%;border-radius:99px;background:var(--grad-marca)}
.lt-busca input{width:100%}
.lt-continuar{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff;
  background:var(--grad-marca);border:0;box-shadow:0 14px 36px rgba(138,65,72,.35)}
.lt-continuar b,.lt-continuar small{color:#fff}
.lt-retomar{flex:none;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.lt-estante{margin:22px 0}
.lt-estante h2{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.lt-estante h2 small{font-size:.78rem;opacity:.6;font-weight:600}
.lt-carrossel{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;scrollbar-width:none}
.lt-carrossel::-webkit-scrollbar{display:none}
.lt-capa{position:relative;flex:0 0 150px;min-height:190px;border-radius:16px;padding:14px 12px;
  display:flex;flex-direction:column;gap:8px;text-decoration:none;color:#fff;scroll-snap-align:start;
  box-shadow:0 10px 26px rgba(62,36,38,.22);transition:transform .15s ease;overflow:hidden}
@media(hover:hover){.lt-capa:hover{transform:translateY(-4px)}}
.lt-capa.c1{background:linear-gradient(160deg,#8A4148,#3E2426)}
.lt-capa.c2{background:linear-gradient(160deg,#B4626C,#824747)}
.lt-capa.c3{background:linear-gradient(160deg,#7A5C44,#4a3527)}
.lt-capa.c4{background:linear-gradient(160deg,#633B3B,#2b191a)}
.lt-capa .num{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.lt-capa b{font-family:var(--fonte-display);font-size:1.02rem;line-height:1.25;flex:1}
.lt-capa .tempo{font-size:.72rem;opacity:.8}
.lt-capa .estado{position:absolute;top:10px;right:12px;font-size:.9rem;opacity:.9}
.lt-capa .estado.ponto{opacity:.5}
.lt-capa .barra{position:absolute;left:0;bottom:0;height:4px;background:#fff;opacity:.9;border-radius:0 4px 4px 0}
.lt-capa .cadeado{position:absolute;top:10px;right:12px}
.lt-capa.trancada{filter:saturate(.4);opacity:.75}
@media(min-width:900px){.lt-carrossel{flex-wrap:wrap;overflow:visible}.lt-capa{flex:0 0 170px}}

/* --- leitor: temas --- */
.lt-root{position:relative;margin:0;padding:0 0 40px;min-height:100dvh}
.lt-root.tema-claro{--lt-fundo:#FAF5F1;--lt-texto:#3E2426;--lt-suave:rgba(99,59,59,.08);--lt-card:#fff}
.lt-root.tema-sepia{--lt-fundo:#F4E8D6;--lt-texto:#4a3527;--lt-suave:rgba(90,62,40,.1);--lt-card:#FBF3E2}
.lt-root.tema-escuro{--lt-fundo:#1E2228;--lt-texto:rgba(240,236,230,.9);--lt-suave:rgba(255,255,255,.08);--lt-card:#272c34}
.lt-root{background:var(--lt-fundo);color:var(--lt-texto)}
.lt-barra-progresso{position:fixed;top:0;left:0;right:0;height:3px;z-index:120;background:transparent}
.lt-barra-progresso i{display:block;height:100%;width:0;background:var(--rose-500,#AF8588)}
.lt-topbar{position:sticky;top:0;z-index:110;display:flex;align-items:center;gap:10px;
  padding:calc(10px + env(safe-area-inset-top)) 16px 10px;
  background:color-mix(in srgb,var(--lt-fundo) 88%,transparent);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  transition:transform .25s ease}
.lt-topbar.escondida{transform:translateY(-110%)}
.lt-topbar a,.lt-topbar button{border:0;background:none;color:var(--lt-texto);cursor:pointer;
  font-size:1rem;text-decoration:none;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;
  border-radius:12px}
.lt-topbar .lt-onde{font-size:.75rem;opacity:.6;font-weight:600}
.lt-topbar .lt-aa{font-weight:800;border:1.5px solid var(--lt-suave)}
.lt-modo-seg{display:inline-flex;border:1.5px solid var(--lt-suave);border-radius:13px;overflow:hidden}
.lt-modo-seg button{border:0;background:none;color:var(--lt-texto);font-weight:700;font-size:.8rem;
  padding:0 12px;min-height:40px;cursor:pointer;opacity:.55;white-space:nowrap}
.lt-modo-seg button.ativo{opacity:1;background:var(--rose-100);color:var(--rose-600)}
.lt-root.tema-escuro .lt-modo-seg button.ativo{background:rgba(201,119,129,.25);color:#fff}
.lt-root.tema-sepia .lt-modo-seg button.ativo{background:rgba(138,65,72,.14)}
@media (max-width:519px){.lt-modo-seg .tx{display:none}.lt-modo-seg button{padding:0 11px;font-size:.95rem}}
.lt-escolha-modo{position:fixed;inset:0;z-index:150;display:flex;align-items:center;justify-content:center;
  background:rgba(43,26,28,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:22px}
.lt-escolha-modo[hidden]{display:none}
.lt-escolha-modo .caixa{background:var(--lt-card,#fff);border-radius:24px;padding:26px 22px;max-width:420px;width:100%;
  box-shadow:0 24px 70px rgba(30,15,17,.4);animation:subir .35s cubic-bezier(.2,.8,.3,1) both}
.lt-escolha-modo .titulo{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:600;margin:0 0 4px;text-align:center;color:var(--lt-texto)}
.lt-escolha-modo .sub{font-size:.9rem;opacity:.7;text-align:center;margin:0 0 18px;color:var(--lt-texto)}
.lt-escolha-modo .opcoes{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lt-escolha-modo .opcoes button{border:2px solid var(--lt-suave);border-radius:18px;background:none;
  color:var(--lt-texto);padding:18px 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;
  transition:transform .15s ease,border-color .15s ease}
.lt-escolha-modo .opcoes button:active{transform:scale(.96)}
.lt-escolha-modo .opcoes .ic{font-size:2rem}
.lt-escolha-modo .opcoes b{font-size:1rem}
.lt-escolha-modo .opcoes small{font-size:.74rem;opacity:.65;line-height:1.35}
@media (hover:hover){.lt-escolha-modo .opcoes button:hover{border-color:var(--rose-500);transform:translateY(-2px)}}
.lt-painel-aa button.ativo{background:var(--rose-100);border-color:var(--rose-500);color:var(--rose-600)}
.lt-root.tema-escuro .lt-painel-aa button.ativo{background:rgba(201,119,129,.2);color:#fff}
.lt-topbar .lt-fav.ativa{color:#C0392B}
.lt-topbar .lt-sos{filter:saturate(1.4)}
.lt-painel-aa{position:sticky;top:56px;z-index:105;margin:0 16px;background:var(--lt-card);
  border-radius:18px;box-shadow:0 16px 40px rgba(0,0,0,.18);padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.lt-painel-aa .grupo{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lt-painel-aa .grupo span{font-size:.8rem;font-weight:700;opacity:.7}
.lt-painel-aa button{min-width:52px;min-height:44px;border-radius:12px;border:1.5px solid var(--lt-suave);
  background:none;color:var(--lt-texto);font-size:1rem;cursor:pointer;margin-left:6px}
.lt-cuidado{margin:10px 20px 0;font-size:.85rem;opacity:.75}
/* --- leitor: o texto (largura de leitura é SAGRADA) --- */
.lt-artigo{max-width:680px;margin:0 auto;padding:22px 22px 60px;
  font-family:'Fraunces',Georgia,serif;font-size:19px;line-height:1.68}
.lt-titulo{font-family:'Fraunces',serif;font-size:1.9rem;line-height:1.2;margin:14px 0 6px;
  color:var(--lt-texto);-webkit-text-fill-color:currentColor;background:none}
.lt-subtitulo{font-style:italic;opacity:.75;margin:0 0 22px;font-size:1.05rem}
.lt-artigo h2{font-family:'Fraunces',serif;font-size:1.3rem;margin:34px 0 10px;color:var(--lt-texto)}
.lt-artigo p{margin:0 0 1.15em}
.lt-artigo blockquote{border-left:3px solid var(--rose-400);padding-left:16px;font-style:italic;margin:1.2em 0;opacity:.9}
.lt-artigo ul{margin:0 0 1.15em 1.2em}
.lt-divisor{text-align:center;letter-spacing:.6em;opacity:.5;margin:2em 0;font-size:.85rem}
/* sublinhados */
.lt-marca{border-radius:3px;padding:.05em 0;cursor:pointer;background:transparent}
.lt-marca.rose{background:rgba(175,133,136,.32)}
.lt-marca.ambar{background:rgba(201,139,45,.28)}
.lt-marca.verde{background:rgba(76,154,107,.28)}
.tema-escuro .lt-marca.rose{background:rgba(214,160,164,.3)}
.tema-escuro .lt-marca.ambar{background:rgba(224,171,86,.28)}
.tema-escuro .lt-marca.verde{background:rgba(112,190,142,.26)}
.lt-marca.com-nota::after{content:'📝';font-size:.6em;vertical-align:super;margin-left:2px}
/* menu de seleção */
.lt-menu{position:absolute;z-index:130;display:flex;gap:2px;background:var(--vinho-900,#3E2426);
  border-radius:14px;padding:6px;box-shadow:0 14px 40px rgba(0,0,0,.35)}
.lt-menu button{border:0;background:none;font-size:1.15rem;min-width:42px;min-height:42px;border-radius:10px;cursor:pointer}
.lt-menu button:hover{background:rgba(255,255,255,.12)}
/* blocos finais */
.lt-reflexao,.lt-noapp{background:var(--lt-card);border-radius:18px;padding:18px;margin:26px 0;
  font-family:var(--fonte);font-size:1rem;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.lt-reflexao .rotulo,.lt-noapp .rotulo,.lt-fim .rotulo{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  font-weight:800;color:var(--rose-600);margin:0 0 8px}
.lt-reflexao .pergunta{font-family:'Fraunces',serif;font-size:1.08rem;font-style:italic}
.lt-reflexao textarea{width:100%;font-size:16px}
.lt-reflexao .ok{color:#2F7048;font-weight:700;margin-left:10px}
.lt-noapp .botao{margin:6px 8px 0 0}
.lt-fim{text-align:center;font-family:var(--fonte);font-size:1rem;margin-top:44px}
.lt-fim .check{font-size:2rem;color:#4C9A6B;margin:0}
.lt-prox{display:flex;flex-direction:column;gap:2px;background:var(--lt-card);border-radius:16px;
  padding:14px 16px;margin:10px auto;max-width:420px;text-decoration:none;color:var(--lt-texto);
  box-shadow:0 8px 22px rgba(0,0,0,.08);text-align:left}
.lt-prox small{font-size:.72rem;opacity:.6}
.lt-prox b{font-family:'Fraunces',serif}
/* marcações (antologia) */
.lt-marcacao-item{display:block;text-decoration:none;color:var(--vinho-900);border-left:4px solid var(--rose-400);
  font-family:'Fraunces',serif;font-size:1.02rem}
.lt-marcacao-item.rose{border-left-color:#AF8588}
.lt-marcacao-item.ambar{border-left-color:#C98B2D}
.lt-marcacao-item.verde{border-left-color:#4C9A6B}
@media (max-width:899px){
  .lt-root{margin:0}
  .lt-artigo{padding:18px 24px 60px;font-size:17.5px}
}
/* leitor imersivo: o app some, fica o livro */
body.rota-leitor .topo, body.rota-leitor .tab-bar, body.rota-leitor .cenario,
body.rota-leitor .sidebar{display:none !important}
body.rota-leitor .com-sidebar{display:block}
body.rota-leitor .area-conteudo{display:block}
body.rota-leitor .pagina{padding:0 !important;max-width:none}
body.rota-leitor{background:transparent}
.lt-painel-aa[hidden]{display:none}

/* ============================================================
   📖 v2 — capas DE LIVRO (moldura, lombada, ornamento) +
   fundo branco no leitor + MODO PÁGINAS estilo Kindle
   ============================================================ */
/* fundo do leitor: BRANCO no tema claro (pedido da Mayra) */
.lt-root.tema-claro{--lt-fundo:#FFFFFF;--lt-texto:#3E2426;--lt-suave:rgba(99,59,59,.09);--lt-card:#FAF5F1}

/* --- capas de livro --- */
.lt-capa{flex:0 0 158px;aspect-ratio:10/14;min-height:0;border-radius:10px 14px 14px 10px;
  padding:20px 14px 16px;text-align:center;align-items:center;justify-content:flex-start;
  box-shadow:0 14px 30px rgba(62,36,38,.28), inset -10px 0 24px -14px rgba(0,0,0,.55)}
.lt-capa::before{content:'';position:absolute;inset:8px;border:1px solid rgba(255,255,255,.3);
  border-radius:7px 10px 10px 7px;pointer-events:none}
.lt-capa::after{content:attr(data-n);position:absolute;right:2px;bottom:-16px;
  font-family:'Fraunces',serif;font-style:italic;font-weight:700;font-size:5.2rem;line-height:1;
  color:rgba(255,255,255,.07);pointer-events:none}
.lt-capa .lombada{position:absolute;left:0;top:0;bottom:0;width:8px;border-radius:10px 0 0 10px;
  background:linear-gradient(90deg,rgba(255,255,255,.32),rgba(255,255,255,.05) 65%,rgba(0,0,0,.18))}
.lt-capa .num{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;opacity:.78}
.lt-capa b{font-size:1.04rem;line-height:1.28;flex:0 0 auto;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.lt-capa .orn{font-size:.95rem;opacity:.55;margin-top:2px}
.lt-capa .tempo{margin-top:auto;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;opacity:.78}
@media(hover:hover){.lt-capa:hover{transform:translateY(-6px) rotate(-.6deg);
  box-shadow:0 24px 44px rgba(62,36,38,.4), inset -10px 0 24px -14px rgba(0,0,0,.55)}}
/* 8 paletas — uma por estante */
.lt-capa.e1{background:linear-gradient(155deg,#6E3B41,#2E181B)}
.lt-capa.e2{background:linear-gradient(155deg,#8A4E56,#40191f)}
.lt-capa.e3{background:linear-gradient(155deg,#7C5A3E,#33210f)}
.lt-capa.e4{background:linear-gradient(155deg,#5C3A52,#241123)}
.lt-capa.e5{background:linear-gradient(155deg,#42584d,#15211c)}
.lt-capa.e6{background:linear-gradient(155deg,#9A6A54,#452a1c)}
.lt-capa.e7{background:linear-gradient(155deg,#4E4A63,#1c1a2b)}
.lt-capa.e8{background:linear-gradient(155deg,#A5726B,#4a2823)}
@media(min-width:900px){.lt-capa{flex:0 0 176px}}
/* 📖 leitura longa (série aprofundada): selo discreto + lombada mais larga, como um livro mais grosso */
.lt-capa .selo-longa{position:absolute;top:0;left:8px;padding:5px 9px 4px;border-radius:0 0 8px 8px;
  background:rgba(255,255,255,.9);color:#3E2426;font-size:.54rem;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;line-height:1;box-shadow:0 3px 8px rgba(0,0,0,.18)}
.lt-capa.longa{padding-top:30px}
.lt-capa.longa .lombada{width:13px}
/* ⏱️ filtro por duração */
.lt-filtros{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 2px}
.lt-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;
  border:1.5px solid rgba(99,59,59,.22);background:var(--card,#fff);color:var(--vinho-700,#633B3B);
  font-size:.86rem;font-weight:700;text-decoration:none;transition:.16s}
.lt-chip b{font-weight:800;opacity:.5;font-size:.78rem}
.lt-chip.on{background:var(--vinho-700,#633B3B);border-color:var(--vinho-700,#633B3B);color:#fff}
.lt-chip.on b{opacity:.7}
@media(hover:hover){.lt-chip:hover{border-color:var(--rose-400,#C98A91)}}
.lt-dica-filtro{margin:6px 2px 12px;font-size:.82rem;opacity:.72}
/* cabeçalho de estante mais editorial */
.lt-estante h2{font-family:var(--fonte-display);font-size:1.25rem}
.lt-estante h2::before{content:'❧ ';color:var(--rose-500);font-size:1rem}

/* --- MODO PÁGINAS 📖 --- */
.modo-paginas .lt-pager{overflow-x:hidden;overflow-y:hidden;touch-action:pan-y;
  scrollbar-width:none;position:relative}
/* efeito de FOLHA VIRANDO (pedido antigo da Mayra): um brilho varre a página */
.lt-root.virando .lt-pager::after,.lt-root.virando-volta .lt-pager::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:5;
  background:linear-gradient(100deg,transparent 32%,rgba(62,36,38,.08) 47%,rgba(255,255,255,.4) 53%,transparent 68%)}
.lt-root.virando .lt-pager::after{animation:folhaVira .45s ease}
.lt-root.virando-volta .lt-pager::after{animation:folhaVolta .45s ease}
@keyframes folhaVira{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes folhaVolta{from{transform:translateX(100%)}to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){
  .lt-root.virando .lt-pager::after,.lt-root.virando-volta .lt-pager::after{animation:none;content:none}
}
.modo-paginas .lt-pager::-webkit-scrollbar{display:none}
.modo-paginas .lt-conteudo{height:100%;column-width:calc(100vw - 48px);column-gap:36px;column-fill:auto}
@media(min-width:900px){.modo-paginas .lt-conteudo{column-width:636px}}
.modo-paginas .lt-bloco,.modo-paginas .lt-reflexao,.modo-paginas .lt-noapp{break-inside:avoid-column}
.modo-paginas .lt-titulo{margin-top:4px}
.lt-controles-pagina{position:fixed;left:0;right:0;bottom:0;z-index:115;
  display:flex;align-items:center;justify-content:center;gap:22px;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  background:color-mix(in srgb,var(--lt-fundo) 90%,transparent);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-top:1px solid var(--lt-suave)}
.lt-controles-pagina[hidden]{display:none}
.lt-menu[hidden]{display:none}
.lt-controles-pagina button{width:52px;height:44px;border-radius:14px;border:1.5px solid var(--lt-suave);
  background:var(--lt-card);color:var(--lt-texto);font-size:1.5rem;line-height:1;cursor:pointer;
  transition:transform .12s ease}
.lt-controles-pagina button:active{transform:scale(.92)}
.lt-controles-pagina span{font-size:.82rem;font-weight:700;opacity:.7;min-width:70px;text-align:center;
  font-family:var(--fonte)}
.modo-paginas .lt-topbar{position:fixed;top:0;left:0;right:0}
.modo-paginas .lt-artigo{padding-top:64px}

/* ============================================================
   🛠️ ADMIN v3 — modelado no app-exemplo (camila-painel):
   sidebar ESCURA própria + KPIs grandes + cards brancos finos
   ============================================================ */
body.rota-admin .topo, body.rota-admin .tab-bar, body.rota-admin .cenario,
body.rota-admin .com-sidebar > .sidebar { display:none !important }
body.rota-admin .com-sidebar{display:block}
body.rota-admin .area-conteudo{display:block}
body.rota-admin .pagina{max-width:none;padding:0}
body.rota-admin{background:#F6F1EC}

.adm-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:100dvh;align-items:start}
.adm-side{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:4px;
  padding:26px 16px 18px;border-radius:0 30px 30px 0;overflow-y:auto;
  background:linear-gradient(180deg,#3E2426 0%,#331d1f 55%,#271617 100%);
  box-shadow:12px 0 40px rgba(62,36,38,.22)}
.adm-marca{display:flex;gap:13px;align-items:center;padding:4px 10px 20px;margin-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.09)}
.adm-marca .logo{width:48px;height:48px;border-radius:15px;background:#FFF4EF;display:flex;
  align-items:center;justify-content:center;font-size:24px;flex:none;
  box-shadow:0 8px 18px rgba(0,0,0,.28);border:1.5px solid rgba(255,255,255,.25)}
.adm-marca b{color:#fff;font-size:1.02rem;display:block;line-height:1.2}
.adm-marca small{color:#CDB4B6;font-size:.72rem;font-weight:600;letter-spacing:.02em}
.adm-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px 16px;border-radius:14px;
  color:#CDB4B6;font-weight:600;font-size:.92rem;text-decoration:none;transition:all .16s}
.adm-item:hover{background:rgba(255,255,255,.08);color:#fff}
.adm-item.ativa{background:var(--grad-marca,linear-gradient(135deg,#B4626C,#8A4148));color:#fff;
  box-shadow:0 8px 20px rgba(138,65,72,.4)}
.adm-item .badge{margin-left:auto;background:var(--vermelho,#C0392B);color:#fff;border-radius:999px;
  padding:1px 8px;font-size:.7rem;font-weight:800}
.adm-rodape{margin-top:auto;padding:16px 12px 4px;border-top:1px solid rgba(255,255,255,.09);
  color:#B99C9E;font-size:.78rem}
.adm-rodape a{color:#E7D2D4;text-decoration:none;font-weight:700}
.adm-main{min-width:0;max-width:1240px;width:100%;margin:0 auto;padding:26px 34px 60px}
.adm-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.adm-cabecalho h1{margin:0;font-size:1.6rem}
.adm-cabecalho .quem{font-size:.85rem;font-weight:700;opacity:.6}
/* KPIs do modelo */
.adm-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px}
.ov{background:#fff;border:1px solid #EDE2D4;border-radius:16px;padding:16px 18px;
  box-shadow:0 10px 26px rgba(90,50,30,.06);display:flex;flex-direction:column;gap:2px}
.ov .ov-l{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#8a7b74}
.ov .ov-v{font-family:var(--fonte-display);font-size:1.9rem;font-weight:700;color:var(--rose-600);letter-spacing:-.02em}
/* cards do admin no padrão do modelo */
.adm-main .card{background:#fff;border:1.5px solid #EDE2D4;border-radius:20px;
  box-shadow:0 10px 26px rgba(90,50,30,.06);padding:20px}
.adm-main .card h2{font-size:1.02rem}
.adm-main input[type=text],.adm-main input[type=email],.adm-main input[type=password],
.adm-main input[type=date],.adm-main select,.adm-main textarea{
  background:#fff;border:1.6px solid #E6D9CB;border-radius:12px}
.adm-main input:focus,.adm-main select:focus,.adm-main textarea:focus{
  outline:none;border-color:var(--rose-500);box-shadow:0 0 0 3px rgba(175,133,136,.22)}
.adm-main .membro-linha{background:#fff;border:1px solid #EDE2D4;border-radius:14px;
  padding:12px 14px;margin-bottom:8px;border-bottom:1px solid #EDE2D4}
/* mobile: sidebar vira fita horizontal no topo */
@media (max-width:899px){
  .adm-shell{display:block}
  .adm-side{position:static;height:auto;flex-direction:row;align-items:center;gap:8px;
    border-radius:0 0 24px 24px;padding:calc(12px + env(safe-area-inset-top)) 12px 12px;
    overflow-x:auto;scrollbar-width:none}
  .adm-side::-webkit-scrollbar{display:none}
  .adm-marca{border:0;margin:0;padding:0 6px 0 0}
  .adm-marca span:not(.logo){display:none}
  .adm-marca .logo{width:38px;height:38px;font-size:19px}
  .adm-item{white-space:nowrap;width:auto;padding:10px 14px;font-size:.82rem}
  .adm-rodape{margin:0;border:0;padding:0 4px;white-space:nowrap}
  .adm-main{padding:16px 16px 60px}
}

/* 📚 capas v3 — fonte redondinha + diagramação limpa */
.lt-capa{justify-content:flex-start;gap:10px;padding:16px 14px 14px}
.lt-capa .num{order:0}
.lt-capa b{order:1;font-family:'Nunito',var(--fonte),sans-serif;font-weight:800;
  font-size:1.06rem;line-height:1.3;letter-spacing:0;flex:0 0 auto;margin-top:2px;
  display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.lt-capa .orn{display:none}
.lt-capa .tempo{order:3;margin-top:auto;font-family:'Nunito',sans-serif;font-weight:800;
  font-size:.6rem;letter-spacing:.1em}
.lt-capa::after{font-size:4rem;bottom:-10px;right:4px;color:rgba(255,255,255,.05)}
.lt-estante h2{font-family:'Nunito',var(--fonte),sans-serif;font-weight:900;font-size:1.15rem;letter-spacing:-.01em}
.lt-estante h2::before{content:''}

/* admin: filtros, badges, builder de cursos, atalhos */
.adm-filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.adm-filtros .rot{font-size:.72rem;font-weight:800;text-transform:uppercase;opacity:.55}
.adm-filtros input,.adm-filtros select{min-height:44px}
.badge-plano{display:inline-block;color:#fff;font-size:.62rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.05em;border-radius:999px;padding:3px 9px;margin-left:6px;vertical-align:middle}
.adm-atalhos{display:flex;gap:8px;flex-wrap:wrap}
.adm-atalhos a{background:var(--grad-marca);color:#fff;text-decoration:none;font-weight:800;
  font-size:.85rem;border-radius:999px;padding:11px 16px;box-shadow:0 8px 20px rgba(138,65,72,.3)}
.adm-atalhos a:nth-child(even){background:#fff;color:var(--rose-600);border:1.5px solid #EDE2D4;box-shadow:none}
.curso-bloco{background:#fff;border:1.5px solid #EDE2D4;border-radius:16px;padding:4px 14px;margin-bottom:12px}
.curso-bloco > summary{display:flex;align-items:center;gap:12px;min-height:54px;cursor:pointer;font-size:1rem}
.curso-bloco > summary .cemoji{font-size:1.4rem}
.curso-bloco > summary small{margin-left:auto;opacity:.55;font-size:.75rem}
.linha-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin:8px 0}
.linha-form label{margin:0}
.modulo-bloco{border-left:3px solid var(--rose-100);margin:10px 0 14px 6px;padding-left:12px}
.mod-cab .mnum{font-size:1.1rem}
.aula-linha{border:1px solid #F0E6DA;border-radius:12px;margin:6px 0;padding:2px 12px;background:#FDFBF8}
.aula-linha > summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem}
.mini-add > summary{font-size:.85rem;color:var(--rose-600);font-weight:700}
.sos-emergencia .botao{margin:6px 0}

/* ✨ O seu retrato hoje (topo dos Testes) */
.retrato-hero{background:linear-gradient(150deg,#3E2426,#6E3B41 60%,#8A4148);color:#fff;
  border-radius:var(--raio-card,24px);padding:22px 20px;margin:14px 0 18px;
  box-shadow:0 18px 44px rgba(62,36,38,.32)}
.retrato-hero h2{color:#fff;margin:0 0 2px;font-size:1.2rem}
.retrato-hero > p{opacity:.85;font-size:.86rem;margin:0 0 14px}
.retrato-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.retrato-card{display:flex;flex-direction:column;gap:3px;text-decoration:none;color:#fff;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:16px;
  padding:14px 14px 12px;transition:transform .15s ease,background .15s ease}
@media(hover:hover){.retrato-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.17)}}
.retrato-card .emo{font-size:1.5rem;line-height:1}
.retrato-card .qual{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.retrato-card .perf{font-family:'Nunito',var(--fonte),sans-serif;font-weight:800;font-size:1rem;line-height:1.25}
.retrato-card .res{font-size:.78rem;opacity:.82;line-height:1.35}
.retrato-card .quando{font-size:.7rem;opacity:.6;margin-top:4px}
.retrato-card.risco{border-color:rgba(255,180,180,.6);background:rgba(192,57,43,.28)}
.retrato-card.criterio{margin-top:10px;background:rgba(255,255,255,.16)}

/* ⚡ Leitura relâmpago (resumo TDAH no topo do resultado) */
.relampago{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:14px 0}
.rel-item{background:#fff;border:1.5px solid #EDE2D4;border-radius:18px;padding:14px 16px;
  display:flex;flex-direction:column;gap:2px;box-shadow:0 8px 22px rgba(90,50,30,.06)}
.rel-item .rel-emo{font-size:1.5rem;line-height:1}
.rel-item .rel-rot{font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.55}
.rel-item .rel-val{font-family:'Nunito',var(--fonte),sans-serif;font-weight:800;font-size:1rem;
  line-height:1.25;color:var(--rose-600)}

/* 🎬 fileiras de aula: no desktop QUEBRA em grade (nada cortado);
   no celular desliza com o dedo e mostra que tem mais */
@media (min-width: 900px) {
  .fileira{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));overflow:visible;
    scroll-snap-type:none;padding-bottom:6px}
  .aula-card{min-width:0;max-width:none}
}
@media (max-width: 899px) {
  .fileira{margin:0 -16px;padding-left:16px;padding-right:16px;-webkit-overflow-scrolling:touch}
  .aula-card{min-width:190px;max-width:190px}
}

/* 📕 capas v4 — título centralizado no miolo, cara de livro de verdade */
.lt-capa{padding:18px 15px 16px;justify-content:space-between}
.lt-capa .num{order:0;flex:none}
.lt-capa b{order:1;flex:1;display:flex;align-items:center;justify-content:center;text-align:center;
  -webkit-line-clamp:6;font-size:1.08rem;line-height:1.32;padding:0 2px;
  text-shadow:0 2px 10px rgba(0,0,0,.35)}
.lt-capa .orn{display:block;order:2;font-size:.9rem;opacity:.45;margin:0 0 6px;letter-spacing:.3em}
.lt-capa .tempo{order:3;flex:none;margin-top:0;padding-top:10px;position:relative}
.lt-capa .tempo::before{content:'';position:absolute;top:0;left:22%;right:22%;height:1px;
  background:rgba(255,255,255,.28)}
.lt-capa::before{inset:9px;border-color:rgba(255,255,255,.26);border-radius:6px 9px 9px 6px}
.lt-capa::after{font-size:3.4rem;bottom:-4px;right:6px;color:rgba(255,255,255,.045)}
.lt-capa .estado,.lt-capa .cadeado{top:14px;right:14px}

/* 🖍️ painel com os sublinhados do texto (jeito fácil de apagar) */
.lt-marcas-btn{font-size:1.05rem}
.lt-painel-marcas{position:fixed;top:calc(58px + env(safe-area-inset-top));left:12px;right:12px;
  z-index:140;max-width:680px;margin:0 auto;background:var(--lt-card);
  border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.32);padding:16px 18px;
  max-height:min(62vh,520px);overflow-y:auto;font-family:var(--fonte);
  animation:subir .22s cubic-bezier(.2,.8,.3,1) both}
.lt-painel-marcas[hidden]{display:none}
.lt-painel-marcas .pm-topo{display:flex;align-items:center;justify-content:space-between;
  gap:10px;margin-bottom:10px;font-size:.95rem}
.lt-painel-marcas .pm-topo button{border:0;background:var(--lt-suave);color:inherit;width:34px;height:34px;
  border-radius:50%;cursor:pointer;font-size:.85rem}
.pm-item{display:flex;gap:8px;align-items:flex-start;border-left:3px solid var(--rose-400);
  padding:8px 0 8px 10px;margin-bottom:6px}
.pm-item.rose{border-left-color:#AF8588}.pm-item.ambar{border-left-color:#C98B2D}.pm-item.verde{border-left-color:#4C9A6B}
.pm-txt{flex:1;text-align:left;border:0;background:none;color:inherit;font:inherit;font-size:.86rem;
  line-height:1.4;cursor:pointer;padding:0}
.pm-txt:hover{text-decoration:underline}
.pm-apagar{flex:none;border:0;background:rgba(192,57,43,.12);color:#C0392B;width:36px;height:36px;
  border-radius:10px;cursor:pointer;font-size:.9rem}
.pm-apagar:hover{background:rgba(192,57,43,.24)}
.pm-dica{font-size:.72rem;opacity:.6;margin:8px 0 0}
.pm-vazio{font-size:.85rem;opacity:.75;line-height:1.5;margin:0}
.lt-marca.piscando{animation:piscar-marca 1.5s ease}
@keyframes piscar-marca{0%,100%{filter:none}30%,70%{filter:brightness(.75) saturate(2)}}

/* 🔎 campo de busca das Leituras com a cara da marca */
.lt-busca{position:relative;margin:6px 0 14px}
.lt-busca input[type=search]{width:100%;min-height:52px;padding:14px 18px 14px 46px;
  border-radius:999px;border:1.5px solid rgba(99,59,59,.12);background:var(--card,#fff);
  font-family:'Nunito',var(--fonte),sans-serif;font-weight:700;font-size:.95rem;
  color:var(--vinho-900);box-shadow:0 8px 22px rgba(90,50,30,.07);appearance:none}
.lt-busca input[type=search]::placeholder{color:var(--vinho-900);opacity:.42;font-weight:600}
.lt-busca input[type=search]:focus{outline:none;border-color:var(--rose-500);
  box-shadow:0 0 0 4px rgba(175,133,136,.2),0 8px 22px rgba(90,50,30,.07)}
.lt-busca::before{content:'';position:absolute;left:18px;top:50%;width:17px;height:17px;
  transform:translateY(-50%);pointer-events:none;opacity:.5;
  background:currentColor;color:var(--rose-600);
  -webkit-mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E");
  mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E")}
.lt-busca input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;height:18px;width:18px;
  border-radius:50%;background:rgba(99,59,59,.18);cursor:pointer}

/* 📖 material do método: hero, índice e seções numeradas */
.mat-hero{border-radius:var(--raio-card,24px);padding:26px 22px;margin:8px 0 16px;color:#fff;
  box-shadow:0 16px 40px rgba(62,36,38,.28)}
.mat-hero.jur{background:linear-gradient(150deg,#C0392B,#7d2018)}
.mat-hero.fer{background:linear-gradient(150deg,#B4626C,#6E3B41)}
.mat-hero.alem{background:linear-gradient(150deg,#7C5A3E,#3a2716)}
.mat-hero .mat-emo{font-size:2.4rem;display:block;margin-bottom:6px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.3))}
.mat-hero h1{color:#fff;-webkit-text-fill-color:#fff;margin:0;font-size:1.6rem;line-height:1.2}
.mat-hero p{margin:8px 0 0;opacity:.9;font-size:.85rem;font-weight:600}
.mat-indice a{display:flex;align-items:center;gap:10px;padding:10px 0;text-decoration:none;
  color:var(--vinho-900);border-bottom:1px solid rgba(99,59,59,.07);font-weight:600;font-size:.92rem}
.mat-indice a:last-child{border-bottom:0}
.mat-indice .n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--rose-100);
  color:var(--rose-600);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800}
.mat-secao{scroll-margin-top:80px}
.mat-secao h2{display:flex;align-items:center;gap:10px}
.mat-secao .mat-num{flex:none;width:30px;height:30px;border-radius:10px;color:#fff;font-size:.85rem;
  display:flex;align-items:center;justify-content:center;background:var(--grad-marca);font-weight:800}
.leitura-viva ol,.leitura-viva ul{padding-left:1.1rem}
.leitura-viva li{margin:.5em 0;line-height:1.6}
.pm-item.fantasma{opacity:.6}
.pm-item.fantasma .pm-txt{cursor:default;font-style:italic}
/* selo BR do nome da marca (ALMA livre BR) */
.marca .br,.marca-lateral .br{font-size:.58em;font-weight:800;letter-spacing:.1em;
  vertical-align:.35em;opacity:.7;margin-left:1px}

/* 📡 Radar de notícias */
.radar-item{padding:16px 18px}
.radar-item .ri-topo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.radar-item .ri-quando{font-size:.72rem;font-weight:800;opacity:.65}
.radar-item .ri-quando.quente{color:#C0392B;opacity:1}
.radar-item .ri-titulo{margin:0;font-family:'Nunito',var(--fonte),sans-serif;font-weight:800;
  font-size:1.02rem;line-height:1.35}
.radar-item .ri-nota{margin:6px 0 0;font-size:.85rem;opacity:.8;background:var(--rose-100);
  border-radius:10px;padding:6px 10px;display:inline-block}
.radar-item .ri-acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.ri-mais{box-shadow:none;margin:0;flex:1;min-width:180px}
.ri-mais > summary{min-height:38px;width:44px;justify-content:center;font-weight:800}
/* preview do carrossel (fileira de cards 4:5) */
.carrossel-preview{display:flex;gap:10px;overflow-x:auto;padding:6px 2px 12px;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(138,65,72,.45) transparent;
  cursor:grab;scroll-behavior:smooth}
.carrossel-preview.arrastando{cursor:grabbing;scroll-behavior:auto;user-select:none}
.carrossel-preview::-webkit-scrollbar{height:8px}
.carrossel-preview::-webkit-scrollbar-thumb{background:rgba(138,65,72,.4);border-radius:999px}
.carrossel-preview::-webkit-scrollbar-track{background:rgba(99,59,59,.08);border-radius:999px}
/* setas ‹ › pra quem usa mouse */
.cc-rolagem{position:relative}
.cc-seta{position:absolute;top:42%;transform:translateY(-50%);z-index:5;width:38px;height:38px;
  border:0;border-radius:50%;background:rgba(62,36,38,.82);color:#fff;font-size:1.1rem;font-weight:800;
  cursor:pointer;box-shadow:0 4px 14px rgba(62,36,38,.35);display:flex;align-items:center;justify-content:center}
.cc-seta:hover{background:var(--rose-600, #8A4148)}
.cc-seta.esq{left:-6px}
.cc-seta.dir{right:-6px}
.cc-seta[hidden]{display:none}
/* prévia = espelho fiel da imagem 1080x1350 (mesma fonte, mesma margem, mesmo filete) */
.cc-card{position:relative;flex:0 0 230px;aspect-ratio:4/5;border-radius:16px;padding:53px 22px 45px;
  background:linear-gradient(160deg,#6E3B41,#2E181B);color:#fff;display:flex;align-items:center;
  box-shadow:0 10px 26px rgba(62,36,38,.25);overflow:hidden}
/* o brilho suave do alto, igual ao do canvas */
.cc-card::before{content:'';position:absolute;left:-30%;top:-25%;width:180%;height:120%;pointer-events:none;
  background:radial-gradient(circle at 22% 16%, rgba(255,255,255,.09), rgba(255,255,255,0) 62%)}
/* o filete da marca */
.cc-card::after{content:'';position:absolute;left:22px;top:35px;width:18px;height:3px;border-radius:3px;
  background:rgba(255,255,255,.5)}
.cc-card p{margin:0;font-family:"Helvetica Neue",Helvetica,Inter,Arial,sans-serif;font-weight:600;
  font-size:.87rem;line-height:1.36;width:100%;text-align:left;position:relative}
/* CAPA: card 1 com a fonte de display da marca, maior e mais fechada */
.cc-envelope:first-child .cc-card::before{background:radial-gradient(circle at 22% 16%, rgba(255,255,255,.17), rgba(255,255,255,0) 62%)}
.cc-envelope:first-child .cc-card::after{width:36px;height:4px;background:rgba(255,255,255,.92)}
.cc-envelope:first-child .cc-card p{font-family:Fraunces,Georgia,serif;font-weight:700;
  font-size:1.12rem;line-height:1.18}
/* o número saiu de DENTRO do card (a imagem não tem número): agora é só uma ajudinha embaixo */
.cc-acoes .cc-num{font-size:.64rem;font-weight:800;opacity:.45;min-width:26px}
.cc-card .cc-copiar{position:absolute;left:12px;bottom:10px;border:0;border-radius:999px;
  background:rgba(255,255,255,.16);color:#fff;font-size:.7rem;font-weight:800;padding:6px 12px;cursor:pointer}
.cc-card .cc-copiar:hover{background:rgba(255,255,255,.3)}
.cc-card:first-child{background:var(--grad-marca)}

/* 🎨 carrossel: paleta por card + baixar imagem */
.cc-envelope{flex:0 0 230px;display:flex;flex-direction:column;gap:6px}
.cc-envelope .cc-card{flex:none;width:100%}
.cc-card.cor-0{background:linear-gradient(160deg,#B4626C,#8A4148)}
.cc-card.cor-1{background:linear-gradient(160deg,#6E3B41,#2E181B)}
.cc-card.cor-2{background:linear-gradient(160deg,#7C5A3E,#33210F)}
.cc-card.cor-3{background:linear-gradient(160deg,#5C3A52,#241123)}
.cc-card.cor-4{background:linear-gradient(160deg,#42584D,#15211C)}
.cc-card.cor-5{background:linear-gradient(160deg,#FAF5F1,#EEE9E4)}
.cc-card.cor-5 p,.cc-card.cor-5 .cc-num,.cc-card.cor-5 .cc-arroba{color:#3E2426}
.cc-card.cor-5::after{background:rgba(138,65,72,.55)}
.cc-envelope:first-child .cc-card.cor-5::after{background:rgba(138,65,72,.9)}
.cc-card.cor-5::before{background:radial-gradient(circle at 22% 16%, rgba(255,255,255,.55), rgba(255,255,255,0) 62%)}
.cc-card .cc-arroba{position:absolute;bottom:20px;left:22px;text-align:left;
  font-family:"Helvetica Neue",Helvetica,Inter,Arial,sans-serif;font-weight:600;font-size:.58rem;
  opacity:.62;letter-spacing:.02em}
.cc-acoes{display:flex;align-items:center;gap:6px}
.cc-cores{display:flex;gap:4px;flex:1}
.cc-swatch{width:22px;height:22px;border-radius:50%;border:2px solid rgba(99,59,59,.2);cursor:pointer;padding:0}
.cc-swatch:hover{transform:scale(1.15)}
.cc-swatch.sw-0{background:linear-gradient(135deg,#B4626C,#8A4148)}
.cc-swatch.sw-1{background:linear-gradient(135deg,#6E3B41,#2E181B)}
.cc-swatch.sw-2{background:linear-gradient(135deg,#7C5A3E,#33210F)}
.cc-swatch.sw-3{background:linear-gradient(135deg,#5C3A52,#241123)}
.cc-swatch.sw-4{background:linear-gradient(135deg,#42584D,#15211C)}
.cc-swatch.sw-5{background:linear-gradient(135deg,#FAF5F1,#D5BDC1)}
.cc-mini{border:0;border-radius:10px;background:rgba(99,59,59,.1);min-width:34px;min-height:34px;
  cursor:pointer;font-size:.85rem}
.cc-mini.forte{background:var(--grad-marca);color:#fff}
.cc-card .cc-copiar{display:none}

/* 📡 Radar v2: filtros + galeria de cards */
.radar-filtros{background:#fff;border:1.5px solid #EDE2D4;border-radius:18px;padding:12px 14px;
  margin-bottom:14px;display:flex;flex-direction:column;gap:8px;box-shadow:0 8px 22px rgba(90,50,30,.06)}
.rf-linha{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rf-rot{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;opacity:.5;min-width:96px}
.rf-chip{font-size:.78rem;font-weight:700;padding:7px 12px;border-radius:999px;text-decoration:none;
  color:var(--vinho-900);background:#FAF5F1;border:1.5px solid #EDE2D4;white-space:nowrap}
.rf-chip b{opacity:.55;font-size:.72rem}
.rf-chip:hover{border-color:var(--rose-400)}
.rf-chip.on{background:var(--grad-marca);color:#fff;border-color:transparent}
.rf-chip.on b{opacity:.8}
.rf-chip.g3.on{background:linear-gradient(135deg,#C0392B,#8E2F28)}
.rf-chip.g2.on{background:linear-gradient(135deg,#C98B2D,#8a6320)}
.rf-total{font-size:.75rem;opacity:.55;font-weight:700}

.radar-galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rg-card{background:#fff;border:1.5px solid #EDE2D4;border-radius:20px;padding:16px;
  display:flex;flex-direction:column;gap:8px;box-shadow:0 10px 26px rgba(90,50,30,.07);
  border-top:5px solid var(--rose-400);transition:transform .15s ease,box-shadow .15s ease}
@media(hover:hover){.rg-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(90,50,30,.12)}}
.rg-card.g3{border-top-color:#C0392B}
.rg-card.g2{border-top-color:#C98B2D}
.rg-card.g1{border-top-color:#8FA99A}
.rg-topo{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rg-grav{font-size:.9rem}
.rg-cat{font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  background:var(--rose-100);color:var(--rose-600);border-radius:999px;padding:3px 9px}
.rg-quando{margin-left:auto;font-size:.7rem;font-weight:700;opacity:.5}
.rg-quando.quente{color:#C0392B;opacity:1}
.rg-titulo{margin:0;font-family:'Nunito',var(--fonte),sans-serif;font-weight:800;font-size:.98rem;
  line-height:1.35;flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rg-fonte{margin:0;font-size:.72rem;opacity:.5;font-weight:600}
.rg-nota{margin:0;font-size:.78rem;background:var(--rose-100);border-radius:10px;padding:6px 9px}
.rg-acoes{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.rg-acoes form{margin:0;display:flex}
.rg-gerar{width:100%}
.rg-secundarias{display:flex;gap:6px;flex-wrap:wrap}
.rg-secundarias form{flex:1}
.rg-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:100%;min-height:38px;
  border:0;border-radius:12px;background:#FAF5F1;color:var(--vinho-900);cursor:pointer;
  font-size:.76rem;font-weight:700;text-decoration:none;padding:0 8px;white-space:nowrap}
.rg-btn:hover{background:var(--rose-100)}
.rg-btn.apagar:hover{background:#FDECEA;color:#C0392B}
.rg-btn.principal{background:linear-gradient(135deg,#4C9A6B,#2F7048);color:#fff;font-size:.86rem;
  min-height:44px;box-shadow:0 6px 16px rgba(47,112,72,.3)}
.rg-btn.principal:hover{filter:brightness(1.06)}
.rg-btn:disabled{opacity:.6}
.rg-nota-form{border-top:1px solid rgba(99,59,59,.07);padding-top:6px}
.rg-nota-form summary{font-size:.72rem;opacity:.6;cursor:pointer;min-height:30px;display:flex;align-items:center}
.rg-nota-form form{display:flex;gap:6px;padding:6px 0 0}
.rg-nota-form input{flex:1;min-height:38px;font-size:.82rem}
@media (max-width:1200px){.radar-galeria{grid-template-columns:repeat(2,1fr)}}
@media (max-width:899px){.radar-galeria{grid-template-columns:1fr}.rf-rot{min-width:auto}}

/* 🖼️ PRÉVIA = ESPELHO da imagem 1080x1350. Tudo aqui tem par no desenharCard() do app.js:
   margem, entrelinha, filete da marca, capa em Fraunces e a assinatura à esquerda.
   Mexeu num lado? Mexe no outro — senão ela vê uma coisa e baixa outra. */
.cc-card{padding:53px 22px 45px;align-items:center}
.cc-card p{font-family:"Helvetica Neue",Helvetica,Inter,Arial,sans-serif;font-weight:600;
  text-align:left;font-size:.87rem;line-height:1.36}
.cc-card .cc-num{display:none}
.cc-card .cc-arroba{text-align:left;left:22px;right:auto;bottom:20px;
  font-family:"Helvetica Neue",Helvetica,Inter,Arial,sans-serif;
  font-weight:600;font-size:.58rem;opacity:.62;letter-spacing:.02em}
/* CAPA (card 1): a fonte de display da marca, maior, entrelinha fechada */
.cc-envelope:first-child .cc-card p{font-family:Fraunces,Georgia,"Times New Roman",serif;
  font-weight:700;font-size:1.12rem;line-height:1.18}

/* ⬇️ baixar todas: o botão principal do carrossel */
.baixar-tudo{background:linear-gradient(135deg,#4C9A6B,#2F7048)!important;color:#fff!important;
  box-shadow:0 6px 16px rgba(47,112,72,.3)}
.baixar-tudo:hover{filter:brightness(1.07)}
.baixar-tudo:disabled{filter:saturate(.6)}
.dica-baixar{font-size:.76rem;opacity:.6;margin:2px 0 10px;line-height:1.5}

/* A− / A+ do carrossel */
.cc-barra-fonte{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 10px;
  font-size:.78rem;font-weight:700;opacity:.8}
.cc-barra-fonte small{font-weight:600;opacity:.6;font-size:.72rem;margin-left:6px}
.cc-fonte-btn{border:1.5px solid #E6D9CB;background:#fff;border-radius:10px;min-width:40px;min-height:34px;
  cursor:pointer;font-weight:800;font-size:.82rem;color:var(--vinho-900)}
.cc-fonte-btn:hover{border-color:var(--rose-500);background:var(--rose-100)}
.cc-fonte-valor{min-width:44px;text-align:center;color:var(--rose-600)}
.carrossel-preview{--escala-card:1}
.cc-card p{font-size:calc(.88rem * var(--escala-card, 1))}
/* a CAPA tem regra de fonte mais específica lá em cima — sem esta linha ela ignorava o A−/A+ */
.cc-envelope:first-child .cc-card p{font-size:calc(1.12rem * var(--escala-card, 1))}

/* 📤 cartão compartilhável do resultado: imprimir mostra SÓ ele */
@media print {
  body * { visibility: hidden !important; }
  .resumo-share, .resumo-share * { visibility: visible !important; }
  .resumo-share { position: absolute; inset: 20px auto auto 20px; width: 90%; box-shadow: none; }
  .resumo-share .so-tela { display: none !important; }
}

/* botões do carrossel alinhados na mesma linha de base */
.carrossel-acoes{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
.carrossel-acoes form{margin:0;display:flex}
.carrossel-acoes .botao,.carrossel-acoes .btn-sair-rapido{margin:0;min-height:40px;display:inline-flex;
  align-items:center;justify-content:center}
.carrossel-acoes .btn-sair-rapido{width:40px;border-radius:12px;background:rgba(99,59,59,.08)}
.carrossel-acoes .btn-sair-rapido:hover{background:#FDECEA;color:#C0392B}
/* agenda do carrossel */
.cc-agenda{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 10px}
.cc-agenda form{margin:0;display:flex;gap:6px;align-items:center}
.cc-agenda input[type=date]{min-height:38px;font-size:.82rem}
.cc-agenda .botao.mini{min-height:38px}
.cc-agenda .botao.ativo{background:linear-gradient(135deg,#4C9A6B,#2F7048);color:#fff}
.cc-status{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  padding:6px 12px;border-radius:999px;background:#FAF5F1;border:1.5px solid #EDE2D4}
.cc-status.agendado{background:#FBF3E2;border-color:#E2CFA6;color:#8a6320}
.cc-status.postado{background:#E4F2E6;border-color:#B7DDC6;color:#2F7048}
/* seletor de estilo do carrossel no card da notícia */
.rg-estilo{flex:none;min-height:38px;font-size:.74rem;padding:4px 8px;border-radius:12px;
  border:1.5px solid #E6D9CB;background:#fff;max-width:130px}
.rg-gerar{display:flex;gap:6px;align-items:center}
.rg-gerar .rg-btn.principal{flex:1}

/* 🗓️ calendário do Meu Ciclo — real pintado, estimado em tons */
.ciclo-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin: 10px 0 12px; }
.cc-dow { text-align: center; font-size: .68rem; font-weight: 800; opacity: .5; text-transform: uppercase; }
.cc-dia { position: relative; aspect-ratio: 1; display: flex; align-items: center; justify-content: center;
  border-radius: 12px; font-size: .85rem; font-weight: 600; color: var(--vinho-900); }
.cc-dia.folicular { background: color-mix(in srgb, var(--rose-100) 55%, var(--card)); }
.cc-dia.menstrual { background: var(--rose-100); }
.cc-dia.fertil { background: #E4F2E6; }
.cc-dia.lutea { background: var(--pessego); }
.cc-dia.sangrou { background: var(--grad-marca); color: #fff; }
.cc-dia.hoje { outline: 2.5px solid var(--rose-600); outline-offset: 1px; }
.cc-dia.futuro { opacity: .55; }
.cc-check { position: absolute; bottom: 4px; left: 50%; transform: translateX(-50%);
  width: 5px; height: 5px; border-radius: 50%; background: var(--verde); display: inline-block; }
.cc-legenda { display: flex; flex-wrap: wrap; gap: 10px 16px; font-size: .75rem; opacity: .85; }
.cc-legenda .lg { display: inline-block; width: 12px; height: 12px; border-radius: 4px; vertical-align: -2px; margin-right: 4px; }
.cc-legenda .lg.sangrou { background: var(--grad-marca); }
.cc-legenda .lg.menstrual { background: var(--rose-100); }
.cc-legenda .lg.fertil { background: #E4F2E6; }
.cc-legenda .lg.lutea { background: var(--pessego); }
.cc-legenda .lg.folicular { background: color-mix(in srgb, var(--rose-100) 55%, var(--card)); }

/* 📚 jornada: a PRÓXIMA leitura chama com um brilho gentil */
.lt-capa.proxima { box-shadow: 0 14px 30px rgba(62,36,38,.28), 0 0 0 3px var(--rose-400),
  0 0 22px rgba(201,138,145,.55); animation: chama-leitura 2.6s ease-in-out infinite; }
@keyframes chama-leitura { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@media (prefers-reduced-motion: reduce) { .lt-capa.proxima { animation: none; } }
.lt-titulo-leitora .trilho { margin-top: 8px; }

/* 🎬 arrastar módulos/aulas */
.alca-arrasto { cursor: grab; opacity: .45; font-size: 1rem; user-select: none; padding: 0 2px; }
.alca-arrasto:active { cursor: grabbing; }
.aula-linha.arrastando, .modulo-bloco.arrastando { opacity: .45; outline: 2px dashed var(--rose-400); border-radius: 12px; }

/* 📚 jornada: avisos que matam a sensação de 'conteúdo pago' */
.lt-como-funciona { font-size: .88rem; opacity: .8; margin: 4px 0 10px; }
.lt-estante-trancada { display: block; font-size: .74rem; font-weight: 600; opacity: .65; margin-top: 2px; }

/* ===== 🌷 Depois do date: a leitura guiada do encontro ===== */
.pd-ajuda{font-size:.92rem;line-height:1.6;opacity:.82;background:var(--rose-100,#F6E3E4);
  border-radius:14px;padding:14px 16px;margin:10px 0 18px}
.pd-acao{display:inline-block;background:rgba(255,255,255,.22);border:1.5px solid rgba(255,255,255,.5);
  color:#fff;border-radius:999px;padding:9px 18px;font-weight:800;font-size:.92rem}
.pd-lista{list-style:none;padding:0;margin:0}
.pd-lista li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid rgba(99,59,59,.12)}
.pd-lista li:first-child{border-top:0}
.pd-lista .pd-bola{font-size:1.15rem;line-height:1.3}
.pd-lista small{opacity:.75}
.pd-lista li.pd-vermelho b{color:var(--vermelho,#C0504B)}
.pd-lista li.pd-laranja b{color:#A85A17}
/* linha do tempo dos encontros na ficha */
.pd-linha{list-style:none;padding:0;margin:0}
.pd-linha li{display:flex;gap:12px;align-items:center;padding:11px 0;border-top:1px solid rgba(99,59,59,.12)}
.pd-linha li:first-child{border-top:0}
.pd-linha .quando{font-size:.8rem;opacity:.65;min-width:74px}
.pd-linha .veredito{font-weight:800;font-size:.9rem}
.pd-passos{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.pd-passo{display:flex;gap:14px;align-items:flex-start;background:var(--card,#fff);
  border-radius:16px;padding:16px 18px;box-shadow:0 4px 14px rgba(62,36,38,.08)}
.pd-passo .n{flex:0 0 34px;height:34px;border-radius:50%;background:var(--grad-marca,#8A4148);
  color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.pd-passo b{display:block;margin-bottom:2px}
.pd-passo small{opacity:.78;line-height:1.5}
.pd-abertura{background:var(--grad-marca,linear-gradient(140deg,#B4626C,#8A4148));color:#fff;
  border-radius:var(--raio-card,20px);padding:22px;margin:8px 0 14px}
.pd-abertura h1{color:#fff;font-size:1.45rem}
.pd-abertura p{font-size:.95rem;line-height:1.6;opacity:.95}
.pd-carinhas{display:flex;gap:10px;flex-wrap:wrap}
.pd-carinhas label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  border:2px solid rgba(99,59,59,.18);border-radius:14px;padding:8px 12px;min-height:48px;transition:.15s}
.pd-carinhas label span{font-size:1.5rem;line-height:1}
.pd-carinhas input{position:absolute;opacity:0;width:0;height:0}
.pd-carinhas label:has(input:checked){border-color:var(--rose-600,#8A4148);
  background:var(--rose-100,#F6E3E4);transform:scale(1.06)}

/* ===== 🌱 Jardim de Fontes de Amor: o caminho e a rega ===== */
.jd-caminho{display:flex;gap:8px;margin:10px 0 14px}
.jd-passo{flex:1;position:relative;background:var(--card,#fff);border-radius:16px;padding:14px 10px 12px;
  text-align:center;box-shadow:0 3px 12px rgba(62,36,38,.07);opacity:.55;border:2px solid transparent}
.jd-passo .jd-emo{font-size:1.5rem;display:block;line-height:1.2}
.jd-passo b{display:block;font-size:.92rem;margin-top:3px}
.jd-passo small{display:block;font-size:.72rem;opacity:.75;line-height:1.3}
.jd-passo.feito{opacity:.85}
.jd-passo.feito .jd-emo::after{content:' ✓';font-size:.8rem;color:var(--verde,#4C9A6B)}
.jd-passo.agora{opacity:1;border-color:var(--rose-500,#B4626C);
  box-shadow:0 6px 20px rgba(138,65,72,.18);transform:translateY(-2px)}
.jd-voce{position:absolute;left:50%;transform:translateX(-50%);bottom:-9px;white-space:nowrap;
  background:var(--rose-600,#8A4148);color:#fff;font-size:.6rem;font-weight:800;
  letter-spacing:.04em;padding:3px 9px;border-radius:999px}
.jd-rega .jd-barra{display:flex;align-items:center;gap:10px}
.jd-rega .jd-barra .trilho{flex:1}
.jd-conta{font-size:.82rem;font-weight:800;opacity:.7;white-space:nowrap}
.jd-convite{background:var(--rose-100,#F6E3E4);border-radius:14px;padding:14px 16px}
.jd-vitoria{background:linear-gradient(140deg,#5FA478,#2F6947);color:#fff;border-radius:14px;padding:14px 16px}
.jd-toques{display:flex;flex-direction:column;gap:8px}
.jd-fonte{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;
  background:var(--card,#fff);border:2px solid rgba(99,59,59,.16);border-radius:14px;
  padding:13px 15px;min-height:52px;font-size:.95rem;font-weight:600;color:inherit;transition:.15s}
.jd-fonte .jd-ico{font-size:1.2rem;line-height:1}
.jd-fonte:active{transform:scale(.985)}
.jd-fonte.regada{background:linear-gradient(135deg,#EAF4EE,#D9EBE0);border-color:var(--verde,#4C9A6B)}
.jd-fonte.regada span:last-child{text-decoration:line-through;opacity:.7}
@media(hover:hover){.jd-fonte:hover{border-color:var(--rose-400,#C98A91)}}
.jd-area{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  opacity:.6;margin:14px 0 6px}
.jd-area:first-of-type{margin-top:6px}

/* ✏️ texto editavel na previa do carrossel: pista discreta (cursor + tracejado) */
.cc-card p[contenteditable]{cursor:text;white-space:pre-wrap;border-radius:6px;
  outline:1px dashed transparent;outline-offset:3px;transition:outline-color .15s;min-height:1em}
.cc-card p[contenteditable]:hover{outline-color:rgba(255,255,255,.4)}
.cc-card p[contenteditable]:focus{outline:2px dashed currentColor;outline-offset:3px}
/* durante a edicao, texto comprido pode rolar dentro do card (o cursor nunca some) */
.cc-card:focus-within{overflow-y:auto}
.cc-card.cor-5 p[contenteditable]:hover{outline-color:rgba(62,36,38,.45)}
[data-legenda][contenteditable]{cursor:text;border-radius:6px;outline:1px dashed transparent;outline-offset:3px}
[data-legenda][contenteditable]:hover{outline-color:rgba(130,71,71,.4)}
[data-legenda][contenteditable]:focus{outline:2px dashed #824747;outline-offset:3px}
/* avisos do salvamento automatico (paleta oficial, contraste medido >= 4.5) */
.cc-aviso{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:9px;display:inline-block;
  align-self:flex-start;background:#EEE9E4;color:#3E2426;max-width:230px}
.cc-aviso.ok{background:#42584D;color:#fff}
.cc-aviso.erro{background:#7A2E33;color:#fff}
.cc-aviso.estourou{background:#7C5A3E;color:#fff}
details.faq > .cc-aviso{margin:6px 0 0}
summary [data-desfazer-legenda]{margin-left:8px}

/* ===== 🌱 Jardim v3: proposta, cards de fonte e ficha de acompanhamento ===== */
.jd-proposta p{margin:0 0 12px;line-height:1.6}
.jd-regras{display:grid;gap:8px}
.jd-regra{background:var(--rose-100,#F6E3E4);border-radius:12px;padding:11px 14px}
.jd-regra b{display:block;font-size:.92rem}
.jd-regra small{opacity:.8;line-height:1.45}
@media(min-width:700px){.jd-regras{grid-template-columns:repeat(3,1fr)}}
.jd-cards{display:grid;gap:8px}
.jd-card{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;
  background:var(--card,#fff);border:2px solid rgba(99,59,59,.14);border-radius:14px;
  padding:13px 14px;min-height:60px;transition:.15s}
.jd-card-emo{font-size:1.35rem;line-height:1}
.jd-card-txt{flex:1}
.jd-card-txt b{display:block;font-size:.96rem;line-height:1.3}
.jd-card-txt small{opacity:.7;font-size:.78rem}
.jd-card-seta{opacity:.35;font-size:1.4rem;font-weight:700}
.jd-card.viva{border-left:5px solid var(--verde,#4C9A6B)}
.jd-card.secando{border-left:5px solid var(--ambar,#D98E3B)}
.jd-card.nova{border-left:5px solid var(--rose-400,#C98A91)}
.jd-card.murcha{opacity:.6;border-left:5px solid rgba(99,59,59,.25)}
@media(hover:hover){.jd-card:hover{border-color:var(--rose-400,#C98A91);transform:translateX(3px)}}
.jd-ficha-topo{display:flex;align-items:center;gap:14px}
.jd-ficha-emo{font-size:2.1rem;line-height:1}
.jd-numeros{display:flex;gap:10px;text-align:center}
.jd-num{flex:1}
.jd-num b{display:block;font-family:var(--fonte-display,serif);font-size:1.6rem;line-height:1.1}
.jd-num small{opacity:.7;font-size:.75rem}
.jd-nota{padding:12px 0;border-top:1px solid rgba(99,59,59,.12)}
.jd-nota:first-of-type{border-top:0;padding-top:0}
.jd-nota-topo{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.jd-nota-topo .quando{font-size:.78rem;opacity:.6;font-weight:700}
.jd-tag{background:var(--rose-100,#F6E3E4);border-radius:999px;padding:3px 10px;font-size:.76rem;font-weight:700}
.jd-pontos{display:flex;gap:6px;flex-wrap:wrap}
.jd-ponto{background:linear-gradient(135deg,#EAF4EE,#D9EBE0);border:1px solid rgba(76,154,107,.35);
  border-radius:8px;padding:5px 9px;font-size:.72rem;font-weight:700}
.jd-hoje-ok{background:linear-gradient(135deg,#EAF4EE,#D9EBE0);border-radius:12px;padding:10px 14px;font-size:.9rem}
.jd-terr.principal{border-left:5px solid var(--rose-600,#8A4148)}
.jd-selo-terr{font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  background:var(--rose-600,#8A4148);color:#fff;border-radius:999px;padding:4px 10px;vertical-align:middle}
.sug-pill.plantada{opacity:.55;cursor:default;border-style:dashed}

/* ===== 🪞 Espelho: a explicação · 🔄 Recomeçar ===== */
.esp-proposta p{line-height:1.6}
.esp-como{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.esp-como li{background:var(--rose-100,#F6E3E4);border-radius:12px;padding:10px 14px;font-size:.9rem;line-height:1.5}
.esp-item{padding:12px 0;border-top:1px solid rgba(99,59,59,.12)}
.esp-item:first-of-type{border-top:0;padding-top:0}
.esp-item b{display:block;font-size:.98rem}
.esp-item small{display:block;opacity:.8;line-height:1.5;margin-top:3px}
.rc-lista{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.rc-lista li{display:flex;align-items:center;gap:10px;font-size:.94rem}
.rc-n{min-width:34px;text-align:center;background:var(--rose-100,#F6E3E4);border-radius:8px;
  padding:3px 8px;font-weight:800;font-size:.85rem}

/* ===== 🔑 admin: explicação dos planos ===== */
.adm-planos{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.adm-planos li{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;line-height:1.5}
.adm-planos .p-tag{flex:0 0 auto;color:#fff;border-radius:999px;padding:3px 11px;
  font-size:.72rem;font-weight:800;letter-spacing:.03em;margin-top:1px}
.adm-dica{background:var(--rose-100,#F6E3E4);border-radius:12px;padding:12px 15px;
  font-size:.88rem;line-height:1.55;margin:0 0 12px}
.pl-como{list-style:none;padding:0;margin:10px 0 14px;display:grid;gap:7px;text-align:left}
.pl-como li{background:rgba(76,154,107,.09);border-radius:12px;padding:10px 13px;
  font-size:.87rem;line-height:1.5}
.pl-legenda{font-size:.85rem;opacity:.78;line-height:1.5;margin:-2px 0 4px}
.pl-vitoria{background:linear-gradient(140deg,#5FA478,#2F6947);color:#fff;border-radius:14px;
  padding:13px 16px;font-size:.92rem;line-height:1.55;margin:12px 0 0}
/* 🗑 zona de perigo: abre com um toque, o botão vermelho só aparece depois */
.card-perigo{border-left:5px solid var(--vermelho,#C0504B)}
.card-perigo > summary{font-weight:800;color:var(--vermelho,#C0504B)}

/* ===== 💬 Roteiro de conversa ===== */
.rt-moldura{border-left:5px solid var(--rose-600,#8A4148)}
.rt-regras{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.rt-regras li{background:var(--rose-100,#F6E3E4);border-radius:12px;padding:9px 13px;font-size:.88rem;line-height:1.5}
.rt-pessoa{background:var(--rose-100,#F6E3E4)}
.rt-chips{display:flex;gap:8px;flex-wrap:wrap}
.rt-item.feito{opacity:.72;border-left:5px solid var(--verde,#4C9A6B)}
.rt-ok{font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  background:var(--verde,#4C9A6B);color:#fff;border-radius:999px;padding:3px 9px;vertical-align:middle}
.rt-fala{position:relative;background:linear-gradient(135deg,#EAF2FA,#DCE9F6);border-radius:16px 16px 16px 4px;
  padding:14px 16px 34px;margin:10px 0 12px}
.rt-fala p{font-size:.97rem;line-height:1.55}
.rt-copiar{position:absolute;right:10px;bottom:8px;border:0;border-radius:999px;cursor:pointer;
  background:rgba(62,36,38,.1);font-size:.72rem;font-weight:800;padding:5px 11px;color:inherit}
.rt-copiar:hover{background:rgba(62,36,38,.2)}
.rt-linha{font-size:.9rem;line-height:1.55;margin:8px 0;padding-left:12px;border-left:3px solid transparent}
.rt-linha.verde{border-color:var(--verde,#4C9A6B)}
.rt-linha.vermelha{border-color:var(--vermelho,#C0504B)}
.rt-porque{font-size:.87rem;opacity:.82;line-height:1.55;background:rgba(99,59,59,.06);
  border-radius:12px;padding:10px 13px;margin:10px 0}
.pd-analise h3{font-family:var(--fonte-display,serif);font-size:1.12rem;margin:16px 0 6px}
.pd-analise p{line-height:1.65}
.jd-livre{background:var(--rose-100,#F6E3E4);border-radius:16px;padding:14px 16px;margin:12px 0}
.jd-livre label{font-weight:800;font-size:.96rem}
.jd-livre-dica{font-size:.84rem;opacity:.8;line-height:1.5;margin:2px 0 8px}
.jd-proposta > summary{font-weight:800}
.jd-explica{background:rgba(76,154,107,.1);border-radius:12px;padding:12px 15px;
  font-size:.89rem;line-height:1.55;margin:0 0 12px}
/* 💬 roteiro: marcar como ele respondeu */
.rt-item.acendeu{border-left:5px solid var(--vermelho,#C0504B)}
.rt-ok.alerta{background:var(--vermelho,#C0504B)}
.rt-pergunta-marca{font-size:.85rem;font-weight:700;opacity:.8;margin:12px 0 6px}
.rt-marcar{display:flex;gap:8px;flex-wrap:wrap;margin:0}
.rt-btn{flex:1;min-width:150px;min-height:46px;cursor:pointer;border-radius:12px;font-size:.88rem;
  font-weight:800;padding:10px 12px;background:var(--card,#fff);color:inherit;transition:.15s}
.rt-btn.verde{border:2px solid rgba(76,154,107,.45)}
.rt-btn.vermelha{border:2px solid rgba(192,80,75,.45)}
.rt-btn.verde.on{background:linear-gradient(135deg,#EAF4EE,#D9EBE0);border-color:var(--verde,#4C9A6B)}
.rt-btn.vermelha.on{background:linear-gradient(135deg,#FDECEA,#F8DAD7);border-color:var(--vermelho,#C0504B)}
.rt-desmarca{font-size:.76rem;opacity:.6;margin:6px 0 0;text-align:center}
.rt-resumo{font-size:.9rem;line-height:1.55;border-radius:12px;padding:11px 14px;margin:8px 0}
.rt-resumo.alerta{background:#FDECEA}
.rt-resumo.bom{background:#EAF4EE}
.cl-fecha{background:linear-gradient(140deg,#5FA478,#2F6947);color:#fff;border-radius:16px;padding:18px}
.cl-fecha .botao{background:#fff!important;color:#2F6947!important}
