/* PELE v3 (08/08): as regras de hero, semana, abas, restrição e popup
   MORRERAM aqui — moram em css/ficha_v3.css (porte da entrega do Design).
   Este arquivo segue dono da LISTA DE EXERCÍCIOS (rodada 2) e do que
   a pele não cobre: painéis, séries, timer, config, splash. */

:root{
  --bg:#252422; --bg2:#2E2C29; --bg3:#333129; --bg4:#1C1B18; --bg5:#3A3830;
  --gold:#C9963A; --gold2:#B8832A; --gold3:#9A6C1E; --gold4:#E2B45A; --gold5:#F0CC80;
  --bronze:#8B6332; --bronze2:#7A5425; --bronze3:#A07840;
  --text:#F0EBE0; --text2:#C8BFB0; --text3:#7A7060; --text4:#4A4438;
  --line:rgba(201,150,58,0.2); --line2:rgba(201,150,58,0.12);
  --green:#4CAF50; --green2:#2E7D32;
}





*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}





/* Regra defensiva final — oculta qualquer FAB antigo de calendário que
   ainda seja criado por cache de JS desatualizado (calUiFab e agFab
   removidos do código-fonte, mas dispositivos podem servir versões antigas). */
#calUiFab,.cal-ui-fab,.calendar-fab,#agFab,.ag-fab{display:none!important;visibility:hidden!important;pointer-events:none!important;}





/* Achado do dono, 25/08: fundo BRANCO aparecendo embaixo e na lateral ao
   dar scroll, no iPhone. A cor de fundo só estava no `body` — no bounce do
   iOS (chegar no fim do scroll e continuar arrastando, ou o scroll lateral
   de sobra) é o `<html>` que aparece por baixo, e sem `background` nele o
   navegador pinta branco por padrão. `overflow-x:hidden` também precisa
   estar aqui: o `body` já tinha, mas no iOS quem rola de verdade é o
   documento (`html`), não o `body` — só no `body` não bastava para travar
   o arrasto lateral. */
html{scroll-behavior:smooth;background:var(--bg);overflow-x:hidden}





body{background:var(--bg);color:var(--text);font-family:'Jost',sans-serif;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;}





body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(201,150,58,0.04),transparent 60%);pointer-events:none;z-index:0;}





.wrap{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:0 20px 80px}





header::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent);}





.monogram-svg{display:block;filter:drop-shadow(0 4px 16px rgba(0,0,0,0.6))}





.brand-name{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:400;font-style:italic;letter-spacing:4px;text-transform:uppercase;color:var(--gold4);margin-bottom:3px;}





.brand-role{font-size:9px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--text3);}





.brand-slogan{font-size:8px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--text4);font-style:italic;margin-top:2px;}





.meta-pill{border-radius:4px;padding:5px 14px;font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;}





.pill-gold{background:rgba(201,150,58,0.15);border:1px solid rgba(201,150,58,0.4);color:var(--gold4);}





.pill-dark{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);color:var(--text2);}






/* ─── PANEL ── */
.panel{display:none}




.panel.active{display:block}




.panel.hidden-panel{display:none!important}






/* ─── INSTAGRAM ── */
.insta-wrap{margin-top:32px;background:var(--bg4);border:1px solid var(--line);border-radius:12px;padding:14px 20px;display:flex;align-items:center;gap:14px;}





.insta-label{font-size:8px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--text3);margin-bottom:2px;}





.insta-handle{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:400;font-style:italic;color:var(--gold4);letter-spacing:1px;}






/* ─── FOOTER ── */
footer{margin-top:28px;display:flex;flex-direction:column;align-items:center;gap:6px;border-top:1px solid var(--line2);padding-top:28px;}





.footer-orn{display:flex;align-items:center;gap:10px;margin-bottom:6px;}





.footer-orn-line{height:1px;width:32px;background:var(--line);}





.footer-orn-diamond{width:6px;height:6px;background:var(--gold);transform:rotate(45deg);opacity:0.7;}





.footer-name{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:400;font-style:italic;color:var(--gold4);letter-spacing:1px;}





.footer-role{font-size:9px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--text3);}





.footer-slogan{font-size:9px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--text4);font-style:italic;margin-top:4px;}






/* ─── ANIMAÇÕES ── */
@keyframes riseUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}





.cal-future-notice{
  grid-column:1/-1;text-align:center;font-size:11px;
  color:var(--text4);padding:4px 0 6px;letter-spacing:0.3px;
}





.cal-detail-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;
  background:var(--bg4);border-radius:8px;
  border-left:3px solid var(--gold3);
}





