/* Complementos do portal multi-curso (o visual base vem de base.css) */
.app.full{grid-template-columns:minmax(0,1fr);}
a.logo{text-decoration:none;}
.logo{text-align:left; min-width:0;}
.brand{display:flex; flex-direction:column; line-height:1.15; min-width:0;}
.tagline{font-size:11.5px; font-weight:600; color:var(--muted); letter-spacing:.01em; white-space:nowrap;}
.tagline::before{content:""; display:block; width:100%; height:2px; margin:3px 0 3px; border-radius:2px; background:linear-gradient(90deg,#ff5a5f,#fbbf24,#4ade80,#22d3ee,#c084fc);}
.app.full .sb{display:none;}
.pbar.off,.plabel.off,.btn-tool.off{visibility:hidden;}
.bn{grid-auto-flow:column; grid-auto-columns:1fr;}
.bn button.off{display:none;}
.badge{display:inline-block; font-size:11px; font-weight:800; letter-spacing:.06em; padding:3px 9px; border-radius:99px; background:color-mix(in srgb,var(--yellow) 18%,#000); color:var(--yellow); border:1px solid color-mix(in srgb,var(--yellow) 55%,transparent); vertical-align:middle;}
.demo-bar{background:color-mix(in srgb,var(--yellow) 14%,#000); color:#ffe9a8; border-bottom:1px solid color-mix(in srgb,var(--yellow) 45%,transparent); font-size:13px; text-align:center; padding:6px 12px;}
.cbar{height:8px; border-radius:99px; background:#262633; overflow:hidden;}
.cbar > i{display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--c),var(--c2));}

/* ---------- Apresentação ---------- */
.rise{animation:rise .6s cubic-bezier(.2,.8,.2,1) both; animation-delay:var(--d,0s);}
@keyframes rise{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;}}
.mc.rise{animation:rise .6s cubic-bezier(.2,.8,.2,1) both; animation-delay:var(--d,0s);}
.eyebrow{font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--yellow); margin-bottom:8px;}
.grad{background:linear-gradient(90deg,#ff5a5f,#fbbf24,#4ade80,#22d3ee,#c084fc,#ff5a5f); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:slide 6s linear infinite;}
.orb{width:164px; height:164px; border-radius:50%; position:relative; display:grid; place-items:center; background:conic-gradient(from 0deg,#ff5a5f,#fbbf24,#4ade80,#22d3ee,#c084fc,#ff5a5f); box-shadow:0 0 60px -10px #c084fc, 0 0 90px -30px #22d3ee; animation:orb 14s linear infinite;}
.orb::before{content:""; position:absolute; inset:10px; border-radius:50%; background:radial-gradient(circle at 30% 25%, #1c1c27, #050508 70%);}
.orb span{position:relative; font-size:62px; animation:orb 14s linear infinite reverse, float 4s ease-in-out infinite;}
@keyframes orb{to{transform:rotate(360deg);}}
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:26px;}
.step{display:flex; gap:14px; align-items:flex-start; padding:16px; border-radius:18px; border:1px solid color-mix(in srgb,var(--c) 35%,#16161e); background:linear-gradient(155deg,color-mix(in srgb,var(--c) 14%,#050507),#050507 70%);}
.step b{font-family:var(--font-d); font-size:16px;}
.step p{margin:4px 0 0; font-size:14px; color:var(--muted); line-height:1.45;}
.stile{flex:none; width:46px; height:46px; border-radius:14px; display:grid; place-items:center; font-size:22px; background:linear-gradient(135deg,var(--c),var(--c2)); box-shadow:0 8px 24px -8px var(--c);}
.sec-t{font-size:20px; font-weight:800; margin:6px 2px 14px;}
.mhead{display:flex; justify-content:space-between; align-items:flex-start;}

/* ---------- Navegação: barra do topo e rodapé da lição ---------- */
.navbar{display:flex; align-items:center; gap:10px; margin:0 0 16px; padding:8px; border:1px solid var(--line); border-radius:16px; background:rgba(10,10,15,.75);}
.nvolta{flex:none; border:1px solid var(--line); background:var(--s2); color:var(--text); border-radius:12px; padding:8px 14px; font-weight:700; font-size:14px; cursor:pointer;}
.nvolta:hover{border-color:var(--muted);}
.bcs{display:flex; align-items:center; gap:6px; min-width:0; font-size:14px; overflow-x:auto; scrollbar-width:none;}
.bcs::-webkit-scrollbar{display:none;}
.bc{border:0; background:transparent; color:var(--muted); padding:4px 6px; border-radius:8px; font-size:14px; font-weight:600; white-space:nowrap; max-width:260px; overflow:hidden; text-overflow:ellipsis;}
button.bc{cursor:pointer;}
button.bc:hover{color:var(--text); background:var(--s2);}
.bc.atual{color:var(--text);}
.sep{color:var(--line); font-weight:700;}
.lnav{display:grid; grid-template-columns:1fr auto 1fr; gap:10px; align-items:center; margin:18px 0 8px; padding-top:16px; border-top:1px solid var(--line);}
.lnav > :first-child{justify-self:start;}
.lnav > :last-child{justify-self:end;}
.lnav .ghost{padding:10px 16px; font-size:14px; cursor:pointer;}
.lnav .ghost:hover:not([disabled]){border-color:var(--muted); background:var(--s2);}
.lnav .ghost[disabled]{opacity:.5; cursor:not-allowed;}
.lnav .prox{border-color:color-mix(in srgb,var(--c) 60%,transparent); color:var(--c);}
@media (max-width: 560px){ .lnav{grid-template-columns:1fr 1fr;} .lnav > :nth-child(2){grid-column:1/-1; grid-row:2; justify-self:center;} .bc{max-width:150px;} }

/* ---------- Painel lateral do portal ---------- */
.sbsec{font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:14px 10px 6px;}
.sbniv{width:100%; border:0; background:transparent; color:var(--text); text-align:left; padding:0; cursor:pointer;}
.sbpct{color:var(--c); font-weight:700; font-size:12px;}
.nivel{scroll-margin-top:8px;}
.inst[hidden]{display:none !important;}
.sb .dica-ios{margin:4px 6px 8px;}

/* Notebook: na página inicial o painel fica escondido e desliza ao passar o mouse na aba da esquerda. */
.sbz{display:none;}
@media (min-width: 901px){
  body.sb-flut .app{grid-template-columns:minmax(0,1fr);}
  body.sb-flut .sbz{display:flex; flex-direction:column; gap:6px; position:fixed; left:0; top:calc(env(safe-area-inset-top,0px) + 90px); bottom:16px; width:30px; z-index:44;}
  body.sb-flut .app{padding-left:48px;}
  .sbz-t{flex:1 1 auto; min-height:0; display:flex; align-items:center; justify-content:center; padding:8px 0; border:0; border-radius:0 12px 12px 0; color:#000; background:linear-gradient(180deg,var(--c),var(--c2)); box-shadow:0 8px 24px -10px var(--c); cursor:pointer; overflow:hidden; opacity:.78; transition:opacity .2s, transform .2s;}
  .sbz-t span{writing-mode:vertical-rl; transform:rotate(180deg); font-size:11.5px; font-weight:800; letter-spacing:.05em; white-space:nowrap;}
  .sbz-t i{font-style:normal; display:inline-block; transform:rotate(180deg); margin-bottom:5px;}
  .sbz-t:hover, .sbz-t:focus-visible, .sbz-t.on{opacity:1; transform:translateX(3px);}
  .sbz-menu{opacity:1; background:linear-gradient(180deg,#22C55E,#F59E0B,#EC4899);}
  .sbz-renda{margin-top:8px;}
  @media (max-height: 600px){ .sbz-t .sbz-tx{display:none;} .sbz-t i{margin:0;} }
  body.sb-flut .sb{position:fixed; left:0; top:calc(env(safe-area-inset-top,0px) + 74px); bottom:16px; width:316px; max-height:none; align-self:stretch; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; z-index:45; border-radius:0 20px 20px 0; transform:translateX(-105%); transition:transform .25s ease, box-shadow .25s;}
  body.sb-flut .sb:has(:focus-visible), body.sb-flut .sb.on{transform:none; box-shadow:18px 0 50px -20px rgba(0,0,0,.9);}
}

/* Celular e telas estreitas: atalhos fixos logo abaixo do topo, para pular direto a cada parte da página inicial. */
.atalhos{display:none;}
@media (max-width: 900px){
  .atalhos{display:flex; gap:8px; position:sticky; top:calc(env(safe-area-inset-top,0px) + var(--topo,62px)); z-index:29; margin:0 0 18px; padding:8px; overflow-x:auto; scrollbar-width:none; border:1px solid var(--line); border-radius:16px; background:rgba(4,4,8,.86); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);}
  .atalhos::-webkit-scrollbar{display:none;}
  html:has(.atalhos){scroll-padding-top:calc(env(safe-area-inset-top,0px) + var(--topo,62px) + 64px);}
}
.atalho{flex:none; display:flex; align-items:center; gap:6px; padding:7px 12px; border-radius:99px; border:1px solid color-mix(in srgb,var(--c) 45%,transparent); background:color-mix(in srgb,var(--c) 12%,#050507); color:var(--text); font:inherit; font-size:13px; font-weight:700; white-space:nowrap; cursor:pointer; transition:background .2s, color .2s;}
.atalho.on{background:linear-gradient(135deg,var(--c),var(--c2)); color:#000; border-color:transparent;}
.atalho-sep{flex:none; width:1px; margin:4px 2px; background:var(--line);}

/* ---------- Níveis do painel lateral: abrem e fecham no clique ---------- */
.sbacc .modh{width:100%;}
.sbseta{margin-left:auto; flex:none; font-size:13px; color:var(--muted); transition:transform .25s ease, color .2s;}
.sbacc.aberto .sbseta{transform:rotate(90deg); color:var(--c);}
.sbacc .sbitens{display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s ease;}
.sbacc .sbin{min-height:0; overflow:hidden;}
.sbacc.aberto .sbitens{grid-template-rows:1fr;}
.sbacc:not(.aberto) .sbitens .les{visibility:hidden;}

/* ---------- Barra de rolagem do painel lateral ---------- */
.sb::-webkit-scrollbar{width:6px;}
.sb::-webkit-scrollbar-track{background:transparent; margin:14px 0;}
.sb::-webkit-scrollbar-thumb{border-radius:99px; background:linear-gradient(180deg,rgba(34,197,94,.55),rgba(245,158,11,.55),rgba(236,72,153,.55));}
.sb::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#22C55E,#F59E0B,#EC4899); box-shadow:0 0 8px #F59E0B;}
.sb::-webkit-scrollbar-button{display:none; height:0;}
@supports not selector(::-webkit-scrollbar){ .sb{scrollbar-width:thin; scrollbar-color:rgba(245,158,11,.55) transparent;} }

/* ---------- QR code: levar para o celular ---------- */
html.cel .so-pc{display:none !important;}
.btn-sair{--yellow:#f87171;}
.qr-modal{position:fixed; inset:0; z-index:80; display:grid; place-items:center; padding:20px; background:rgba(0,0,0,.72); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); animation:qrfade .25s ease both;}
@keyframes qrfade{from{opacity:0;} to{opacity:1;}}
.qr-box{position:relative; width:min(420px,100%); text-align:center; padding:26px 24px 20px; border-radius:26px; background:radial-gradient(circle at 50% 0%, #15152a, #050508 70%); border:1px solid #242431; box-shadow:0 30px 80px -30px #22d3ee, 0 0 0 1px rgba(192,132,252,.15) inset; animation:rise .35s cubic-bezier(.2,.8,.2,1) both;}
.qr-tit{font-family:var(--font-d); font-size:26px; font-weight:800; margin:2px 0 18px;}
.qr-moldura{--a:0deg; position:relative; width:252px; height:252px; margin:0 auto 18px; padding:4px; border-radius:26px; background:conic-gradient(from var(--a),#22d3ee,#c084fc,#ec4899,#fbbf24,#4ade80,#22d3ee); animation:qrgira 5s linear infinite; box-shadow:0 0 40px -6px #22d3ee, 0 0 70px -20px #c084fc;}
@property --a{syntax:'<angle>'; inherits:false; initial-value:0deg;}
@keyframes qrgira{to{--a:360deg;}}
.qr-in{position:relative; width:100%; height:100%; border-radius:22px; overflow:hidden; background:#fff; display:grid; place-items:center;}
.qr-in img{width:226px; height:226px; display:block;}
.qr-scan{position:absolute; left:8px; right:8px; top:8px; height:30px; background:linear-gradient(180deg,transparent,rgba(34,211,238,.22) 45%,#22d3ee 50%,rgba(34,211,238,.22) 55%,transparent); filter:drop-shadow(0 0 6px #22d3ee); border-radius:4px; animation:qrscan 1.5s ease-in-out infinite alternate; pointer-events:none;}
@keyframes qrscan{from{top:8px;} to{top:calc(100% - 38px);}}
.qr-passos{list-style:none; margin:0 0 12px; padding:0; text-align:left; display:grid; gap:8px;}
.qr-passos li{display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.45; color:var(--muted);}
.qr-passos li > b{flex:none; width:24px; height:24px; border-radius:8px; display:grid; place-items:center; font-size:13px; color:#000; background:linear-gradient(135deg,#22d3ee,#c084fc);}
.qr-passos li span b{color:var(--text);}
html.pc .so-cel{display:none !important;}
.qr-card{display:block; padding:18px 20px 22px; border-radius:24px; border:1px solid #242431; background:radial-gradient(circle at 50% 0%, #15152a, #050508 70%); box-shadow:0 24px 60px -26px #22d3ee, 0 0 0 1px rgba(192,132,252,.15) inset; color:var(--text); font:inherit; text-align:center; cursor:pointer; transition:transform .2s, box-shadow .2s;}
.qr-card:hover{transform:translateY(-3px); box-shadow:0 24px 60px -16px #22d3ee, 0 0 0 1px rgba(192,132,252,.3) inset;}
.qr-card .qr-tit{display:block; font-size:22px; margin:0 0 14px;}
.qr-card .qr-moldura{display:block; width:196px; height:196px; margin:0 auto; border-radius:22px;}
.qr-card .qr-in{display:grid; border-radius:18px;}
.qr-card .qr-in img{width:174px; height:174px;}
.qr-url{margin:0; font-size:12px; color:var(--muted); word-break:break-all;}

/* ---------- Teste rápido de nível ---------- */
.tn-chamada{display:flex; align-items:center; gap:14px; width:100%; margin:0 0 22px; padding:14px 16px; text-align:left; color:var(--text); font:inherit; cursor:pointer; border-radius:18px; border:1px solid transparent; background:linear-gradient(#0b0b12,#0b0b12) padding-box, linear-gradient(90deg,#22C55E,#F59E0B,#EC4899) border-box; box-shadow:0 10px 40px -24px #F59E0B; transition:transform .2s, box-shadow .2s;}
button.tn-chamada:hover{transform:translateY(-2px); box-shadow:0 14px 44px -18px #F59E0B;}
.tn-chamada{flex-wrap:wrap;}
.tn-chamada > div{flex:1 1 240px; min-width:0;}
.tn-chamada b{display:block; font-size:15.5px;}
.tn-chamada small{display:block; color:var(--muted); font-size:13.5px; line-height:1.45; margin-top:2px;}
.tn-alvo{flex:none; width:44px; height:44px; border-radius:14px; display:grid; place-items:center; font-size:22px; background:rgba(245,158,11,.12);}
.tn-ir{flex:none; font-weight:800; font-size:13px; padding:7px 12px; border-radius:10px; color:#000; background:linear-gradient(90deg,#22C55E,#F59E0B); white-space:nowrap;}
.tn-chamada.renda{background:linear-gradient(#0b0b12,#0b0b12) padding-box, linear-gradient(90deg,#3B82F6,#06B6D4,#10B981) border-box; box-shadow:0 10px 40px -24px #06B6D4;}
.tn-chamada.feito{cursor:default; background:linear-gradient(#0b0b12,#0b0b12) padding-box, linear-gradient(90deg,var(--c),var(--c2)) border-box;}
.tn-chamada.feito .tn-alvo{background:color-mix(in srgb, var(--c) 18%, transparent);}
.tn-chamada.feito .ghost{padding:8px 14px;}
@media (max-width: 900px){
  .tn-chamada{gap:10px 12px; padding:12px 14px;}
  .tn-alvo{width:38px; height:38px; font-size:19px;}
  .tn-chamada > div{flex-basis:calc(100% - 52px);}
  .tn-ir, .tn-chamada.feito .ghost{margin-left:50px;}
}
html.cel .tn-chamada > div{flex-basis:calc(100% - 52px);}
html.cel .tn-ir, html.cel .tn-chamada.feito .ghost{margin-left:50px;}
.tn-box{box-sizing:border-box; width:min(480px,100%); max-height:calc(100dvh - 40px); overflow-y:auto; text-align:left;}
.tn-prog{display:flex; gap:6px; margin:4px 40px 16px 0;}
.tn-prog i{flex:1; height:5px; border-radius:99px; background:#24242f;}
.tn-prog i.ok{background:linear-gradient(90deg,#22C55E,#14B8A6);}
.tn-prog i.cur{background:linear-gradient(90deg,#F59E0B,#EC4899); box-shadow:0 0 10px #F59E0B;}
.tn-q{font-family:var(--font-d); font-size:21px; line-height:1.3; font-weight:800; margin:2px 0 16px;}
.tn-opts{display:grid; gap:10px;}
.tn-op{display:flex; align-items:center; gap:12px; width:100%; padding:13px 14px; text-align:left; font:inherit; font-size:15px; color:var(--text); cursor:pointer; border-radius:14px; border:1px solid #2a2a36; background:#0d0d15; transition:border-color .15s, background .15s, transform .15s;}
.tn-op:hover{border-color:#F59E0B; transform:translateX(3px);}
.tn-op b{flex:none; width:28px; height:28px; border-radius:9px; display:grid; place-items:center; font-size:13px; background:#1c1c27; color:var(--muted);}
.tn-op.sel{border-color:#22C55E; background:rgba(34,197,94,.1);}
.tn-op.sel b{background:linear-gradient(135deg,#22C55E,#14B8A6); color:#000;}
.tn-volta{margin-top:14px;}
.tn-txt{color:var(--muted); font-size:14.5px; margin:0 0 10px;}
.tn-niv{background:linear-gradient(90deg,var(--c),var(--c2)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.tn-curso{display:flex; align-items:center; gap:12px; padding:14px; margin:0 0 14px; border-radius:16px; background:linear-gradient(#0d0d15,#0d0d15) padding-box, linear-gradient(90deg,var(--c),var(--c2)) border-box; border:1px solid transparent;}
.tn-curso > div{flex:1; min-width:0;}
.tn-curso b{display:block; font-size:16px;}
.tn-curso small{display:block; color:var(--muted); font-size:13px; line-height:1.4; margin-top:3px;}
.tn-ic{flex:none; font-size:26px;}
.tn-box .next{width:100%; justify-content:center; margin-bottom:6px;}
.tn-acoes{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px;}

/* ---------- Instalar como app ---------- */
.dica-ios{margin-top:12px; padding:10px 12px; border-radius:14px; border:1px solid color-mix(in srgb,#22d3ee 40%,transparent); background:color-mix(in srgb,#22d3ee 10%,#050507); font-size:13.5px; line-height:1.5; color:var(--text); max-width:460px;}

/* ---------- Aviso de novidade ---------- */
.novidade{position:relative; margin-bottom:18px; padding:18px 18px 16px; border-radius:22px; border:1px solid transparent; background:linear-gradient(#07070b,#07070b) padding-box, linear-gradient(90deg,#22C55E,#F59E0B,#EF4444,#EC4899) border-box; box-shadow:0 14px 40px -24px #F59E0B;}
.ntit{font-family:var(--font-d); font-size:19px; font-weight:800; margin:0 34px 6px 0; line-height:1.25;}
.nsub{margin:0 0 8px; font-weight:700; color:#fbbf24; font-size:14.5px;}
.ncorpo{margin:0 0 12px; color:var(--muted); font-size:14px; line-height:1.55;}
.nchips{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px;}
.nfechar{position:absolute; top:10px; right:10px; width:34px; height:34px; border-radius:50%; border:1px solid var(--line); background:var(--s2); color:var(--muted); font-size:15px; cursor:pointer;}
.nfechar:hover{color:var(--text); border-color:var(--muted);}

/* ---------- Trilha de IA ---------- */
.trilha{scroll-margin-top:8px; margin-bottom:22px;}
.tsub{margin:-8px 2px 16px; color:var(--muted); font-size:14.5px; line-height:1.5;}
.nivel{margin-bottom:22px; padding:14px; border-radius:24px; border:1px solid color-mix(in srgb,var(--c) 28%,#16161e); background:linear-gradient(180deg,color-mix(in srgb,var(--c) 8%,#050507),transparent 70%);}
.nhead{display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:0 2px 14px;}
.npill{font-family:var(--font-d); font-weight:800; font-size:14px; padding:6px 14px; border-radius:99px; color:#000; background:linear-gradient(135deg,var(--c),var(--c2)); box-shadow:0 6px 20px -8px var(--c);}
.nhead small{color:var(--muted); font-size:13px;}
/* ---------- Indique um amigo ---------- */
@property --ind-ang{syntax:'<angle>'; inherits:false; initial-value:0deg;}
.indica{position:relative; isolation:isolate; display:flex; align-items:center; gap:14px; width:100%; max-width:420px; margin-top:18px; padding:14px 18px; border:0; border-radius:18px; background:#06060c; color:var(--text); font:inherit; text-align:left; cursor:pointer; overflow:hidden; box-shadow:0 0 0 1px rgba(255,255,255,.04), 0 14px 40px -16px #25d366, 0 0 50px -24px #c084fc; transition:transform .2s, box-shadow .2s;}
.indica::before{content:''; position:absolute; inset:0; z-index:-2; border-radius:inherit; padding:2px; background:conic-gradient(from var(--ind-ang), #25d366, #22d3ee, #c084fc, #ec4899, #25d366); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; animation:indgira 3.5s linear infinite;}
.indica::after{content:''; position:absolute; top:0; bottom:0; left:-60%; width:40%; z-index:-1; background:linear-gradient(100deg, transparent, rgba(255,255,255,.12), transparent); transform:skewX(-20deg); animation:indbrilho 3.2s ease-in-out infinite;}
.indica:hover{transform:translateY(-2px); box-shadow:0 0 0 1px rgba(255,255,255,.06), 0 18px 46px -12px #25d366, 0 0 60px -20px #c084fc;}
.indica:active{transform:scale(.98);}
.ind-ic{flex:none; width:44px; height:44px; display:grid; place-items:center; font-size:22px; border-radius:14px; background:linear-gradient(135deg,#25d366,#22d3ee); box-shadow:0 0 22px -4px #25d366; animation:indpulso 2s ease-in-out infinite;}
.ind-tx{flex:1; display:flex; flex-direction:column; gap:2px; min-width:0;}
.ind-tx b{font-family:var(--font-d); font-size:17px; font-weight:800; letter-spacing:.01em;}
.ind-tx small{font-size:12.5px; color:var(--muted);}
.ind-seta{flex:none; font-size:18px; color:#25d366; transition:transform .2s;}
.indica:hover .ind-seta{transform:translateX(4px);}
@keyframes indgira{to{--ind-ang:360deg;}}
@keyframes indbrilho{0%,55%{left:-60%;} 100%{left:130%;}}
@keyframes indpulso{0%,100%{box-shadow:0 0 18px -6px #25d366;} 50%{box-shadow:0 0 28px -2px #25d366;}}
.bn .bn-indica{color:var(--text);}
.ind-res{display:flex; align-items:center; gap:14px; margin:0 0 16px; padding:14px 16px; border-radius:16px; border:1px solid rgba(37,211,102,.35); background:linear-gradient(135deg,rgba(37,211,102,.12),rgba(34,211,238,.06));}
.ind-res b{font-family:var(--font-d); font-size:18px;}
.ind-res small{display:block; margin-top:2px; font-size:12.5px; color:var(--muted);}
@media (prefers-reduced-motion: reduce){ .indica::before, .indica::after, .ind-ic{animation:none;} }
/* ---------- Cards das trilhas (compactos) ---------- */
.trilha .grid{grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:12px;}
.trilha .mc{min-height:0; padding:14px; gap:9px; border-radius:18px;}
.trilha .mtile{width:46px; height:46px; border-radius:14px; font-size:23px;}
.trilha .mt{font-size:16.5px;}
.trilha .ms{font-size:13px; line-height:1.45;}
.trilha .mfoot{flex-wrap:wrap; gap:4px 10px; font-size:12.5px;}
.trilha .pctpill{font-size:12px; padding:4px 10px;}
.trilha .mc.pfinal{max-width:none;}
.trilha > .sec-t{display:flex; align-items:center; gap:12px; margin:26px 2px 16px; font-size:clamp(24px, 4vw, 32px); letter-spacing:.06em; text-transform:uppercase; background:linear-gradient(90deg,#22d3ee,#c084fc 55%,#ec4899); -webkit-background-clip:text; background-clip:text; color:transparent; filter:drop-shadow(0 0 18px rgba(34,211,238,.35));}
.trilha > .sec-t::after{content:''; flex:1; height:2px; border-radius:2px; background:linear-gradient(90deg,#c084fc,transparent);}
#renda > .sec-t{background-image:linear-gradient(90deg,#10B981,#84CC16 50%,#22d3ee); filter:drop-shadow(0 0 18px rgba(16,185,129,.35));}
#renda > .sec-t::after{background:linear-gradient(90deg,#84CC16,transparent);}
.vit-ap{display:flex; flex-wrap:wrap; gap:5px; margin-top:auto;}
.vit-ap small{flex-basis:100%; font-size:10.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--c);}
.vit-ap span{font-size:11.5px; padding:3px 9px; border-radius:99px; background:#0d0d14; border:1px solid color-mix(in srgb,var(--c) 30%,#1d1d27); color:var(--muted);}
.vit-ap .vit-mais{border-style:dashed; color:var(--text);}
.mc.vit .mst{background:linear-gradient(135deg,var(--c),var(--c2)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.mc.breve{min-height:0; cursor:default; filter:grayscale(.55); opacity:.72;}
.mc.breve .mtile{transform:none;}
.mc.breve .mfoot{color:var(--muted);}
.pctpill{font-family:var(--font-d); font-weight:800; font-size:14px; padding:5px 12px; border-radius:99px; color:#000; background:linear-gradient(135deg,var(--c),var(--c2)); box-shadow:0 6px 20px -8px var(--c);}
.raviso{margin:0 2px 16px; padding:12px 14px; border-radius:16px; border:1px solid color-mix(in srgb,#fbbf24 40%,var(--line)); background:color-mix(in srgb,#fbbf24 7%,#0a0a0f); color:var(--text); font-size:13.5px; line-height:1.5;}
.pctpill.novo{background:var(--s2); color:var(--text); border:1px solid color-mix(in srgb,var(--c) 50%,transparent); box-shadow:none;}

/* ---------- Formulários ---------- */
.fprog-w{display:flex; align-items:center; gap:12px; margin:0 0 16px; position:sticky; top:calc(env(safe-area-inset-top,0px) + 66px); z-index:5; background:rgba(0,0,0,.75); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); padding:10px 0;}
.fprog{flex:1; height:10px; border-radius:99px; background:var(--s2); border:1px solid var(--line); overflow:hidden;}
.fprog > i{display:block; height:100%; width:0; border-radius:99px; background:linear-gradient(90deg,#ff5a5f,#fbbf24,#4ade80,#22d3ee,#c084fc,#ff5a5f); background-size:200% 100%; animation:slide 4s linear infinite; transition:width .5s cubic-bezier(.2,.8,.2,1); box-shadow:0 0 12px rgba(251,191,36,.45);}
#fprog-t{font-size:13px; color:var(--muted); white-space:nowrap; font-weight:600; min-width:110px; text-align:right;}
.fcard{border-color:color-mix(in srgb,var(--c) 35%,var(--line)); background:linear-gradient(160deg,color-mix(in srgb,var(--c) 8%,#0a0a0f),#0a0a0f 60%);}
.fcard .fsec{margin:0 0 16px; display:flex; align-items:center; gap:10px; color:var(--text); font-size:18px;}
.fico{width:36px; height:36px; border-radius:12px; display:grid; place-items:center; font-size:18px; background:linear-gradient(135deg,var(--c),var(--c2)); box-shadow:0 6px 18px -6px var(--c);}
.form{max-width:640px; margin:0 auto;}
.form .card{padding:22px;}
.fgrid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.fgrid .wide{grid-column:1/-1;}
.fl{display:flex; flex-direction:column; gap:6px; font-size:14px; font-weight:600;}
.fsec{font-size:16px; margin:22px 0 12px; color:var(--c);}
.radios{border:0; margin:0; padding:0; flex-direction:row; flex-wrap:wrap; gap:8px 18px; align-items:center;}
.radios legend{width:100%; padding:0; margin-bottom:6px;}
.radios label{display:flex; align-items:center; gap:6px; font-weight:400; font-size:15px;}
.radios input{accent-color:var(--c); width:18px; height:18px;}
.nota{font-size:13px; color:var(--muted); margin:16px 0 0;}
.fl textarea{resize:vertical; min-height:70px;}
.pw{position:relative; display:block;}
.fl .pw input{padding-right:48px;}
.olho{position:absolute; right:6px; top:50%; transform:translateY(-50%); width:36px; height:36px; border:0; border-radius:10px; background:transparent; font-size:18px; line-height:1; cursor:pointer; opacity:.75;}
.olho:hover,.olho:focus-visible{opacity:1; background:var(--s3);}
.fl input,.fl select,.fl textarea,.inp{background:var(--s2); border:1px solid var(--line); color:var(--text); border-radius:12px; padding:11px 12px; font:inherit; font-weight:400; font-size:15px; width:100%; box-sizing:border-box;}
.fl input:focus,.fl select:focus,.fl textarea:focus,.inp:focus{outline:2px solid var(--c); border-color:transparent;}
.fl small{font-weight:400; color:var(--muted);}
.check{display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--muted); margin:14px 0;}
.check input{margin-top:4px; accent-color:var(--c);}
.err{color:var(--bad); font-size:14px; min-height:20px; margin:4px 0 10px;}
.ok-msg{color:#4ade80; font-size:14px; line-height:1.5; margin:0 0 12px; padding:10px 12px; border-radius:12px; background:rgba(74,222,128,.08); border:1px solid rgba(74,222,128,.3);}
.ok-msg[hidden]{display:none;}
.link{background:none; border:0; color:var(--muted); text-decoration:underline; font-size:14px; padding:6px 0;}
.link.inl{color:var(--c); padding:0; font-size:inherit;}
.link:disabled{opacity:.55; text-decoration:none; cursor:default;}
.recom{--c:#22d3ee; margin:0 0 14px; padding:10px 14px; border-radius:12px; border:1px solid var(--line); font-size:14px; color:var(--muted);}
.recom b{color:var(--text);}

/* ---------- Certificado ---------- */
.cert-cta{--c:#22d3ee; --c2:#c084fc; display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:0 0 16px; padding:16px 18px; border-radius:18px;
  border:1px solid color-mix(in srgb,var(--c) 40%,var(--line)); background:linear-gradient(135deg,color-mix(in srgb,var(--c) 12%,#07070c),color-mix(in srgb,var(--c2) 10%,#07070c));}
.cert-cta .cert-ico{width:48px; height:48px; border-radius:14px; display:grid; place-items:center; font-size:26px; background:linear-gradient(135deg,var(--c),var(--c2)); flex:none;}
.cert-cta > div:nth-child(2){flex:1; min-width:200px; display:grid; gap:4px;}
.cert-cta b{font-size:16px;} .cert-cta span{font-size:14px; color:var(--muted);}
.cert-cta code{font-family:'JetBrains Mono',ui-monospace,monospace; color:var(--c); letter-spacing:.5px;}
.next.cert-btn{--c:#22d3ee; --c2:#c084fc;}
.cert-sync{color:var(--muted); font-size:13.5px; margin:-4px 0 10px;}

/* ---------- Manual do painel ---------- */
.ajuda{display:inline-grid; place-items:center; width:26px; height:26px; margin-left:6px; padding:0; border-radius:50%; border:1px solid var(--line);
  background:rgba(255,255,255,.06); font-size:13px; line-height:1; vertical-align:middle; cursor:pointer; transition:background .2s, border-color .2s;}
.ajuda:hover{background:rgba(255,255,255,.14); border-color:var(--muted);}
.eyebrow .ajuda{width:22px; height:22px; font-size:11px;}
.manual .man-ind{display:flex; flex-wrap:wrap; gap:6px; margin:0 0 18px;}
.manual .man-ind button{border:1px solid var(--line); background:rgba(255,255,255,.05); color:var(--text); border-radius:99px; padding:6px 12px; font-size:13px; cursor:pointer;}
.manual .man-ind button:hover{background:rgba(255,255,255,.12);}
.manual section{padding:16px 0; border-top:1px solid var(--line); scroll-margin-top:10px;}
.manual h3{margin:0 0 8px;} .manual h4{margin:14px 0 6px; font-size:15px;}
.manual p, .manual li{font-size:14.5px; line-height:1.6; color:var(--text);}
.manual ul, .manual ol{padding-left:20px; margin:6px 0;} .manual li{margin:4px 0;}
.manual code{font-family:'JetBrains Mono',ui-monospace,monospace; font-size:13px; padding:1px 5px; border-radius:6px; background:rgba(255,255,255,.08);}
.nivel.final .mc.pfinal{border-style:dashed;}
.nivel.final .mc.pfinal.lock{opacity:.6;}

/* ---------- Depoimentos ---------- */
.dep-box{margin:0 0 16px;}
.dep-box h3{margin:0 0 6px;}
.dep-box form{display:grid; gap:10px;}
.dep-box .next{justify-self:start;}
.dep-txt{font-style:italic; margin:8px 0; line-height:1.55;}
.done-box + .dep-box{margin-top:18px;}
.vitrine-dep{margin-top:28px;}
.deps{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px;}
.dep{--c:#22d3ee; --c2:#c084fc; margin:0; padding:18px 20px; border-radius:18px; display:flex; flex-direction:column; justify-content:space-between; gap:14px;
  border:1px solid color-mix(in srgb,var(--c) 35%,var(--line)); background:linear-gradient(135deg,color-mix(in srgb,var(--c) 10%,#07070c),color-mix(in srgb,var(--c2) 8%,#07070c));}
.dep blockquote{margin:0; font-size:15px; line-height:1.55;}
.dep figcaption{display:grid; gap:2px;} .dep figcaption small{color:var(--muted);}

/* ---------- Confirmação de e-mail e WhatsApp ---------- */
.hbtns{display:flex; flex-wrap:wrap; gap:10px; align-items:center;}
.ghost{background:transparent; color:var(--text); border:1px solid var(--line); border-radius:14px; padding:12px 20px; font-weight:700; font-size:15px; transition:border-color .2s, background .2s;}
.ghost:hover{border-color:var(--c); background:color-mix(in srgb,var(--c) 10%,transparent);}
.obrig{display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.5; color:var(--text); background:linear-gradient(135deg,color-mix(in srgb,#fbbf24 14%,#0a0a0f),#0a0a0f); border:1px solid color-mix(in srgb,#fbbf24 45%,var(--line)); border-radius:14px; padding:12px 14px; margin:12px 0 16px;}
.obrig b{color:#fbbf24;}
.pend{display:grid; gap:8px; margin:6px 0 10px; padding:14px; border-radius:14px; border:1px solid color-mix(in srgb,#fbbf24 45%,var(--line)); background:color-mix(in srgb,#fbbf24 8%,#0a0a0f); font-size:14px; color:var(--muted);}
.pend b{color:#fbbf24;} .pend span b{color:var(--text);}
.pend .next{justify-self:start;}
.vform{max-width:560px;}
.vsteps{display:flex; gap:8px; margin:4px 0 16px;}
.vstep{flex:1; display:flex; align-items:center; gap:8px; padding:10px; border-radius:12px; background:var(--s1); border:1px solid var(--line); color:var(--muted); font-size:13px; font-weight:700;}
.vstep i{font-style:normal; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:var(--s3); color:var(--muted); flex:none;}
.vstep.cur{border-color:var(--c); color:var(--text);} .vstep.cur i{background:linear-gradient(135deg,var(--c),var(--c2)); color:#000;}
.vstep.ok{color:var(--ok);} .vstep.ok i{background:var(--ok); color:#000;}
.otp{width:100%; box-sizing:border-box; text-align:center; font:800 34px/1 var(--font-d, inherit); letter-spacing:.45em; padding:14px 0 14px .45em; border-radius:14px; background:var(--s2); color:var(--text); border:1px solid var(--line);}
.otp:focus{outline:2px solid var(--c); border-color:transparent;}
.demo-code{margin-top:12px; font-size:13px; color:var(--muted); padding:10px 12px; border-radius:12px; border:1px dashed var(--line); background:var(--s1);}
.demo-code b{color:var(--yellow); font-size:16px; letter-spacing:.15em;}
.vacts{display:flex; justify-content:space-between; gap:10px; margin-top:8px;}
.wa-btn{background:linear-gradient(135deg,#25d366,#128c7e); color:#04140c; text-decoration:none; box-shadow:0 12px 30px -12px #25d366;}
.codigo-w{font:800 40px/1 var(--font-d, inherit); letter-spacing:.3em; color:#25d366; text-align:center; padding:16px 0 18px .3em; margin-bottom:14px; border-radius:14px; background:var(--s2); border:1px dashed color-mix(in srgb,#25d366 50%,var(--line));}
.ok-nota{color:var(--ok);}
.vform > .next, .vform > .ghost{margin-top:14px;}
.pend.wa-pend{border-color:color-mix(in srgb,#25d366 45%,var(--line)); background:color-mix(in srgb,#25d366 8%,#0a0a0f);}
.pend.wa-pend > b{color:#25d366;}
.pend.wa-pend .link{justify-self:start;}

/* ---------- Confirmações de WhatsApp (painel) ---------- */
.confs{display:grid; gap:10px;}
.conf{display:grid; grid-template-columns:1fr auto auto; gap:12px; align-items:center; padding:12px; border-radius:14px; background:var(--s1); border:1px solid var(--line);}
.conf.pediu{border-color:color-mix(in srgb,#25d366 45%,var(--line));}
.conf .cod{font:800 20px/1 var(--font-d, inherit); letter-spacing:.2em; color:#25d366;}
.conf small{color:var(--muted);}
.conf .avbtns{justify-content:flex-end;}
@media (max-width: 640px){ .conf{grid-template-columns:1fr auto;} .conf .avbtns{grid-column:1/-1; justify-content:flex-start;} }

/* ---------- Painel do master ---------- */
.adm{max-width:1280px; margin:0 auto; padding:20px 16px 60px;}
.adm-h{display:flex; justify-content:space-between; align-items:flex-end; gap:12px; margin:6px 0 18px; flex-wrap:wrap;}
.live{display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--ok); border:1px solid color-mix(in srgb,var(--ok) 45%,transparent); background:color-mix(in srgb,var(--ok) 10%,#000); padding:6px 12px; border-radius:99px;}
.live i{width:8px; height:8px; border-radius:50%; background:var(--ok); box-shadow:0 0 0 0 var(--ok); animation:pulse 1.8s ease-out infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 70%,transparent);} 100%{box-shadow:0 0 0 10px transparent;}}
.stats{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px;}
.stat{position:relative; overflow:hidden; border-radius:20px; padding:16px 18px; border:1px solid color-mix(in srgb,var(--c) 40%,#16161e); background:linear-gradient(155deg,color-mix(in srgb,var(--c) 20%,#050507),#050507 68%); transition:transform .25s, box-shadow .25s;}
.stat:hover{transform:translateY(-4px); box-shadow:0 16px 40px -18px var(--c);}
.sico{width:42px; height:42px; border-radius:14px; display:grid; place-items:center; font-size:20px; margin-bottom:10px; background:linear-gradient(135deg,var(--c),var(--c2)); box-shadow:0 8px 24px -8px var(--c);}
.stat b{display:block; font-family:var(--font-d); font-size:34px; font-weight:800; line-height:1.1;}
.stat span{display:block; font-size:14px; color:var(--text); font-weight:500;}
.stat small{display:block; font-size:12px; color:var(--c); margin-top:2px; font-weight:600;}
.charts{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:22px;}
.chart{display:flex; flex-direction:column; border-radius:20px; padding:16px 18px; border:1px solid color-mix(in srgb,var(--c) 30%,var(--line)); background:linear-gradient(160deg,color-mix(in srgb,var(--c) 9%,#0a0a0f),#0a0a0f 65%); min-width:0;}
.ch-h{margin-bottom:14px;}
.ch-h b{display:block; font-family:var(--font-d); font-size:17px;}
.ch-h small{color:var(--muted); font-size:13px;}
.gline{width:100%; height:auto; display:block; overflow:visible;}
.gl-grade{stroke:#24242f; stroke-width:1; stroke-dasharray:3 4;}
.gl-traco{stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 4px var(--c)); stroke-dasharray:1200; stroke-dashoffset:1200; animation:gl-desenha 1.2s ease forwards;}
@keyframes gl-desenha{to{stroke-dashoffset:0;}}
.gl-pt{fill:#0a0a0f; stroke:var(--c2); stroke-width:2;}
.gl-n{fill:var(--text); font-size:10px; font-weight:700; text-anchor:middle;}
.gl-dia{fill:var(--muted); font-size:9.5px; text-anchor:middle;}
.ch-vazio{color:var(--muted); text-align:center; padding:36px 10px; font-size:14px;}
.vbars{display:flex; align-items:flex-end; gap:6px; flex:1; min-height:160px;}
.vb{flex:1; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:4px; min-width:0;}
.vb i{width:100%; max-width:26px; border-radius:8px 8px 3px 3px; background:linear-gradient(180deg,var(--c),var(--c2)); box-shadow:0 0 14px -4px var(--c); transform-origin:bottom; animation:grow .8s cubic-bezier(.2,.8,.2,1) both;}
.vb em{font-style:normal; font-size:11px; font-weight:700; color:var(--c);}
.vb span{font-size:11px; color:var(--muted);}
@keyframes grow{from{transform:scaleY(0);}}
.hbars{display:flex; flex-direction:column; gap:7px;}
.hb{display:grid; grid-template-columns:44px 1fr 42px; gap:10px; align-items:center; font-size:13px;}
.hb.larga{grid-template-columns:minmax(120px,40%) 1fr 30px;}
.hb span{color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.hb em{font-style:normal; font-weight:700; text-align:right;}
.hbt{height:10px; border-radius:99px; background:#1c1c27; overflow:hidden;}
.hbt i{display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--c),var(--c2)); box-shadow:0 0 12px -2px var(--c); transform-origin:left; animation:growx .9s cubic-bezier(.2,.8,.2,1) both;}
@keyframes growx{from{transform:scaleX(0);}}
.donut-w{display:flex; align-items:center; gap:22px; flex-wrap:wrap;}
.donut{width:150px; height:150px; border-radius:50%; display:grid; place-items:center; position:relative; flex:none; box-shadow:0 0 40px -14px var(--c);}
.donut::before{content:""; position:absolute; inset:18px; border-radius:50%; background:#0a0a0f;}
.donut div{position:relative; text-align:center;}
.donut b{display:block; font-family:var(--font-d); font-size:30px; font-weight:800; line-height:1;}
.donut span{font-size:12px; color:var(--muted);}
.leg{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; font-size:14px; flex:1; min-width:160px;}
.leg li{display:flex; align-items:center; gap:8px;}
.leg i{width:12px; height:12px; border-radius:4px; flex:none;}
.leg b{margin-left:auto;}
.tcard{padding:0; overflow:auto;}
.pessoa{display:flex; align-items:center; gap:10px;}
.av{width:38px; height:38px; flex:none; border-radius:12px; display:grid; place-items:center; font-family:var(--font-d); font-weight:800; font-size:14px; color:#000; background:linear-gradient(135deg,var(--c),var(--c2)); box-shadow:0 6px 18px -8px var(--c);}
.act{display:inline-block; font-size:12px; font-weight:700; padding:3px 10px; border-radius:99px; white-space:nowrap;}
.act.hoje{color:var(--ok); background:color-mix(in srgb,var(--ok) 14%,#000); border:1px solid color-mix(in srgb,var(--ok) 45%,transparent);}
.act.semana{color:#22d3ee; background:color-mix(in srgb,#22d3ee 12%,#000); border:1px solid color-mix(in srgb,#22d3ee 40%,transparent);}
.act.off{color:var(--muted); background:var(--s2); border:1px solid var(--line);}
.act.pend-v{color:#fbbf24; background:color-mix(in srgb,#fbbf24 12%,#000); border:1px solid color-mix(in srgb,#fbbf24 40%,transparent); margin-top:4px;}
.atbl .act.hoje{margin-top:4px;}
.orb.mini{width:84px; height:84px; margin:0 0 18px;}
.orb.mini span{font-size:34px;}
.tools{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:14px;}
.tools .inp{width:auto; flex:1; min-width:180px;}
.tools select.inp{flex:0 1 260px;}
.sbtn{border:1px solid var(--line); background:var(--s2); color:var(--text); border-radius:12px; padding:10px 14px; font-weight:600; font-size:14px; white-space:nowrap;}
.sbtn:hover{border-color:var(--c);}
.sbtn:disabled{opacity:.5; cursor:default;}
a.sbtn{text-decoration:none; display:inline-flex; align-items:center;}
.sbtn.wa{background:linear-gradient(135deg,#25d366,#128c7e); color:#04140c; border-color:transparent; font-weight:800;}
.sbtn.off-api{border-style:dashed; color:var(--muted);}

/* ---------- Central de avisos ---------- */
.avc{padding:16px;}
.segs{display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:10px; margin-bottom:16px;}
.seg{display:flex; align-items:center; gap:10px; text-align:left; padding:10px 12px; border-radius:14px; background:var(--s1); border:1px solid var(--line); color:var(--text); transition:border-color .2s, transform .2s, background .2s;}
.seg:hover{transform:translateY(-2px); border-color:color-mix(in srgb,var(--c) 60%,var(--line));}
.seg.on{border-color:var(--c); background:linear-gradient(150deg,color-mix(in srgb,var(--c) 16%,#0a0a0f),#0a0a0f 70%); box-shadow:0 10px 26px -16px var(--c);}
.sgi{width:34px; height:34px; border-radius:10px; display:grid; place-items:center; background:linear-gradient(135deg,var(--c),var(--c2)); flex:none; font-size:17px;}
.sgt{display:grid; min-width:0; flex:1;} .sgt b{font-size:14px;} .sgt small{color:var(--muted); font-size:11px; line-height:1.3;}
.seg em{font-style:normal; font-weight:800; font-size:18px; font-family:var(--font-d, inherit); color:var(--c);}
.avbody{display:grid; grid-template-columns:minmax(260px,380px) 1fr; gap:16px; align-items:start;}
.avmodelo{position:sticky; top:80px; display:grid; gap:10px; padding:14px; border-radius:14px; border:1px solid color-mix(in srgb,var(--c) 35%,var(--line)); background:linear-gradient(160deg,color-mix(in srgb,var(--c) 8%,#0a0a0f),#0a0a0f 60%);}
.avmodelo textarea{resize:vertical; min-height:150px; line-height:1.5;}
.avmodelo code{font-size:11px; background:var(--s3); padding:1px 5px; border-radius:6px; color:var(--text);}
.avmodelo .nota{margin:0;}
.avbtns{display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
.avlista{display:grid; gap:10px; max-height:640px; overflow:auto; padding-right:4px;}
.avi{display:grid; gap:10px; padding:12px; border-radius:14px; background:var(--s1); border:1px solid var(--line);}
.avi .pessoa{display:flex; align-items:center; gap:10px;} .avi .pessoa > div{flex:1; min-width:0;}
.avi small{color:var(--muted);}
.avmsg{white-space:pre-wrap; font-size:13px; line-height:1.5; color:var(--text); background:var(--s2); border-radius:12px 12px 12px 4px; padding:10px 12px; border-left:3px solid #25d366;}
.semc{font-size:11px; color:#fbbf24 !important;}
@media (max-width: 900px){ .avbody{grid-template-columns:1fr;} .avmodelo{position:static;} .avlista{max-height:none;} }
@media (max-width: 560px){ .segs{grid-template-columns:1fr 1fr; gap:8px;} .seg{padding:8px;} .sgt small{display:none;} .sgi{width:28px; height:28px; font-size:14px;} .vstep span{font-size:11px;} }
.atbl{width:100%; border-collapse:collapse; font-size:14px;}
.atbl th,.atbl td{border-bottom:1px solid var(--line); padding:10px; text-align:left; vertical-align:top;}
.atbl th{font-family:var(--font-d); color:var(--muted); font-weight:700; font-size:13px; position:sticky; top:0; background:#050508;}
.atbl tbody tr{cursor:pointer;}
.atbl tbody tr:hover{background:var(--s1);}
.atbl small{color:var(--muted);}
.atbl a{color:var(--ok);}
.nome-aluno{all:unset; cursor:pointer; font-weight:700; color:var(--text); border-bottom:1px dashed var(--muted);}
.nome-aluno:hover,.nome-aluno:focus-visible{color:var(--ok); border-bottom-color:var(--ok);}
.cprog{display:grid; grid-template-columns:minmax(120px,1fr) 90px; gap:4px 10px; align-items:center; margin-bottom:6px;}
.cprog span{font-size:13px;}
.cprog em{font-style:normal; font-size:12px; color:var(--muted); text-align:right;}
.empty{text-align:center; color:var(--muted); padding:40px 10px;}
.det h3{margin:16px 0 8px; font-size:17px;}
.det .row2{display:grid; grid-template-columns:120px 1fr; gap:4px 12px; font-size:14px;}
.det .row2 span{color:var(--muted);}
.lst{list-style:none; margin:0; padding:0; font-size:14px;}
.lst li{display:flex; gap:8px; padding:4px 0;}
.lst li small{color:var(--muted); margin-left:auto;}

/* ---------- Lista rápida de cursos (ícone Cursos do rodapé, no celular) ---------- */
.cl-modal{position:fixed; inset:0; z-index:34; background:rgba(0,0,0,.35);}
.cl-box{position:absolute; left:10px; right:10px; bottom:calc(env(safe-area-inset-bottom,0px) + 74px); max-height:min(62vh,520px); overflow-y:auto; overscroll-behavior:contain; padding:10px; border:1px solid var(--line); border-radius:20px; background:rgba(8,8,12,.97); box-shadow:0 -10px 40px -12px rgba(0,0,0,.9); animation:rise .22s ease both;}
.cl-sec{font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:8px 8px 4px;}
.cl-it{display:flex; align-items:center; gap:10px; width:100%; padding:7px 8px; border:0; border-radius:12px; background:transparent; color:var(--text); font:inherit; font-size:14px; font-weight:600; text-align:left; cursor:pointer;}
.cl-it:active, .cl-it:hover{background:var(--s2);}
.cl-ic{flex:none; width:30px; height:30px; display:grid; place-items:center; border-radius:9px; font-size:16px; background:linear-gradient(135deg,var(--c),var(--c2));}
.cl-it small{margin-left:auto; flex:none; color:var(--muted); font-size:12px; font-weight:600;}
.cl-todos{margin-top:6px; border-top:1px solid var(--line); border-radius:0 0 12px 12px; padding-top:10px; color:var(--muted);}

@media (max-width: 900px){
  .fgrid{grid-template-columns:1fr;}
  .tagline{font-size:9.5px; white-space:normal; max-width:180px;}
  .logoimg{width:38px; height:38px;}
  .steps{grid-template-columns:1fr;}
  .orb{width:120px; height:120px;}
  .orb span{font-size:46px;}
  .fprog-w{top:calc(env(safe-area-inset-top,0px) + 58px);}
  .stats{grid-template-columns:1fr 1fr;}
  .charts{grid-template-columns:1fr;}
  .stat b{font-size:28px;}
  .hide-m{display:none;}
}