.cal-detail-item.cardio-item{border-left-color:#4CAF50;}





.cal-detail-item.rest-item{border-left-color:rgba(255,255,255,0.2);}





.cal-detail-icon{font-size:18px;line-height:1;flex-shrink:0;}





.cal-detail-text{}





.cal-detail-title{
  font-size:12px;font-weight:600;color:var(--text);
  letter-spacing:0.5px;
}





.cal-detail-sub{
  font-size:10px;color:var(--text3);margin-top:2px;
  letter-spacing:0.5px;
}







/* ─── AVALIAÇÃO FÍSICA ──────────────────────────────
   O CSS legado desta seção foi REMOVIDO (2026-07-16). A ficha de avaliação
   (M2: etapas + comparativo ao vivo) vive dentro do hub de Avaliações e tem
   estilo próprio em js/financial/ui/assessmentBundle.js (_injectCSS, escopo
   #asmOverlay) + js/avaliacao.js (bloco aval-import-style).
   ─────────────────────────────────────────────────── */

/* ─── PAINEL DE CONFIGURAÇÃO (só personal) — REMOVIDO 30/08 (C-415) ──
   Todo o bloco .config-toggle, .config-overlay, .config-panel, .config-opt,
   .config-div-x, .config-apply, .config-version-x, .config-update-btn era
   CSS do painel de Objetivo/Nível/Divisão (config-overlay em index.html),
   removido no mesmo commit por não ter mais HTML nenhum que o use — ver o
   comentário que ficou no lugar dele em index.html. */

/* ░░ SPLASH SCREEN — a assinatura, 30/08/2026 ░░
   Rodada do logo oficial: o cartão opaco (icon-512) virou o hexágono solto
   (rn-simbolo_dourado do cofre img/logo/), com véus e névoa ampliando o
   gradiente do próprio ícone aprovado — "ouro decide, roxo emoldura",
   mesma gramática da pele do RN IA. Calibrado em 4 rodadas com o dono
   (área/opacidade da névoa de baixo, véu do topo-direita, rastro roxo). */
#rn-splash {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #0a0806;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  transition: opacity 0.7s ease;
}

/* Os véus do topo — luz do ícone aprovado, ampliada para a tela. Dourado
   mais presente (TR), roxo mais discreto (TL): a hierarquia medida no
   próprio ícone. */
#rn-splash::before,
#rn-splash::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
#rn-splash::before {
  background:
    radial-gradient(52% 40% at 10% -8%,  rgba(157, 92, 255, .13), transparent 66%),
    radial-gradient(60% 46% at 92% -6%,  rgba(201, 162, 39, .14), transparent 68%),
    radial-gradient(90% 60% at 112% 26%, rgba(201, 162, 39, .05), transparent 62%);
  animation: rn-splash-luz 0.9s ease-out both;
}
/* O halo atrás do símbolo — respira em fase com o rn-breathe. */
#rn-splash::after {
  background: radial-gradient(46% 32% at 50% 42%, rgba(226, 194, 94, .10), transparent 72%);
  animation: rn-splash-halo 3s ease-in-out 0.3s infinite backwards;
}
@keyframes rn-splash-luz  { from { opacity: 0; }   to { opacity: 1; } }
@keyframes rn-splash-halo { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }

/* A névoa de baixo — três corpos desiguais em deriva orgânica (não é
   espelho dos véus do topo). Períodos 7,5s/5,6s/9s que nunca sincronizam,
   delays negativos (nasce em movimento). Só `transform` anima — nada de
   blur (re-rasteriza sob escala animada; a difusão já vem dos stops do
   gradiente). */
#rn-splash-nevoa {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  animation: rn-splash-luz 0.9s ease-out both;
}
#rn-splash-nevoa i {
  position: absolute;
  display: block;
  will-change: transform;
}
/* o corpo — dourado, inclinado, puxado à esquerda */
#rn-splash-nevoa i:nth-child(1) {
  left: -18%; bottom: -22%; width: 78%; height: 40%;
  background: radial-gradient(50% 50% at 50% 50%,
    rgba(201, 162, 39, .09), transparent 68%);
  transform: rotate(-7deg);
  animation: rn-splash-deriva-a 7.5s ease-in-out -2.8s infinite alternate;
}
/* a mecha — highlight menor, mais alta, à direita do centro */
#rn-splash-nevoa i:nth-child(2) {
  left: 34%; bottom: -14%; width: 58%; height: 34%;
  background: radial-gradient(50% 50% at 50% 50%,
    rgba(226, 194, 94, .08), transparent 72%);
  transform: rotate(5deg);
  animation: rn-splash-deriva-b 5.6s ease-in-out -1.4s infinite alternate;
}
/* o rastro roxo — canto direito baixo */
#rn-splash-nevoa i:nth-child(3) {
  right: -24%; bottom: -20%; width: 64%; height: 42%;
  background: radial-gradient(50% 50% at 50% 50%,
    rgba(157, 92, 255, .08), transparent 74%);
  transform: rotate(-12deg);
  animation: rn-splash-deriva-c 9s ease-in-out -5.2s infinite alternate;
}
@keyframes rn-splash-deriva-a {
  from { transform: rotate(-7deg)  translate3d(-2.5%,  1.5%, 0) scale(1); }
  to   { transform: rotate(-7deg)  translate3d( 3%,   -2%,   0) scale(1.07); }
}
@keyframes rn-splash-deriva-b {
  from { transform: rotate(5deg)   translate3d( 2%,    0,    0) scaleY(1); }
  to   { transform: rotate(5deg)   translate3d(-3.5%, -3%,   0) scaleY(1.12); }
}
@keyframes rn-splash-deriva-c {
  from { transform: rotate(-12deg) translate3d( 1.5%, -1%,   0); }
  to   { transform: rotate(-12deg) translate3d(-2.5%,  2%,   0); }
}





#rn-splash.hidden {
  opacity: 0;
  pointer-events: none;
}





#rn-splash-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  opacity: 0;
  transform: scale(0.94);
  transition: opacity 0.4s ease, transform 0.4s ease;
}





#rn-splash-inner.visible {
  opacity: 1;
  transform: scale(1);
}





/* Respiração a 4,5% — pedido do dono: "que dê pra perceber melhor o
   movimento, não exagerado". */
@keyframes rn-breathe {
  0%, 100% { transform: scale(1.000); }
  50%      { transform: scale(1.045); }
}





#rn-splash-logo.breathing {
  animation: rn-breathe 3s ease-in-out infinite;
}





/* Hexágono solto do cofre — clamp calibrado para paridade óptica com o
   cartão antigo (~101px celular, ~135px Mac). */
#rn-splash-logo {
  width: clamp(132px, 36vw, 180px);
  height: auto;
  border-radius: 0;
}





#rn-splash-title {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 15px;
  letter-spacing: 0.18em;
  color: #9a9384;
  text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
  #rn-splash::before  { animation: none; }
  #rn-splash::after   { animation: none; opacity: .75; }
  #rn-splash-nevoa    { animation: none; }
  #rn-splash-nevoa i  { animation: none; }
  #rn-splash-logo.breathing { animation: none; }
}






/* ── O PEDIDO DE REVOGAÇÃO (16/08) ─────────────────────────────────────────
   Duas faixas com o mesmo desenho, em dois lugares: na Home (o professor
   começa o dia ali) e na ficha do aluno, ao lado do aceite (a revogação
   acontece ali). Amarelo-limão é ATENÇÃO no sistema de cores do projeto —
   não é risco, e não pode virar vermelho: o aluno exercendo um direito não
   é erro, e a tela não pode fazer o professor sentir que é. */
.hv-revogar,.rn-pr-caixa{
  display:flex;align-items:flex-start;gap:11px;margin:0 0 14px;padding:12px 14px;
  border:1px solid rgba(253,224,71,.34);background:rgba(253,224,71,.07);
  border-radius:12px;text-wrap:pretty;
}
.rn-pr-caixa{margin:10px 0 0}
.hv-revogar .hr-i,.rn-pr-caixa .rn-pr-i{width:19px;height:19px;flex:0 0 19px;margin-top:1px}
.hv-revogar .hr-t,.rn-pr-caixa .rn-pr-txt{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.hv-revogar .hr-t b,.rn-pr-caixa .rn-pr-txt b{font-size:12.5px;font-weight:500;color:var(--ink,#eee7da)}
.hv-revogar .hr-t span,.rn-pr-caixa .rn-pr-txt span{font-size:11px;line-height:1.5;color:var(--ink-dim,#9a9384)}
.rn-pr-caixa .rn-pr-btn{
  flex:0 0 auto;align-self:center;min-height:34px;padding:0 12px;border-radius:9px;cursor:pointer;
  border:1px solid var(--line,rgba(255,255,255,.12));background:rgba(255,255,255,.04);
  color:var(--ink-dim,#9a9384);font-size:11.5px;
}
.rn-pr-caixa .rn-pr-btn[disabled]{opacity:.5;cursor:default}
