
:root{
  /* Paleta "Imersão" — alinhada ao redesign do Figma (Speak Up — Academia de Imersão). */
  --navy:#0a1e2b; --surface:#0f2a3a; --card:linear-gradient(180deg,#102c3d 0%,#0c2531 100%); --card-solid:#0f2832;
  --bg:radial-gradient(1200px 600px at 80% -10%, #123246 0%, transparent 55%), linear-gradient(180deg,#0a1e2b 0%,#071620 100%);
  --border:#1e3a4c; --border-soft:#173040;
  --gold:#e6a23c; --gold-deep:#c9852e; --gold-soft:rgba(230,162,60,.14);
  --cyan:#3aa0b2; --cyan-deep:#2a7c8c; --cyan-soft:rgba(58,160,178,.14);
  --sand:#f0d9b5; --off:#f1f5f9; --wine:#7a2e22; --ink:#0a1e2b;
  --text:#f1f5f9; --mut:#8fa3af; --tint:rgba(255,255,255,.035); --tint2:rgba(255,255,255,.07);
  --field:rgba(0,0,0,.22); --navbg:rgba(10,30,43,.75); --ringtrack:rgba(255,255,255,.11);
  --r:16px; --r-lg:24px; --pill:999px;
  --sh:0 18px 40px -20px rgba(0,0,0,.7); --sh-sm:0 8px 20px -12px rgba(0,0,0,.6);
  --glow:0 0 28px -6px rgba(230,162,60,.45);
  --fd:'Sora',system-ui,sans-serif; --fb:'Inter',system-ui,sans-serif;
}
:root[data-theme="light"]{
  --surface:#ffffff; --card:linear-gradient(180deg,#ffffff 0%,#F5F8FA 100%); --card-solid:#F5F8FA;
  --bg:radial-gradient(1100px 520px at 80% -10%, #ffffff 0%, transparent 55%), linear-gradient(180deg,#F4F7F9 0%,#E9EFF3 100%);
  --border:#DDE6EC; --border-soft:#E8EFF3;
  --gold:#c9852e; --gold-deep:#a5691f; --gold-soft:rgba(201,133,46,.15);
  --cyan:#1f7c8c; --cyan-deep:#175f6b; --cyan-soft:rgba(31,124,140,.14);
  --text:#0a1e2b; --mut:#5b7280; --tint:rgba(10,30,43,.04); --tint2:rgba(10,30,43,.07);
  --field:rgba(10,30,43,.05); --navbg:rgba(255,255,255,.82); --ringtrack:rgba(10,30,43,.11);
  --sh:0 16px 40px -22px rgba(10,30,43,.30); --sh-sm:0 8px 20px -14px rgba(10,30,43,.25);
  --glow:0 0 26px -8px rgba(201,133,46,.5);
}
[data-theme="light"] .badge.sand{color:#8A7654}
[data-theme="light"] .badge.lvl{color:#1F7C8C}
[data-theme="light"] .badge.streak{color:#B5752A}
[data-theme="light"] .badge.streak.wk{color:#B5552E}
[data-theme="light"] .badge.ok{color:#2E7D46}
[data-theme="light"] .badge.role-student{color:#3E6E86}
[data-theme="light"] .badge.role-admin{color:#B5563E}
[data-theme="light"] .av{border-color:rgba(5,31,44,.12)}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:var(--fb);color:var(--text);-webkit-font-smoothing:antialiased;
  background:var(--bg);background-attachment:fixed;min-height:100vh;transition:background .2s ease,color .2s ease}
a{color:var(--gold);text-decoration:none} a:hover{filter:brightness(1.12)}
h1,h2,h3{font-family:var(--fd);letter-spacing:-.02em;margin:0}
.wrap{max-width:1180px;margin:0 auto;padding:26px 20px 90px}
.muted{color:var(--mut)} .small{font-size:13px} .center{text-align:center}

/* NAV */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);
  background:var(--navbg);border-bottom:1px solid var(--border-soft)}
.nav-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:13px 20px}
.logo{font-family:var(--fd);font-weight:800;font-size:20px;letter-spacing:-.02em}
.logo b{color:var(--gold)}
.nav-links{display:flex;gap:4px;margin-left:8px;flex:1;flex-wrap:wrap}
.nav-links a{color:var(--mut);font-weight:600;font-size:14px;padding:7px 12px;border-radius:var(--pill);transition:.15s}
.nav-links a:hover{background:var(--gold-soft);color:var(--text)}
.nav-links a.on{background:var(--gold-soft);color:var(--gold)}
.uchip{display:flex;align-items:center;gap:10px}
.av{width:34px;height:34px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,var(--gold-deep),var(--gold));
  display:grid;place-items:center;color:var(--ink);font-weight:800;font-size:13px;font-family:var(--fd);border:1px solid rgba(255,255,255,.12)}
.av.lg{width:64px;height:64px;font-size:22px}

/* CARDS */
.card{background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh);animation:rise .5s cubic-bezier(.2,.7,.3,1) both}
.card + .card{margin-top:18px}

/* P88: pedido da Tayla — a revisão de flashcard vira 2 cartas lado a lado
   (frente em português à esquerda, verso em inglês à direita), em vez de
   uma carta só que empilha e muda de altura ao abrir a resposta. A carta
   da direita é o próprio <details>: fechada, mostra só "Mostrar resposta"
   centralizado preenchendo a carta toda; aberta, vira a resposta completa
   (imagem + frase em inglês + áudio + notas), do mesmo tamanho da da
   esquerda. Empilha em 1 coluna só no celular. */
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
@media(max-width:640px){.review-grid{grid-template-columns:1fr}}
.review-answer-card{display:flex;flex-direction:column;cursor:pointer}
.review-answer-card summary{list-style:none;flex:1;display:flex;align-items:center;justify-content:center;
  gap:8px;font-weight:700;color:var(--mut);text-align:center}
.review-answer-card summary::-webkit-details-marker{display:none}
.review-answer-card[open] summary{display:none}
.review-answer-card[open]{cursor:default}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.sec-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px}
.sec-h h2{font-size:19px}

/* BADGES / PILLS */
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--pill);
  font-size:12.5px;font-weight:700;border:1px solid var(--border);background:var(--tint)}
.badge.gold{color:var(--gold);border-color:rgba(201,154,91,.4);background:var(--gold-soft)}
.badge.sand{color:var(--sand)}
.badge.lvl{color:#3AA0B2;background:rgba(58,160,178,.13);border-color:rgba(58,160,178,.32)}
.badge.streak{color:#E6A23C;background:rgba(230,162,60,.13);border-color:rgba(230,162,60,.33)}
.badge.streak.wk{color:#E67E4E;background:rgba(230,126,78,.13);border-color:rgba(230,126,78,.33)}
.badge.ok{color:#4FB06A;background:rgba(79,176,106,.15);border-color:rgba(79,176,106,.36)}
.badge.role-student{color:#9CC4D6} .badge.role-teacher{color:var(--gold)} .badge.role-admin{color:#E0A38F}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;border:0;
  font-family:var(--fb);font-weight:700;font-size:14px;padding:11px 18px;border-radius:var(--pill);
  background:linear-gradient(180deg,var(--gold) 0%,var(--gold-deep) 100%);color:var(--ink);
  box-shadow:var(--sh-sm);transition:.16s}
.btn:hover{transform:translateY(-1px);box-shadow:var(--glow);filter:brightness(1.05)}
.btn:active{transform:translateY(0)}
.btn.sm{padding:8px 14px;font-size:13px}
.btn.ghost{background:var(--tint);color:var(--text);border:1px solid var(--border)}
.btn.ghost:hover{background:var(--tint2);box-shadow:none}
.btn.block{width:100%}
form.inline{display:inline}

/* INPUTS */
label{display:block;font-size:13px;color:var(--mut);margin:16px 0 7px;font-weight:600}
input,select,textarea{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--border);
  background:var(--field);color:var(--text);font-size:15px;font-family:var(--fb);transition:.15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
textarea{resize:vertical}

/* HERO + RING */
.hero{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hero-card{position:relative;overflow:hidden}
.hero-card::after{content:"";position:absolute;top:-45%;right:-8%;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,var(--gold-soft) 0%,transparent 70%);pointer-events:none}
.hero-card>*{position:relative;z-index:1}
.cheer{color:var(--mut);font-size:14.5px;margin:0 0 14px}
.mission{position:relative;overflow:hidden}
.mission::after{content:"";position:absolute;top:-55%;left:-5%;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(230,162,60,.16),transparent 70%);pointer-events:none}
.mission>*{position:relative;z-index:1}
.ring{position:relative;width:142px;height:142px;flex-shrink:0}
.ring .track{position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from -90deg, var(--gold-deep) 0deg, #EBC788 calc(var(--pct)*3.6deg), var(--ringtrack) calc(var(--pct)*3.6deg) 360deg);
  -webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - 13px), #000 calc(100% - 13px));
          mask:radial-gradient(farthest-side, #0000 calc(100% - 13px), #000 calc(100% - 13px));
  filter:drop-shadow(0 0 8px rgba(201,154,91,.4))}
.ring::before{content:"";position:absolute;inset:17px;border-radius:50%;background:radial-gradient(circle, var(--gold-soft), transparent 72%)}
.ring .val{position:absolute;inset:0;display:grid;place-items:center;text-align:center;z-index:1}
.ring .val b{font-family:var(--fd);font-size:35px;line-height:1;font-weight:800;background:linear-gradient(135deg,var(--gold-deep),#EBC788);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ring .val span{display:block;font-size:11px;color:var(--mut);margin-top:5px;letter-spacing:.04em}
.ring.met .track{animation:ringpulse 2.6s ease-in-out infinite}
@keyframes ringpulse{0%,100%{filter:drop-shadow(0 0 7px rgba(201,154,91,.4))}50%{filter:drop-shadow(0 0 18px rgba(201,154,91,.72))}}
.hero-info{flex:1;min-width:220px}
.hero-info .hi{color:var(--mut);font-size:15px}
.hero-info h1{font-size:26px;margin:4px 0 12px}
.hstats{display:flex;gap:9px;flex-wrap:wrap}
.kpis{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}

/* ROOMS GRID */
.rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:14px}
.room{background:var(--tint);border:1px solid var(--border);border-radius:var(--r);
  padding:18px;display:flex;flex-direction:column;gap:10px;transition:.18s;position:relative;overflow:hidden}
.room:hover{transform:translateY(-3px);border-color:rgba(201,154,91,.5);box-shadow:var(--sh-sm)}
.room-ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:23px;
  background:var(--gold-soft);border:1px solid rgba(201,154,91,.25)}
.room h3{font-size:16.5px} .room .meta{color:var(--mut);font-size:12.5px;line-height:1.5}
.room .foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px}

/* P39: trilha do Relógio de Escuta — quadradinhos pequenos numa fileira só,
   pedido explícito da Tayla a partir do print do Figma. */
.trail-row{display:grid;grid-template-columns:repeat(var(--trail-cols,6),1fr);gap:8px}
.trail-row .room{padding:10px 6px;gap:4px;align-items:center;text-align:center}
.trail-row .room-ico{width:30px;height:30px;font-size:14px;border-radius:9px}
.trail-row .room h3{font-size:10.5px;line-height:1.25;margin:0}
.trail-row .room .meta{font-size:9px}
.trail-row .src-num{font-size:13px}
.trail-row .small{font-size:9.5px}
@media (max-width:640px){.trail-row{grid-template-columns:repeat(3,1fr)}}

/* P39: card principal do Relógio de Escuta — fileira horizontal (número +
   barra + botão), igual ao print do Figma da Tayla, em vez do bloco
   centralizado empilhado que tinha antes. */
.relogio-hero{border-color:var(--gold)}
.relogio-row{display:flex;gap:32px;align-items:center;flex-wrap:wrap}
.relogio-num{flex:0 0 auto;min-width:150px}
.relogio-mid{flex:1 1 260px;min-width:220px}
.relogio-mid .bar{margin-bottom:10px}
@media (max-width:720px){.relogio-row{flex-direction:column;align-items:stretch}.relogio-row>*{width:100%}}

/* FEATURE / RESOURCE CARDS (Painel — Recursos, Recompensas, Hacks) */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin:14px 0 28px}
.dash-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:14px 0 28px}
.dash-cols .dc-head{grid-column:span 2}
.dash-cols .dc-head .section-head{margin-top:0}
@media(min-width:720px){.dash-cols{grid-template-columns:repeat(4,1fr)}.dash-cols .dc-head{grid-column:span 2}}
.feature{background:var(--tint);border:1px solid var(--border);border-radius:var(--r);
  padding:18px;display:flex;flex-direction:column;gap:10px;transition:.18s;text-decoration:none;color:inherit}
a.feature:hover{transform:translateY(-3px);border-color:rgba(230,162,60,.5);box-shadow:var(--sh-sm)}
.feature .ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:20px;
  background:var(--gold-soft);border:1px solid rgba(230,162,60,.25)}
.feature h3{font-size:15px;margin:0}
.feature p{color:var(--mut);font-size:12.5px;line-height:1.45;margin:0}
.feature-ico-lg{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;font-size:24px;
  background:var(--gold-soft);border:1px solid rgba(230,162,60,.3);flex-shrink:0}
.pill-tag{display:inline-flex;align-items:center;gap:6px;background:var(--gold-soft);color:var(--gold);
  font-weight:700;font-size:11px;padding:5px 10px;border-radius:999px;vertical-align:middle;margin-left:8px}
.hero-mkt{position:relative;overflow:hidden}
.hero-mkt::after{content:"";position:absolute;top:-45%;right:-8%;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,var(--gold-soft) 0%,transparent 70%);pointer-events:none}
.hero-mkt>*{position:relative;z-index:1}
.section-head{margin:32px 0 4px}
.section-head h2{font-size:19px;display:flex;align-items:center}
.section-sub{color:var(--mut);font-size:13px;margin:2px 0 14px}

/* MODULE ROWS (Material da Escola) */
.mod-ico{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:16px;flex-shrink:0;
  background:var(--gold-soft);border:1px solid rgba(230,162,60,.25)}

/* CHIPS (atividades) */
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:7px;cursor:pointer;border:1px solid var(--border);
  background:var(--tint);color:var(--text);font-weight:600;font-size:13.5px;
  padding:10px 14px;border-radius:var(--pill);font-family:var(--fb);transition:.15s}
.chip:hover{border-color:var(--gold);background:var(--gold-soft);transform:translateY(-1px)}
.chip b{color:var(--gold);font-weight:700}

/* P48: wizard "Minha Agenda" (rotina + meta + geração por IA) */
.wiz-dots{display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:6px}
.wiz-dot{width:7px;height:7px;border-radius:50%;background:var(--border);transition:.2s}
.wiz-dot.on{background:var(--gold);width:20px;border-radius:5px}
.wiz-dot.done{background:var(--gold-deep)}
.wiz-eyebrow{text-align:center;color:var(--mut);font-size:12.5px;margin:0 0 18px;font-weight:600}
.wiz-step{display:none}
.wiz-step.on{display:block;animation:wizIn .25s ease}
@keyframes wizIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.wiz-q{font-weight:700;font-size:14.5px;margin:22px 0 10px}
.wiz-q:first-child{margin-top:0}
.wiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:10px}
.wiz-negotiate{border:1px solid var(--gold);background:var(--gold-soft);border-radius:var(--r);padding:14px 16px;margin-top:16px;font-size:13.5px}
.wiz-negotiate.ok{border-color:#4FB06A;background:rgba(79,176,106,.12)}
.wiz-negotiate.info{border-color:var(--border);background:var(--tint)}
.wiz-loading{text-align:center;padding:38px 10px}
.wiz-spin{width:46px;height:46px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--gold);
  margin:0 auto 20px;animation:wizspin 1s linear infinite}
@keyframes wizspin{to{transform:rotate(360deg)}}
.wiz-loading .bar{max-width:280px;margin:16px auto 0}
.wiz-yn{display:flex;gap:10px}

/* LEADERBOARD */
.podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:12px;align-items:end;margin-bottom:8px}
.pod{background:var(--tint);border:1px solid var(--border);border-radius:var(--r);padding:16px 12px;text-align:center}
.pod.one{border-color:rgba(201,154,91,.55);background:linear-gradient(180deg,var(--gold-soft),var(--tint));box-shadow:var(--glow)}
.pod.two{border-color:rgba(196,205,214,.5);background:linear-gradient(180deg,rgba(196,205,214,.10),var(--tint))}
.pod.three{border-color:rgba(205,140,90,.45);background:linear-gradient(180deg,rgba(205,140,90,.10),var(--tint))}
.pod .medal{font-size:26px} .pod .nm{font-weight:700;font-size:14px;margin:8px 0 2px}
.pod .pts{color:var(--gold);font-weight:800;font-family:var(--fd)}
.lrow{display:flex;align-items:center;gap:12px;padding:11px 6px;border-bottom:1px solid var(--border-soft)}
.lrow:last-child{border:0} .lrow .rk{width:26px;font-weight:800;color:var(--mut);font-family:var(--fd)}
.lrow .nm{flex:1;font-weight:600} .lrow .pp{color:var(--mut);font-weight:700}
.lrow.me{background:var(--gold-soft);border-radius:12px;padding-left:10px;padding-right:10px}
.rank-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.rank-tabs button{border:1px solid var(--border);background:var(--tint);color:var(--mut);font-weight:700;
  font-size:13px;padding:8px 16px;border-radius:var(--pill);cursor:pointer;transition:.15s;font-family:var(--fb)}
.rank-tabs button:hover{border-color:rgba(230,162,60,.5)}
.rank-tabs button.on{background:var(--gold-soft);border-color:var(--gold);color:var(--gold)}

/* PROGRESS BAR (fallback) */
.bar{height:12px;background:var(--field);border:1px solid var(--border);border-radius:var(--pill);overflow:hidden}
.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-deep),var(--gold))}

/* ROWS / TABLE */
.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-soft)}
.row:last-child{border:0}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:11px 8px;border-bottom:1px solid var(--border-soft)}
th{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}

/* TOAST / BANNER */
.toast{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,var(--gold) 0%,var(--gold-deep) 100%);
  color:var(--ink);font-weight:700;padding:14px 18px;border-radius:14px;margin-bottom:18px;box-shadow:var(--glow);
  animation:pop .4s cubic-bezier(.2,.8,.3,1.2) both}
.toast a{color:var(--ink);text-decoration:underline}
@keyframes pop{from{opacity:0;transform:scale(.97) translateY(-6px)}to{opacity:1;transform:none}}
.toast.err{background:var(--wine);color:#F3D9C9}
/* P286: aluno sem WhatsApp na tela de usuarios, e o convite do proprio aluno */
.semZap{margin-top:3px;font-size:11px;color:#e8b44a}
.zapPede{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--tint);
  border:1px solid var(--border);border-left:3px solid #25D366;border-radius:14px;
  padding:12px 16px;margin-bottom:18px}
.zapPede p{margin:0;flex:1;min-width:220px;font-size:14px}
.zapPede b{color:var(--gold)}

/* VIDEO (curso) */
.video{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:#000;margin:10px 0}
.video iframe,.video video{position:absolute;inset:0;width:100%;height:100%;border:0}
details.lesson{border:1px solid var(--border);border-radius:14px;padding:0;margin-bottom:10px;background:var(--tint);overflow:hidden}
details.lesson>summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;align-items:center;gap:10px;font-weight:600}
details.lesson>summary::-webkit-details-marker{display:none}
details.lesson[open]>summary{border-bottom:1px solid var(--border-soft)}
details.lesson .body{padding:0 16px 16px}

/* CHAT ao vivo */
#msgs{display:flex;flex-direction:column;gap:10px;min-height:300px;max-height:58vh;overflow-y:auto;padding:6px 2px}
.msg{display:flex;gap:10px;align-items:flex-start}
.msg.me{flex-direction:row-reverse}
.msg .bub{max-width:78%;padding:9px 13px;border-radius:15px;font-size:14.5px;line-height:1.45;background:var(--tint2);border:1px solid var(--border)}
.msg.me .bub{background:var(--gold-soft);border-color:rgba(201,154,91,.4)}
.msg .who{font-size:11.5px;color:var(--mut);margin-bottom:3px;font-weight:700}

/* CHAT ao vivo — layout com sidebar (canais + online) */
.chat-layout{display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:start}
@media(max-width:820px){.chat-layout{grid-template-columns:1fr}}

/* Turma / Aula VIP — botões de ação à esquerda, conversa com a turma à direita */
.turma-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;margin-bottom:18px}
.turma-split .card{height:100%;display:flex;flex-direction:column;margin-top:0}
.turma-actions .card{justify-content:center}
@media(max-width:900px){.turma-split{grid-template-columns:1fr;align-items:start}.turma-chat{order:-1}.turma-split .card{height:auto}.turma-actions .card{justify-content:flex-start}}
.chat-side{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;gap:6px}
.chat-side input{margin-bottom:6px}
.chat-side-label{color:var(--mut);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:12px 4px 4px}
.chat-channel{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:12px;font-weight:600;font-size:14px;cursor:default}
.chat-channel.on{background:var(--gold-soft);color:var(--gold)}
.chat-hash{opacity:.7}
.chat-user{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:12px;font-size:13.5px}
.chat-user .dot{width:8px;height:8px;border-radius:50%;background:#4FB06A;flex-shrink:0;box-shadow:0 0 6px rgba(79,176,106,.6)}
.chat-post{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-soft)}
.chat-post:last-child{border:0}
.chat-post-head{display:flex;align-items:center;gap:10px}

/* CINEMA / PLAYER de imersão */
.cine{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:860px){.cine{grid-template-columns:1.35fr 1fr;align-items:start}}
#transcript{max-height:60vh;overflow-y:auto;padding:4px;display:flex;flex-direction:column;gap:6px}
.cue{padding:9px 12px;border-radius:12px;border:1px solid transparent;cursor:pointer;transition:.12s;line-height:1.55}
.cue:hover{background:var(--tint)}
.cue.on{background:var(--gold-soft);border-color:rgba(201,154,91,.4)}
.cue .pt{display:block;color:var(--mut);font-size:13px;margin-top:3px;font-style:italic}
.cue.hidePt .pt{display:none}
.w{cursor:pointer;border-radius:5px;padding:0 1px;transition:background .1s}
.w:hover{background:var(--gold);color:var(--ink)}
.cine-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.lookup{position:sticky;bottom:0;margin-top:10px;background:var(--card);border:1px solid var(--gold);border-radius:14px;padding:14px;box-shadow:var(--glow);display:none;max-height:min(70vh,520px);overflow-y:auto}
.lookup.show{display:block}
.lookup .lk-head{display:flex;align-items:center;gap:8px}
.lookup .lw{font-family:var(--fd);font-weight:800;font-size:19px}
.lookup .lk-pos{background:var(--gold-soft);color:var(--gold);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 9px;border-radius:999px;white-space:nowrap}
.lookup .lk-speak{margin-left:auto;flex:0 0 auto;background:none;border:1px solid var(--border);border-radius:999px;width:30px;height:30px;cursor:pointer;font-size:14px;line-height:1;color:var(--text)}
.lookup .lk-speak:hover{background:var(--tint)}
.lookup .lk-x{flex:0 0 auto;background:none;border:0;cursor:pointer;font-size:16px;color:var(--mut);padding:2px 4px;line-height:1}
.lookup .lk-x:hover{color:var(--text)}
.lookup .lp{color:var(--gold);font-size:16px;margin:4px 0 10px;min-height:20px}
.lookup .lk-forms{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.lookup .lk-form{background:var(--tint);border:1px solid var(--border-soft);border-radius:8px;padding:4px 9px;font-size:12px;color:var(--mut)}
.lookup .lk-form b{color:var(--text);font-weight:700}
.lookup .lk-examples{margin:0 0 12px;display:flex;flex-direction:column;gap:9px}
/* P158 (pedido explícito da Tayla: "coloca um botao de play...para ouvir a
   leitura da frase em ingles" nos exemplos do dicionário/flashcard) */
.lookup .lk-ex{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4;padding-left:10px;border-left:2px solid var(--border-soft)}
.lookup .lk-ex-play{flex:0 0 auto;margin-top:1px;background:none;border:1px solid var(--border);border-radius:999px;width:22px;height:22px;cursor:pointer;font-size:11px;line-height:1;color:var(--text);padding:0}
.lookup .lk-ex-play:hover{background:var(--tint)}
.lookup .lk-ex-text{flex:1;min-width:0}
.lookup .lk-ex .en{display:block}
.lookup .lk-ex .pt{display:block;color:var(--mut);font-style:italic;margin-top:1px}

/* AUTH */
.auth{min-height:88vh;display:grid;place-items:center}
.auth .card{max-width:420px;width:100%}
.auth .lema{text-align:center;color:var(--mut);font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;margin-top:18px}

@media (max-width:560px){
  .nav-links{order:3;flex-basis:100%;margin:0} .hero{gap:18px}
  .uchip .uname{display:none} .podium{grid-template-columns:1fr 1fr 1fr}
}

/* LANDING — página de vendas */
.eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--gold);font-weight:800;font-size:12px;
  letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px}
.eyebrow.cyan{color:var(--cyan)}
.lp-h1{font-size:40px;line-height:1.08;letter-spacing:-.02em;margin:0 0 16px}
@media(min-width:720px){.lp-h1{font-size:52px}}
.lp-h2{font-size:26px;line-height:1.15;margin:0 0 12px}
@media(min-width:720px){.lp-h2{font-size:32px}}
.lp-lead{font-size:17px;line-height:1.6;color:var(--mut);max-width:60ch}
.mirror-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:720px){.mirror-grid{grid-template-columns:1fr 1fr}}
.mirror-card{background:var(--tint);border:1px solid var(--border);border-radius:var(--r);padding:18px 20px;font-size:15.5px;line-height:1.55}
.callout{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-deep) 100%);border:1px solid rgba(230,162,60,.5);border-radius:var(--r-lg);
  padding:28px 24px;text-align:center;box-shadow:var(--glow)}
.callout p{font-family:var(--fd);font-size:20px;line-height:1.35;margin:0;font-weight:700;color:var(--ink)}
@media(min-width:720px){.callout p{font-size:25px}}
.callout.cyan{background:var(--cyan-soft);border-color:rgba(58,160,178,.32);box-shadow:none}
.callout.cyan p{color:var(--text)}
.gold-box{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-deep) 100%);border:1px solid rgba(230,162,60,.5);
  border-radius:var(--r-lg);color:var(--ink)}
.gold-box .muted{color:rgba(10,30,43,.72)}
.gold-box h3{color:var(--ink)}
.flow{display:flex;flex-direction:column;gap:10px}
@media(min-width:820px){.flow{flex-direction:row;align-items:stretch}}
.flow-step{flex:1;background:var(--tint);border:1px solid var(--border);border-radius:var(--r);padding:16px;position:relative}
.flow-step .n{font-family:var(--fd);font-weight:800;color:var(--cyan);font-size:13px;letter-spacing:.06em}
.flow-step h3{font-size:15px;margin:6px 0 6px}
.flow-step p{color:var(--mut);font-size:12.5px;line-height:1.5;margin:0}
.flow-arrow{display:none;align-items:center;color:var(--mut);font-size:18px}
@media(min-width:820px){.flow-arrow{display:flex}}
.testi-grid{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;padding:4px 4px 14px;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin}
.testi-card{background:var(--tint);border:1px solid var(--border);border-radius:var(--r);padding:12px;text-align:center;
  flex:0 0 200px;scroll-snap-align:start}
.testi-thumb{width:100%;aspect-ratio:9/16;border-radius:14px;background:var(--card);border:1px solid var(--border-soft);
  display:block;object-fit:cover;margin-bottom:10px}
.testi-card .role{color:var(--mut);font-size:12px;margin:0}
.testi-card .line{color:var(--cyan);font-size:12.5px;font-style:italic}
.founder{display:flex;flex-direction:column;gap:24px}
@media(min-width:860px){.founder{flex-direction:row;align-items:flex-start}}
.founder-photo-wrap{flex:0 0 auto}
@media(min-width:860px){.founder-photo-wrap{flex:0 0 40%;max-width:40%}}
.founder-photo-wrap img{width:100%;height:auto;display:block;border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--sh)}
.founder-text{flex:1;min-width:0}
.founder-text p{font-size:15px;line-height:1.7;color:var(--text);margin:0 0 12px}
.founder-text p.muted{color:var(--mut)}
.for-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.for-list li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.5}
.for-list li::before{content:"✓";color:var(--cyan);font-weight:800;flex-shrink:0}

/* ============ P288: a HOME nova do aluno (spec da Tayla) ============
   Sistema proprio, preso em .suApp — nao encosta no resto da plataforma.
   Fundo navy (nao preto puro), dourado com parcimonia: so CTA, progresso,
   selecao, XP e recompensa. Verde = concluido. */
.suApp{--bg:#06141C;--bgDeep:#030B10;--bgSide:#041119;
  --s1:#081A23;--s2:#0B202A;--s3:#102731;--sHover:#15303B;
  --br:#173440;--brSoft:rgba(255,255,255,.07);
  --t1:#F7F8F8;--t2:#B1BEC5;--t3:#71858F;
  --ouro:#FFB82E;--ouroL:#FFC94F;--ouroD:#D9910A;
  --verde:#4DD58B;--verdeBg:rgba(77,213,139,.10);
  --vermelho:#FF414D;--azul:#54A8FF;--roxo:#A87AFF;
  display:flex;min-height:100vh;background:var(--bg);color:var(--t1);
  font-family:Inter,'Segoe UI',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.suApp *{box-sizing:border-box}
.suApp a{color:inherit;text-decoration:none}

/* --- sidebar --- */
.suSide{flex:0 0 215px;background:var(--bgSide);border-right:1px solid rgba(255,255,255,.05);
  padding:18px 12px;display:flex;flex-direction:column;gap:10px;position:sticky;top:0;height:100vh;overflow-y:auto;
  scrollbar-width:thin}
.suSide::-webkit-scrollbar{width:6px}.suSide::-webkit-scrollbar-thumb{background:#12303c;border-radius:3px}
.suLogo{padding:2px 10px 6px;font-size:21px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.suLogo b{color:var(--ouro)}
.suLogo small{display:block;font-size:8.5px;letter-spacing:.22em;color:var(--t3);font-weight:700;margin-top:2px}
.suNav{display:flex;flex-direction:column;gap:2px}
.suNav a{display:flex;align-items:center;gap:11px;height:40px;padding:0 12px;border-radius:10px;
  font-size:14px;font-weight:600;color:var(--t2);border-left:2px solid transparent}
.suNav a:hover{background:var(--sHover);color:var(--t1)}
.suNav a.on{background:linear-gradient(90deg,rgba(255,184,46,.15),rgba(255,184,46,.05));
  color:var(--ouroL);border-left:2px solid var(--ouro)}
.suNav i{font-style:normal;width:18px;height:18px;display:flex;align-items:center;justify-content:center;opacity:.9}
.suNav a.on i{opacity:1}
.suNav .pin{margin-left:auto;background:var(--vermelho);color:#fff;font-size:10.5px;font-weight:800;
  min-width:19px;height:19px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px}
.suGrupo{font-size:10px;letter-spacing:.16em;color:var(--t3);font-weight:800;padding:10px 12px 4px}
.suGrupo{font-size:10.5px;font-weight:800;letter-spacing:.09em;color:var(--t3);text-transform:uppercase;
  padding:14px 12px 6px}
.suGrupo:first-child{padding-top:2px}
.suCartaoLado small{display:block;margin-top:9px;font-size:11.5px;font-weight:500;color:var(--t3);
  line-height:1.5;text-transform:none;letter-spacing:0}
.suCartaoLado{margin-top:auto;flex:0 0 auto;border-radius:14px;overflow:hidden;position:relative;min-height:170px;
  background:linear-gradient(180deg,#123040,#06141C 70%);border:1px solid var(--brSoft);
  display:flex;flex-direction:column;justify-content:flex-end;padding:16px}
.suCartaoLado img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.suCartaoLado span{position:relative;font-size:16px;font-weight:800;line-height:1.25;letter-spacing:-.02em}
.suCartaoLado em{position:relative;display:block;font-style:normal;color:var(--ouro);font-size:18px;margin-bottom:8px}

/* --- area principal --- */
.suMain{flex:1;min-width:0;display:flex;flex-direction:column}
/* auditoria da admin (17/10/2026): com margin:auto a .wrap media a largura
   da tabela e a página passava da tela (Usuários 1395px no computador,
   telas antigas no celular). Ela ocupa a largura e a tabela rola dentro. */
.suMain>.wrap{width:100%;min-width:0}
@media (max-width:760px){.suMain>.wrap table.tbl{display:block;max-width:100%;overflow-x:auto}}
.suTop{display:flex;align-items:center;gap:16px;padding:16px 26px;border-bottom:1px solid rgba(255,255,255,.04)}
.suBusca{height:42px;width:360px;max-width:42vw;background:#071720;border:1px solid #1C3540;border-radius:11px;
  display:flex;align-items:center;gap:9px;padding:0 13px;color:var(--t3);font-size:13.5px}
.suBusca input{border:0;background:transparent;color:var(--t1);font:inherit;outline:0;width:100%;padding:0}
.suBusca svg{flex:0 0 18px;opacity:.7}
.suTopDir{margin-left:auto;display:flex;align-items:center;gap:14px}
.suSino{position:relative;width:38px;height:38px;border-radius:11px;background:var(--s1);border:1px solid var(--br);
  display:flex;align-items:center;justify-content:center;font-size:15px}
.suSino b{position:absolute;top:-5px;right:-5px;background:var(--vermelho);color:#fff;font-size:10px;
  min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800}
.suEu{display:flex;align-items:center;gap:10px}
.suEu .av,.suEu img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:1px solid var(--br)}
.suEu div{line-height:1.25}
.suEu strong{font-size:13.5px;font-weight:700;display:block}
.suEu small{font-size:11.5px;color:var(--t3)}

.suGrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;padding:22px 26px 34px;align-items:start}
.suCol{display:flex;flex-direction:column;gap:18px;min-width:0}

/* --- hero --- */
.suHero{position:relative;min-height:190px;border-radius:18px;overflow:hidden;border:1px solid var(--br);
  background:var(--s1);display:flex;flex-direction:column;justify-content:center;gap:14px;padding:24px 26px}
.suHero .foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.suHero .veu{position:absolute;inset:0;background:linear-gradient(90deg,#07141C 0%,rgba(7,20,28,.93) 25%,rgba(7,20,28,.40) 60%,rgba(7,20,28,.05) 100%)}
.suHero > *{position:relative;z-index:1}
.suHero h1{margin:0;font-size:40px;font-weight:800;line-height:1.05;letter-spacing:-.035em}
.suHero p{margin:6px 0 0;font-size:15px;color:var(--t2);max-width:420px;line-height:1.45}
.suMetricas{display:flex;gap:12px;flex-wrap:wrap}
.suMetrica{display:flex;align-items:center;gap:10px;background:rgba(5,15,20,.65);border:1px solid rgba(255,255,255,.10);
  border-radius:12px;backdrop-filter:blur(10px);padding:10px 14px;min-width:150px}
.suMetrica i{font-style:normal;font-size:19px}
.suMetrica b{display:block;font-size:15px;font-weight:800;letter-spacing:-.02em}
.suMetrica small{font-size:11.5px;color:var(--t3)}
/* P378 (pedido dela): o Relogio de Escuta no hero da Home — mesmo cartao
   das outras metricas, so que com a barrinha do proximo marco e clicavel. */
a.suMetrica{text-decoration:none;color:inherit}
a.suMetrica:hover{border-color:var(--ouro)}
.suMetrica.escuta{min-width:210px;flex-direction:column;align-items:stretch;gap:7px;
  border-color:rgba(255,184,46,.45);background:rgba(5,15,20,.78)}
.suMetrica.escuta .topo{display:flex;align-items:center;gap:10px}
.suMetrica.escuta .bar{height:6px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}
.suMetrica.escuta .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#FFC44D,#E79B16)}
.suMetrica.escuta .pe{display:flex;align-items:center;justify-content:space-between;font-size:10.5px;color:var(--t3);font-weight:700}

/* --- blocos --- */
.suBloco{background:var(--s1);border:1px solid var(--br);border-radius:16px;padding:18px}
.suCab{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.suCab h2{margin:0;font-size:20px;font-weight:750;letter-spacing:-.025em}
.suCab p{margin:2px 0 0;font-size:13px;color:var(--t3)}
.suCab .dir{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--t2)}
.suData{background:var(--s2);border:1px solid var(--br);border-radius:9px;padding:6px 11px;font-size:12.5px;color:var(--t2);white-space:nowrap}
.suBarra{height:8px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden;min-width:120px}
.suBarra i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--ouroD),var(--ouro))}

/* --- linhas do plano --- */
.suPlano{display:flex;flex-direction:column;gap:9px}
.suTarefa{display:flex;align-items:center;gap:14px;min-height:64px;padding:10px 14px;border-radius:11px;
  background:rgba(255,255,255,.018);border:1px solid rgba(255,255,255,.055);transition:transform .12s,background .12s}
.suTarefa:hover{transform:translateY(-1px);background:rgba(255,255,255,.035)}
.suNum{flex:0 0 30px;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;background:var(--s3);color:var(--t2);border:1px solid var(--br)}
.suTarefa.ok .suNum{background:var(--verdeBg);color:var(--verde);border-color:rgba(77,213,139,.35)}
.suTarefa.agora .suNum{background:rgba(255,184,46,.14);color:var(--ouro);border-color:rgba(255,184,46,.35)}
.suIco{flex:0 0 42px;width:42px;height:42px;border-radius:11px;background:var(--s3);border:1px solid var(--br);
  display:flex;align-items:center;justify-content:center;font-size:19px}
.suTxt{flex:1;min-width:0}
.suTxt b{display:block;font-size:15.5px;font-weight:700;letter-spacing:-.01em}
.suTxt small{display:block;font-size:12.5px;color:var(--t3);margin-top:2px}
.suBtn{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 17px;border-radius:10px;font-size:13.5px;
  font-weight:700;border:1px solid transparent;cursor:pointer;white-space:nowrap}
.suBtn.ouro{background:linear-gradient(180deg,var(--ouroL),var(--ouro));color:#1A1206}
.suBtn.ouro:hover{filter:brightness(1.06)}
.suBtn.linha{background:transparent;border-color:var(--br);color:var(--t2)}
.suBtn.linha:hover{background:var(--sHover);color:var(--t1)}
.suBtn.feito{background:var(--verdeBg);border-color:rgba(77,213,139,.3);color:var(--verde);cursor:default}
.suBtn.bloco{width:100%;justify-content:center}
button.suBtn{font-family:inherit}
/* 16/10/2026: aviso de "Entrar na aula" no topo do Início */
.suAvisoAula{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:14px 16px;border-radius:14px;
  border:1px solid color-mix(in srgb, var(--ouro) 45%, transparent);background:color-mix(in srgb, var(--ouro) 12%, var(--s1));
  color:var(--t1);font-size:14px;font-weight:700;line-height:1.45}
.suAvisoAula > span{flex:1 1 240px;min-width:0}
.suAvisoAula .suBtn{text-decoration:none}
.suAvisoAula.erro{border-color:rgba(224,87,90,.55);background:rgba(224,87,90,.12)}
@media (max-width:860px){ .suAvisoAula .suBtn{width:100%;justify-content:center;height:46px;font-size:15px} }

/* --- duas colunas: continue + semana --- */
.suDuo{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}
.suCurso{display:flex;gap:13px;align-items:center}
.suCurso img{width:96px;height:64px;border-radius:10px;object-fit:cover;border:1px solid var(--br);flex:0 0 96px}
.suCurso b{font-size:15px;font-weight:700;display:block}
.suCurso small{font-size:12.5px;color:var(--t3);display:block;margin:2px 0 8px}
.suSemana{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}
.suDia{border-radius:10px;padding:8px 2px;background:rgba(255,255,255,.02);border:1px solid transparent}
.suDia small{display:block;font-size:10px;color:var(--t3);font-weight:700;letter-spacing:.04em}
.suDia b{display:block;font-size:12.5px;margin:3px 0 6px;font-weight:700;color:var(--t2)}
.suDia u{display:block;text-decoration:none;font-size:13px;line-height:1}
.suDia.hoje{border-color:var(--ouro);background:rgba(255,184,46,.08)}
.suDia.hoje b{color:var(--ouroL)}
.suDia.ok u{color:var(--verde)}

/* --- P296: cabecalho e destaque das telas de dentro --- */
.suGrid.suGridUm{grid-template-columns:minmax(0,1fr)}
.suPag{padding:4px 2px 0}
.suOlho{display:block;font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--ouro)}
.suPag h1{margin:8px 0 0;font-size:34px;font-weight:800;letter-spacing:-.035em;line-height:1.05}
.suPag p{margin:8px 0 0;font-size:15px;color:var(--t2);max-width:620px;line-height:1.45}
/* P299: o destaque e um cartao so com tres partes — painel escuro com o
   texto, a foto no meio e o painel do progresso na direita. */
/* P304: as proporcoes do banner dela — painel do texto 26%, foto 45%,
   painel do progresso 29%, e o cartao com a altura proporcional a largura
   (1930x380 no desenho). A foto e a landscape que ela mandou, entao cabe na
   faixa do meio inteira, sem zoom. */
.suDestaque{position:relative;display:grid;grid-template-columns:26.5fr 45fr 28.5fr;
  align-items:stretch;border:1px solid var(--br);border-radius:18px;overflow:hidden;background:#080F15;
  aspect-ratio:1930/380;min-height:230px}
/* P303 (a Tayla, olhando as duas versoes lado a lado: "faca assim entao,
   ficou melhor"): a foto volta a ocupar o cartao inteiro, sangrando de
   ponta a ponta — o que mudou de verdade foi o arquivo, que agora e a arte
   INTEIRA dela (rosto, ombro, notebook, quadro e abajur) em vez da tira de
   cima, e a altura maior do destaque, que deixa a cena respirar. */
.suDestaque .foto{position:absolute;top:0;bottom:0;left:23%;width:52%;height:100%;object-fit:cover;object-position:center}
.suDestaque .veu{display:none}
.suDestaque > *:not(.foto){position:relative;z-index:1}
.suDestTxt{grid-column:1;display:flex;flex-direction:column;justify-content:center;padding:22px 24px;
  background:linear-gradient(90deg,#080F15 0%,#080F15 86%,rgba(8,15,21,0) 100%)}
.suDestTxt h2{margin:10px 0 0;font-size:34px;font-weight:750;letter-spacing:-.025em}
.suDestTxt p{margin:10px 0 18px;font-size:14.5px;color:var(--t2);line-height:1.5}
.suDestLado{grid-column:3;display:flex;flex-direction:column;justify-content:center;gap:11px;padding:22px 22px 22px 30px;
  background:linear-gradient(270deg,#080F15 0%,#080F15 88%,rgba(8,15,21,0) 100%)}
.suDestLado .suLinha{font-size:14px}
.suLinha{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--t2)}
.suLinha b{color:var(--t1);font-variant-numeric:tabular-nums}
.suDestLado .suBtn{margin-top:4px}

/* P296: nas telas de dentro o card e maior e a frase cabe em duas linhas */
.suExplora.suSalas{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.suSalas .suCard{aspect-ratio:16/10;padding:12px}
.suSalas .suCard span{font-size:14.5px}
.suSalas .suCard span em{font-size:12px;white-space:normal;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* P299 (a Tayla: "com os botoes dentro das imagens nao fora"): a foto ocupa
   o cartao inteiro e o texto mora EM CIMA dela, com o degrade segurando a
   leitura. Nada de faixa de texto separada embaixo da imagem. */
.suFichas{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.suFichas.suFichasDuo{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}
.suFicha{position:relative;display:block;border:1px solid var(--br);border-radius:16px;overflow:hidden;
  background:var(--s2);aspect-ratio:16/11;transition:transform .12s,border-color .12s}
.suFicha:hover{transform:translateY(-2px);border-color:rgba(255,184,46,.45)}
.suFicha > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* P301: o degrade e so o que a leitura precisa — acima disso a foto dela
   fica limpa, com o contraste que ela desenhou. */
.suFicha::after{content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(4,11,16,.96) 20%,rgba(4,11,16,.72) 40%,rgba(4,11,16,.2) 62%,rgba(4,11,16,0) 78%)}
.suFichaSobre{position:absolute;left:0;right:0;bottom:0;z-index:1;display:block;padding:16px 18px 15px}
.suFichaSobre b{display:block;font-size:19px;font-weight:750;letter-spacing:-.02em;color:var(--t1)}
.suFichaSobre small{display:block;margin-top:6px;font-size:13.5px;color:var(--t2);line-height:1.4}
.suFichaPe{display:flex;align-items:center;gap:9px;margin-top:15px;font-size:13px;color:var(--t2)}
.suFichaPe i{display:flex;color:var(--ouro)}
.suFichaPe em{margin-left:auto;font-style:normal;font-size:17px;color:var(--t1)}
.suFichaPe u{text-decoration:none;color:var(--ouro);font-weight:800;margin-left:-3px}
/* P321 (ela: "tire as setas do meio... coloque no canto inferior direito"):
   nos cartoes divididos (duo/trio) a seta sai do rodape centralizado e vai
   pro canto do cartao. Nos verticais ela continua no rodape, que ja e o pe. */
.suFichaSeta{display:none;position:absolute;right:16px;bottom:14px;z-index:2;font-style:normal;font-size:18px;color:var(--t1)}
.suFichasDuo .suFichaPeSeta,.suFichasTrio .suFichaPeSeta{display:none}
.suFichasDuo .suFichaSeta,.suFichasTrio .suFichaSeta{display:block}
/* P301 (a Tayla: "foto forte de um lado, escrita do outro... olha o
   contraste"): o cartao e dividido, nao velado. A metade da esquerda e
   painel escuro solido com o texto; a da direita e a FOTO, limpa, sem
   nenhuma cortina por cima — o degrade morre antes de chegar nela. */
.suFichasDuo .suFicha{aspect-ratio:16/4.9}
/* a foto ocupa so a metade da direita, e no tamanho certo pra aparecer
   INTEIRA — nada de cortar o objeto da arte dela */
.suFichasDuo .suFicha > img{left:auto;right:0;width:58%;object-position:center}
.suFichasDuo .suFicha::after{background:linear-gradient(90deg,#080F15 0%,#080F15 38%,rgba(8,15,21,.72) 45%,rgba(8,15,21,.25) 51%,rgba(8,15,21,0) 58%)}
.suFichasDuo .suFichaSobre{top:0;right:52%;display:flex;flex-direction:column;justify-content:center;padding:14px 20px}
.suFichasDuo .suFichaSobre b{font-size:20px}
.suFichasDuo .suFichaPe{margin-top:12px}

/* P315: Clubes e Imersoes no Aprender — tres cartoes divididos, foto a direita */
.suCoroa{width:40px;height:40px;flex-basis:40px;border-color:rgba(255,184,46,.45);background:rgba(255,184,46,.08)}
.suCoroa svg{width:21px;height:21px}
/* P318 (ela: "que caibam em uma linha so"): os tres cartoes ficam SEMPRE
   lado a lado no desktop — menores, nao empilhados. */
.suFichas.suFichasTrio{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.suFichasTrio .suFicha{aspect-ratio:16/7.4}
.suFichasTrio .suFicha > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.suFichasTrio .suFicha::after{background:linear-gradient(90deg,rgba(6,15,22,.97) 0%,rgba(6,15,22,.93) 38%,rgba(6,15,22,.62) 56%,rgba(6,15,22,.16) 76%,rgba(6,15,22,0) 100%)}
.suFichasTrio .suFichaSobre{right:34%;padding:12px 15px}
.suFichasTrio .suFichaSobre b{font-size:16.5px;letter-spacing:-.02em}
.suFichasTrio .suFichaSobre small{font-size:12.5px;line-height:1.35;margin-top:4px}
.suFichasTrio .suFichaPe{margin-top:9px;font-size:12px;gap:7px}
.suFichasTrio .suFichaPe i svg{width:15px;height:15px}
.suFichasTrio .suFichaPe em{font-size:15px}
@media (max-width:1100px){ .suFichasTrio .suFicha{aspect-ratio:16/8.6} .suFichasTrio .suFichaSobre b{font-size:15px} }
@media (max-width:860px){ .suFichas.suFichasTrio{grid-template-columns:1fr} .suFichasTrio .suFicha{aspect-ratio:16/7.5} .suFichasTrio .suFichaSobre{right:40%;padding:14px 18px} .suFichasTrio .suFichaSobre b{font-size:18px} .suFichasTrio .suFichaSobre small{font-size:13px} }
.suEscada{display:flex;flex-direction:column;gap:9px;margin-top:4px}
.suNivel{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--t2)}
.suNivel i{font-style:normal;width:19px;height:19px;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);
  display:flex;align-items:center;justify-content:center;font-size:11px;color:#1A1206;font-weight:900}
.suNivel.ok{color:var(--t1)}
.suNivel.ok i{background:var(--ouro);border-color:var(--ouro)}

/* P299: a tipografia editorial dela — titulo serifado nas telas de dentro */
.suEditorial .suPag h1,.suEditorial .suCab h2,.suEditorial .suDestTxt h2{
  font-family:"Playfair Display",Georgia,serif;font-weight:700;letter-spacing:-.01em}
.suEditorial .suPag h1{font-size:38px;line-height:1.08}
.suEditorial .suCab h2{font-size:26px}
.suEditorial .suDestTxt h2{font-size:40px;line-height:1.05}
.suEditorial .suCab .dir a{color:var(--t1);font-weight:600}

/* P298: a vitrine do Explorar e as fileiras de capas */
.suVitrine{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--br);background:var(--s1)}
/* a altura acompanha a arte ativa: assim nenhuma arte dela e cortada */
.suSlides{position:relative}
.suSlide{position:absolute;inset:0;display:block;opacity:0;pointer-events:none;transition:opacity .35s}
.suSlide.on{position:relative;opacity:1;pointer-events:auto}
.suSlide img{width:100%;height:100%;object-fit:cover;display:block}
.suSlide.on img{height:auto}
.suSlide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,11,16,.93) 0%,rgba(3,11,16,.75) 34%,rgba(3,11,16,.15) 66%,rgba(3,11,16,0) 100%)}
.suSlide.limpo::after{display:none}
.suSlide img{object-position:center}
.suSlideTxt{position:absolute;left:30px;bottom:26px;right:40%;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.suSlideTxt b{font-size:27px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.suSlideTxt small{font-size:13.5px;color:var(--t2);line-height:1.4}
.suSlideTxt .suBtn{margin-top:8px}
.suSeta{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,.18);background:rgba(3,11,16,.55);color:#fff;font-size:20px;line-height:1;cursor:pointer}
.suSeta.esq{left:12px}.suSeta.dir{right:12px}
.suSeta:hover{background:rgba(3,11,16,.85)}
.suPontos{display:flex;gap:6px;justify-content:center;padding:10px 0 11px;background:var(--s1)}
.suPontos i{width:22px;height:4px;border-radius:2px;background:rgba(255,255,255,.28)}
.suPontos i.on{background:var(--ouro)}
.suExplora.suCats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.suCats .suCard{aspect-ratio:1/.82}
.suFitas{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.suFita{display:block}
.suFitaFoto{position:relative;display:block;aspect-ratio:16/9;border-radius:11px;overflow:hidden;border:1px solid var(--br);background:var(--s3)}
.suFitaFoto img{width:100%;height:100%;object-fit:cover;display:block}
.suFita:hover .suFitaFoto{border-color:rgba(255,184,46,.5)}
.suFitaFoto i{position:absolute;left:12px;bottom:10px;width:30px;height:30px;border-radius:50%;border:2px solid var(--ouro);
  background:rgba(3,11,16,.5);color:var(--ouro);font-style:normal;font-size:11px;display:flex;align-items:center;justify-content:center}
.suNovo{position:absolute;left:8px;top:8px;background:var(--vermelho);color:#fff;font-style:normal;font-size:10px;
  font-weight:800;letter-spacing:.06em;padding:3px 7px;border-radius:6px}
.suFitaBar{display:block;height:3px;border-radius:2px;background:rgba(255,255,255,.12);margin:8px 0 6px;overflow:hidden}
.suFitaBar i{display:block;height:100%;background:var(--ouro)}
.suFita b{display:block;font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:7px}
.suFita .suFitaBar + b{margin-top:0}
.suFita small{display:block;font-size:12px;color:var(--t3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* P305: os pacotes de material do aluno */
.suMateriais{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.suMaterial{display:flex;gap:16px;padding:14px;border:1px solid var(--br);border-radius:14px;background:var(--s2)}
.suMaterialCapa{flex:0 0 136px}
.suMaterialCapa img,.suMaterialCapa > div{width:136px!important;aspect-ratio:3/4;border-radius:10px;object-fit:cover}
.suMaterialTxt{flex:1;min-width:0;display:flex;flex-direction:column}
.suMaterialTxt b{font-size:16px;font-weight:750;letter-spacing:-.01em}
.suMaterialTxt small{font-size:13px;color:var(--t2);line-height:1.4;margin-top:4px}
.suMaterialItens{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px}
.suMaterialItens .suBtn{height:34px;padding:0 12px;font-size:12.5px}

/* P306: My Homework */
.hwHero{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--br);background:#080F15;aspect-ratio:1930/330;min-height:220px}
.hwHero > img{position:absolute;top:0;bottom:0;right:0;width:64%;height:100%;object-fit:cover;object-position:left center}
.hwHero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080F15 0%,#080F15 34%,rgba(8,15,21,.85) 42%,rgba(8,15,21,0) 56%)}
.hwHeroTxt{position:absolute;left:0;top:0;bottom:0;right:44%;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:24px 28px}
.hwHeroTxt h1{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:44px;font-weight:700;letter-spacing:-.01em;line-height:1.05}
.hwHeroTxt b{display:block;margin-top:6px;font-size:20px;font-weight:700}
.hwHeroTxt p{margin:12px 0 0;font-size:14px;color:var(--t2);line-height:1.55}
.hwCorpo{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;margin-top:20px}
.hwEsq{display:flex;flex-direction:column;gap:18px;min-width:0}
.hwDir{display:flex;flex-direction:column;gap:16px}
.hwChips{display:flex;gap:10px;flex-wrap:wrap}
.hwChips button{height:40px;padding:0 20px;border-radius:99px;border:1px solid var(--br);background:transparent;color:var(--t2);
  font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.hwChips button.on{background:rgba(255,184,46,.14);border-color:var(--ouro);color:var(--ouroL)}
.hwIco{width:38px;height:38px;flex:0 0 38px;border-radius:50%;border:1px solid var(--br);background:var(--s3);display:flex;
  align-items:center;justify-content:center;color:var(--ouro)}
.hwGrade{display:grid;grid-template-columns:repeat(auto-fit,minmax(296px,1fr));gap:14px}
.hwCard{position:relative;display:flex;gap:13px;padding:12px;border:1px solid var(--br);border-radius:14px;background:var(--s2);
  transition:transform .12s,border-color .12s}
.hwCard:hover{transform:translateY(-2px);border-color:rgba(255,184,46,.45)}
.hwFoto{flex:0 0 96px;width:96px;aspect-ratio:1/1.15;border-radius:11px;overflow:hidden;background:var(--s3);display:block}
.hwFoto img{width:100%;height:100%;object-fit:cover;display:block}
.hwTxt{flex:1;min-width:0;display:flex;flex-direction:column;padding-right:18px}
.hwUnit{display:inline-block;align-self:flex-start;font-style:normal;font-size:11px;font-weight:700;color:var(--ouroL);
  border:1px solid rgba(255,184,46,.45);border-radius:99px;padding:3px 9px;background:rgba(255,184,46,.08)}
.hwTxt b{display:block;margin-top:7px;font-size:15.5px;font-weight:750;letter-spacing:-.01em}
.hwTxt small{display:block;margin-top:4px;font-size:12.5px;color:var(--t2);line-height:1.4}
.hwPe{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:10px;font-size:12px;color:var(--t2)}
.hwPe svg{width:15px;height:15px;color:var(--ouro)}
.hwPe > span{white-space:nowrap}
.hwPrazo{margin-left:auto;color:#FF7A85;font-weight:700;white-space:nowrap}
.hwPrazo.hwAtraso{color:var(--vermelho)}
.hwOk{margin-left:auto;color:var(--verde);font-weight:700;white-space:nowrap}
.hwSeta{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;font-size:22px;color:var(--t3)}
.hwProg{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;font-size:13.5px;margin-bottom:12px}
.hwProg span{color:var(--t1)}.hwProg b{color:var(--t1)}
.hwProg i{grid-column:1/3;display:block;height:7px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.hwProg u{display:block;height:100%;background:linear-gradient(90deg,var(--ouroD),var(--ouro))}
.hwEntregas{display:flex;flex-direction:column;gap:11px}
.hwEntregas a{display:flex;align-items:center;gap:10px;font-size:13px}
.hwEntregas i{display:flex;width:30px;height:30px;flex:0 0 30px;border-radius:50%;border:1px solid var(--br);align-items:center;justify-content:center;color:var(--ouro)}
.hwEntregas i svg{width:15px;height:15px}
.hwEntregas span{flex:1;min-width:0;display:flex;flex-direction:column}
.hwEntregas b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hwEntregas small{font-size:11.5px;color:var(--t3)}
.hwEntregas em{font-style:normal;color:var(--vermelho);font-weight:700;font-size:12.5px}
.hwLink{display:inline-block;margin-top:12px;font-size:13px;color:var(--ouro);font-weight:700}
.hwMotiva{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid var(--br);border-radius:16px;
  background:linear-gradient(135deg,#123040,#0B1A24 70%)}
.hwMotiva b{display:block;font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.hwMotiva small{display:block;margin-top:6px;font-size:12.5px;color:var(--t2);line-height:1.4}
.hwFrase{display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid var(--br);border-radius:14px;background:var(--s1)}
.hwAspas{width:40px;height:40px;flex:0 0 40px;border-radius:10px;background:var(--s3);display:flex;align-items:center;justify-content:center;
  font-family:"Playfair Display",Georgia,serif;font-size:26px;color:var(--t2)}
.hwFrase p{margin:0;font-size:14px;color:var(--t2)}
.hwFrase i{flex:1;height:1px;background:rgba(255,255,255,.12)}
.hwFrase small{font-size:11px;letter-spacing:.2em;color:var(--t3);font-weight:700}
@media (max-width:1180px){ .hwCorpo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:860px){
  .hwHero{aspect-ratio:auto;min-height:0}
  .hwHero > img{position:static;width:100%;height:190px;object-position:center}
  .hwHero::after{background:linear-gradient(0deg,#080F15 45%,rgba(8,15,21,0) 75%)}
  .hwHeroTxt{position:relative;right:0;padding:0 18px 18px;margin-top:-70px}
  .hwHeroTxt h1{font-size:32px}.hwHeroTxt b{font-size:17px}.hwHeroTxt p{font-size:13px}
  .hwGrade{grid-template-columns:1fr}
  .hwFrase{flex-wrap:wrap}.hwFrase i{display:none}
}

/* P309: Material Didatico */
.mdHero .hwHeroTxt{right:40%}
.mdTrilha{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--t2);margin-bottom:10px}
.mdTrilha a{color:var(--ouro)}.mdTrilha i{font-style:normal;color:var(--t3)}
.mdCorpo{display:grid;grid-template-columns:290px minmax(0,1fr);gap:20px;margin-top:20px}
.mdLado{display:flex;flex-direction:column;align-self:start}
.mdIcoGrande{width:52px;height:52px;border-radius:12px;border:1px solid rgba(255,184,46,.5);background:rgba(255,184,46,.08);
  display:flex;align-items:center;justify-content:center;color:var(--ouro)}
.mdIcoGrande svg{width:26px;height:26px}
.mdLado h2{margin:16px 0 0;font-size:20px!important;font-family:Inter,sans-serif!important;font-weight:750!important;letter-spacing:-.02em}
.mdLado > p{margin:10px 0 0;font-size:13.5px;color:var(--t2);line-height:1.5}
.mdLado > p b{color:var(--ouroL)}
.mdFeat{display:flex;flex-direction:column;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.07)}
.mdFeat > div{display:flex;gap:12px;align-items:center}
.mdFeat i{width:40px;height:40px;flex:0 0 40px;border-radius:10px;border:1px solid var(--br);background:var(--s3);display:flex;align-items:center;justify-content:center;color:var(--ouro)}
.mdFeat b{display:block;font-size:13.5px;font-weight:700}
.mdFeat small{display:block;font-size:12px;color:var(--t3);margin-top:2px}
.mdCita{margin:18px 0 0;padding:4px 0 4px 14px;border-left:3px solid var(--ouro);font-style:italic;font-size:15px;line-height:1.5;color:var(--t2)}
.mdLista{display:flex;flex-direction:column;gap:10px}
.mdRow{border:1px solid var(--br);border-radius:14px;background:var(--s2);overflow:hidden;transition:border-color .12s}
.mdRow.on{border-color:rgba(255,184,46,.6);background:rgba(255,184,46,.04)}
.mdRow:hover{border-color:rgba(255,184,46,.4)}
.mdBtn{display:flex;align-items:center;gap:16px;width:100%;padding:14px 16px;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.mdRow.mdOff{display:flex;align-items:center;gap:16px;padding:14px 16px;opacity:.55}
.mdIco{width:44px;height:44px;flex:0 0 44px;border-radius:11px;border:1px solid var(--br);background:var(--s3);display:flex;align-items:center;justify-content:center;color:var(--ouro)}
.mdTxt{flex:1;min-width:0}
.mdTxt b{display:block;font-size:15.5px;font-weight:750;letter-spacing:-.01em}
.mdTxt small{display:block;margin-top:3px;font-size:12.5px;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mdPill{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:9px;border:1px solid var(--br);
  background:var(--s1);font-size:12.5px;color:var(--t2);white-space:nowrap}
.mdPill svg{width:15px;height:15px;color:var(--ouro)}
.mdSeta{font-style:normal;font-size:22px;color:var(--t3);line-height:1}
.mdItens{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 14px 76px}
.mdItens[hidden]{display:none}
.mdRow.on .mdSeta{transform:rotate(90deg);display:inline-block}
.mdItens .suBtn{height:34px;padding:0 12px;font-size:12.5px}
@media (max-width:1180px){ .mdCorpo{grid-template-columns:minmax(0,1fr)} .mdHero .hwHeroTxt{right:0} }
@media (max-width:860px){
  .mdPill{display:none}
  .mdItens{padding-left:16px}
}

/* P310: Minhas aulas */
.maHero .hwHeroTxt{right:42%}
.hwDir .suCab h2{font-size:16px!important}
.hwDir .suCab .dir a{font-size:12.5px;white-space:nowrap}
.maProx{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:14px;border:1px solid var(--br);border-radius:14px;background:var(--s2)}
.maData{display:flex;flex-direction:column;align-items:center;justify-content:center;width:86px;height:98px;border-radius:12px;
  background:var(--s3);border:1px solid var(--br);flex:0 0 86px}
.maData small{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--t2)}
.maData b{font-size:34px;font-weight:800;line-height:1.05;letter-spacing:-.02em}
.maProxTxt{flex:1;min-width:200px;display:flex;flex-direction:column;gap:8px}
.maLinhaTit{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.maLinhaTit b{font-size:19px;font-weight:750;letter-spacing:-.02em}
.maChip{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:99px;border:1px solid var(--br);background:var(--s1);font-size:12px;color:var(--t2)}
.maMeta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--t2);flex-wrap:wrap}
.maMeta svg{width:15px;height:15px;color:var(--t3)}
.maMeta > span{display:inline-flex;align-items:center;gap:5px}
.maMeta .av,.maMeta img{width:22px;height:22px;border-radius:50%}
.maProxBtns{display:flex;flex-direction:column;gap:8px;min-width:180px}
.maProxBtns .suBtn{justify-content:center}
.maChips{margin-bottom:14px}
.maChips button{height:34px;padding:0 16px;font-size:13px}
.maGravs{display:flex;flex-direction:column}
.maGrav{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid rgba(255,255,255,.07)}
.maGrav:first-child{border-top:0;padding-top:0}
.maThumb{position:relative;flex:0 0 118px;width:118px;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:var(--s3);
  border:1px solid var(--br);display:flex;align-items:center;justify-content:center;color:var(--ouro)}
.maThumb svg{width:30px;height:30px}
.maThumb em{position:absolute;right:6px;bottom:6px;font-style:normal;font-size:11px;font-weight:700;background:rgba(3,11,16,.8);padding:2px 6px;border-radius:5px;color:#fff}
.maGravTxt{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.maGravTxt b{font-size:15.5px;font-weight:750;letter-spacing:-.01em}
.maGrades{display:flex;flex-direction:column;gap:8px}
.maGrade{display:flex;align-items:center;gap:10px}
.maDia,.maHora{display:inline-flex;align-items:center;justify-content:center;height:40px;border-radius:9px;border:1px solid var(--br);background:var(--s3);font-size:13px;font-weight:700}
.maDia{width:48px;font-size:12px}.maHora{width:56px;font-variant-numeric:tabular-nums}
.maGradeTxt{flex:1;min-width:0;display:flex;flex-direction:column}
.maGradeTxt b{font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.maGradeTxt small{font-size:12px;color:var(--t3)}
.maMats{display:flex;flex-direction:column}
.maMat{display:flex;align-items:center;gap:11px;padding:10px 0;border-top:1px solid rgba(255,255,255,.07)}
.maMat:first-child{border-top:0;padding-top:0}
.maMat i{width:36px;height:36px;flex:0 0 36px;border-radius:50%;border:1px solid var(--br);background:var(--s3);display:flex;align-items:center;justify-content:center;color:var(--ouro)}
.maMat i svg,.maMat em svg{width:16px;height:16px}
.maMat span{flex:1;min-width:0;display:flex;flex-direction:column}
.maMat b{font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.maMat small{font-size:11.5px;color:var(--t3)}
.maMat em{width:32px;height:32px;flex:0 0 32px;border-radius:8px;border:1px solid var(--br);display:flex;align-items:center;justify-content:center;color:var(--t2)}
.maEvo{padding:12px 14px;border:1px solid var(--br);border-radius:12px;background:var(--s2)}
.maEvoLinha{display:flex;justify-content:space-between;font-size:14px;font-weight:700}
.maEvo small{display:block;font-size:12px;color:var(--t3);margin:2px 0 8px}
.maKpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.maKpis > div{padding:10px 8px;border:1px solid var(--br);border-radius:11px;background:var(--s2);text-align:center}
.maKpis i{font-style:normal;font-size:16px}
.maKpis small{display:block;font-size:10.5px;color:var(--t3);margin-top:3px}
.maKpis b{display:block;font-size:14px;margin-top:2px}
@media (max-width:1180px){ .maHero .hwHeroTxt{right:0} }
@media (max-width:860px){
  .maProx{gap:12px}.maProxBtns{width:100%}
  .maGrav{flex-wrap:wrap}.maGrav .suBtn{width:100%;justify-content:center}
}

/* P311: Teste de Nivelamento */
.nvHero .hwHeroTxt{right:40%}
.nvHero > img{width:52%;object-position:center center}
.nvHero.hwHero{aspect-ratio:1930/360}
.nvHero::after{background:linear-gradient(90deg,#080F15 0%,#080F15 46%,rgba(8,15,21,.85) 52%,rgba(8,15,21,0) 62%)}
.nvFaixa{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;gap:0;margin-top:14px;border:1px solid var(--br);border-radius:14px;background:var(--s1);padding:12px 6px}
.nvFaixa > div{display:flex;align-items:center;gap:12px;padding:6px 16px;border-right:1px solid rgba(255,255,255,.07)}
.nvFaixa i{width:40px;height:40px;flex:0 0 40px;border-radius:10px;border:1px solid var(--br);background:var(--s3);display:flex;align-items:center;justify-content:center;color:var(--ouro)}
.nvFaixa small{display:block;font-size:12px;color:var(--t3)}
.nvFaixa b{display:block;font-size:13.5px;font-weight:700;margin-top:2px}
.nvFaixa em{display:flex;align-items:center;justify-content:center;padding:6px 14px;text-align:center;font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:14px;color:var(--t2);line-height:1.4}
.nvEtapas{display:flex;flex-direction:column;gap:10px}
.nvEtapa{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--br);border-radius:12px;background:var(--s2)}
.nvEtapa.agora{border-color:rgba(255,184,46,.6);background:rgba(255,184,46,.05)}
.nvEtapa.ok{opacity:.75}
.nvNum{width:34px;height:34px;flex:0 0 34px;border-radius:50%;border:1.5px solid var(--ouro);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--ouroL)}
.nvEtapa.ok .nvNum{background:var(--verdeBg);border-color:rgba(77,213,139,.5);color:var(--verde)}
.nvEtapa > span:last-child{display:flex;flex-direction:column;min-width:0}
.nvEtapa b{font-size:14.5px;font-weight:700}
.nvEtapa small{font-size:12.5px;color:var(--t3);margin-top:2px}
.nvProg{display:flex;align-items:center;gap:16px}
.nvProg > div{display:flex;flex-direction:column}
.nvProg b{font-size:18px;font-weight:800}
.nvProg small{font-size:12.5px;color:var(--t3)}
.nvPorque{display:flex;flex-direction:column;gap:10px;font-size:13.5px}
.nvPorque > div{display:flex;align-items:center;gap:10px}
.nvPorque i{width:20px;height:20px;flex:0 0 20px;border-radius:50%;background:var(--verdeBg);color:var(--verde);font-style:normal;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center}
.nvCita{margin:0;padding:16px 18px 16px 22px;border:1px solid var(--br);border-left:3px solid var(--ouro);border-radius:14px;background:var(--s1);
  font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:17px;line-height:1.35;color:var(--t1)}
.nvCita span{display:block;font-size:34px;line-height:.6;color:var(--t3);margin-bottom:10px;font-style:normal}
/* os cards das etapas (o motor antigo) no visual novo */
.nvPag .card{background:var(--s1);border:1px solid var(--br);border-radius:16px;box-shadow:none;padding:20px;color:var(--t1)}
.nvPag .card h1,.nvPag .card h2{font-family:Inter,sans-serif;letter-spacing:-.02em}
.nvPag .card .muted{color:var(--t2)}
.nvPag .card input[type=text],.nvPag .card textarea,.nvPag .card select{background:var(--s2);border:1px solid var(--br);color:var(--t1);border-radius:11px}
.nvPag .card .btn{background:linear-gradient(180deg,var(--ouroL),var(--ouro));color:#1A1206;border:0;border-radius:10px;font-weight:700}
.nvPag .card .btn.ghost{background:transparent;border:1px solid var(--br);color:var(--t2)}
.nvPag .toast{border-radius:12px}
@media (max-width:1180px){ .nvHero .hwHeroTxt{right:0} .nvFaixa{grid-template-columns:1fr 1fr} .nvFaixa > div{border-right:0} .nvFaixa em{grid-column:1/3} }
@media (max-width:860px){ .nvFaixa{grid-template-columns:1fr} .nvFaixa em{grid-column:1} }

/* P314: Provas de Módulo + a prova em si */
.pmHero.hwHero{aspect-ratio:1930/440}
.pmHero > img{width:56%;object-position:center 40%}
.pmHero::after{background:linear-gradient(90deg,#080F15 0%,#080F15 44%,rgba(8,15,21,.85) 51%,rgba(8,15,21,0) 62%)}
.pmHero .hwHeroTxt{right:42%}
.pmNiveis{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.pmNivel{display:flex;flex-direction:column;gap:2px;padding:10px 18px;min-width:128px;border:1px solid var(--br);border-radius:12px;background:var(--s1)}
.pmNivel b{font-size:15px;font-weight:800;color:var(--t1)}.pmNivel small{font-size:12px;color:var(--t3)}
.pmNivel.on{border-color:var(--ouro);background:rgba(255,184,46,.06)}.pmNivel.on b{color:var(--ouroL)}
.pmIntro p{margin:0 0 8px;font-size:14px;color:var(--t2);line-height:1.55}.pmIntro p:last-child{margin-bottom:0}
.pmGrade{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:14px}
.pmCard{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--br);border-radius:14px;background:var(--s1);min-height:200px}
.pmCard.agora{border-color:var(--ouro)}.pmCard.fechada{opacity:.72}
.pmN{font-size:26px;font-weight:800;color:var(--ouroL);line-height:1}
.pmTit{font-size:15px;font-weight:750;letter-spacing:-.01em}
.pmSit{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-size:13px;font-weight:650;padding:5px 10px;border-radius:99px;color:var(--t1)}
.pmSit svg{width:15px;height:15px}
.pmSit.ok{background:var(--verdeBg);color:var(--verde)}.pmSit.fechada{color:var(--t2);padding-left:0}.pmSit.andamento{padding-left:0}
.pmSit.quase{color:var(--ouroL);padding-left:0}
.pmMeta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:var(--t2);min-height:20px}
.pmMeta b{font-size:15px;color:var(--t1)}
.pmCard .suBtn{margin-top:auto}
.pmBloq{margin-top:auto;height:40px;border-radius:10px;border:1px solid var(--br);display:flex;align-items:center;justify-content:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--t2)}
.pmBloq svg{width:15px;height:15px}
.pmPassos{display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:var(--t1)}
.pmPassos > div{display:flex;align-items:center;gap:12px}
.pmPassos i{width:26px;height:26px;flex:0 0 26px;border-radius:50%;border:1px solid var(--br);background:var(--s3);font-style:normal;font-size:12px;font-weight:800;color:var(--t2);display:flex;align-items:center;justify-content:center}
.pqTopo h1{margin:0;font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.pqTopo > b{display:block;font-size:19px;font-weight:700;margin-top:6px}
.pqTopo > p{margin:6px 0 0;font-size:14px;color:var(--t2);line-height:1.5}
.pqAbas{display:grid;gap:12px}
.pqAba{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--br);border-radius:12px;background:var(--s1);color:var(--t2)}
.pqAba i{width:26px;height:26px;border-radius:50%;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:13px;font-weight:800}
.pqAba span{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650;color:var(--t1)}
.pqAba span svg{width:16px;height:16px;color:var(--t2)}
.pqAba.on{border-color:var(--ouro);background:rgba(255,184,46,.06);color:var(--ouroL)}.pqAba.on span,.pqAba.on span svg{color:var(--ouroL)}
.pqAba.ok{color:var(--verde)}.pqAba.ok i{background:var(--verdeBg);border-color:rgba(77,213,139,.5)}
.pqQuadro{background:var(--s1);border:1px solid var(--br);border-radius:16px;padding:22px}
.pqQuadroTopo{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:var(--t2);margin-bottom:16px}
.pqQuadroTopo b{color:var(--t1)}
.pqQuadroTopo a{color:var(--t2);display:inline-flex;gap:6px;align-items:center;font-size:13px}.pqQuadroTopo a svg{width:15px;height:15px}
.pqPergunta{font-size:18px;font-weight:750;margin:0 0 4px;letter-spacing:-.01em}
.pqSub{font-size:14px;color:var(--t2);margin:0 0 18px}
.pqNav{display:flex;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}
.pqTempo b{display:block;font-size:26px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pqTempo small{font-size:12.5px;color:var(--t3)}
/* o miolo antigo da prova dentro da casca nova */
.pqPag .pvItem{display:none;border:0;background:transparent;padding:0;margin:0}
.pqPag .pvItem.on{display:block}
.pqPag .pvItemTopo{gap:12px;margin-bottom:14px;flex-wrap:wrap}
.pqPag .pvItemN{display:none}
.pqPag .pvFrase,.pqPag .pvFrasePt{font-size:20px;font-weight:750;line-height:1.35;color:var(--t1)}
.pqPag .pvItem label{display:block;font-size:13px;color:var(--t3);margin-bottom:6px}
.pqPag .pvItem textarea{width:100%;background:var(--s2);border:1px solid var(--br);color:var(--t1);border-radius:12px;padding:14px;font:inherit;font-size:15px;min-height:96px;box-sizing:border-box}
.pqPag .pvItem textarea:focus{outline:none;border-color:var(--ouro)}
.pqPag .pvAudioBt{flex:1 1 100%;display:flex;align-items:center;gap:12px;border:0;background:#F7F8F8;color:#0B202A;border-radius:99px;padding:13px 20px;font-size:15px;text-align:left}
.pqPag .pvAudioBt:hover{background:#fff}
.pqPag .pvAudioBt + [data-status]{flex-basis:100%;font-size:13px;color:var(--t3);min-height:16px}
.pqPag .pvGravaBt{padding:12px 22px;font-size:15px}
.pqPag .pvItem audio{height:40px;border-radius:99px}
.pqPag .pvNota{margin-top:12px}
.pqPag .pvAviso{background:rgba(255,184,46,.08);border-color:rgba(255,184,46,.35);color:var(--t1)}
.pqPag .pvAviso .btn{display:inline-flex;align-items:center;height:34px;padding:0 12px;border-radius:9px;border:1px solid var(--br);color:var(--t1);font-size:13px;text-decoration:none}
.pqPag .pvHab{background:var(--s2);border-color:var(--br)}
.pqPag .pvHab .pvHabN{font-family:Inter,sans-serif;font-size:30px;font-weight:800}
.pqPag .pvRev{background:var(--s2);border-color:var(--br)}
.pqPag .pvRev .pvRevSua{color:var(--t2)}
.pqPag .pvBarra{background:rgba(255,255,255,.08)}
.pqPag .muted{color:var(--t2)}
.pqPag .nvEtapas{display:flex;flex-direction:column;gap:10px}
@media (max-width:1180px){ .pmHero .hwHeroTxt{right:0} }
@media (max-width:860px){ .pmHero.hwHero,.nvHero.hwHero{aspect-ratio:auto} .pmHero > img,.nvHero > img{position:static;width:100%;height:190px;object-position:center} }
@media (max-width:760px){ .pqAbas{grid-template-columns:1fr 1fr!important} .pqTopo h1{font-size:28px} .pmGrade{grid-template-columns:1fr 1fr} .pmNiveis{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px} .pmNivel{flex:0 0 auto;min-width:110px} }
@media (max-width:480px){ .pmGrade{grid-template-columns:1fr} }

/* P319: Explorar novo — categorias em cartao, "em alta" e a faixa */
.exHero.hwHero{aspect-ratio:1930/430;min-height:0}
.exHero > img{width:62%;object-position:center center}
.exHero::after{background:linear-gradient(90deg,#080F15 0%,#080F15 34%,rgba(8,15,21,.82) 40%,rgba(8,15,21,0) 50%)}
.exHero .hwHeroTxt{right:52%}
.exHero .hwHeroTxt h1{font-size:44px}
.exCats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.exCat{display:flex;flex-direction:column;padding:11px;border:1px solid var(--br);border-radius:14px;background:var(--s1);
  text-decoration:none;color:inherit;transition:transform .12s,border-color .12s}
.exCat:hover{transform:translateY(-2px);border-color:rgba(255,184,46,.45)}
.exCatFoto{display:block;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:var(--s3)}
.exCatFoto img{width:100%;height:100%;object-fit:cover;display:block}
.exCat b{font-size:16px;font-weight:750;letter-spacing:-.01em;margin:12px 2px 0}
.exCat small{font-size:12.5px;color:var(--t2);line-height:1.4;margin:5px 2px 0;flex:1}
.exCatVer{display:inline-flex;align-items:center;gap:6px;margin:12px 2px 2px;font-size:13.5px;font-weight:700;color:var(--ouro)}
.exCatVer svg{width:15px;height:15px}
.exAltaRow{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(206px,1fr);gap:14px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity}
.exAlta{scroll-snap-align:start;text-decoration:none;color:inherit;display:block;cursor:pointer;border:0;background:transparent;padding:0;font:inherit;text-align:left;width:100%}
.exAltaFoto{position:relative;display:block;aspect-ratio:16/9.4;border-radius:12px;overflow:hidden;background:var(--s3);border:1px solid var(--br)}
.exAltaFoto img{width:100%;height:100%;object-fit:cover;display:block}
.exAltaFoto em{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:14px;font-weight:700;color:var(--t3)}
.exMarca{position:absolute;top:9px;right:9px;width:30px;height:30px;border-radius:8px;background:rgba(6,15,22,.7);
  display:flex;align-items:center;justify-content:center;color:var(--ouro)}
.exMarca svg{width:16px;height:16px}
.exAlta b{display:block;font-size:14.5px;font-weight:700;margin:10px 2px 0;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.exAltaTags{display:flex;gap:6px;margin:8px 2px 0}
.exAltaTags em{font-style:normal;font-size:11.5px;font-weight:700;color:var(--t2);border:1px solid var(--br);
  border-radius:7px;padding:3px 9px;background:var(--s2)}
.exAltaTags em.nv{color:var(--ouroL);border-color:rgba(255,184,46,.4);background:rgba(255,184,46,.08)}
.exFaixa{position:relative;display:grid;grid-template-columns:1.3fr .9fr auto;align-items:center;gap:24px;
  padding:26px 30px;border:1px solid var(--br);border-radius:18px;overflow:hidden;background:#0B202A;text-decoration:none;color:inherit}
.exFaixa > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;z-index:0}
.exFaixa::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#06131C 0%,rgba(6,19,28,.9) 26%,rgba(6,19,28,.55) 46%,rgba(6,19,28,.82) 66%,#06131C 100%)}
.exFaixa > *{position:relative;z-index:2}
.exFaixaTxt{display:flex;align-items:flex-start;gap:14px}
.exAspas{font-family:"Playfair Display",Georgia,serif;font-size:52px;line-height:.7;color:var(--ouro)}
.exFaixaTxt b{font-family:"Playfair Display",Georgia,serif;font-size:30px;font-weight:600;line-height:1.15;color:var(--t1)}
.exFaixaLista{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.exFaixaLista i{display:flex;align-items:center;gap:8px;font-style:normal;font-size:13.5px;color:var(--t1)}
.exFaixaLista i svg{width:16px;height:16px;color:var(--verde);flex:0 0 16px}
.exFaixaBt{white-space:nowrap;height:48px;padding:0 24px;font-size:15px}
@media (max-width:1180px){ .exHero .hwHeroTxt{right:0} .exCats{grid-template-columns:1fr 1fr} }
@media (max-width:980px){ .exFaixa{grid-template-columns:1fr;gap:18px} .exFaixaLista{grid-template-columns:1fr 1fr} }
@media (max-width:860px){ .exHero.hwHero{aspect-ratio:auto} .exHero > img{position:static;width:100%;height:190px;object-position:center} }
@media (max-width:560px){ .exCats{grid-template-columns:1fr 1fr} .exFaixaTxt b{font-size:24px} .exFaixaLista{grid-template-columns:1fr} }

/* P320/P322: a lista de um clube (Movie Club) na casca nova */
.clHero.hwHero{aspect-ratio:1930/360;min-height:0}
.clHero > img{width:56%;object-position:center center}
.clHero::after{background:linear-gradient(90deg,#080F15 0%,#080F15 38%,rgba(8,15,21,.82) 44%,rgba(8,15,21,0) 56%)}
.clHero .hwHeroTxt{right:44%;padding:22px 28px}
.clHero .hwHeroTxt h1{display:flex;align-items:center;gap:12px;font-family:Inter,sans-serif;font-size:34px;letter-spacing:-.03em}
.clHeroIco{width:40px;height:40px;flex:0 0 40px;border-radius:11px;border:1px solid var(--br);background:var(--s2);display:flex;align-items:center;justify-content:center;color:#4FA8FF}
.clHero .hwHeroTxt b{font-size:16px}
.clHero .hwHeroTxt p{margin-top:6px}
.clHeroMetas{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:14px}
.clHeroMetas > span{display:flex;align-items:center;gap:11px}
.clHeroMetas i{width:36px;height:36px;flex:0 0 36px;border-radius:9px;border:1px solid var(--br);background:var(--s2);display:flex;align-items:center;justify-content:center;color:var(--ouro)}
.clHeroMetas i svg{width:18px;height:18px}
.clHeroMetas b{display:block;font-size:13.5px;font-weight:700;color:var(--t1)}
.clHeroMetas small{display:block;font-size:11.5px;color:var(--t3)}
.clAbas{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 0}
.clAba{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 20px;border-radius:99px;border:1px solid var(--br);
  background:var(--s1);color:var(--t2);font-size:14.5px;font-weight:700;text-decoration:none;transition:border-color .12s,color .12s,background .12s}
.clAba i{display:flex}.clAba i svg{width:17px;height:17px}
.clAba:hover{color:var(--t1);border-color:var(--t3)}
.clAba.on{background:var(--clRed);border-color:var(--clRed);color:#fff}
.clFiltros{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:12px;margin:16px 0 20px;align-items:center}
.clBusca{display:flex;align-items:center;gap:10px;height:46px;padding:0 16px;border:1px solid var(--br);border-radius:12px;background:var(--s1);color:var(--t3)}
.clBusca svg{width:18px;height:18px;flex:0 0 18px}
.clBusca input{flex:1;border:0;background:transparent;color:var(--t1);font:inherit;font-size:14.5px;outline:none}
.clSel{height:46px;padding:0 14px;border:1px solid var(--br);border-radius:12px;background:var(--s1);color:var(--t1);font:inherit;font-size:14px;cursor:pointer}
.clLista{display:flex;flex-direction:column;gap:30px}
.clSecaoTopo{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.clSecaoTopo h2{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:26px;font-weight:700;letter-spacing:-.01em;color:var(--t1)}
.clSelo{font-size:12.5px;font-weight:800;color:#fff;background:var(--clRed);border-radius:8px;padding:4px 11px}
.clTag{font-size:12px;font-weight:700;color:var(--t2);border:1px solid var(--br);border-radius:8px;padding:3px 10px;background:var(--s2)}
.clTag.nv{color:var(--ouroL);border-color:rgba(255,184,46,.4);background:rgba(255,184,46,.08)}
.clVerTodas{margin-left:auto;font-size:13px;font-weight:700;color:var(--ouro);text-decoration:none;white-space:nowrap}
.clSecaoDesc{margin:8px 0 0;font-size:13.5px;color:var(--t2);line-height:1.5;max-width:70ch}
.clFileira{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;margin-top:14px;align-items:start}
.clPoster{display:block;aspect-ratio:2/3;border-radius:14px;overflow:hidden;background:var(--s3);border:1px solid var(--br);position:relative}
.clPoster img{width:100%;height:100%;object-fit:cover;display:block}
.clPosterVazio{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:14px;text-align:center;font-size:14px;font-weight:750;color:var(--t2)}
.clAulas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.clAula{display:flex;flex-direction:column;text-align:left;border:0;background:transparent;padding:0;cursor:pointer;color:inherit;font:inherit}
/* P528 (pedido dela): a miniatura fica QUADRADA quando a fileira
   inteira tem a arte dela, mesmo que corte a capa.

   Nao da para fazer isso em todo lugar: as artes do Movie Club sao
   LARGAS, com o titulo na esquerda -- o preview mostrou 'O primeiro
   dia' virando 'IRO'. E nao da para fazer por cartao, senao a fileira
   fica de dois jeitos, que e exatamente o que ela ja reclamou antes.
   Entao a forma e da FILEIRA, e so quando todos os cartoes dela tem
   arte propria. */
.clAulaFoto{position:relative;display:block;aspect-ratio:16/10;border-radius:11px;overflow:hidden;background:var(--s3);border:1px solid var(--br)}
.clAulaFoto img{width:100%;height:100%;object-fit:cover;display:block}
.clSecaoQuad .clAulaFoto{aspect-ratio:1/1}
/* O corte parte do TOPO: e la que estao a marca, o numero da aula e o
   titulo -- centrar cortaria justamente o que identifica a aula. */
.clSecaoQuad .clAulaFoto img,.clAulaFotoPe img{object-position:center top}
/* P531: numa fileira quadrada, a arte DEITADA e aparada pela esquerda —
   e la que o titulo dela comeca. Vence o seletor de cima por vir depois
   com a mesma especificidade. */
.clSecaoQuad .clAulaFotoEsq img{object-position:left center}
.clAulaFoto::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,15,22,.55) 0%,rgba(6,15,22,0) 45%)}
/* P533 (a Tayla, olhando a capa da aula 01 do Ross and Janice): o play
   ficava no alto a direita e cobria o "S" final do FRIENDS. Nas artes
   dela o alto e SEMPRE a parte escrita — marca, selo AULA 0X e titulo —,
   e o pe da arte e cenario. Entao o botao desce pro canto de baixo, que
   e onde o card de musica ja o punha desde o P322. */
.clPlay{position:absolute;bottom:8px;right:8px;z-index:1;width:34px;height:34px;border-radius:50%;border:2px solid #fff;background:rgba(0,0,0,.4);
  color:#fff;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
.clPlay svg{width:13px;height:13px;margin-left:2px}
.clAula:hover .clPlay{background:var(--clRed);border-color:var(--clRed)}
.clAula:hover .clAulaFoto{border-color:rgba(231,65,77,.55)}
.clAulaRot{display:flex;align-items:baseline;gap:7px;margin-top:9px;font-size:11.5px;font-weight:800;letter-spacing:.06em;color:var(--clRed)}
.clAulaRot b{font-size:20px;font-weight:900;line-height:1}
.clAulaNome{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;font-weight:750;line-height:1.25;margin-top:4px;color:var(--t1)}
.clAulaSub{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;color:var(--t2);line-height:1.35;margin-top:3px}
.clAulaPe{display:flex;gap:14px;margin-top:8px;font-size:11.5px;color:var(--t3)}
.clAulaPe span{display:inline-flex;align-items:center;gap:5px}
.clAulaPe svg{width:13px;height:13px}
/* P337 (mockup do Music Club): a secao de uma musica — capa, o texto da
   musica no meio e as aulas em cartao de foto com o texto por cima. */
.clSecaoMus{display:grid;grid-template-columns:180px minmax(210px,250px) minmax(0,1fr);gap:22px;align-items:start}
.clSecaoMus .clPoster{aspect-ratio:2/3;border-radius:12px}
.clMusTopo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.clMusTopo h2{margin:0;font-size:19.5px;font-weight:800;letter-spacing:-.01em;color:var(--t1);line-height:1.25}
.clMusInfo .clSecaoDesc{margin:10px 0 0;font-size:13.5px;line-height:1.55}
.clMusTags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.clMusTags .clTag{border-radius:9px;padding:5px 13px;font-size:12.5px}
.clMusInfo .clVerTodas{display:inline-block;margin:12px 0 0}
.clAulasMus{display:flex;gap:14px;align-items:start}
.clAulaMus{flex:1;min-width:0;display:flex;flex-direction:column;text-align:left;border:0;background:transparent;padding:0;cursor:pointer;color:inherit;font:inherit}
.clAulaMusFoto{position:relative;display:block;border-radius:12px;overflow:hidden;border:1px solid var(--br);background:var(--s3)}
.clAulaMusFoto img{display:block;width:100%;height:auto}
.clAulaMus .clPlay{right:12px;bottom:12px;width:38px;height:38px;opacity:0;transition:opacity .15s,background .15s,border-color .15s}
.clAulaMus .clPlay svg{width:14px;height:14px}
.clAulaMus:hover .clPlay{opacity:1;background:var(--clRed);border-color:var(--clRed)}
.clAulaMus:hover .clAulaMusFoto{border-color:rgba(231,65,77,.6)}
.clAulaMus .clAulaPe{margin-top:9px;padding:0 2px}
/* aula sem capa propria: a foto ganha o texto por cima */
.clAulaMus:not(.temArte) .clAulaMusFoto{aspect-ratio:16/10}
.clAulaMus:not(.temArte) .clAulaMusFoto img{height:100%;object-fit:cover}
.clAulaMusTxt{display:flex;flex-direction:column;margin-top:9px}
.clAulaMusTxt b{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:14.5px;font-weight:750;color:var(--t1)}
.clAulaMusTxt small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;
  line-height:1.4;color:var(--t2);margin-top:4px}
.clAulaMusTxt .clAulaPe{margin-top:8px}
@media (max-width:1180px){ .clSecaoMus{grid-template-columns:160px minmax(0,1fr)} .clSecaoMus .clAulasMus{grid-column:1/3} }
@media (max-width:760px){ .clSecaoMus{grid-template-columns:1fr} .clSecaoMus .clPoster{max-width:170px} .clSecaoMus .clAulasMus{grid-column:1;flex-wrap:wrap} .clAulaMus{flex:1 1 220px} }
/* P347 (mockup dela): a pagina de Musica na casca nova — hero, o karaoke
   em cima, os historicos em fileira e os destaques por nivel. */
.muHero{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--br);background:var(--s1);min-height:196px;display:flex}
.muHero > img{position:absolute;right:0;top:0;height:100%;width:72%;object-fit:cover;object-position:center}
.muHero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--s1) 0%,rgba(8,26,35,.97) 22%,rgba(8,26,35,.6) 38%,rgba(8,26,35,0) 62%)}
.muHeroTxt{position:relative;z-index:2;padding:26px 30px;max-width:640px;display:flex;flex-direction:column;justify-content:center}
.muHeroTxt .eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.14em;color:var(--ouro);margin:0 0 6px}
.muHeroTxt h1{margin:0;font-size:46px;font-weight:800;letter-spacing:-.02em;color:var(--t1);line-height:1.05}
.muHeroTxt p{margin:8px 0 0;font-size:15px;color:var(--t2)}
.muHeroMetas{display:flex;gap:20px;flex-wrap:wrap;margin-top:16px}
.muHeroMetas > span{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--t2);line-height:1.25}
.muHeroMetas > span > span{display:flex;flex-direction:column}
.muHeroMetas i{display:flex;width:34px;height:34px;flex:0 0 34px;align-items:center;justify-content:center;border-radius:9px;
  background:rgba(255,184,46,.12);border:1px solid rgba(255,184,46,.3);color:var(--ouro)}
.muHeroMetas i svg{width:16px;height:16px}
.muHeroMetas b{display:block;color:var(--t1);font-size:13px;font-weight:750}
.muKar{margin-top:18px;border:1px solid rgba(255,184,46,.45);border-radius:14px;padding:16px 18px;
  background:linear-gradient(120deg,rgba(255,184,46,.13),rgba(255,184,46,.04))}
.muKarTopo{display:flex;align-items:center;gap:12px}
.muKarTopo i{display:flex;color:var(--ouro)}.muKarTopo i svg{width:22px;height:22px}
.muKarTopo b{font-size:15.5px;color:var(--t1)}
.muKar p{margin:3px 0 12px 34px;font-size:13px;color:var(--t2)}
.muKarForm{display:flex;gap:10px;flex-wrap:wrap}
.muKarForm input{flex:1;min-width:220px;height:46px;padding:0 15px;border:1px solid var(--br);border-radius:10px;
  background:var(--bg);color:var(--t1);font:inherit;font-size:14.5px;outline:none}
.muKarForm input:focus{border-color:var(--ouro)}
.muSec{margin-top:24px}
.muSecTopo{display:flex;align-items:baseline;gap:12px}
.muSecTopo h2{margin:0;font-size:17px;font-weight:800;color:var(--t1);display:flex;align-items:center;gap:8px}
.muSecTopo h2 i{display:flex;color:var(--ouro)}.muSecTopo h2 i svg{width:17px;height:17px}
.muSecTopo a{margin-left:auto;font-size:13px;font-weight:700;color:var(--ouro);text-decoration:none;white-space:nowrap}
.muSecTopo small{color:var(--t3);font-size:12.5px}
.muFila{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.muFila.tres{grid-template-columns:repeat(3,minmax(0,1fr))}
.muItem{position:relative;display:flex;align-items:center;gap:14px;padding:10px 14px 10px 10px;border-radius:12px;
  border:1px solid var(--br);text-decoration:none;color:inherit;overflow:hidden;min-height:74px}
.muItem::before{content:"";position:absolute;inset:0;background:var(--muBg,linear-gradient(120deg,#12303f,#0d2430))}
.muItem > *{position:relative;z-index:1}
.muItem:hover{border-color:var(--ouro)}
.muItemFoto{width:86px;height:54px;flex:0 0 86px;border-radius:8px;overflow:hidden;background:#0b1a22;
  display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;color:#ffffff66}
.muItemFoto img{width:100%;height:100%;object-fit:cover}
.muItemTxt{flex:1;min-width:0}
.muItemTxt b{display:block;font-size:14.5px;font-weight:750;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.muItemTxt small{display:block;font-size:12.5px;color:#ffffffb0;margin-top:1px}
.muItemTxt em{display:inline-block;font-style:normal;font-size:11.5px;font-weight:700;color:#fff;margin-top:6px;
  background:rgba(0,0,0,.34);border-radius:6px;padding:3px 8px}
.muPlay{flex:0 0 38px;width:38px;height:38px;border-radius:50%;border:2px solid #ffffffcc;color:#fff;
  display:flex;align-items:center;justify-content:center}
.muPlay svg{width:13px;height:13px;margin-left:2px}
.muItem:hover .muPlay{background:var(--ouro);border-color:var(--ouro);color:#0b1a22}
.muItem .cardRemoveBtn{position:absolute;top:6px;right:6px;z-index:2;width:22px;height:22px;border-radius:50%;
  border:0;background:#00000055;color:#fff;font-size:12px;line-height:1;cursor:pointer;display:none}
.muItem:hover .cardRemoveBtn{display:block}
.muNivel{margin-top:16px}
.muNivel h3{margin:0 0 10px;font-size:14px;font-weight:800;color:var(--t2)}
.muDests{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.muDest{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;
  text-decoration:none;color:#fff;overflow:hidden;min-height:68px;border:1px solid transparent}
.muDest::before{content:"";position:absolute;inset:0;background:var(--muBg)}
.muDest > *{position:relative;z-index:1}
.muDest:hover{border-color:#fff6}
.muDestSelo{font-size:11px;font-weight:800;letter-spacing:.06em;background:rgba(0,0,0,.4);border-radius:6px;padding:4px 8px}
.muDestTxt{flex:1;min-width:0}
.muDestTxt b{display:block;font-size:14px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.muDestTxt small{display:block;font-size:12px;color:#ffffffc0;margin-top:1px}
@media (max-width:1180px){ .muDests{grid-template-columns:repeat(3,minmax(0,1fr))} .muFila.tres{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:860px){ .muHero > img{width:100%;opacity:.35} .muHeroTxt{max-width:none} .muHeroTxt h1{font-size:34px}
  .muFila,.muFila.tres,.muDests{grid-template-columns:1fr} }
/* P348 (mockup dela): "Como voce quer estudar essa musica?" — hero da
   musica e os tres caminhos (Karaoke, Modo Aula e Prova). */
.msHero{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--br);background:var(--s1);min-height:214px;display:flex}
.msHero > img{position:absolute;right:0;top:0;height:100%;width:70%;object-fit:cover;object-position:center 32%}
.msHero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--s1) 0%,rgba(8,26,35,.96) 24%,rgba(8,26,35,.6) 40%,rgba(8,26,35,0) 64%)}
.msHeroTxt{position:relative;z-index:2;padding:26px 30px;max-width:620px;display:flex;flex-direction:column;justify-content:center}
.msHeroTxt .eyebrow{margin:0 0 4px;font-size:11.5px;font-weight:800;letter-spacing:.14em;color:var(--ouro)}
.msHeroTxt h1{margin:0;font-size:44px;font-weight:800;letter-spacing:-.02em;color:var(--t1);line-height:1.05}
.msHeroTxt > p{margin:8px 0 0;font-size:15px;color:var(--t2)}
.msChips{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.msChips span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--t2);
  background:var(--s2);border:1px solid var(--br);border-radius:99px;padding:6px 13px}
.msDuo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.msCard{position:relative;display:flex;flex-direction:column;padding:22px 24px;border-radius:16px;overflow:hidden;
  text-decoration:none;color:#fff;border:1px solid transparent;min-height:196px}
.msCard::before{content:"";position:absolute;inset:0;background:var(--msBg)}
.msCard > *{position:relative;z-index:1}
.msCard:hover{border-color:#ffffff59}
.msKar{--msBg:linear-gradient(130deg,#12667a 0%,#0d3b4c 62%,#0a2c3a 100%)}
.msAula{--msBg:linear-gradient(130deg,#c47a18 0%,#8a4a12 64%,#6b3a10 100%)}
.msProva{--msBg:linear-gradient(130deg,#1a1a1a,#0d0d0d);border-color:rgba(255,184,46,.55);max-width:760px;margin:18px auto 0;text-align:center;align-items:center}
.msIco{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);margin-bottom:14px}
.msCard h2{margin:0 0 8px;font-size:26px;font-weight:800;color:#fff}
.msCard p{margin:0 0 16px;font-size:13.5px;line-height:1.5;color:#ffffffcf;flex:1;max-width:60ch}
.msCard .suBtn{align-self:flex-start}
.msProva .suBtn{align-self:center}
.msLista{position:absolute;top:22px;right:24px;z-index:1;display:flex;flex-direction:column;gap:5px;text-align:right;
  font-size:11px;font-weight:800;letter-spacing:.1em;color:#ffffff7a}
.msLista i,.msLista b{display:block;font-style:normal}
.msLista b{color:#fff}
.msListaIco{position:absolute;top:18px;right:24px;z-index:1;font-size:22px;opacity:.85}
.msProva .msLista{top:22px;right:26px}
.msVoltar{display:inline-block;margin-top:20px;font-size:13.5px;font-weight:700;color:var(--ouro);text-decoration:none}
/* P350: o aviso antes da prova, como no mockup — cartao centralizado. */
.pvAviso{max-width:540px;margin:40px auto 0;text-align:center;background:linear-gradient(155deg,#0e2a3c,#0a1e2b);
  border:1px solid var(--br);border-radius:18px;padding:34px 34px 30px;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.pvAviso .emo{font-size:38px;line-height:1}
.pvAviso .eyebrow{margin:12px 0 2px;font-size:11.5px;font-weight:800;letter-spacing:.14em;color:var(--ouro)}
.pvAviso h1{margin:0 0 14px;font-size:38px;font-weight:800;letter-spacing:-.02em;color:var(--t1)}
.pvAviso .forte{margin:0 0 6px;font-size:15px;font-weight:750;color:var(--t1)}
.pvAviso p{margin:0 0 6px;font-size:13.5px;color:var(--t2);line-height:1.5}
.pvAviso .perg{margin:18px 0 16px;font-size:13.5px;color:var(--t2)}
.pvAvisoBts{display:flex;flex-direction:column;gap:10px}
.pvAvisoBts .suBtn{width:100%;justify-content:center}
@media (max-width:980px){ .msDuo{grid-template-columns:1fr} .msLista{display:none} }
@media (max-width:860px){ .msHero > img{width:100%;opacity:.3} .msHeroTxt{max-width:none} .msHeroTxt h1{font-size:32px} }
/* P354 (mockup dela): a tela de Jogos na casca nova. */
.jgTopo{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.jgTopo b{font-size:15px;font-weight:800;color:var(--ouro)}
.jgHero{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--br);padding:30px 26px;text-align:center;
  background:radial-gradient(ellipse at 12% 0%,rgba(138,79,192,.35),transparent 46%),
             radial-gradient(ellipse at 88% 10%,rgba(255,184,46,.22),transparent 44%),
             linear-gradient(160deg,#14202c,#0a141c)}
.jgSelo{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.1em;
  color:var(--ouro);background:rgba(255,184,46,.12);border:1px solid rgba(255,184,46,.5);border-radius:99px;padding:7px 16px}
.jgHero h1{margin:14px 0 8px;font-size:40px;font-weight:800;letter-spacing:-.02em;color:var(--t1);
  display:flex;align-items:center;justify-content:center;gap:14px}
.jgHero h1 em{font-style:normal;font-size:34px}
.jgHero p{margin:0 auto;max-width:78ch;font-size:14px;color:var(--t2);line-height:1.5}
.jgGrupoLbl{display:flex;align-items:center;gap:10px;margin:22px 0 10px;font-size:11.5px;font-weight:900;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ouro)}
.jgGrupoLbl.azul{color:#6FC3E8}
.jgGrupoLbl i{flex:1;height:1px;background:var(--br)}
.jgLinha{display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;margin:0 0 12px;padding:16px 20px;
  border-radius:14px;border:1px solid var(--ouro);background:linear-gradient(120deg,rgba(255,184,46,.13),rgba(255,184,46,.03));
  transition:transform .15s,border-color .15s}
.jgLinha:hover{transform:translateY(-2px)}
.jgLinha .ico{font-size:28px;line-height:1;flex:0 0 auto}
.jgLinha .txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.jgLinha .txt b{font-size:17px;font-weight:800;color:var(--t1);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.jgLinha .txt small{font-size:13px;color:var(--t2);line-height:1.45}
.jgLinha .seta{color:var(--ouro);font-size:22px;font-weight:900}
.jgPino{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--ouro);background:rgba(255,184,46,.14);
  border:1px solid rgba(255,184,46,.55);border-radius:99px;padding:3px 11px}
.jgLinha.fora{border-color:rgba(111,195,232,.55);background:linear-gradient(120deg,rgba(111,195,232,.12),rgba(111,195,232,.03))}
.jgLinha.fora .seta{color:#6FC3E8}
.jgBusca{display:flex;align-items:center;gap:10px;max-width:640px;margin:18px auto 0;height:48px;padding:0 18px;
  border:1px solid var(--br);border-radius:12px;background:var(--s1)}
.jgBusca input{flex:1;border:0;background:transparent;color:var(--t1);font:inherit;font-size:14.5px;outline:none}
/* P552: a trilha volta ao desenho do Figma — uma cartela por nivel, com a
   cor do nivel na borda, icone, selo de dificuldade e contagem; cada chip
   e um link externo (a seta diz isso antes do clique). */
.jgSecTit{margin:26px 0 10px;font-size:18px;font-weight:800;color:var(--t1)}
.jgAjuda{margin:8px 0 0;font-size:12.5px;color:var(--t3)}
.jgEnter{border:1px solid rgba(111,195,232,.6);background:rgba(111,195,232,.12);color:#6FC3E8;
  font:inherit;font-size:12px;font-weight:800;border-radius:8px;padding:5px 11px;cursor:pointer}
.jgBusca{border-color:rgba(111,195,232,.7);box-shadow:0 0 0 3px rgba(111,195,232,.12),0 0 24px rgba(111,195,232,.18);
  margin:0;max-width:none}
.jgNiveis{margin-top:14px;display:flex;flex-direction:column;gap:18px}
.jgNivel{--cor:#5FD068;border:1px solid var(--cor);border-radius:16px;background:var(--s1);overflow:hidden;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--cor) 25%,transparent),0 12px 32px rgba(0,0,0,.35)}
.jgNivelTopo{display:flex;align-items:center;gap:14px;padding:16px 18px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--cor) 14%,transparent),transparent 60%);
  border-bottom:1px solid color-mix(in srgb,var(--cor) 35%,var(--br))}
.jgNivelIco{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:22px;flex:none;
  background:color-mix(in srgb,var(--cor) 18%,transparent);border:1px solid color-mix(in srgb,var(--cor) 60%,transparent)}
.jgNivelTit{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.jgNivelTit b{font-size:16px;font-weight:800;color:var(--t1)}
.jgNivelTit small{font-size:12.5px;color:var(--t2)}
.jgNivelSelo,.jgNivelConta{font-size:11.5px;font-weight:800;border-radius:99px;padding:4px 11px;white-space:nowrap;
  border:1px solid color-mix(in srgb,var(--cor) 60%,transparent);color:var(--cor);
  background:color-mix(in srgb,var(--cor) 12%,transparent)}
.jgNivelConta{color:var(--t2);background:transparent;border-color:var(--br)}
.jgNivelLbl{padding:14px 18px 0;font-size:11.5px;color:var(--t3)}
.jgChips{display:flex;flex-wrap:wrap;gap:8px;padding:10px 18px 18px}
.jgChip{--cor:#5FD068;display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;text-decoration:none;
  color:var(--t1);background:color-mix(in srgb,var(--cor) 8%,var(--s2));
  border:1px solid color-mix(in srgb,var(--cor) 55%,transparent);border-radius:99px;padding:7px 13px;
  transition:transform .15s,border-color .15s,background .15s}
.jgChip em{font-style:normal;font-size:11px;color:var(--cor);opacity:.85}
.jgChip:hover{border-color:var(--cor);background:color-mix(in srgb,var(--cor) 18%,var(--s2));transform:translateY(-1px)}
@media (max-width:640px){
  .jgNivelTopo{flex-wrap:wrap}
  .jgNivelTit{flex-basis:calc(100% - 60px)}
}
.jgChip.nosso{color:var(--ouro);border-color:rgba(255,184,46,.55);background:rgba(255,184,46,.1)}
.jgChip.nosso b{font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;
  background:var(--ouro);color:#191100;border-radius:99px;padding:2px 7px}
/* P355 (mockup dela): a tela de Stand-up Comedy na casca nova. */
.suStandHero{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--br);min-height:320px;
  background:linear-gradient(160deg,#16171f,#0b0d13)}
.suStandHero > img.foto{position:absolute;right:24%;top:0;height:100%;width:30%;object-fit:cover;object-position:center 22%}
.suStandHero.capaCheia > img.foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.suStandHero.capaCheia::after{background:linear-gradient(90deg,rgba(8,10,16,.92) 0%,rgba(8,10,16,.8) 26%,rgba(8,10,16,.25) 44%,rgba(8,10,16,0) 58%)}
.suStandHero.capaCheia .suStandTxt{padding:34px 36px}
.suStandHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0b0d13 0%,rgba(11,13,19,.96) 30%,rgba(11,13,19,.35) 48%,rgba(11,13,19,.15) 64%,rgba(11,13,19,.9) 88%)}
.suStandFrase{position:absolute;right:4%;top:9%;width:23%;max-width:260px;z-index:2;mix-blend-mode:screen;opacity:.92}
.suStandTxt{position:relative;z-index:3;padding:28px 30px;max-width:640px}
.suStandTxt .eyebrow{margin:0 0 8px;font-size:11.5px;font-weight:800;letter-spacing:.14em;color:var(--vit,var(--ouro))}
.suStandTxt h1{margin:0;font-size:44px;font-weight:800;letter-spacing:-.025em;line-height:1.08;color:var(--t1)}
.suStandTxt h1 b{display:block;color:var(--vit,var(--ouro));font-weight:800}
.suStandTxt > p{margin:12px 0 0;font-size:14.5px;color:var(--t2);line-height:1.5;max-width:52ch}
.suStandBusca{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.suStandBusca label{flex:1;min-width:240px;display:flex;align-items:center;gap:10px;height:48px;padding:0 16px;
  border:1px solid var(--br);border-radius:12px;background:rgba(6,14,20,.9)}
.suStandBusca label svg{width:18px;height:18px;flex:0 0 18px;color:var(--t3)}
.suStandBusca input{flex:1;border:0;background:transparent;color:var(--t1);font:inherit;font-size:14.5px;outline:none}
.suStandTemas{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.suStandTema{font-size:12.5px;font-weight:700;color:var(--t2);background:rgba(6,14,20,.75);border:1px solid var(--br);
  border-radius:99px;padding:7px 14px;cursor:pointer}
.suStandTema:hover{color:var(--t1);border-color:var(--t3)}
.suStandCards{position:absolute;right:26px;bottom:24px;z-index:4;width:min(30%,300px);display:flex;flex-direction:column;gap:12px}
.suStandCita{background:rgba(12,18,26,.92);border:1px solid var(--br);border-radius:12px;padding:14px 16px;
  font-size:13px;line-height:1.45;color:var(--t2)}
.suStandCita small{display:block;margin-top:6px;color:var(--t3);font-size:12px}
.suStandNivel{display:flex;align-items:center;gap:12px;background:rgba(12,18,26,.92);border:1px solid var(--br);
  border-radius:12px;padding:13px 15px;text-decoration:none;color:inherit}
.suStandNivel i{display:flex;width:38px;height:38px;flex:0 0 38px;align-items:center;justify-content:center;
  border-radius:50%;border:1px solid currentColor;background:rgba(255,255,255,.07);color:var(--vit,var(--ouro))}
.suStandNivel i svg{width:18px;height:18px}
.suStandNivel b{display:block;font-size:13px;color:var(--t1)}
.suStandNivel small{display:block;font-size:12px;color:var(--t3);line-height:1.35}
.suStandNivel em{margin-left:auto;font-style:normal;color:var(--t3)}
.suFila{margin-top:26px}
.suFilaTopo{display:flex;align-items:flex-start;gap:12px}
.suFilaTopo h3{margin:0;font-size:19px;font-weight:800;color:var(--t1);display:flex;align-items:center;gap:10px}
.suFilaTopo small{display:block;font-size:12.5px;color:var(--t3);font-weight:400;margin-top:3px}
.suFilaTopo a{margin-left:auto;font-size:13px;font-weight:700;color:var(--ouro);text-decoration:none;white-space:nowrap}
.suFilaCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:12px}
.suEsp{display:flex;flex-direction:column;text-align:left;border:0;background:transparent;padding:0;cursor:pointer;
  color:inherit;font:inherit;text-decoration:none}
.suEspFoto{position:relative;display:block;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:var(--s3);
  border:1px solid var(--br)}
.suEspFoto img{width:100%;height:100%;object-fit:cover;display:block}
.suEsp:hover .suEspFoto{border-color:var(--ouro)}
.suEspNivel{position:absolute;top:8px;left:8px;z-index:2;font-size:11px;font-weight:800;color:#fff;background:#E50914;
  border-radius:5px;padding:3px 8px}
.suEspVazio{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12px;text-align:center;
  font-size:13px;font-weight:750;color:var(--t2)}
.suEspNome{display:block;font-size:14.5px;font-weight:750;color:var(--t1);margin-top:9px;line-height:1.3}
.suEspSub{display:block;font-size:12.5px;color:var(--t2);line-height:1.4;margin-top:4px}
.suStandFaixa{display:flex;align-items:center;gap:18px;margin-top:28px;padding:20px 24px;border-radius:14px;
  border:1px solid var(--vitFaixaBorda,rgba(138,79,192,.45));
  background:var(--vitFaixaFundo,linear-gradient(120deg,rgba(138,79,192,.18),rgba(138,79,192,.05)))}
.suStandFaixa .emo{font-size:30px}
.suStandFaixa b{display:block;font-size:19px;font-weight:800;color:var(--t1)}
.suStandFaixa small{display:block;font-size:13px;color:var(--t2);margin-top:3px}
.suStandFaixa .suBtn{margin-left:auto;background:var(--vitBt,#8A4FC0);border-color:var(--vitBt,#8A4FC0);color:#fff}
.vitCor .suBtn.ouro{background:var(--vit);border-color:var(--vit);color:#fff}
@media (max-width:1180px){ .suFilaCards{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:980px){ .suStandCards{position:static;width:auto;margin:0 30px 24px}
  .suStandHero > img.foto{width:100%;right:0;opacity:.35} .suStandFrase{display:none} }
@media (max-width:760px){ .suFilaCards{grid-template-columns:repeat(2,minmax(0,1fr))} .suStandTxt h1{font-size:32px}
  .suStandFaixa{flex-wrap:wrap} .suStandFaixa .suBtn{margin-left:0} }
/* P366 (mockup dela): a tela de Suporte na casca nova. */
.suAviso{border-radius:12px;padding:13px 16px;margin-bottom:14px;font-size:14px;font-weight:700;
  border:1px solid var(--br);background:var(--s2);color:var(--t1)}
.suAviso.ok{border-color:rgba(77,213,139,.5);background:rgba(77,213,139,.12);color:var(--verde)}
.spHero{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--br);min-height:300px;
  background:linear-gradient(120deg,#0b1526 0%,#0a1020 52%,#0b0f1c 100%)}
.spHero > img{position:absolute;right:13%;top:0;height:100%;width:42%;object-fit:cover;object-position:center top}
.spHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0b1526 0%,rgba(11,21,38,.94) 24%,rgba(11,21,38,.55) 38%,rgba(11,21,38,0) 50%,rgba(11,21,38,0) 76%,rgba(11,15,28,.9) 90%),
             linear-gradient(0deg,#0b1526 0%,rgba(11,21,38,.55) 8%,rgba(11,21,38,0) 22%)}
.spHeroTxt{position:relative;z-index:2;padding:26px 30px;max-width:640px}
.spTitulo{display:flex;align-items:center;gap:14px}
.spSos{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;
  background:#E7414D;color:#fff;font-size:13px;font-weight:900;letter-spacing:.04em}
.spTitulo h1{margin:0;font-size:40px;font-weight:800;letter-spacing:-.02em;color:var(--t1)}
.spHeroTxt > b{display:block;margin:10px 0 4px;font-size:16px;color:var(--t1)}
.spHeroTxt > p{margin:0;font-size:14px;color:var(--t2);line-height:1.5;max-width:56ch}
.spBalao{position:absolute;z-index:3;right:6%;top:18%;width:min(23%,220px);padding:14px 16px;border-radius:14px;
  border:1px solid #9B66FF;background:rgba(20,10,40,.85);color:#fff;font-size:14px;font-weight:700;line-height:1.35;
  box-shadow:0 0 26px rgba(155,102,255,.35)}
.spBalao::after{content:"";position:absolute;left:26px;bottom:-9px;width:16px;height:16px;transform:rotate(45deg);
  background:rgba(20,10,40,.95);border-right:1px solid #9B66FF;border-bottom:1px solid #9B66FF}
.spLema{position:absolute;z-index:3;right:3%;bottom:16%;text-align:left;font-size:12.5px;font-weight:800;
  letter-spacing:.06em;color:var(--t2);line-height:1.5}
.spLema i{display:block;width:34px;height:3px;background:var(--ouro);margin-top:8px;border-radius:2px}
.spSecLbl{margin:22px 0 4px;font-size:19px;font-weight:800;color:var(--t1)}
.spSecSub{margin:0 0 12px;font-size:13px;color:var(--t3)}
.spTemas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.spTema{display:flex;align-items:center;gap:11px;padding:14px 16px;border-radius:12px;border:1px solid var(--br);
  background:var(--s1);color:var(--t1);font-size:14px;font-weight:700;cursor:pointer;text-align:left}
.spTema:hover{border-color:var(--ouro)}
.spTema em{font-style:normal;font-size:20px}
.spDuas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:20px;align-items:start}
.spBloco{border:1px solid var(--br);border-radius:14px;padding:18px 20px;background:var(--s1)}
.spBloco.roxo{border-color:rgba(155,102,255,.5);background:linear-gradient(140deg,rgba(155,102,255,.12),rgba(155,102,255,.03))}
.spBlocoTopo{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.spBlocoTopo em{font-style:normal;font-size:26px;line-height:1}
.spBlocoTopo b{display:block;font-size:17px;font-weight:800;color:var(--t1)}
.spBlocoTopo small{display:block;font-size:13px;color:var(--t2);margin-top:2px}
.spPergunta{display:flex;gap:10px}
.spPergunta input{flex:1;height:48px;padding:0 16px;border:1px solid var(--br);border-radius:10px;background:var(--bg);
  color:var(--t1);font:inherit;font-size:14.5px;outline:none}
.spPergunta input:focus{border-color:var(--ouro)}
.spEnviar{width:48px;height:48px;flex:0 0 48px;border-radius:50%;border:0;cursor:pointer;background:var(--ouro);
  color:#1A1206;font-size:18px;font-weight:900}
.spExemplos{margin:14px 0 0;font-size:12.5px;color:var(--t3)}
.spChips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.spChip{font-size:12.5px;font-weight:700;color:var(--t2);background:var(--s2);border:1px solid var(--br);
  border-radius:99px;padding:7px 13px;cursor:pointer}
.spChip:hover{color:var(--t1);border-color:var(--t3)}
.spChat{display:flex;flex-direction:column;gap:10px;max-height:40vh;overflow-y:auto;margin-top:12px}
.spAcoes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:4px}
.spAcao{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid var(--br);
  background:var(--s2);color:inherit;text-decoration:none;cursor:pointer;text-align:left;font:inherit}
.spAcao.ouro{border-color:var(--ouro);background:linear-gradient(120deg,rgba(255,184,46,.12),rgba(255,184,46,.03))}
.spAcao em{font-style:normal;font-size:22px}
.spAcao b{display:block;font-size:14.5px;color:var(--t1)}
.spAcao small{display:block;font-size:12.5px;color:var(--t3);margin-top:1px}
.spHorario{display:flex;align-items:center;gap:12px;margin-top:14px;font-size:13px;color:var(--t2)}
.spHorario em{font-style:normal;font-size:20px}
.spHorario b{display:block;color:var(--t1);font-size:13.5px}
.spFaixa{display:flex;align-items:center;gap:18px;margin-top:18px;padding:18px 22px;border-radius:14px;
  border:1px solid rgba(155,102,255,.5);background:linear-gradient(120deg,rgba(155,102,255,.22),rgba(155,102,255,.06))}
.spFaixa em{font-style:normal;font-size:26px}
.spFaixa b{display:block;font-size:17px;font-weight:800;color:var(--t1);line-height:1.35}
.spFaixa span.dir{margin-left:auto;text-align:right;font-size:13px;color:var(--t2);line-height:1.4}
.spFaq details{border:1px solid var(--br);border-radius:10px;background:var(--s2);margin-bottom:9px}
.spFaq summary{list-style:none;cursor:pointer;padding:14px 16px;font-size:14px;font-weight:700;color:var(--t1);
  display:flex;align-items:center;gap:10px}
.spFaq summary::-webkit-details-marker{display:none}
.spFaq summary::after{content:"⌄";margin-left:auto;color:var(--t3);font-size:16px}
.spFaq details[open] summary::after{content:"⌃"}
.spFaq p{margin:0;padding:0 16px 14px;font-size:13.5px;color:var(--t2);line-height:1.5}
.spForm label{display:block;font-size:12.5px;color:var(--t3);margin:12px 0 5px}
.spForm select,.spForm input,.spForm textarea{width:100%;background:var(--bg);border:1px solid var(--br);border-radius:10px;
  color:var(--t1);font:inherit;font-size:14px;padding:11px 13px;outline:none}
.spForm select:focus,.spForm input:focus,.spForm textarea:focus{border-color:var(--ouro)}
.spGrade2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.spMeus{margin-top:14px}
.spMeus .row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--br)}
@media (max-width:1180px){ .spTemas{grid-template-columns:repeat(3,minmax(0,1fr))} .spDuas{grid-template-columns:1fr} }
@media (max-width:860px){ .spHero > img{width:100%;right:0;opacity:.28} .spBalao,.spLema{display:none}
  .spTemas{grid-template-columns:repeat(2,minmax(0,1fr))} .spAcoes,.spGrade2{grid-template-columns:1fr} }
/* P367 (mockup dela): o Ranking na casca nova. */
.rkHero{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--br);min-height:230px;
  background:linear-gradient(120deg,#0a1520 0%,#08101a 60%,#070d16 100%)}
.rkHero > img{position:absolute;right:8%;top:0;height:100%;width:52%;object-fit:cover;object-position:center}
.rkHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0a1520 0%,rgba(10,21,32,.94) 24%,rgba(10,21,32,.4) 40%,rgba(10,21,32,0) 52%,rgba(10,21,32,0) 82%,rgba(7,13,22,.92) 96%)}
.rkHeroTxt{position:relative;z-index:2;padding:26px 30px;max-width:620px}
.rkTitulo{display:flex;align-items:center;gap:14px}
.rkTitulo em{font-style:normal;font-size:38px;line-height:1}
.rkTitulo h1{margin:0;font-size:38px;font-weight:800;letter-spacing:-.02em;color:var(--t1)}
.rkHeroTxt > b{display:block;margin:10px 0 5px;font-size:15.5px;color:var(--t1)}
.rkHeroTxt > p{margin:0;font-size:13.5px;color:var(--t2);line-height:1.5;max-width:56ch}
.rkLema{position:absolute;z-index:3;right:22px;top:26px;border:1px solid var(--br);border-radius:10px;padding:12px 14px;
  background:rgba(8,16,26,.8);font-size:12px;font-weight:800;letter-spacing:.05em;color:var(--t2);line-height:1.45}
.rkLema i{display:block;width:30px;height:3px;background:var(--ouro);margin-top:8px;border-radius:2px}
.rkAbas{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 0}
/* 16/10/2026: "Como funciona o ranking?" — botão abaixo do banner + quadro. */
.rkComoBtn{display:inline-flex;align-items:center;gap:8px;margin:14px 0 0;height:40px;padding:0 16px;border-radius:12px;
  border:1px solid rgba(255,184,46,.45);background:rgba(255,184,46,.08);color:var(--ouro);font-size:14px;font-weight:750;cursor:pointer}
.rkComoBtn:hover{background:rgba(255,184,46,.16)}
.rkComo{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid rgba(255,184,46,.45);
  border-radius:16px;background:var(--s1);color:var(--t1);box-shadow:0 18px 60px rgba(0,0,0,.55),0 0 26px rgba(255,198,61,.14)}
.rkComo::backdrop{background:rgba(0,0,0,.62)}
.rkComoTopo{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:10px;padding:16px 18px;
  background:linear-gradient(120deg,#0a1520,#08101a);border-bottom:1px solid var(--br)}
.rkComoTopo em{font-style:normal;font-size:22px}
.rkComoTopo h2{margin:0;font-size:18px;font-weight:800;color:var(--t1)}
.rkComoTopo button{margin-left:auto;width:36px;height:36px;border-radius:10px;border:1px solid var(--br);background:var(--s3);
  color:var(--t2);font-size:18px;cursor:pointer;line-height:1}
.rkComoCorpo{padding:6px 18px 18px}
.rkComo h3{margin:16px 0 8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ouro)}
.rkComoLista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.rkComoLista li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:4px 10px;align-items:start;padding:8px 0;border-top:1px solid var(--br)}
.rkComoLista li:first-child{border-top:0}
.rkComoLista .ico{font-size:17px;line-height:1.3}
.rkComoLista b{display:block;font-size:14px;font-weight:750;color:var(--t1)}
.rkComoLista small{display:block;font-size:12.5px;color:var(--t3);line-height:1.4;margin-top:1px}
.rkComoLista .xp{font-size:14px;font-weight:900;color:var(--ouro);white-space:nowrap;padding-top:1px}
.rkComoPer li{grid-template-columns:minmax(0,1fr)}
.rkComoPer b{display:inline;color:var(--t1)}
.rkComoPer span{font-size:13px;color:var(--t2);line-height:1.5}
.rkComoNota{margin:10px 0 0;font-size:13px;color:var(--t2);line-height:1.5;border-left:3px solid var(--verde);padding:2px 0 2px 10px}
.rkComoPremio{margin:0;padding:14px;border-radius:12px;border:1px solid #FFC63D;font-size:14px;font-weight:700;line-height:1.5;color:var(--t1);
  background:linear-gradient(180deg,rgba(255,198,61,.16),rgba(255,198,61,.03));box-shadow:0 0 18px rgba(255,198,61,.16)}
.rkComoRegra{margin:0;font-size:13.5px;color:var(--t2);line-height:1.5}
.rkAba{height:44px;padding:0 22px;border-radius:12px;border:1px solid var(--br);background:var(--s1);color:var(--t2);
  font-size:14.5px;font-weight:700;cursor:pointer}
.rkAba:hover{color:var(--t1)}
.rkAba.on{border-color:var(--ouro);color:var(--ouro);background:rgba(255,184,46,.1)}
.rkPodio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.rkP.vazio{opacity:.72}
.rkP.vazio .av{border-style:dashed;box-shadow:none}
.rkP.vazio .av span{color:var(--t3);font-size:22px}
.rkP.vazio h3{color:var(--t2)}
.rkP.vazio .pts{color:var(--t3)}
.rkP{position:relative;border:1px solid var(--br);border-radius:14px;padding:56px 18px 20px;text-align:center;background:var(--s1);overflow:visible}
/* P370: cada lugar tem o seu metal — o quadro, a borda "neon" e o anel
   da foto seguem a mesma cor da coroa. */
.rkP.p1{border-color:#FFC63D;background:linear-gradient(180deg,rgba(255,198,61,.16),rgba(255,198,61,.03));
  box-shadow:0 0 0 1px rgba(255,198,61,.35),0 0 26px rgba(255,198,61,.28),inset 0 0 22px rgba(255,198,61,.08)}
.rkP.p2{border-color:#8FC4FF;background:linear-gradient(180deg,rgba(120,180,255,.24),rgba(90,140,210,.08));
  box-shadow:0 0 0 1px rgba(143,196,255,.35),0 0 24px rgba(143,196,255,.26),inset 0 0 22px rgba(143,196,255,.08)}
.rkP.p3{border-color:#CE8B52;background:linear-gradient(180deg,rgba(206,139,82,.16),rgba(206,139,82,.03));
  box-shadow:0 0 0 1px rgba(206,139,82,.32),0 0 22px rgba(206,139,82,.24),inset 0 0 22px rgba(206,139,82,.08)}
.rkCoroa{position:absolute;top:8px;left:50%;transform:translateX(-50%);line-height:0;z-index:2}
.rkCoroa.c1{filter:drop-shadow(0 3px 10px rgba(255,198,61,.6))}
.rkCoroa.c2{filter:drop-shadow(0 3px 10px rgba(200,225,255,.55))}
.rkCoroa.c3{filter:drop-shadow(0 3px 9px rgba(206,139,82,.5))}
.rkP .av{width:76px;height:76px;border-radius:50%;margin:8px auto 10px;overflow:hidden;border:3px solid var(--br);background:var(--s3)}
.rkP.p1 .av{border-color:#FFC63D;box-shadow:0 0 16px rgba(255,198,61,.5)}
.rkP.p2 .av{border-color:#EAF3FF;box-shadow:0 0 16px rgba(220,235,255,.5)}
.rkP.p3 .av{border-color:#CE8B52;box-shadow:0 0 14px rgba(206,139,82,.45)}
.rkP .av img{width:100%;height:100%;object-fit:cover}
.rkP .av span{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:26px;font-weight:800;color:var(--t2)}
.rkP h3{margin:0;font-size:16px;font-weight:800;color:var(--t1)}
.rkP .pts{display:block;margin-top:4px;font-size:17px;font-weight:900;color:var(--ouro)}
.rkP.p2 .pts{color:#DCE8F3}
.rkP.p3 .pts{color:#E0A468}
.rkP.p1{transform:translateY(-8px)}
.rkP small{display:block;margin-top:10px;font-size:12.5px;color:var(--t3);font-style:italic;line-height:1.4}
.rkP small.frase{color:var(--t2)}
.rkDuas{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;margin-top:18px;align-items:start}
.rkBloco{border:1px solid var(--br);border-radius:14px;background:var(--s1);padding:18px 20px}
.rkBlocoTopo{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.rkBlocoTopo em{font-style:normal;font-size:20px}
.rkBlocoTopo b{font-size:16px;font-weight:800;color:var(--t1)}
.rkBlocoTopo a{margin-left:auto;font-size:13px;font-weight:700;color:var(--ouro);text-decoration:none}
.rkTab{width:100%;border-collapse:collapse}
.rkTab th{text-align:left;font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--t3);padding:0 10px 10px}
.rkTab td{padding:9px 10px;border-top:1px solid var(--br);font-size:14px;color:var(--t1)}
.rkTab tr.eu td{background:rgba(255,184,46,.08)}
.rkTab tr.eu td:first-child{box-shadow:inset 3px 0 0 var(--ouro)}
.rkTab .nome{display:flex;align-items:center;gap:10px;font-weight:700}
.rkTab .nome img,.rkTab .nome .ini{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:0 0 28px}
.rkTab .ini{display:flex;align-items:center;justify-content:center;background:var(--ouro);color:#1A1206;font-size:12px;font-weight:900}
/* P372 (a Tayla: "deixe o nivel dos alunos em neon"): cada nivel tem a
   sua cor, com brilho — do verde (A1) ao vermelho (C2). */
.rkTab .nv{font-size:11px;font-weight:800;border-radius:7px;padding:3px 10px;border:1px solid var(--nvCor,var(--br));
  color:var(--nvCor,var(--t2));background:color-mix(in srgb,var(--nvCor,#888) 14%,transparent);
  text-shadow:0 0 8px color-mix(in srgb,var(--nvCor,#888) 60%,transparent);
  box-shadow:0 0 10px color-mix(in srgb,var(--nvCor,#888) 28%,transparent),
             inset 0 0 8px color-mix(in srgb,var(--nvCor,#888) 12%,transparent)}
.nvA1{--nvCor:#4DD58B}.nvA2{--nvCor:#4EA8FF}.nvB1{--nvCor:#9B66FF}
.nvB2{--nvCor:#FF7AD9}.nvC1{--nvCor:#FFB82E}.nvC2{--nvCor:#FF5B5B}
.rkTab .pt{text-align:right;font-weight:900;color:var(--t1)}
.rkTab .ct{text-align:center;color:var(--t2)}
.rkEu{border:1px solid var(--br);border-radius:14px;background:var(--s1);padding:18px 20px}
.rkEuTopo{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:800;color:var(--t1);margin-bottom:14px}
.rkEuLinha{display:flex;align-items:center;gap:14px}
.rkEuIco{width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:24px;background:var(--s3);border:1px solid var(--br)}
.rkEuNum{font-size:28px;font-weight:900;color:var(--t1);line-height:1.1}
.rkEuNum small{display:block;font-size:14px;font-weight:700;color:var(--t2);margin-top:2px}
.rkEuSelo{margin-left:auto;font-size:12.5px;font-weight:800;color:var(--verde);border:1px solid rgba(77,213,139,.5);
  background:rgba(77,213,139,.12);border-radius:99px;padding:6px 12px}
.rkEuTxt{margin:14px 0 0;font-size:13px;color:var(--t2);line-height:1.5}
.rkBarra{height:8px;border-radius:99px;background:var(--s3);margin-top:12px;overflow:hidden}
.rkBarra i{display:block;height:100%;background:linear-gradient(90deg,#4E7CFF,#9B66FF);border-radius:99px}
.rkTitulos{display:flex;flex-direction:column;gap:10px}
.rkTitulo2{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--t2)}
.rkTitulo2 em{font-style:normal;font-size:20px}
.rkTitulo2 b{color:var(--t1);font-weight:750}
.rkPromo{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(155,102,255,.5);
  background:linear-gradient(140deg,#1b0f2e,#120a20);min-height:280px}
.rkPromo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.rkPromo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(21,12,38,.94) 0%,rgba(21,12,38,.72) 26%,rgba(21,12,38,.2) 46%,rgba(21,12,38,0) 62%),
             linear-gradient(0deg,#150c26 4%,rgba(21,12,38,.7) 26%,rgba(21,12,38,0) 48%)}
.rkPromoTxt{position:relative;z-index:2;padding:20px;display:flex;flex-direction:column;height:100%;min-height:280px}
.rkPromo p{margin:0;font-size:15px;font-weight:750;color:#fff;line-height:1.4;max-width:14ch}
.rkPromo .suBtn{margin-top:auto}
.rkPromo i.linha{display:block;width:34px;height:3px;background:var(--ouro);border-radius:2px;margin:10px 0 16px}
.rkPromo .suBtn{width:100%;justify-content:center;background:linear-gradient(90deg,#4E7CFF,#9B66FF);border:0;color:#fff}
@media (max-width:1180px){ .rkDuas{grid-template-columns:1fr} }
@media (max-width:860px){ .rkHero > img{width:100%;right:0;opacity:.3} .rkLema{display:none} .rkPodio{grid-template-columns:1fr} }
/* P368 (mockup dela): a tela de Turmas na casca nova. */
.tuLiberada{margin:14px 0 0;font-size:12.5px;color:var(--t3);line-height:1.55}
.tuLiberada b{color:var(--t2)}
.tuPedido{display:flex;align-items:center;gap:12px;margin-top:18px;border:1px solid rgba(61,214,140,.45);
  border-radius:12px;background:rgba(61,214,140,.1);padding:14px 16px;font-size:13.5px;color:var(--t1);
  box-shadow:0 0 18px rgba(61,214,140,.18)}
.tuPedido svg{width:20px;height:20px;flex:0 0 20px;color:var(--verde);stroke-width:2.6}
.tuPedido span{flex:1;min-width:0;line-height:1.5}
.tuPedido a{color:var(--verde);font-weight:750;text-decoration:none;white-space:nowrap}
.tuPedido a:hover{text-decoration:underline}
.tuHero{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--br);
  aspect-ratio:1584/332;min-height:170px;background:linear-gradient(120deg,#0b1220 0%,#0a1018 60%,#080d14 100%)}
.tuHero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.tuHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0b1220 0%,rgba(11,18,32,.96) 30%,rgba(11,18,32,.6) 42%,rgba(11,18,32,0) 54%)}
.tuHeroTxt{position:relative;z-index:2;padding:24px 28px;max-width:600px}
.tuTitulo{display:flex;align-items:center;gap:14px}
.tuTitulo em{font-style:normal;font-size:34px;line-height:1}
.tuTitulo h1{margin:0;font-size:38px;font-weight:800;letter-spacing:-.02em;color:var(--t1)}
.tuHeroTxt > b{display:block;margin:8px 0 5px;font-size:15.5px;color:var(--t1)}
.tuHeroTxt > p{margin:0;font-size:13.5px;color:var(--t2);line-height:1.5;max-width:54ch}
.tuSecLbl{margin:24px 0 3px;font-size:21px;font-weight:800;color:var(--t1)}
.tuSecSub{margin:0 0 14px;font-size:13px;color:var(--t3)}
.tuClubes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tuClube{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--br);background:var(--s1);
  display:flex;flex-direction:column;min-height:380px}
.tuClube > img{position:absolute;right:0;top:0;height:100%;width:46%;object-fit:cover;object-position:center}
.tuClube::after{content:"";position:absolute;inset:0;background:var(--tuFundo)}
.tuClubeTxt{position:relative;z-index:2;padding:20px 22px;display:flex;flex-direction:column;flex:1}
.tuSelo{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--tuCor);margin-bottom:10px}
.tuClube h3{margin:0;font-size:29px;font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--tuCor);max-width:11ch}
.tuClube .tag,.tuClube p{max-width:64%}
.tuClube .tag{display:block;margin:10px 0 8px;font-size:15px;font-weight:750;color:var(--t1)}
.tuClube p{margin:0 0 14px;font-size:13px;color:var(--t2);line-height:1.5;max-width:30ch}
.tuChips{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.tuChip{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--t2);
  background:rgba(8,16,26,.82);border:1px solid var(--br);border-radius:9px;padding:7px 11px;backdrop-filter:blur(4px)}
.tuBotao{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:48px;
  border:0;border-radius:12px;cursor:pointer;font:inherit;font-size:14.5px;font-weight:800;color:#fff;
  background:var(--tuBt)}
.tuBotao:hover{filter:brightness(1.07)}
.tuBotao.escuro{color:#1A1206}
.tuMinhas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tuMinha{display:flex;align-items:center;gap:14px;padding:12px;border-radius:14px;border:1px solid var(--br);
  background:var(--s1)}
.tuMinhaFoto{width:104px;height:104px;flex:0 0 104px;border-radius:10px;overflow:hidden;background:var(--s3)}
.tuMinhaFoto img{width:100%;height:100%;object-fit:cover}
.tuMinhaTxt{flex:1;min-width:0}
.tuMinhaTxt b{display:block;font-size:15px;font-weight:800;color:var(--t1)}
.tuMinhaSelos{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.tuMinhaSelos span{font-size:11.5px;font-weight:700;border-radius:99px;padding:4px 10px;border:1px solid var(--br);color:var(--t2)}
.tuMinhaSelos span.sua{color:var(--ouro);border-color:rgba(255,184,46,.5);background:rgba(255,184,46,.1)}
.tuMinha .suBtn{margin-top:10px}
.tuFaixa{display:flex;align-items:center;gap:18px;margin-top:24px;padding:20px 24px;border-radius:14px;
  border:1px solid var(--br);background:linear-gradient(120deg,rgba(78,124,255,.12),rgba(155,102,255,.05))}
.tuFaixa em{font-style:normal;font-size:30px;color:var(--t3)}
.tuFaixa b{font-size:19px;font-weight:750;color:var(--t1);font-style:italic}
.tuFaixa .passos{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:11.5px;font-weight:800;
  letter-spacing:.14em;color:var(--t3)}
@media (max-width:1180px){ .tuClubes,.tuMinhas{grid-template-columns:1fr 1fr} }
@media (max-width:860px){ .tuClubes,.tuMinhas{grid-template-columns:1fr} .tuHero > img{width:100%;opacity:.28}
  .tuFaixa{flex-wrap:wrap} .tuFaixa .passos{margin-left:0} }
/* P374 (mockup dela): a tela "Meu progresso". */
.pgHero{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--br);min-height:190px;
  background:linear-gradient(120deg,#0a1119 0%,#080e15 60%,#070c12 100%)}
.pgHero > img{position:absolute;right:0;top:0;height:100%;width:58%;object-fit:cover;object-position:center}
.pgHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0a1119 0%,rgba(10,17,25,.95) 26%,rgba(10,17,25,.4) 44%,rgba(10,17,25,0) 58%)}
.pgHeroTxt{position:relative;z-index:2;padding:26px 30px;max-width:620px}
.pgHeroTxt .eyebrow{margin:0 0 10px;font-size:11.5px;font-weight:800;letter-spacing:.14em;color:var(--ouro)}
.pgHeroTxt h1{margin:0;font-size:38px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--t1)}
.pgHeroTxt h1 b{display:block;color:var(--ouro)}
.pgHeroTxt p{margin:10px 0 0;font-size:14px;color:var(--t2)}
.pgTiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:18px;border:1px solid var(--br);
  border-radius:14px;background:var(--s1);overflow:hidden}
.pgTile{display:flex;align-items:center;gap:14px;padding:18px 20px;border-right:1px solid var(--br)}
.pgTile:last-child{border-right:0}
.pgTile em{font-style:normal;font-size:26px}
.pgTile b{display:block;font-size:24px;font-weight:800;color:var(--t1);line-height:1.1}
.pgTile span{display:block;font-size:13px;color:var(--t2);margin-top:2px}
.pgTile small{display:block;font-size:11.5px;color:var(--t3);margin-top:3px}
.pgDuas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;align-items:start}
.pgBloco{border:1px solid var(--br);border-radius:14px;background:var(--s1);padding:18px 20px}
.pgCab{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.pgCab em{font-style:normal;font-size:19px}
.pgCab b{font-size:17px;font-weight:800;color:var(--t1)}
.pgCab a{margin-left:auto;font-size:13px;font-weight:700;color:var(--ouro);text-decoration:none}
.pgCab + p{margin:0 0 14px;font-size:12.5px;color:var(--t3)}
.pgNivel{display:flex;align-items:center;gap:14px;margin-top:12px}
.pgSelo{display:flex;align-items:center;justify-content:center;width:64px;height:52px;flex:0 0 64px;border-radius:12px;
  border:1px solid var(--br);background:var(--s2);font-size:22px;font-weight:800;color:var(--t1)}
.pgSelo.alvo{color:var(--t3)}
.pgBarra{flex:1;height:22px;border-radius:99px;background:var(--s3);overflow:hidden;position:relative}
.pgBarra i{display:block;height:100%;background:linear-gradient(90deg,var(--ouroL),var(--ouro))}
.pgPct{font-size:14px;font-weight:800;color:var(--t1);min-width:44px;text-align:right}
.pgAnel{display:flex;align-items:center;gap:20px;margin-top:6px}
.pgAnelSvg{flex:0 0 auto}
.pgAnelTxt{flex:1;display:flex;flex-direction:column;gap:12px}
.pgLinha{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--t2)}
.pgLinha i{width:11px;height:11px;border-radius:3px;flex:0 0 11px}
.pgLinha b{display:block;color:var(--t1);font-size:15px;font-weight:800}
.pgLinha .sobe{margin-left:auto;color:var(--verde);font-size:12.5px;font-weight:700}
.pgFerr{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.pgFerrLinha{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--t2)}
.pgFerrLinha span.nome{flex:0 0 150px;color:var(--t1);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pgFerrBar{flex:1;height:10px;border-radius:99px;background:var(--s3);overflow:hidden}
.pgFerrBar i{display:block;height:100%;background:linear-gradient(90deg,var(--ouroL),var(--ouro))}
.pgFerrLinha b{flex:0 0 76px;text-align:right;color:var(--t1);font-weight:750}
.pgGraf{margin-top:8px}
.pgGrafCaixa{display:flex;align-items:flex-end;gap:16px}
.pgConq{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
.pgConqItem{text-align:center;padding:14px 8px;border:1px solid var(--br);border-radius:12px;background:var(--s2)}
.pgConqItem em{font-style:normal;font-size:28px;display:block}
.pgConqItem b{display:block;font-size:17px;font-weight:800;color:var(--t1);margin-top:6px}
.pgConqItem small{display:block;font-size:11.5px;color:var(--t3);line-height:1.3;margin-top:2px}
.pgConqItem.off{opacity:.45}
.pgFoco{display:flex;align-items:center;gap:18px;margin-top:18px;padding:20px 24px;border-radius:14px;
  border:1px solid rgba(255,184,46,.45);background:linear-gradient(120deg,rgba(255,184,46,.14),rgba(255,184,46,.03))}
.pgFoco em{font-style:normal;font-size:28px}
.pgFoco b{display:block;font-size:17px;font-weight:800;color:var(--t1)}
.pgFoco small{display:block;font-size:13px;color:var(--t2);margin-top:3px;max-width:70ch}
.pgFoco .suBtn{margin-left:auto;white-space:nowrap}
/* "Antes e depois" no Meu progresso (evolucaoVideo.js) */
.pgEvo{margin-top:18px;scroll-margin-top:90px}
.pgEvoPar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:6px}
.pgEvoLado{border:1px solid var(--br);border-radius:12px;background:var(--s2);padding:14px;display:flex;flex-direction:column;gap:8px}
.pgEvoLado.agora{border-color:rgba(255,184,46,.5);background:linear-gradient(160deg,rgba(255,184,46,.1),var(--s2) 60%)}
.pgEvoTag{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--t3)}
.pgEvoLado.agora .pgEvoTag{color:var(--ouro)}
.pgEvoLado > b{font-size:15px;color:var(--t1)}
.pgEvoLado > small{font-size:12px;color:var(--t3);margin-top:-4px}
.pgEvoPlay{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;text-decoration:none;
  background:#03141d;border:1px solid var(--br);color:var(--t1)}
.pgEvoPlay:hover{border-color:var(--ouro)}
.pgEvoPlay > i{font-style:normal;display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;
  background:linear-gradient(180deg,var(--ouroL),var(--ouro));color:#1A1206;font-size:15px}
.pgEvoPlay b{display:block;font-size:13.5px}
.pgEvoPlay small{display:block;font-size:11.5px;color:var(--t3);margin:2px 0 0}
.pgEvoLista{margin-top:14px;border-top:1px solid var(--br)}
.pgEvoItem{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--br)}
.pgEvoItem:last-child{border-bottom:0}
.pgEvoItem em{font-style:normal;font-size:18px}
.pgEvoItem span{flex:1;min-width:0}
.pgEvoItem b{display:block;font-size:13.5px;color:var(--t1)}
.pgEvoItem small{font-size:12px;color:var(--t3)}
.pgEvoItem a{font-size:13px;font-weight:700;color:var(--ouro);text-decoration:none;white-space:nowrap}
.pgEvoVazio{margin:4px 0 0;font-size:13.5px;color:var(--t2);line-height:1.55}
@media (max-width:760px){ .pgEvoPar{grid-template-columns:1fr} }
/* o pop-up do mês, no Início do aluno */
.evoPop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;
  background:rgba(3,20,29,.74);backdrop-filter:blur(4px)}
.evoPopCaixa{width:100%;max-width:440px;border-radius:18px;border:1px solid rgba(255,184,46,.45);padding:26px 24px 20px;
  background:linear-gradient(160deg,#10283a,#0a1822);text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.evoPopIco{font-size:44px;line-height:1}
.evoPopCaixa h2{margin:10px 0 6px;font-size:21px;color:var(--t1)}
.evoPopCaixa p{margin:0 0 18px;font-size:14px;line-height:1.55;color:var(--t2)}
.evoPopCaixa .suBtn + .suBtn{margin-top:9px}
@media (max-width:1180px){ .pgTiles{grid-template-columns:repeat(2,minmax(0,1fr))} .pgTile{border-bottom:1px solid var(--br)}
  .pgDuas{grid-template-columns:1fr} .pgConq{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px){ .pgTiles{grid-template-columns:1fr} .pgHero > img{width:100%;opacity:.3}
  .pgFoco{flex-wrap:wrap} .pgFoco .suBtn{margin-left:0} .pgFerrLinha span.nome{flex-basis:110px} }
/* P376 (mockup dela): o Relogio de Escuta na casca nova. */
.rlHero{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--br);min-height:200px;
  background:linear-gradient(120deg,#0a1520 0%,#08101a 60%,#070d16 100%)}
.rlHero > img{position:absolute;right:0;top:0;height:100%;width:46%;object-fit:cover;object-position:center}
.rlHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0a1520 0%,rgba(10,21,32,.95) 30%,rgba(10,21,32,.55) 46%,rgba(10,21,32,0) 60%)}
.rlHeroTxt{position:relative;z-index:2;padding:26px 30px;max-width:620px}
.rlTitulo{display:flex;align-items:center;gap:14px}
.rlTitulo em{font-style:normal;font-size:36px;line-height:1}
.rlTitulo h1{margin:0;font-size:38px;font-weight:800;letter-spacing:-.02em;color:var(--t1)}
.rlHeroTxt > b{display:block;margin:10px 0 5px;font-size:15.5px;color:var(--t1)}
.rlHeroTxt > p{margin:0;font-size:13.5px;color:var(--t2);line-height:1.5;max-width:52ch}
.rlDuas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;align-items:start}
.rlCard{border:1px solid var(--br);border-radius:14px;background:var(--s1);padding:18px 20px}
.rlTopo{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.rlTopo em{font-style:normal;font-size:19px}
.rlTopo b{font-size:16px;font-weight:800;color:var(--t1)}
.rlTopo .dir{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--t3)}
.rlTopo a.dir{color:var(--ouro);text-decoration:none}
/* anel + legenda */
.rlAnelLinha{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.rlAnel{position:relative;flex:0 0 auto}
.rlAnelTxt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.rlAnelTxt b{font-size:21px;font-weight:900;color:var(--t1);line-height:1.1}
.rlAnelTxt small{font-size:11.5px;color:var(--t3);margin-top:2px}
.rlAnelSub{margin:10px auto 0;max-width:180px;font-size:12px;color:var(--t3);text-align:center;line-height:1.4}
.rlAnelSub b{color:var(--ouro);font-weight:800}
.rlLeg{flex:1 1 180px;display:flex;flex-direction:column;gap:14px}
.rlLegIt{display:flex;align-items:center;gap:10px}
.rlLegIt i{width:10px;height:10px;border-radius:50%;flex:0 0 10px}
.rlLegIt span{font-size:13px;color:var(--t2)}
.rlLegIt span b{display:block;font-size:17px;font-weight:800;color:var(--t1);margin-top:1px}
.rlLegIt .var{margin-left:auto;font-size:12px;font-weight:800;color:var(--verde)}
.rlLegIt .var.neg{color:#ff6b6b}
.rlMeta{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--br);
  font-size:13px;color:var(--t2)}
.rlMeta b{margin-left:auto;color:var(--ouro);font-weight:800}
/* marcos */
.rlMarcos{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;position:relative}
.rlMarcos::before{content:"";position:absolute;left:24px;right:24px;top:22px;height:2px;background:var(--br)}
.rlMarco{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;flex:1 1 0;min-width:0}
.rlMarcoBola{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:17px;border:2px solid var(--br);background:var(--s3);color:var(--t3)}
.rlMarco.ok .rlMarcoBola{border-color:var(--ouro);background:var(--ouro);color:#1A1206}
.rlMarco.ag .rlMarcoBola{border-color:var(--ouro);background:rgba(255,184,46,.18);color:var(--ouro);
  box-shadow:0 0 0 4px rgba(255,184,46,.14)}
.rlMarco small{font-size:12px;font-weight:800;color:var(--t3);white-space:nowrap}
.rlMarco.ok small,.rlMarco.ag small{color:var(--ouro)}
.rlFrase{display:flex;gap:12px;align-items:flex-start;margin-top:18px;border:1px solid var(--br);border-radius:12px;
  background:var(--s3);padding:14px 16px}
.rlFrase em{font-style:normal;font-size:20px;color:var(--ouro);line-height:1}
.rlFrase p{margin:0;font-size:13.5px;color:var(--t2);line-height:1.5}
/* barras verticais (evolucao e comparativo) */
.rlColunas{display:flex;align-items:flex-end;gap:10px;height:190px;padding-left:4px}
.rlCol{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.rlCol .barra{width:100%;max-width:56px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#FFC44D,#E79B16);min-height:4px}
.rlCol.azul .barra{background:linear-gradient(180deg,#5AB4FF,#2E7BE5)}
.rlCol.pal .barra{background:var(--s3);border:1px solid var(--br)}
.rlCol .lb{font-size:11.5px;color:var(--t3);font-weight:700}
.rlCol .vl{font-size:11.5px;color:var(--t2);font-weight:800}
.rlLadoBarras{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:16px;align-items:center}
.rlSelo{border:1px solid rgba(77,213,139,.5);background:rgba(77,213,139,.12);border-radius:12px;padding:12px 14px;text-align:center}
.rlSelo b{display:block;font-size:20px;font-weight:900;color:var(--verde)}
.rlSelo.neg{border-color:rgba(255,107,107,.5);background:rgba(255,107,107,.1)}
.rlSelo.neg b{color:#ff6b6b}
.rlSelo small{display:block;margin-top:6px;font-size:12px;color:var(--t2);line-height:1.45}
.rlDica{display:flex;gap:10px;align-items:flex-start;margin-top:14px;border:1px solid var(--br);border-radius:12px;
  background:var(--s3);padding:12px 14px;font-size:12.5px;color:var(--t2);line-height:1.5}
.rlDica em{font-style:normal;font-size:16px}
/* tempo por ferramenta */
.rlFerr{display:flex;flex-direction:column;gap:11px}
.rlFerrIt{display:grid;grid-template-columns:20px minmax(90px,1fr) minmax(0,1.5fr) 86px 38px;align-items:center;gap:10px}
.rlFerrIt em{font-style:normal;font-size:15px}
.rlFerrIt .nm{font-size:13px;color:var(--t2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rlFerrBar{height:10px;border-radius:99px;background:var(--s3);overflow:hidden}
.rlFerrBar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#FFC44D,#E79B16)}
.rlFerrIt .vl{font-size:12.5px;font-weight:800;color:var(--t1);text-align:right;white-space:nowrap}
.rlFerrIt .pc{font-size:12px;color:var(--t3);text-align:right}
/* sequencia */
.rlStreak{display:flex;align-items:center;gap:14px}
.rlStreakNum{font-size:38px;font-weight:900;color:var(--t1);line-height:1}
.rlStreakNum small{display:block;font-size:13px;font-weight:700;color:var(--t2);margin-top:2px}
.rlDias{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.rlDia{flex:1 1 0;min-width:38px;display:flex;flex-direction:column;align-items:center;gap:6px}
.rlDia i{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-style:normal;
  font-size:14px;border:1px solid var(--br);background:var(--s3);color:var(--t3)}
.rlDia.on i{border-color:var(--ouro);background:var(--ouro);color:#1A1206;font-weight:900}
.rlDia small{font-size:11px;color:var(--t3);font-weight:700}
/* ultimas sessoes */
.rlSess{display:flex;flex-direction:column;gap:10px}
.rlSessIt{display:flex;align-items:center;gap:12px;border:1px solid var(--br);border-radius:12px;background:var(--s3);padding:10px 12px}
.rlSessIt em{font-style:normal;font-size:18px;width:34px;height:34px;flex:0 0 34px;border-radius:9px;display:flex;
  align-items:center;justify-content:center;background:rgba(255,184,46,.12)}
.rlSessIt .nm{font-size:13.5px;font-weight:700;color:var(--t1)}
.rlSessIt .nm small{display:block;font-size:11.5px;font-weight:600;color:var(--t3);margin-top:2px}
.rlSessIt .dir{margin-left:auto;text-align:right;font-size:13px;font-weight:800;color:var(--ouro)}
.rlSessIt .dir small{display:block;font-size:11px;font-weight:700;color:var(--t3);margin-top:2px}
.rlManual{margin-top:14px;padding-top:14px;border-top:1px solid var(--br)}
.rlManual form{display:none;gap:8px;margin-top:10px;flex-wrap:wrap}
.rlPromo{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(255,184,46,.45);
  background:linear-gradient(140deg,rgba(255,184,46,.2),rgba(255,184,46,.04));padding:20px}
.rlPromo p{margin:0;font-size:16px;font-weight:750;color:var(--t1);line-height:1.4}
.rlPromo i.linha{display:block;width:34px;height:3px;background:var(--ouro);border-radius:2px;margin:12px 0}
.rlPromo .aut{font-size:12px;color:var(--t3)}
.rlRec{margin-top:16px;border:1px solid var(--br);border-radius:12px;background:var(--s1);padding:16px}
.rlRec h3{margin:0 0 4px;font-size:14.5px;font-weight:800;color:var(--t1)}
.rlRec p{margin:0 0 12px;font-size:12.5px;color:var(--t2);line-height:1.5}
.rlRec .suBtn{width:100%;justify-content:center}
/* bloco educativo */
.rlPorque{margin-top:18px}
.rlPorqueGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.rlPorque ul{margin:8px 0 0;padding-left:18px;color:var(--t2);font-size:13px;line-height:1.75}
.rlPorque h3{margin:0 0 8px;font-size:14.5px;font-weight:800;color:var(--t1)}
.rlSelo2{display:inline-block;font-size:11.5px;font-weight:800;border-radius:99px;padding:4px 11px;border:1px solid}
@media (max-width:1180px){ .rlDuas{grid-template-columns:minmax(0,1fr)} .rlLadoBarras{grid-template-columns:minmax(0,1fr)} }
@media (max-width:860px){ .rlHero > img{width:100%;opacity:.28} .rlFerrIt{grid-template-columns:20px minmax(80px,1fr) 70px 38px} .rlFerrBar{display:none} }
/* P377 (mockup dela): Meu Plano de Estudos — a Minha Rotina na casca nova. */
.plHero{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--br);min-height:190px;
  background:linear-gradient(120deg,#0a1520 0%,#08101a 60%,#070d16 100%)}
.plHero > img{position:absolute;right:0;top:0;height:100%;width:56%;object-fit:cover;object-position:center}
.plHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0a1520 0%,rgba(10,21,32,.95) 26%,rgba(10,21,32,.5) 40%,rgba(10,21,32,0) 54%)}
.plHeroTxt{position:relative;z-index:2;padding:24px 28px;max-width:600px}
.plTitulo{display:flex;align-items:center;gap:14px}
.plTitulo em{font-style:normal;font-size:34px;line-height:1}
.plTitulo h1{margin:0;font-size:36px;font-weight:800;letter-spacing:-.02em;color:var(--t1)}
.plTitulo h1 i{font-style:normal;color:var(--ouro)}
.plHeroTxt > b{display:block;margin:10px 0 4px;font-size:15px;color:var(--t1)}
.plHeroTxt > p{margin:0;font-size:13.5px;color:var(--t2);line-height:1.5;max-width:52ch}
.plAspas{position:absolute;z-index:3;right:20px;top:22px;max-width:220px;border:1px solid var(--br);border-radius:12px;
  padding:12px 14px;background:rgba(8,16,26,.82);font-size:13px;color:var(--t2);line-height:1.5;font-style:italic}
/* navegacao da semana */
.plNav{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.plNavBt{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:12px;
  border:1px solid var(--br);background:var(--s1);color:var(--t2);font-size:14px;font-weight:700;text-decoration:none}
.plNavBt:hover{color:var(--t1)}
.plNavMeio{flex:1 1 220px;display:flex;align-items:center;justify-content:center;gap:10px;height:44px;border-radius:12px;
  border:1px solid var(--br);background:var(--s1);color:var(--t1);font-size:14.5px;font-weight:750}
/* tres cartoes do topo */
.plTopo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;align-items:stretch}
.plTopoIt{display:flex;align-items:center;gap:14px;border:1px solid var(--br);border-radius:14px;background:var(--s1);padding:16px 18px}
.plTopoIco{width:46px;height:46px;flex:0 0 46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}
.plTopoIt .lb{font-size:12.5px;font-weight:750;color:var(--t3)}
.plTopoIt .vl{display:block;font-size:20px;font-weight:900;color:var(--t1);margin-top:2px;line-height:1.2}
.plTopoIt .sb{display:block;font-size:12px;color:var(--t3);margin-top:2px}
.plTopoIt.larga{grid-column:span 1}
.plBarraLinha{flex:1 1 140px;display:flex;align-items:center;gap:12px;margin-left:8px}
.plBarra{flex:1;height:10px;border-radius:99px;background:var(--s3);overflow:hidden}
.plBarra i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#FFC44D,#E79B16)}
.plPct{font-size:22px;font-weight:900;color:var(--t1)}
/* grade dos 7 dias */
.plDias{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-top:16px;align-items:stretch}
.plDia{display:flex;flex-direction:column;height:100%;border:1px solid var(--br);border-radius:14px;background:var(--s1);padding:14px 12px;min-height:250px}
.plDia.hoje{border-color:#7C6BFF;box-shadow:0 0 0 1px rgba(124,107,255,.5)}
.plDiaTopo{display:flex;align-items:flex-start;gap:6px;margin-bottom:12px}
.plDiaTopo b{font-size:12.5px;font-weight:900;letter-spacing:.06em;color:var(--t1);text-transform:uppercase}
.plDiaTopo small{display:block;font-size:11.5px;color:var(--t3);font-weight:600;margin-top:2px;text-transform:none;letter-spacing:0}
.plHojeTag{margin-left:auto;font-size:10.5px;font-weight:800;border-radius:99px;padding:3px 9px;
  background:#7C6BFF;color:#fff;white-space:nowrap}
.plLeve{display:block;text-align:center;font-size:12px;font-weight:800;color:var(--verde);border:1px solid rgba(77,213,139,.5);
  background:rgba(77,213,139,.1);border-radius:10px;padding:8px;margin-bottom:10px}
.plAtivs{display:flex;flex-direction:column;gap:8px}
.plAtiv{display:flex;align-items:center;gap:7px;border:1px solid var(--br);border-radius:10px;background:var(--s3);
  padding:8px;text-decoration:none;color:inherit}
.plAtiv:hover{border-color:var(--ouro)}
.plAtiv em{font-style:normal;font-size:13px;flex:0 0 auto;line-height:1}
.plAtiv .nm{flex:1;font-size:11px;font-weight:700;color:var(--t1);line-height:1.3}
.plAtiv .nm small{display:block;font-size:10.5px;font-weight:600;color:var(--t3);margin-top:2px}
.plCheck{width:17px;height:17px;flex:0 0 17px;border-radius:50%;border:1.5px solid var(--br);display:flex;
  align-items:center;justify-content:center;font-size:10px;color:transparent}
.plAtiv.ok .plCheck{border-color:var(--verde);background:var(--verde);color:#062012;font-weight:900}
.plAtiv.ok .nm{color:var(--t2)}
.plDiaPe{margin-top:auto;padding-top:12px}
.plTotal{display:flex;align-items:baseline;gap:8px;border-top:1px solid var(--br);padding-top:10px;font-size:11.5px;color:var(--t3)}
.plTotal b{margin-left:auto;font-size:13px;font-weight:900;color:var(--t1)}
.plMini{height:6px;border-radius:99px;background:var(--s3);overflow:hidden;margin-top:9px}
.plMini i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#FFC44D,#E79B16)}
.plDiaBt{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;height:36px;border-radius:9px;
  border:1px solid var(--br);background:transparent;color:var(--t2);font-size:12px;font-weight:700;text-decoration:none}
.plDiaBt:hover{color:var(--t1);border-color:var(--ouro)}
.plDiaBt.cheio{background:linear-gradient(90deg,#FFC44D,#E79B16);border:0;color:#1A1206;font-weight:800}
/* rodape em tres */
.plTres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;align-items:stretch}
.plCard{border:1px solid var(--br);border-radius:14px;background:var(--s1);padding:18px 20px}
.plCardTopo{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.plCardTopo .tit{display:flex;flex-direction:column;gap:3px;min-width:0}
.plCardTopo .tit small{font-size:12.5px;font-weight:600;color:var(--t3)}
.plCardTopo em{font-style:normal;font-size:16px;width:34px;height:34px;flex:0 0 34px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;background:var(--selo,var(--s3));
  border:1px solid var(--seloBd,transparent)}
.plCardTopo b{font-size:16.5px;font-weight:800;color:var(--t1);letter-spacing:-.01em}
.plCardTopo a{margin-left:auto;width:30px;height:30px;border-radius:50%;border:1px solid var(--br);display:flex;
  align-items:center;justify-content:center;color:var(--t2);text-decoration:none;font-size:14px}
.plCardTopo a:hover{border-color:var(--ouro);color:var(--ouro)}
.plCardTopo a.plVerBt{width:auto;height:36px;border-radius:10px;padding:0 15px;font-size:12.5px;font-weight:750}
.plFocoTopo em{color:#B282FF;box-shadow:0 0 16px rgba(155,102,255,.35)}
.plFocoTopo em svg{width:19px;height:19px}
.plGrande{display:flex;align-items:center;gap:14px}
.plGrande .n{font-size:30px;font-weight:900;color:var(--t1);line-height:1}
.plCard .leg{margin:10px 0 0;font-size:12.5px;color:var(--t3)}
.plCard .leg b{color:var(--t1)}
.plVerde{color:var(--verde);font-weight:800;font-size:12.5px}
.plCard p.txt{margin:0;font-size:13px;color:var(--t2);line-height:1.6}
.plFrase{display:flex;align-items:center;gap:14px;margin-top:16px;border:1px solid rgba(124,107,255,.45);border-radius:14px;
  background:linear-gradient(120deg,rgba(124,107,255,.16),rgba(124,107,255,.04));padding:18px 22px}
.plFrase em{font-style:normal;font-size:22px;color:#9B8BFF}
.plFrase p{margin:0;flex:1;font-size:15px;font-weight:700;color:var(--t1);font-style:italic}
.plFrase span{font-size:13px;font-weight:800;color:var(--ouro);white-space:nowrap}
/* P384 (mockup dela): o Plano de Estudos completo. */
.plJor{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--br);
  border-radius:14px;background:var(--s1);overflow:hidden}
.plJorIt{display:flex;align-items:center;gap:11px;padding:22px 16px;border-right:1px solid var(--br);min-height:96px;min-width:0}
.plJorIt:last-child{border-right:0}
.plJorIt em{font-style:normal;font-size:17px;width:38px;height:38px;flex:0 0 38px;border-radius:11px;
  display:flex;align-items:center;justify-content:center;background:var(--selo,var(--s3));
  border:1px solid var(--seloBd,transparent)}
.plJorIt .lb{display:block;font-size:11.5px;color:var(--t3);font-weight:650;letter-spacing:.01em}
.plJorIt .vl{display:block;font-size:15.5px;font-weight:800;color:var(--t1);margin-top:3px;line-height:1.25;white-space:nowrap}
.plTopoGrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;margin-top:18px;align-items:stretch}
.plTopoGrid > .col{display:flex;flex-direction:column;gap:18px}
.plTopoGrid > .col > *{flex:0 0 auto}
.plTopoGrid > .col > *:last-child{flex:1 1 auto;display:flex;flex-direction:column}
.plTopoGrid > .col > *{flex:0 0 auto}
/* P390: a faixa "Plano criado pela IA", com o atalho da explicacao */
.plIa{display:flex;align-items:center;gap:15px;border:1px solid var(--br);border-radius:14px;
  background:var(--s1);padding:22px 20px;min-height:96px}
.plIa em{font-style:normal;font-size:20px;width:46px;height:46px;flex:0 0 46px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;background:rgba(78,155,255,.16);
  border:1px solid rgba(78,155,255,.35)}
.plIa .txt{min-width:0}
.plIa .txt b{display:block;font-size:14.5px;font-weight:800;color:var(--t1)}
.plIa .txt small{display:block;font-size:12.5px;color:var(--t3);margin-top:3px}
.plIaBt{margin-left:auto;display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 20px;font:inherit;cursor:pointer;
  border-radius:13px;border:1.5px solid rgba(178,130,255,.9);background:rgba(155,102,255,.18);
  color:#fff;font-size:14px;font-weight:750;text-decoration:none;white-space:nowrap}
.plIaBt{box-shadow:0 0 22px rgba(155,102,255,.55),inset 0 0 18px rgba(155,102,255,.22)}
.plIaBt:hover{background:rgba(155,102,255,.28);box-shadow:0 0 30px rgba(155,102,255,.75),inset 0 0 20px rgba(155,102,255,.3)}
.plIaBt i{background:rgba(178,130,255,.45);color:#fff;box-shadow:0 0 12px rgba(178,130,255,.6)}
.plIaBt i{font-style:normal;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:13px;font-weight:900;background:rgba(155,102,255,.3);color:#D8C6FF}
@media (max-width:760px){ .plIa{flex-wrap:wrap} .plIaBt{margin-left:0;width:100%;justify-content:center} }
/* relogio da semana */
.plRel{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.plRelAnel{position:relative;flex:0 0 auto}
.plRelAnel span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.plRelAnel b{font-size:29px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.plRelAnel small{font-size:12px;color:var(--t3);margin-top:3px}
.plRelBarras{flex:1 1 300px;display:flex;flex-direction:column;gap:18px}
.plRelIt{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;align-items:center}
.plRelIt .nm{font-size:13px;color:var(--t2)}
.plRelIt .vl{font-size:13px;font-weight:800;color:var(--t1);white-space:nowrap}
.plRelIt .vl i{font-style:normal;color:var(--t3);font-weight:700}
.plRelBar{grid-column:1/2;height:10px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}
.plRelBar i{display:block;height:100%;border-radius:99px}
.plRelBar.ativo i{background:linear-gradient(90deg,#4E9BFF,#7C6BFF)}
.plRelBar.expo i{background:linear-gradient(90deg,#9B66FF,#C86BFF)}
.plRelBar.hw i{background:linear-gradient(90deg,#3DD68C,#2FB673)}
.plRelBar.ativo,.plRelBar.expo,.plRelBar.hw{position:relative}
.plRelBar.hw::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:11px;height:11px;border-radius:50%;background:#3DD68C;box-shadow:0 0 10px rgba(61,214,140,.6);z-index:1}
.plRelBar i{box-shadow:0 0 10px rgba(255,255,255,.08)}
/* coluna da direita */
.plSit{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;border-radius:99px;
  padding:6px 12px;border:1px solid}
.plSit.ok{color:var(--verde);border-color:rgba(77,213,139,.55);background:rgba(77,213,139,.12);
  box-shadow:0 0 14px rgba(77,213,139,.18)}
.plSit.no{color:#E6A23C;border-color:rgba(230,162,60,.55);background:rgba(230,162,60,.12);
  box-shadow:0 0 14px rgba(230,162,60,.18)}
.plCard .sit{margin:12px 0 0;font-size:12.5px;color:var(--t2);line-height:1.5}
.plStreakN{margin-left:auto;font-size:22px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em;
  white-space:nowrap}
.plStreakN i{font-style:normal;font-size:13px;font-weight:700;color:var(--t3);margin-left:1px}
.plCardTopo.plCompacto{margin-bottom:12px}
.plCard.plBaixo{padding:15px 18px}
.plBolas{display:flex;gap:6px;margin-top:0;justify-content:space-between}
.plBola{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}
.plBola i{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-style:normal;font-size:12px;border:1.5px solid var(--br);color:var(--t3)}
.plBola.on i{border-color:#3DD68C;background:#2FBF7C;color:#fff;font-weight:900;
  box-shadow:0 0 12px rgba(61,214,140,.35)}
.plBola small{font-size:10.5px;color:var(--t3);font-weight:700}
.plHwPe{display:flex;justify-content:flex-end;margin-top:auto;padding-top:14px}
.plHw{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:800}
.plHw.pend{color:#E6A23C}
.plHw.ok{color:var(--verde)}
.plHw.sem{color:var(--t3);font-weight:700}
/* focos */
.plFocos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
/* H redesenhada (05/10/2026): página própria de cada área */
.arPag{width:100%;box-sizing:border-box;max-width:1280px;margin:0 auto;padding:18px 22px 40px;color:#E8EDF1}
.arNav{display:flex;gap:4px;justify-content:flex-end;flex-wrap:wrap;margin:0 0 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.arNav a{display:flex;align-items:center;gap:7px;padding:10px 14px;color:#C9D1D8;font-size:14px;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
.arNav a.on{color:#fff;border-bottom-color:#E2B866}
.arNav a svg{width:17px;height:17px}
.arHero{position:relative;border-radius:18px;overflow:hidden;min-height:360px;background:#06101A right center/cover no-repeat;
  padding:56px 48px 84px;display:flex;flex-direction:column;justify-content:center}
.arHero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050D16 0%,rgba(5,13,22,.88) 34%,rgba(5,13,22,.15) 72%,rgba(5,13,22,0) 100%)}
.arHero>*{position:relative}
.arHero h1{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:clamp(46px,7vw,88px);line-height:1;margin:0 0 16px;color:#F6EFE3;letter-spacing:-.01em}
.arHero p{max-width:min(560px,50%);font-size:17px;line-height:1.6;color:#DDE3E8;margin:0}
.arMao{position:absolute;right:46px;top:46%;transform:translateY(-50%) rotate(-7deg);font-family:'Caveat',cursive;color:#E2B866;
  font-size:31px;font-weight:600;line-height:1.3;display:flex;flex-direction:column}
.arMao i{display:block;width:80px;height:2px;background:#E2B866;border-radius:2px;margin:8px 0 0 70px;transform:rotate(-8deg)}
.arCards{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:16px;margin-top:-56px;position:relative;padding:0 8px}
.arCards.um{grid-template-columns:minmax(0,640px)}
.arCard.rec{position:relative;border-color:#E2B866;box-shadow:0 0 0 1px #E2B866,0 10px 30px rgba(226,184,102,.18)}
.arSelo{position:absolute;top:0;left:0;right:0;z-index:2;background:#E2B866;color:#0A1621;font-size:12px;font-weight:800;letter-spacing:.02em;
  line-height:1.3;text-align:center;padding:6px 10px;pointer-events:none}
.arPorque{display:block;color:#E2B866;font-size:13.5px;font-weight:600;line-height:1.4;margin:-4px 0 10px}
.arCard.largo .arSelo{position:absolute;left:auto;top:16px;right:16px;border-radius:999px;padding:6px 14px}
.arCard{background:#0A1621;border:1px solid rgba(255,255,255,.14);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;
  color:inherit;text-decoration:none;transition:transform .15s,border-color .15s}
.arCard:hover{transform:translateY(-3px);border-color:rgba(226,184,102,.55)}
.arCard .foto{display:block;height:170px;background:#111 center/cover no-repeat}
.arCard .ico{width:72px;height:72px;border-radius:50%;border:2px solid #E2B866;background:#0A1621;color:#E2B866;display:flex;
  align-items:center;justify-content:center;margin:-38px 0 0 24px;position:relative;box-shadow:0 0 18px rgba(226,184,102,.25)}
.arCard .ico svg{width:32px;height:32px}
.arCard .corpo{padding:12px 24px 24px;display:flex;flex-direction:column;flex:1}
.arCard h3{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:25px;line-height:1.15;color:#F6EFE3;margin:0 0 10px}
.arCard p{color:#C9D1D8;font-size:14.5px;line-height:1.6;margin:0 0 20px;flex:1}
/* Biblioteca nas telas (16/10/2026; ajustes 17/10): o cartão do livro (cartaoDoLivro).
   O link principal cobre o cartão inteiro (::after); a 2ª opção fica por cima dele. */
.arLivro{position:relative;color:inherit;text-decoration:none}
.arLivro .arLivroPrinc{color:inherit;text-decoration:none}
.arLivro .arLivroPrinc::after{content:"";position:absolute;inset:0;z-index:1;border-radius:16px}
/* 17/10/2026: o cartão sobe 3px no hover e a seta/capa "pegavam" o mousedown e o link o mouseup — o clique
   não acontecia. Só os dois links recebem o mouse; o resto (seta, capa, texto) cai no link principal. */
.arLivro{cursor:pointer}
.arLivro *{pointer-events:none}
.arLivro a,.arLivro a *{pointer-events:auto}
.arLivro .foto{background-position:center 30%}
.arLivro p b{color:#F6EFE3}
.arLivro .arLivro2{position:relative;z-index:2;display:block;margin:-10px 0 14px;color:#E2B866;font-size:13px;font-weight:700;line-height:1.35;text-decoration:underline;text-underline-offset:3px}
.arLivro .arLivro2:hover{color:#F6EFE3}
/* todos os cartões da mesma altura e as setas na mesma linha (17/10/2026) */
.arCards:not(.largos){grid-auto-rows:1fr}
.arCard .corpo .arSeta{margin-top:auto}
.fcLivroForm{margin:0}
button.fcBlocoRv{width:100%;font:inherit;text-align:left;cursor:pointer}
@media (max-width:860px){.arLivro .arLivro2{margin:-6px 0 10px;font-size:12px}}
.arSeta{width:50px;height:50px;border-radius:50%;background:linear-gradient(145deg,#F7D88E,#D9A04A);color:#1A1205;display:flex;align-items:center;
  justify-content:center;box-shadow:0 6px 18px rgba(217,160,74,.35)}
.arCards.largos{grid-template-columns:1fr!important}
.arCard.largo{position:relative;flex-direction:row;align-items:center;gap:28px;min-height:250px;padding:28px 36px;border-color:rgba(226,184,102,.45);
  background-color:#0A1621;background-repeat:no-repeat;background-position:right center;background-size:62% auto}
.arCard.largo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0A1621 0%,#0A1621 38%,rgba(10,22,33,.55) 58%,rgba(10,22,33,0) 80%)}
.arCard.largo>*{position:relative}
.arCard.largo .ico{margin:0;flex:0 0 auto;width:110px;height:110px}
.arCard.largo .ico svg{width:46px;height:46px}
.arCard.largo .corpo{padding:0;max-width:520px;flex:1}
.arCard.largo h3{font-size:clamp(28px,3vw,40px);margin-bottom:12px}
.arCard.largo p{margin:0;font-size:15.5px}
.arCard.largo .arSeta{margin-left:auto;flex:0 0 auto;width:64px;height:64px}
@media (max-width:760px){.arCard.largo{flex-direction:column;align-items:flex-start;background-size:cover;padding:24px}
  .arCard.largo::before{background:linear-gradient(180deg,rgba(10,22,33,.75),rgba(10,22,33,.95))}.arCard.largo .ico{width:80px;height:80px}.arCard.largo .arSeta{margin-left:0}}
.fcMaisCards{margin-top:6px;padding:0}
.fcMaisCards .foto{height:150px}
.fcMaisCards h3{font-size:22px}
.arTiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:6px}
.arTile{display:flex;flex-direction:column;gap:8px;border:1px solid var(--br);border-radius:14px;padding:16px;color:inherit;text-decoration:none;background:rgba(255,255,255,.02)}
.arTile:hover{border-color:rgba(226,184,102,.55)}
.arTile .ico{width:46px;height:46px;border-radius:50%;border:1.5px solid #E2B866;color:#E2B866;display:flex;align-items:center;justify-content:center}
.arTile .ico.nf{color:#E50914;border-color:#E50914;font-family:Georgia,serif;font-weight:900;font-size:24px}
.arTile b{font-size:14.5px;color:var(--t1)}
.arTile p{margin:0;font-size:12.5px;line-height:1.55;color:var(--t2)}
@media (max-width:1150px){.arCards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
@media (max-width:760px){.arPag{padding:12px 12px 32px}.arHero p{max-width:100%}.arHero{padding:30px 22px 70px;min-height:300px}
  .arHero::before{background:linear-gradient(180deg,rgba(5,13,22,.55) 0%,rgba(5,13,22,.92) 70%)}
  .arMao{position:static;transform:none;margin-top:16px;font-size:24px}.arMao i{margin-left:40px}.arNav{justify-content:flex-start}}
.plAreas{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.plAreaBt{font:inherit;text-align:left;cursor:pointer;width:100%;position:relative;color:inherit;text-decoration:none;padding-top:30px!important}
.plAreaBt:hover{outline:2px solid var(--fcCor);outline-offset:1px}
.plAreaSelo.pend{background:#E0575A;color:#fff}.plAreaSelo.ok{background:#00C27A;color:#06141C}
.plHwCard{cursor:default}.plHwCard a{color:inherit}.plHwCard .hwTit{display:block;margin-top:8px;font-size:13px;font-weight:700}
.plHwCard .hwAte{display:block;font-size:12px;opacity:.8}.plHwCard form{margin:8px 0 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.plHwCard form label{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:400}.plHwCard form input{width:auto}
.plAreaSelo{position:absolute;top:8px;right:10px;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#06141C;background:var(--fcCor);border-radius:999px;padding:2px 7px}
.plFoco{display:flex;align-items:flex-start;gap:14px;padding:18px 18px;border-radius:14px;
  border:1px solid color-mix(in srgb,var(--fcCor) 45%,transparent);
  background:linear-gradient(135deg,color-mix(in srgb,var(--fcCor) 16%,transparent),
    color-mix(in srgb,var(--fcCor) 4%,transparent) 65%,rgba(255,255,255,0));
  box-shadow:0 0 20px color-mix(in srgb,var(--fcCor) 22%,transparent),
    inset 0 0 26px color-mix(in srgb,var(--fcCor) 10%,transparent)}
.plFoco .fcIco{flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:var(--fcCor);
  filter:drop-shadow(0 0 8px color-mix(in srgb,var(--fcCor) 70%,transparent))}
.plFoco .fcIco svg{width:28px;height:28px;stroke-width:1.9}
.plFoco .fcTxt{min-width:0}
.plFoco b{display:block;font-size:14.5px;font-weight:800;color:var(--fcCor);letter-spacing:-.01em;
  text-shadow:0 0 12px color-mix(in srgb,var(--fcCor) 45%,transparent)}
.plFoco p{margin:5px 0 0;font-size:12.5px;color:#C7D2DA;line-height:1.55}
/* semana em linhas */
.plAbas{margin-left:auto;display:flex;gap:6px;background:var(--s3);border-radius:10px;padding:4px}
.plAba{height:32px;padding:0 14px;border-radius:8px;border:0;background:transparent;color:var(--t3);
  font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.plAba.on{background:var(--s1);color:var(--t1);box-shadow:0 1px 4px rgba(0,0,0,.3)}
.plSemana{display:flex;flex-direction:column;gap:10px}
.plLinha{display:grid;grid-template-columns:66px 176px 78px minmax(0,1fr) 92px 126px;gap:14px;align-items:center;
  border:1px solid var(--br);border-radius:12px;background:var(--s3);padding:9px 12px}
.plLinha.hoje{border-color:#7C6BFF;box-shadow:0 0 0 1px rgba(124,107,255,.45)}
/* o dia num quadradinho proprio */
.plLinhaDia{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  height:54px;border-radius:10px;border:1px solid var(--br);background:var(--s1)}
.plLinhaDia b{font-size:12px;font-weight:900;color:var(--t1);letter-spacing:.06em}
.plLinhaDia small{font-size:10.5px;color:var(--t3)}
/* a etiqueta, com o emoji dentro de uma bolinha e neon vivo */
.plTag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;border-radius:10px;
  padding:7px 12px 7px 7px;border:1px solid;white-space:nowrap;justify-self:start;max-width:100%}
.plTag i{font-style:normal;width:22px;height:22px;flex:0 0 22px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:11px;background:rgba(255,255,255,.1)}
.plTag.ativo{color:#7CC4FF;border-color:rgba(90,180,255,.6);background:rgba(90,180,255,.14);
  box-shadow:0 0 14px rgba(90,180,255,.3)}
.plTag.ativo i{background:rgba(90,180,255,.35);box-shadow:0 0 10px rgba(90,180,255,.5)}
.plTag.expo{color:#C9A6FF;border-color:rgba(185,139,255,.6);background:rgba(185,139,255,.14);
  box-shadow:0 0 14px rgba(185,139,255,.3)}
.plTag.expo i{background:rgba(185,139,255,.35);box-shadow:0 0 10px rgba(185,139,255,.5)}
.plTag.aula{color:#DDA6FF;border-color:rgba(200,107,255,.6);background:rgba(200,107,255,.14);
  box-shadow:0 0 14px rgba(200,107,255,.3)}
.plTag.aula i{background:rgba(200,107,255,.35);box-shadow:0 0 10px rgba(200,107,255,.5)}
.plTag.hw{color:#6FE3AC;border-color:rgba(61,214,140,.6);background:rgba(61,214,140,.14);
  box-shadow:0 0 14px rgba(61,214,140,.3)}
.plTag.hw i{background:rgba(61,214,140,.35);box-shadow:0 0 10px rgba(61,214,140,.5)}
/* a miniatura da atividade */
.plMini{width:78px;height:50px;border-radius:9px;overflow:hidden;border:1px solid var(--br);background:var(--s1);
  display:flex;align-items:center;justify-content:center}
.plMini img{width:100%;height:100%;object-fit:cover}
.plMini em{font-style:normal;font-size:20px}
.plLinhaTxt{min-width:0}
.plLinhaTxt b{display:block;font-size:13.5px;font-weight:750;color:var(--t1);line-height:1.3}
.plLinhaTxt small{display:block;font-size:12px;color:var(--t3);margin-top:2px}
.plLinhaDur{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--t2);white-space:nowrap}
.plLinhaDur svg{width:15px;height:15px;opacity:.8}
.plLinhaBt{display:flex;align-items:center;justify-content:center;gap:8px;height:40px;border-radius:10px;
  border:1px solid var(--ouro);background:transparent;color:var(--ouro);font-size:12.5px;font-weight:800;
  text-decoration:none}
.plLinhaBt svg{width:15px;height:15px}
.plLinhaBt:hover{background:rgba(255,184,46,.12)}
/* dia ja concluido: o play redondo e o visto verde */
.plLinhaFim{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.plPlay{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  border:1.5px solid rgba(255,255,255,.75);color:#fff;text-decoration:none}
.plPlay svg{width:16px;height:16px}
.plPlay:hover{background:rgba(255,255,255,.12)}
.plFeitoSelo{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#2FBF7C;color:#fff;box-shadow:0 0 14px rgba(61,214,140,.5)}
.plFeitoSelo svg{width:16px;height:16px;stroke-width:2.6}
.plVazio{font-size:12.5px;color:var(--t3);margin:0}
@media (max-width:1200px){ .plTopoGrid{grid-template-columns:1fr} .plJor{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plJorIt:nth-child(2){border-right:0} .plFocos{grid-template-columns:1fr} }
@media (max-width:1100px){ .plLinha{grid-template-columns:66px 64px minmax(0,1fr) 110px;gap:12px}
  .plTag{grid-column:2/3;padding:6px;justify-self:center} .plTag span,.plTag{font-size:0}
  .plTag i{font-size:12px} .plMini{display:none} .plLinhaDur{display:none} }
@media (max-width:860px){ .plJor{grid-template-columns:1fr} .plJorIt{border-right:0;border-bottom:1px solid var(--br)}
  .plLinhaTxt{min-width:0} }
/* P385 (mockup dela): o onboarding do plano, em 5 etapas. */
.obGrid{display:grid;grid-template-columns:190px minmax(0,1fr) 230px;gap:18px;margin-top:16px;align-items:start}
.obTrilha{display:flex;flex-direction:column;gap:2px;position:relative}
.obPasso{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:10px;border-radius:12px;
  background:transparent;border:0;text-align:left;font:inherit;cursor:pointer;color:inherit;width:100%}
.obPasso:hover{background:var(--s3)}
.obPasso i{font-style:normal;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:13px;font-weight:800;border:2px solid var(--br);color:var(--t3)}
.obPasso b{display:block;font-size:13px;font-weight:750;color:var(--t3)}
.obPasso small{display:block;font-size:11.5px;color:var(--t3);opacity:.75;margin-top:2px;line-height:1.35}
.obPasso.on{background:rgba(255,184,46,.07)}
.obPasso.on i{border-color:var(--ouro);color:var(--ouro)}
.obPasso.on b{color:var(--ouro)}
.obPasso.ok i{border-color:var(--verde);background:var(--verde);color:#062012}
.obPasso.ok b{color:var(--verde)}
.obCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:24px 26px}
.obEyebrow{margin:0;font-size:12px;font-weight:700;color:var(--t3)}
.obCard h2{margin:4px 0 6px;font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--t1)}
.obCard > p.lead{margin:0 0 22px;font-size:13.5px;color:var(--t2);line-height:1.55;max-width:60ch}
.obQ{margin:0 0 6px;font-size:14.5px;font-weight:750;color:var(--t1)}
.obQ span{color:var(--t3);font-weight:700;margin-right:6px}
.obDica{margin:0 0 12px;font-size:12px;color:var(--t3)}
.obBloco{margin-bottom:26px}
.obOpcoes{display:grid;gap:10px}
.obOpcoes.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.obOpcoes.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.obOpcoes.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.obOpcoes.c5{grid-template-columns:repeat(5,minmax(0,1fr))}
.obOpcoes.c6{grid-template-columns:repeat(6,minmax(0,1fr))}
.obOpcoes.c7{grid-template-columns:repeat(7,minmax(0,1fr))}
/* dentro do wizard, [hidden] tem que ganhar de display:grid/flex */
#obForm [hidden]{display:none !important}
.obOp{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  min-height:76px;padding:12px 10px;border:1.5px solid var(--br);border-radius:12px;background:var(--s3);
  text-align:center;cursor:pointer;transition:border-color .12s,background .12s}
.obOp:hover{border-color:var(--t3)}
.obOp input{position:absolute;opacity:0;width:0;height:0;margin:0}
.obOp em{font-style:normal;font-size:19px;line-height:1}
.obOp b{font-size:12.5px;font-weight:700;color:var(--t1);line-height:1.3}
.obOp small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
.obOp:has(input:checked){border-color:var(--ouro);background:rgba(255,184,46,.09)}
.obOp:has(input:checked) b{color:var(--ouro)}
.obOp.linha{flex-direction:row;justify-content:flex-start;text-align:left;min-height:56px;gap:10px}
.obOp.linha b{font-weight:700}
.obCaixa{border-radius:12px;padding:14px 16px;font-size:13px;line-height:1.55;display:flex;gap:10px;align-items:flex-start}
.obCaixa em{font-style:normal;font-size:16px}
.obCaixa.info{border:1px solid rgba(255,184,46,.45);background:rgba(255,184,46,.09);color:var(--t2)}
.obCaixa.ok{border:1px solid rgba(77,213,139,.5);background:rgba(77,213,139,.1);color:var(--t2)}
.obCaixa.alerta{border:1px solid rgba(230,162,60,.5);background:rgba(230,162,60,.1);color:var(--t2)}
.obCaixa b{color:var(--t1)}
.obPorDia{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.obPorDiaIt{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;
  border:1px solid var(--br);border-radius:12px;background:var(--s3);padding:10px 12px}
.obPorDiaIt > b{font-size:12.5px;font-weight:800;color:var(--t2)}
.obChips{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
/* P442 (ela): a pergunta 6 nao pode contradizer a 4 — o chip que nao faz
   sentido pro dia some, e a linha explica o porque. */
.obChip.off{display:none}
.obPorDiaNota{font-size:11.5px;color:var(--t3);line-height:1.4}
.obPorDiaNota.off{display:none}
.obChip{position:relative;display:inline-flex;align-items:center;justify-content:center;height:32px;
  padding:0 13px;border:1.5px solid var(--br);border-radius:9px;background:var(--s1);cursor:pointer;
  font-size:12px;font-weight:700;color:var(--t2);white-space:nowrap}
.obChip:hover{border-color:var(--t3);color:var(--t1)}
.obChip input{position:absolute;opacity:0;width:0;height:0;margin:0}
.obChip:has(input:checked){border-color:var(--ouro);background:rgba(255,184,46,.1);color:var(--ouro)}
.obSwitch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:12.5px;color:var(--t2)}
.obSwitch input{position:absolute;opacity:0;width:0;height:0}
.obSwitch i{width:42px;height:24px;border-radius:99px;background:var(--s3);border:1px solid var(--br);
  position:relative;transition:background .15s}
.obSwitch i::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;
  background:var(--t3);transition:transform .15s,background .15s}
.obSwitch input:checked + i{background:rgba(255,184,46,.3);border-color:var(--ouro)}
.obSwitch input:checked + i::after{transform:translateX(18px);background:var(--ouro)}
.obTexto{width:100%;min-height:74px;resize:vertical}
.obPe{display:flex;gap:12px;align-items:center;margin-top:26px;padding-top:20px;border-top:1px solid var(--br)}
.obPe .dir{margin-left:auto}
.obLado{display:flex;flex-direction:column;gap:16px;align-self:start}
.obLadoCard{border:1px solid var(--br);border-radius:14px;background:var(--s1);padding:16px 18px}
.obLadoCard h3{margin:0 0 10px;font-size:13px;font-weight:800;color:var(--t1);display:flex;align-items:center;gap:8px}
.obLadoCard p{margin:0;font-size:12px;color:var(--t2);line-height:1.55}
.obLista{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none}
.obLista li{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--t2);line-height:1.4}
.obLista li em{font-style:normal;font-size:13px}
.obAspas{border:1px solid rgba(155,102,255,.4);border-radius:14px;padding:18px;
  background:linear-gradient(140deg,rgba(155,102,255,.16),rgba(155,102,255,.03))}
.obAspas p{margin:0;font-size:14.5px;font-style:italic;font-weight:600;color:var(--t1);line-height:1.45}
.obAspas i.linha{display:block;width:30px;height:3px;background:var(--ouro);border-radius:2px;margin:12px 0 0}
.obResumo{border:1px solid var(--br);border-radius:14px;background:var(--s3);padding:18px;margin-bottom:14px}
.obResumoTopo{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.obResumoTopo em{font-style:normal;width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:flex;
  align-items:center;justify-content:center;font-size:18px;background:var(--s1)}
.obResumoTopo b{font-size:15.5px;font-weight:800;color:var(--t1)}
.obResumoTopo button{margin-left:auto}
.obResumo dl{margin:0;display:flex;flex-direction:column;gap:7px}
.obResumo dl div{display:flex;gap:8px;font-size:12.5px;color:var(--t2);line-height:1.45}
.obResumo dt{color:var(--t3);white-space:nowrap}
.obResumo dd{margin:0;color:var(--t1)}
.obConfirma{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:13px;color:var(--t2)}
.obConfirma input{width:auto;margin:2px 0 0}
@media (max-width:1240px){ .obGrid{grid-template-columns:170px minmax(0,1fr)} .obLado{display:none} }
@media (max-width:900px){ .obGrid{grid-template-columns:1fr} .obTrilha{flex-direction:row;overflow-x:auto}
  .obPasso{min-width:150px} .obOpcoes.c4,.obOpcoes.c6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .obOpcoes.c3{grid-template-columns:repeat(2,minmax(0,1fr))} .obPorDia{grid-template-columns:1fr} }
/* tela "estamos criando seu plano" */
.gpWrap{max-width:760px}
.gpWrap h1{margin:0 0 10px;font-size:40px;font-weight:800;letter-spacing:-.03em;color:var(--t1);line-height:1.1}
.gpWrap h1 i{font-style:normal;color:var(--ouro)}
.gpWrap > p{margin:0 0 30px;font-size:14.5px;color:var(--t2);line-height:1.6;max-width:56ch}
.gpOrb{display:flex;flex-direction:column;align-items:center;gap:16px;margin:10px 0 30px}
.gpOrb .bola{width:150px;height:150px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:58px;background:radial-gradient(circle at 40% 35%,#FFD37A,#E79B16 60%,#8a5c05);
  box-shadow:0 0 0 12px rgba(255,184,46,.08),0 0 60px rgba(255,184,46,.35);animation:gpPulsa 2.4s ease-in-out infinite}
@keyframes gpPulsa{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.gpOrb p{margin:0;text-align:center;font-size:13.5px;font-style:italic;color:var(--t2);line-height:1.5}
.gpPassos{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:8px 20px}
.gpPasso{display:grid;grid-template-columns:44px minmax(0,1fr) 28px;gap:14px;align-items:center;
  padding:16px 0;border-bottom:1px solid var(--br)}
.gpPasso:last-child{border-bottom:0}
.gpPasso em{font-style:normal;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;
  justify-content:center;font-size:19px;background:var(--s3)}
.gpPasso b{display:block;font-size:14px;font-weight:750;color:var(--t1)}
.gpPasso small{display:block;font-size:12px;color:var(--t3);margin-top:2px}
.gpPasso u{text-decoration:none;width:24px;height:24px;border-radius:50%;border:2px solid var(--br);
  display:flex;align-items:center;justify-content:center;font-size:12px;color:transparent}
.gpPasso.ok u{border-color:var(--verde);background:var(--verde);color:#062012;font-weight:900}
.gpPasso.agora u{border-color:var(--ouro);border-right-color:transparent;animation:gpGira .9s linear infinite}
@keyframes gpGira{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){ .gpOrb .bola,.gpPasso.agora u{animation:none} }
/* P386: cadastro do homework da semana (admin). */
.hwLinha{display:grid;grid-template-columns:104px 64px minmax(0,1fr) 84px 184px;gap:14px;align-items:center;
  border:1px solid var(--br);border-radius:12px;background:var(--s1);padding:12px 14px;margin-bottom:10px}
.hwLinha.off{opacity:.55}
.hwSem{font-size:12.5px;font-weight:800;color:var(--t1)}
.hwSem small{display:block;font-size:11px;font-weight:600;color:var(--t3);margin-top:2px}
.hwNivel{font-size:11px;font-weight:800;border-radius:7px;padding:4px 9px;border:1px solid var(--br);
  color:var(--t2);text-align:center;justify-self:start}
.hwNivel.todos{color:var(--ouro);border-color:rgba(255,184,46,.5);background:rgba(255,184,46,.1)}
.hwTxt b{display:block;font-size:13.5px;font-weight:750;color:var(--t1)}
.hwTxt small{display:block;font-size:12px;color:var(--t3);margin-top:3px;line-height:1.45}
.hwFeitos{font-size:12px;color:var(--t3);text-align:center}
.hwFeitos b{display:block;font-size:16px;font-weight:800;color:var(--t1)}
.hwAcoes{display:flex;gap:6px;justify-content:flex-end}
.hwForm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.hwForm label{display:block;font-size:12px;font-weight:700;color:var(--t3);margin-bottom:5px}
.hwForm .larga{grid-column:1/-1}
.hwForm input,.hwForm select,.hwForm textarea{margin:0}
@media (max-width:1000px){ .hwLinha{grid-template-columns:1fr 1fr;gap:10px} .hwTxt{grid-column:1/3}
  .hwForm{grid-template-columns:1fr 1fr} }
/* P401 (mockup dela): a pagina "Por que sua agenda ficou assim?" */
.pqHero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 46%;gap:24px;align-items:center;
  min-height:250px;margin-top:6px}
.pqHero .txt{position:relative;z-index:2;padding:8px 0}
.pqVoltar{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#5AB4FF;
  text-decoration:none;margin-bottom:18px}
.pqVoltar svg{width:17px;height:17px}
.pqHero h1{margin:0;font-size:clamp(30px,3.4vw,42px);font-weight:800;letter-spacing:-.03em;color:var(--t1);line-height:1.12}
.pqHero h1 i{font-style:normal;color:#5AB4FF}
.pqHero p{margin:16px 0 0;font-size:14.5px;color:var(--t2);line-height:1.65;max-width:56ch}
.pqArte{border-radius:16px;overflow:hidden;border:1px solid var(--br);aspect-ratio:1080/750}
.pqArte img{width:100%;height:100%;object-fit:cover;object-position:center}
.pqBlocos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.pqBloco{display:flex;gap:14px;padding:20px;border-right:1px solid var(--br);border-bottom:1px solid var(--br)}
.pqBloco:nth-child(3n){border-right:0}
.pqBlocos .pqBloco:nth-last-child(-n+2){border-bottom:0}
.pqBloco em{font-style:normal;width:46px;height:46px;flex:0 0 46px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;color:var(--pqCor);background:color-mix(in srgb,var(--pqCor) 16%,transparent);
  border:1px solid color-mix(in srgb,var(--pqCor) 40%,transparent);
  box-shadow:0 0 16px color-mix(in srgb,var(--pqCor) 25%,transparent)}
.pqBloco em svg{width:23px;height:23px}
.pqBloco b{display:block;font-size:15px;font-weight:800;color:var(--t1);letter-spacing:-.01em}
.pqBloco p{margin:7px 0 0;font-size:12.5px;color:var(--t2);line-height:1.6}
.pqPe{display:flex;align-items:center;gap:16px;margin-top:20px}
.pqPe em{font-style:normal;font-size:22px}
.pqPe b{display:block;font-size:14.5px;font-weight:750;color:var(--t1);font-style:italic}
.pqPe small{display:block;font-size:12.5px;color:var(--t3);margin-top:3px}
.pqPe .suBtn{margin-left:auto;background:linear-gradient(90deg,#2E7BE5,#4E9BFF);border:0;color:#fff;height:46px}
@media (max-width:1100px){ .pqHero{grid-template-columns:1fr} .pqBlocos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pqBloco:nth-child(3n){border-right:1px solid var(--br)} .pqBloco:nth-child(2n){border-right:0}
 }
@media (max-width:640px){ .pqBlocos{grid-template-columns:1fr} .pqBloco{border-right:0}
  .pqPe{flex-wrap:wrap} .pqPe .suBtn{margin-left:0;width:100%;justify-content:center} }
/* P402 (mockup dela): a tela da turma (Meu Trio) na casca nova. */
.tmAvisoFora{display:flex;align-items:center;gap:12px;margin:0 0 14px;border:1px solid var(--br);
  border-radius:12px;background:var(--s3);padding:13px 16px;font-size:13px;color:var(--t2);line-height:1.5}
.tmAvisoFora svg{width:19px;height:19px;flex:0 0 19px;color:var(--t3)}
.tmAvisoFora span{flex:1;min-width:0}
.tmAvisoFora b{color:var(--t1)}
.tmAvisoFora a{color:var(--ouro);font-weight:750;text-decoration:none;white-space:nowrap}
.tmAvisoFora a:hover{text-decoration:underline}
.tmHero{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--br);min-height:300px;
  display:flex;align-items:center;background:linear-gradient(120deg,#0a1520,#070d16)}
.tmHero > img{position:absolute;right:0;top:0;height:100%;width:56%;object-fit:cover;object-position:center}
.tmHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0a1520 0%,rgba(10,21,32,.95) 30%,rgba(10,21,32,.55) 42%,rgba(10,21,32,0) 56%)}
.tmHeroTxt{position:relative;z-index:2;padding:28px 30px;max-width:560px}
.tmSelo{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ouro)}
.tmHeroTxt h1{margin:8px 0 2px;font-size:clamp(28px,3.4vw,40px);font-weight:800;letter-spacing:-.03em;color:var(--t1)}
.tmLema{display:inline-block;font-family:Georgia,serif;font-style:italic;font-size:20px;color:var(--t1);
  border-bottom:3px solid var(--ouro);padding-bottom:3px}
.tmHeroTxt p{margin:16px 0 0;font-size:13.5px;color:var(--t2);line-height:1.65;max-width:52ch}
.tmAbas{display:flex;gap:6px;margin-top:18px;border-bottom:1px solid var(--br);overflow-x:auto}
.tmAba{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:0;background:transparent;
  color:var(--t3);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;border-radius:10px 10px 0 0;
  border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none}
.tmAba svg{width:16px;height:16px}
.tmAba:hover{color:var(--t1)}
.tmAba.on{color:var(--ouro);border-bottom-color:var(--ouro);background:rgba(255,184,46,.07)}
.tmGrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;margin-top:18px;align-items:start}
.tmGrid > .col{display:flex;flex-direction:column;gap:18px}
.tmData{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:86px;
  height:86px;flex:0 0 86px;border-radius:14px;border:1px solid var(--br);background:var(--s3)}
.tmData b{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--t3)}
.tmData u{text-decoration:none;font-size:30px;font-weight:900;color:var(--t1);line-height:1}
.tmData small{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--t3)}
.tmAula{display:flex;align-items:center;gap:18px}
.tmAulaTxt{flex:1;min-width:0}
.tmAulaTxt .q{font-size:12.5px;color:var(--t3)}
.tmAulaTxt b{display:block;font-size:19px;font-weight:800;color:var(--t1);margin:3px 0 6px;letter-spacing:-.01em}
.tmAulaTxt small{display:block;font-size:12.5px;color:var(--t3);line-height:1.5}
.tmAulaPe{display:flex;gap:22px;margin-top:16px;padding-top:14px;border-top:1px solid var(--br);flex-wrap:wrap}
.tmAulaPe a{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--t2);text-decoration:none}
.tmAulaPe a:hover{color:var(--ouro)}
.tmAulaPe svg{width:15px;height:15px}
.tmTrio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tmAluno{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.tmAluno .foto{position:relative;width:74px;height:74px;border-radius:50%;overflow:hidden;border:2px solid var(--br)}
.tmAluno.eu .foto{border-color:var(--ouro);box-shadow:0 0 16px rgba(255,184,46,.3)}
.tmAluno .foto img{width:100%;height:100%;object-fit:cover}
.tmAluno .foto span{display:flex;width:100%;height:100%;align-items:center;justify-content:center;
  background:var(--s3);font-size:24px;font-weight:800;color:var(--t2)}
.tmAluno .coroa{position:absolute;top:-4px;right:-2px;font-size:15px}
.tmAluno b{font-size:14px;font-weight:750;color:var(--t1)}
.tmAluno small{font-size:12px;color:var(--t3)}
.tmAluno .tag{font-size:11px;font-weight:800;border-radius:99px;padding:3px 11px;border:1px solid var(--br);color:var(--t3)}
.tmAluno.eu .tag{border-color:rgba(255,184,46,.5);color:var(--ouro);background:rgba(255,184,46,.1)}
.tmJuntos{display:flex;align-items:center;gap:14px;margin-top:16px;border:1px solid rgba(78,155,255,.35);
  border-radius:12px;background:rgba(78,155,255,.08);padding:14px 16px}
.tmJuntos em{font-style:normal;font-size:20px}
.tmJuntos b{display:block;font-size:13.5px;color:var(--t1)}
.tmJuntos small{display:block;font-size:12.5px;color:var(--t3);margin-top:2px}
.tmTarefa{display:flex;align-items:center;gap:14px;border:1px solid var(--br);border-radius:12px;
  background:var(--s3);padding:13px 14px}
.tmTarefa + .tmTarefa{margin-top:10px}
.tmTarefa em{font-style:normal;width:42px;height:42px;flex:0 0 42px;border-radius:11px;display:flex;
  align-items:center;justify-content:center;font-size:18px;background:rgba(155,102,255,.16);
  border:1px solid rgba(155,102,255,.35);color:#B282FF}
.tmTarefa .txt{flex:1;min-width:0}
.tmTarefa .txt b{display:block;font-size:14px;font-weight:750;color:var(--t1)}
.tmTarefa .txt small{display:block;font-size:12.5px;color:var(--t3);margin-top:3px;line-height:1.5}
.tmEstado{font-size:11px;font-weight:800;border-radius:99px;padding:5px 12px;border:1px solid;white-space:nowrap}
.tmEstado.pend{color:#E6A23C;border-color:rgba(230,162,60,.5);background:rgba(230,162,60,.12)}
.tmEstado.ok{color:var(--verde);border-color:rgba(77,213,139,.5);background:rgba(77,213,139,.12)}
.tmEvo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center}
.tmAnel{display:flex;align-items:center;gap:16px;border:1px solid var(--br);border-radius:12px;
  background:var(--s3);padding:16px}
.tmAnel .svgWrap{position:relative;flex:0 0 auto}
.tmAnel .svgWrap b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:900;color:var(--t1)}
.tmAnel .txt b{display:block;font-size:14.5px;font-weight:750;color:var(--t1)}
.tmAnel .txt small{display:block;font-size:12px;color:var(--t3);margin-top:3px;line-height:1.5}
.tmElogio{border:1px solid rgba(255,184,46,.4);border-radius:12px;background:rgba(255,184,46,.08);padding:16px}
.tmElogio b{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--ouro)}
.tmElogio p{margin:8px 0 0;font-size:12.5px;color:var(--t2);line-height:1.55}
.tmProf{display:flex;gap:14px;align-items:center}
.tmProf .foto{width:58px;height:58px;flex:0 0 58px;border-radius:50%;overflow:hidden;border:1px solid var(--br)}
.tmProf .foto img{width:100%;height:100%;object-fit:cover}
.tmProf .foto span{display:flex;width:100%;height:100%;align-items:center;justify-content:center;
  background:var(--s3);font-size:20px;font-weight:800;color:var(--t2)}
.tmProf b{display:block;font-size:15px;font-weight:800;color:var(--t1)}
.tmProf small{display:block;font-size:12.5px;color:var(--t3);margin-top:3px;line-height:1.5}
.tmLinha{display:flex;align-items:flex-start;gap:12px;font-size:13px;color:var(--t2)}
.tmLinha + .tmLinha{margin-top:14px}
.tmLinha svg{width:17px;height:17px;flex:0 0 17px;margin-top:1px;opacity:.85}
.tmLinha b{display:block;font-size:12.5px;color:var(--t3);font-weight:700}
.tmLinha span{display:block;font-size:13.5px;color:var(--t1);font-weight:750;margin-top:2px}
.tmMat{display:flex;align-items:center;gap:11px;border:1px solid var(--br);border-radius:11px;
  background:var(--s3);padding:10px 12px;text-decoration:none;color:inherit}
.tmMat + .tmMat{margin-top:9px}
.tmMat em{font-style:normal;width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;background:rgba(78,155,255,.14);border:1px solid rgba(78,155,255,.32);
  color:#7CC4FF}
.tmMat em svg{width:16px;height:16px}
.tmMat .txt{flex:1;min-width:0}
.tmMat .txt b{display:block;font-size:13px;font-weight:750;color:var(--t1)}
.tmMat .txt small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.tmMat .seta{color:var(--t3)}
.tmMat .seta svg{width:15px;height:15px}
.tmMat:hover{border-color:var(--ouro)}
.tmTemaArte{display:block;border-radius:11px;overflow:hidden;border:1px solid var(--br);aspect-ratio:16/7;background:var(--s3)}
.tmTemaArte img{width:100%;height:100%;object-fit:cover;display:block}
.tmTemaTit{display:block;font-size:15px;font-weight:800;color:var(--t1);margin:12px 0 0;letter-spacing:-.01em}
.tmTemaTxt{margin:7px 0 0;font-size:12.5px;color:var(--t3);line-height:1.55}
.tmTemaMat{margin-top:12px}
.tmFrase{position:relative;border-radius:14px;overflow:hidden;min-height:180px;
  border:1px solid rgba(155,102,255,.4);
  background:linear-gradient(150deg,rgba(155,102,255,.22),rgba(78,155,255,.1) 60%,rgba(6,20,28,.9));
  display:flex;flex-direction:column;justify-content:space-between;padding:20px}
.tmFrase > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.tmFrase::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,20,28,.7),rgba(6,20,28,.92))}
.tmFrase p,.tmFrase small{position:relative;z-index:2}
.tmFrase p{margin:0;font-size:16px;font-weight:750;color:#fff;line-height:1.45}
.tmFrase small{font-size:12px;color:#cbd5dd;text-align:right}
@media (max-width:1100px){ .tmGrid{grid-template-columns:1fr} .tmEvo{grid-template-columns:1fr} }
@media (max-width:760px){ .tmHero > img{width:100%;opacity:.3} .tmTrio{grid-template-columns:1fr}
  .tmAula{flex-wrap:wrap} }
/* P403 (mockup dela): a tela da Imersao + Conversation Club, na mesma
   casca da tela da turma — o que muda e a arte, os blocos e as abas. */
.imHero{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--br);min-height:330px;
  display:flex;align-items:center;background:linear-gradient(120deg,#06101c,#050a12)}
.imHero > img{position:absolute;right:0;top:0;height:100%;width:48%;object-fit:cover;object-position:center}
.imHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#06101c 0%,rgba(6,16,28,.96) 38%,rgba(6,16,28,.5) 50%,rgba(6,16,28,0) 62%)}
.imHeroTxt{position:relative;z-index:2;padding:26px 30px;max-width:645px}
.imSelo{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.13em;
  text-transform:uppercase;color:#5FB8FF}
.imSelo svg{width:15px;height:15px}
.imHeroTxt h1{margin:10px 0 10px;font-size:clamp(28px,3.6vw,42px);font-weight:800;letter-spacing:-.035em;
  line-height:1.06;color:var(--t1)}
.imHeroTxt h1 span{color:#5FB8FF}
.imHeroTxt .imTag{display:block;font-size:17px;font-weight:800;color:var(--t1);letter-spacing:-.01em}
.imHeroTxt p{margin:12px 0 0;font-size:13.5px;color:var(--t2);line-height:1.7;max-width:50ch}
.imChips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.imAbas .tmAba.on{color:#5FB8FF;border-bottom-color:#5FB8FF;background:rgba(78,155,255,.08)}
.imChip{display:flex;align-items:center;gap:9px;border:1px solid var(--br);border-radius:11px;
  background:rgba(255,255,255,.035);padding:9px 12px 9px 10px}
.imChip i{font-style:normal;width:28px;height:28px;flex:0 0 28px;border-radius:9px;display:flex;
  align-items:center;justify-content:center;background:rgba(78,155,255,.16);border:1px solid rgba(78,155,255,.4);
  color:#7CC4FF;box-shadow:0 0 12px rgba(78,155,255,.25)}
.imChip i svg{width:15px;height:15px}
.imChip b{display:block;font-size:11.5px;font-weight:750;color:var(--t1);line-height:1.25;white-space:nowrap}
.imChip small{display:block;font-size:10.5px;color:var(--t3);margin-top:2px;line-height:1.3;white-space:nowrap}
/* o cartao do proximo encontro */
.imEnc{display:flex;align-items:stretch;gap:18px}
.imEncTxt{flex:1;min-width:0}
.imEncTxt .q{font-size:12.5px;color:var(--t3)}
.imEncTxt h3{margin:4px 0 6px;font-size:20px;font-weight:800;color:var(--t1);letter-spacing:-.015em}
.imEncTxt p{margin:0;font-size:12.5px;color:var(--t3);line-height:1.55}
.imMeta{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0 14px}
.imMeta span{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--t3)}
.imMeta svg{width:14px;height:14px;opacity:.85}
.imAcoes{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.imBtAzul{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 20px;
  border:0;border-radius:11px;background:linear-gradient(90deg,#2E7BE5,#55C2FF);color:#04121f;font:inherit;
  font-size:13.5px;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 0 20px rgba(78,155,255,.3)}
.imBtAzul:hover{filter:brightness(1.06)}
.imBtVazio{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 18px;
  border:1px solid var(--br);border-radius:11px;color:var(--t1);font-size:13px;font-weight:750;text-decoration:none}
.imBtVazio:hover{border-color:#5FB8FF;color:#5FB8FF}
.imThumb{width:196px;flex:0 0 196px;border-radius:12px;overflow:hidden;border:1px solid var(--br);background:var(--s3)}
.imThumb img{width:100%;height:100%;object-fit:cover;display:block}
/* como funciona: 4 passos na linha */
.imPassos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative}
.imPasso{position:relative;text-align:center;padding:0 8px}
.imPasso .n{position:relative;z-index:2;width:38px;height:38px;margin:0 auto 12px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:14.5px;font-weight:900;color:#04121f;
  background:linear-gradient(180deg,#6FC6FF,#2E7BE5);box-shadow:0 0 16px rgba(78,155,255,.45)}
.imPasso::before{content:"";position:absolute;top:19px;left:-50%;width:100%;height:2px;
  background:repeating-linear-gradient(90deg,rgba(95,184,255,.55) 0 6px,transparent 6px 12px)}
.imPasso:first-child::before{display:none}
.imPasso b{display:block;font-size:12.5px;font-weight:800;color:var(--t1);line-height:1.3}
.imPasso small{display:block;font-size:11.5px;color:var(--t3);margin-top:6px;line-height:1.5}
/* a arte da frase (inteira, do jeito que ela desenhou) */
.imFrase{display:block;border-radius:14px;overflow:hidden;border:1px solid var(--br);background:var(--s1)}
.imFrase img{display:block;width:100%;height:auto;aspect-ratio:1068/560;object-fit:cover}
/* professor */
.imProfFrase{margin:14px 0 0;border:1px solid var(--br);border-radius:12px;background:var(--s3);padding:14px;
  font-size:12.5px;color:var(--t2);line-height:1.6}
/* comunidade */
.imOnline{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--t2)}
.imOnline i{width:8px;height:8px;border-radius:50%;background:#3DD68C;box-shadow:0 0 8px rgba(61,214,140,.8)}
.imCaras{display:flex;align-items:center;margin:14px 0 12px}
.imCara{width:44px;height:44px;border-radius:50%;overflow:hidden;border:2px solid var(--s1);background:var(--s3);
  margin-right:-10px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:var(--t2)}
.imCara img{width:100%;height:100%;object-fit:cover}
.imMais{height:44px;min-width:56px;border-radius:99px;border:1px solid var(--br);background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;color:var(--t2);margin-left:16px}
/* a faixa do pe */
.imCta{display:flex;align-items:center;gap:18px;margin-top:18px;border:1px solid rgba(78,155,255,.35);
  border-radius:16px;background:linear-gradient(90deg,rgba(46,123,229,.14),rgba(85,194,255,.06));padding:20px 22px}
.imCta > em{font-style:normal;width:56px;height:56px;flex:0 0 56px;border-radius:14px;display:flex;
  align-items:center;justify-content:center;background:rgba(78,155,255,.18);border:1px solid rgba(78,155,255,.4);
  color:#7CC4FF;box-shadow:0 0 18px rgba(78,155,255,.3)}
.imCta > em svg{width:26px;height:26px}
.imCtaTxt{flex:1;min-width:0}
.imCtaTxt b{display:block;font-size:18px;font-weight:800;color:var(--t1);letter-spacing:-.015em}
.imCtaTxt small{display:block;font-size:13px;color:var(--t3);margin-top:4px}
@media (max-width:1100px){ .imChip{flex:1 1 100%} .imPassos{grid-template-columns:1fr 1fr;gap:22px 0}
  .imPasso:nth-child(3)::before{display:none} }
@media (max-width:760px){ .imHero > img{width:100%;opacity:.28} .imEnc{flex-direction:column}
  .imThumb{width:100%;flex:0 0 auto;height:160px} .imPassos{grid-template-columns:1fr;gap:20px}
  .imPasso::before{display:none} .imCta{flex-direction:column;align-items:flex-start} }
/* P404 (arte dela): os tres botoes do pe do plano — pilula com contorno
   e neon na cor de cada acao, icone, divisoria, texto e seta. Centralizados. */
.plAcoes{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:22px;flex-wrap:wrap}
.plAcoes form{margin:0}
.plAcao{display:inline-flex;align-items:center;gap:14px;height:58px;padding:0 20px;border-radius:16px;
  border:1.5px solid var(--ac);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.012));
  color:var(--t1);text-decoration:none;font:inherit;font-size:15px;font-weight:400;cursor:pointer;
  box-shadow:0 0 24px color-mix(in srgb,var(--ac) 30%,transparent),
             inset 0 0 20px color-mix(in srgb,var(--ac) 9%,transparent)}
.plAcao:hover{box-shadow:0 0 34px color-mix(in srgb,var(--ac) 45%,transparent),
             inset 0 0 22px color-mix(in srgb,var(--ac) 14%,transparent)}
.plAcao .ic{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 26px;color:var(--ac)}
.plAcao .ic svg{width:25px;height:25px}
.plAcao .barra{width:1px;height:28px;background:rgba(255,255,255,.18)}
.plAcao span.txt{white-space:nowrap}
.plAcao b{font-weight:800;color:#fff}
.plAcao .seta{display:flex;align-items:center;margin-left:4px;color:var(--ac)}
.plAcao .seta svg{width:20px;height:20px;stroke-width:2.8}
@media (max-width:760px){ .plAcoes{flex-direction:column;align-items:stretch}
  .plAcao{justify-content:flex-start;width:100%} .plAcoes form{width:100%} .plAcao{width:100%} }
/* P406 (mockup dela): a Aula VIP vista pelo aluno. */
.vipHero{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--br);min-height:250px;
  display:flex;align-items:center;background:linear-gradient(120deg,#160f07,#0b0a08)}
.vipHero > img{position:absolute;right:0;top:0;height:100%;width:52%;object-fit:cover;object-position:center}
.vipHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#120c06 0%,rgba(18,12,6,.96) 34%,rgba(18,12,6,.5) 48%,rgba(18,12,6,0) 62%)}
.vipHeroTxt{position:relative;z-index:2;padding:26px 30px;max-width:600px}
.vipSelo{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ouro)}
.vipSelo svg{width:17px;height:17px}
.vipHeroTxt h1{margin:8px 0 8px;font-size:clamp(28px,3.4vw,40px);font-weight:800;letter-spacing:-.03em;color:var(--t1)}
.vipHeroTxt .lema{display:block;font-size:17px;font-weight:800;color:var(--t1);letter-spacing:-.01em}
.vipHeroTxt p{margin:12px 0 0;font-size:13.5px;color:var(--t2);line-height:1.7;max-width:50ch}
.vipGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px;align-items:start}
/* proxima aula */
.vipData{display:flex;align-items:center;gap:16px;border:1px solid var(--br);border-radius:13px;
  background:var(--s3);padding:16px 18px}
.vipData em{font-style:normal;width:46px;height:46px;flex:0 0 46px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;font-size:22px;background:rgba(255,184,46,.14);
  border:1px solid rgba(255,184,46,.4)}
.vipData .q{display:block;font-size:13px;color:var(--t2)}
.vipData .h{display:block;font-size:26px;font-weight:900;color:var(--t1);letter-spacing:-.02em;margin-top:2px}
.vipData .h small{font-size:12.5px;font-weight:600;color:var(--t3);margin-left:6px}
.vipConta{text-align:center;margin:16px 0 14px}
.vipConta small{display:block;font-size:12.5px;color:var(--t3)}
.vipConta b{display:block;font-size:17px;font-weight:800;color:var(--t1);margin-top:5px;letter-spacing:-.01em}
.vipEntrar{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:54px;border:0;
  border-radius:13px;background:linear-gradient(90deg,#FFC84D,#F0A11A);color:#241603;font:inherit;font-size:15.5px;
  font-weight:800;cursor:pointer;text-decoration:none;box-shadow:0 0 22px rgba(255,184,46,.3)}
.vipEntrar:hover{filter:brightness(1.05)}
.vipEntrar svg{width:19px;height:19px}
.vipNota{margin:11px 0 0;text-align:center;font-size:12px;color:var(--t3)}
/* professor */
.vipProf{display:flex;gap:16px}
.vipProfFoto{width:132px;flex:0 0 132px;border-radius:13px;overflow:hidden;border:1px solid var(--br);
  background:var(--s3);aspect-ratio:1/1.08}
.vipProfFoto img{width:100%;height:100%;object-fit:cover;display:block}
.vipProfFoto span{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:34px;
  font-weight:800;color:var(--t2)}
.vipProfTxt{flex:1;min-width:0}
.vipProfTxt b{display:block;font-size:19px;font-weight:800;color:var(--t1);letter-spacing:-.015em}
.vipProfTxt .cargo{display:block;font-size:13px;color:var(--t3);margin-top:2px}
.vipAtivo{display:inline-flex;align-items:center;gap:8px;margin-top:9px;font-size:12.5px;font-weight:750;color:var(--verde)}
.vipAtivo i{width:9px;height:9px;border-radius:50%;background:var(--verde);box-shadow:0 0 8px rgba(61,214,140,.8)}
.vipAtivo.off{color:var(--t3)}
.vipAtivo.off i{background:var(--t3);box-shadow:none}
.vipProfTxt p{margin:10px 0 0;font-size:12.5px;color:var(--t2);line-height:1.6}
/* foco / mensagem */
.vipCampo{width:100%;min-height:78px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:13.5px;padding:13px 14px;resize:vertical}
.vipCampo::placeholder{color:var(--t3)}
.vipCampo:focus{outline:0;border-color:var(--ouro)}
.vipConta2{display:block;text-align:right;font-size:11.5px;color:var(--t3);margin-top:6px}
.vipEnviar{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 18px;border-radius:11px;
  border:1px solid var(--ouro);background:transparent;color:var(--ouro);font:inherit;font-size:13.5px;
  font-weight:750;cursor:pointer;text-decoration:none;margin-top:12px}
.vipEnviar:hover{background:rgba(255,184,46,.12)}
.vipEnviar svg{width:16px;height:16px}
/* material */
.vipMat{display:flex;align-items:center;gap:13px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  padding:13px 14px;text-decoration:none;color:inherit}
.vipMat + .vipMat{margin-top:10px}
.vipMat em{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;font-size:17px;background:rgba(255,184,46,.14);
  border:1px solid rgba(255,184,46,.35)}
.vipMat .txt{flex:1;min-width:0}
.vipMat .txt b{display:block;font-size:13.5px;font-weight:750;color:var(--t1)}
.vipMat .txt small{display:block;font-size:11.5px;color:var(--t3);margin-top:3px}
.vipMat .baixar{color:var(--t3)}
.vipMat:hover{border-color:var(--ouro)}
.vipMat:hover .baixar{color:var(--ouro)}
.vipMatVazio{display:flex;align-items:center;gap:12px;border:1px dashed var(--br);border-radius:12px;
  padding:14px;font-size:12.5px;color:var(--t3);margin-top:10px}
.vipMatVazio em{font-style:normal;width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:flex;
  align-items:center;justify-content:center;border:1px solid var(--br);color:var(--t3)}
/* resumo da ultima aula */
.vipResumo{border:1px solid var(--br);border-radius:12px;background:var(--s3);padding:14px}
.vipResumo + .vipResumo{margin-top:10px}
.vipResumo b{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--t1)}
.vipResumo p{margin:8px 0 0;font-size:12.5px;color:var(--t2);line-height:1.65;white-space:pre-wrap}
/* evolucao: os quatro quadradinhos */
.vipNums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.vipNum{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid var(--br);border-radius:12px;
  background:var(--s3);padding:13px 8px;text-align:center}
.vipNum i{font-style:normal;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;background:rgba(255,184,46,.13);border:1px solid rgba(255,184,46,.35);color:var(--ouro)}
.vipNum i svg{width:17px;height:17px}
.vipNum u{text-decoration:none;font-size:20px;font-weight:900;color:var(--t1);line-height:1.1}
.vipNum small{font-size:10.5px;color:var(--t3);line-height:1.3}
.vipFrase2{margin:14px 0 0;border:1px solid var(--br);border-radius:12px;background:var(--s3);padding:14px;
  font-size:12.5px;color:var(--t2);line-height:1.6;font-style:italic}
/* historico */
.vipHist{display:flex;align-items:center;gap:13px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  padding:12px 14px;text-decoration:none;color:inherit}
.vipHist + .vipHist{margin-top:10px}
.vipHist em{font-style:normal;width:36px;height:36px;flex:0 0 36px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;border:1px solid var(--br);color:var(--t3)}
.vipHist em svg{width:17px;height:17px}
.vipHist .d{width:130px;flex:0 0 130px}
.vipHist .d b{display:block;font-size:12.5px;font-weight:750;color:var(--t1)}
.vipHist .d small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.vipHist .t{flex:1;min-width:0;font-size:12.5px;color:var(--t2)}
.vipHist .ok{font-size:11px;font-weight:800;border-radius:99px;padding:4px 10px;white-space:nowrap;
  color:var(--verde);border:1px solid rgba(61,214,140,.45);background:rgba(61,214,140,.1)}
.vipAviso{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--br);border-radius:12px;
  background:var(--s3);padding:13px 14px;font-size:12.5px;color:var(--t2);line-height:1.55;margin-bottom:12px}
.vipAviso em{font-style:normal;font-size:15px}
@media (max-width:1100px){ .vipGrid{grid-template-columns:1fr} }
@media (max-width:760px){ .vipHero > img{width:100%;opacity:.28} .vipNums{grid-template-columns:1fr 1fr}
  .vipProf{flex-direction:column} .vipProfFoto{width:110px;flex:0 0 auto}
  .vipHist{flex-wrap:wrap} .vipHist .d{width:auto;flex:1 1 auto} }
/* P411 (mockup dela): o Music Club. */
.mcHero{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--br);min-height:310px;
  display:flex;align-items:center;background:linear-gradient(120deg,#12071c,#0a0612)}
.mcHero > img{position:absolute;right:0;top:0;height:100%;width:50%;object-fit:cover;object-position:center}
.mcHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#12071c 0%,rgba(18,7,28,.96) 36%,rgba(18,7,28,.5) 48%,rgba(18,7,28,0) 62%)}
.mcHeroTxt{position:relative;z-index:2;padding:26px 30px;max-width:620px}
.mcSelo{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:#FF5FD0}
.mcSelo svg{width:16px;height:16px}
.mcHeroTxt h1{margin:10px 0 12px;font-size:clamp(28px,3.6vw,42px);font-weight:800;letter-spacing:-.035em;
  line-height:1.08;color:var(--t1)}
.mcHeroTxt h1 span{color:#FF5FD0}
.mcHeroTxt p{margin:0;font-size:13.5px;color:var(--t2);line-height:1.7;max-width:50ch}
.mcChips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.mcChip{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,95,208,.35);border-radius:11px;
  background:rgba(255,95,208,.08);padding:9px 14px;font-size:12px;font-weight:750;color:var(--t1);white-space:nowrap}
.mcChip svg{width:15px;height:15px;color:#FF5FD0}
.mcGrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;margin-top:18px;align-items:start}
.mcGrid > .col{display:flex;flex-direction:column;gap:18px}
/* musica da semana */
.mcSem{display:flex;gap:18px}
.mcCapa{width:190px;flex:0 0 190px;aspect-ratio:1/1;border-radius:13px;overflow:hidden;border:1px solid var(--br);
  background:var(--s3);display:flex;align-items:center;justify-content:center}
.mcCapa img{width:100%;height:100%;object-fit:cover}
.mcCapa em{font-style:normal;font-size:38px}
.mcSemTxt{flex:1;min-width:0}
.mcSemTxt .eyebrow{display:block;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#FF5FD0}
.mcSemTxt h3{margin:7px 0 2px;font-size:23px;font-weight:800;color:var(--t1);letter-spacing:-.02em}
.mcSemTxt .art{display:block;font-size:14px;color:var(--t2)}
.mcSemTxt p{margin:12px 0 16px;font-size:12.5px;color:var(--t3);line-height:1.6}
.mcAcoes{display:flex;gap:12px;flex-wrap:wrap}
.mcBtRosa{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 20px;border:0;
  border-radius:11px;background:linear-gradient(90deg,#FF4FC3,#B44BFF);color:#fff;font:inherit;font-size:13.5px;
  font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 0 22px rgba(255,79,195,.3)}
.mcBtRosa:hover{filter:brightness(1.07)}
.mcBtVazio{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:46px;padding:0 18px;
  border:1px solid var(--br);border-radius:11px;color:var(--t1);font-size:13px;font-weight:750;text-decoration:none}
.mcBtVazio:hover{border-color:#FF5FD0;color:#FF5FD0}
.mcBtVazio svg{width:16px;height:16px}
/* progresso: quatro quadradinhos */
.mcNums{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mcNum{display:flex;align-items:center;gap:12px;border:1px solid var(--br);border-radius:13px;background:var(--s3);
  padding:14px}
.mcNum i{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:11px;display:flex;align-items:center;
  justify-content:center;background:rgba(255,95,208,.14);border:1px solid rgba(255,95,208,.35);color:#FF7FDC}
.mcNum i svg{width:19px;height:19px}
.mcNum b{display:block;font-size:19px;font-weight:900;color:var(--t1);line-height:1.1;letter-spacing:-.01em}
.mcNum small{display:block;font-size:11.5px;color:var(--t3);margin-top:3px}
.mcFrase{display:flex;align-items:flex-start;gap:12px;margin-top:14px;border:1px solid rgba(255,95,208,.3);
  border-radius:13px;background:rgba(255,95,208,.07);padding:15px}
.mcFrase svg{width:18px;height:18px;flex:0 0 18px;color:#FF7FDC;margin-top:2px}
.mcFrase span{font-size:12.5px;color:var(--t2);line-height:1.6;font-style:italic}
/* playlists por nivel */
.mcNiveis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.mcNivel{border:1px solid var(--br);border-radius:14px;overflow:hidden;background:var(--s3);text-decoration:none;
  color:inherit;display:flex;flex-direction:column}
.mcNivel:hover{border-color:#FF5FD0}
.mcNivel .foto{aspect-ratio:174/104;background:var(--s1);overflow:hidden}
.mcNivel .foto img{width:100%;height:100%;object-fit:cover;display:block}
.mcNivel .txt{padding:13px 14px 15px}
.mcNivel .lin{display:flex;align-items:center;gap:10px}
.mcNivel b{flex:1;min-width:0;font-size:15px;font-weight:800;color:var(--t1);letter-spacing:-.01em}
.mcNivel .seta{width:30px;height:30px;flex:0 0 30px;border-radius:9px;border:1px solid var(--br);display:flex;
  align-items:center;justify-content:center;color:var(--t2)}
.mcNivel .seta svg{width:14px;height:14px}
.mcNivel small{display:block;font-size:12px;color:var(--t3);margin-top:7px;line-height:1.5}
.mcNivel .qtd{display:inline-block;margin-top:9px;font-size:11px;font-weight:800;color:#FF7FDC}
/* atividades */
.mcAtiv{display:flex;align-items:center;gap:13px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  padding:12px 14px;text-decoration:none;color:inherit}
.mcAtiv + .mcAtiv{margin-top:10px}
.mcAtiv em{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:11px;display:flex;align-items:center;
  justify-content:center;background:rgba(255,95,208,.13);border:1px solid rgba(255,95,208,.32);color:#FF7FDC}
.mcAtiv em svg{width:18px;height:18px}
.mcAtiv .txt{flex:1;min-width:0}
.mcAtiv .txt b{display:block;font-size:13.5px;font-weight:750;color:var(--t1)}
.mcAtiv .txt small{display:block;font-size:11.5px;color:var(--t3);margin-top:3px}
.mcAtiv .seta{color:var(--t3)}
.mcAtiv .seta svg{width:16px;height:16px}
.mcAtiv:hover{border-color:#FF5FD0}
.mcAtiv:hover .seta{color:#FF5FD0}
/* continue de onde parou */
.mcRetoma{display:flex;align-items:center;gap:13px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  padding:11px 13px;text-decoration:none;color:inherit}
.mcRetoma + .mcRetoma{margin-top:10px}
.mcRetoma .capa{width:64px;height:44px;flex:0 0 64px;border-radius:9px;overflow:hidden;background:var(--s1)}
.mcRetoma .capa img{width:100%;height:100%;object-fit:cover}
.mcRetoma .txt{flex:1;min-width:0}
.mcRetoma .txt b{display:block;font-size:13px;font-weight:750;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcRetoma .txt small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.mcRetoma:hover{border-color:#FF5FD0}
/* comunidade */
.mcComTopo{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}
.mcCom em{font-style:normal;width:52px;height:52px;flex:0 0 52px;border-radius:15px;display:flex;
  align-items:center;justify-content:center;background:rgba(255,95,208,.14);border:1px solid rgba(255,95,208,.35);
  color:#FF7FDC}
.mcCom em svg{width:25px;height:25px}
.mcComTopo > span{flex:1;min-width:0}
.mcCom b{display:block;font-size:16.5px;font-weight:800;color:var(--t1);letter-spacing:-.015em}
.mcCom p{margin:7px 0 0;font-size:12.5px;color:var(--t2);line-height:1.6}
.mcCom form{margin:0}
.mcJuntos{display:block;margin-top:14px;font-size:12.5px;font-weight:750;color:var(--t1);text-align:center}
@media (max-width:1100px){ .mcGrid{grid-template-columns:1fr} .mcNiveis{grid-template-columns:1fr} }
@media (max-width:760px){ .mcHero > img{width:100%;opacity:.26} .mcSem{flex-direction:column}
  .mcCapa{width:100%;flex:0 0 auto;aspect-ratio:16/9} .mcNums{grid-template-columns:1fr} }
/* P414 (mockup dela): o App de memorizacao na casca nova. */
.fcTopo{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.fcTopo h1{flex:1;min-width:0;margin:0;font-size:17px;font-weight:750;color:var(--t1)}
.fcVolta{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 15px;border-radius:10px;
  border:1px solid var(--br);background:var(--s3);color:var(--t1);font-size:13px;font-weight:700;text-decoration:none;
  font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.fcVolta{border-color:rgba(255,184,46,.45);color:var(--ouro)}
.fcVolta:hover{border-color:var(--ouro);color:var(--ouro)}
.fcVolta svg{width:15px;height:15px}
.fcHero{display:flex;align-items:center;gap:22px;border:1px solid var(--br);border-radius:16px;background:var(--s1);
  padding:22px 24px;flex-wrap:wrap}
.fcHeroTxt{flex:1;min-width:280px}
.fcHeroTit{display:flex;align-items:center;gap:13px}
.fcHeroTit em{font-style:normal;width:46px;height:46px;flex:0 0 46px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:22px;background:rgba(255,184,46,.14);
  border:1px solid rgba(255,184,46,.4)}
.fcHeroTit h2{margin:0;font-size:24px;font-weight:800;color:var(--t1);letter-spacing:-.02em}
.fcHeroTxt p{margin:12px 0 0;font-size:13px;color:var(--t2);line-height:1.6}
.fcTags{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.fcTag{font-size:11.5px;font-weight:700;border:1px solid var(--br);border-radius:99px;padding:6px 13px;color:var(--t2);
  background:var(--s3)}
.fcHoje{width:330px;flex:0 0 330px;border:1px solid rgba(255,184,46,.4);border-radius:14px;
  background:rgba(255,184,46,.07);padding:18px;box-shadow:0 0 26px rgba(255,184,46,.12)}
.fcHoje .lin{display:flex;align-items:center;gap:11px}
.fcHoje .lin svg{width:20px;height:20px;color:var(--ouro)}
.fcHoje b{font-size:16px;font-weight:800;color:var(--t1)}
.fcHoje small{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--t3);margin:7px 0 0 31px}
.fcHoje small svg{width:13px;height:13px}
.fcIniciar{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:50px;margin-top:14px;
  border:0;border-radius:12px;background:linear-gradient(90deg,#FFC84D,#F0A11A);color:#241603;font:inherit;
  font-size:15px;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 0 20px rgba(255,184,46,.28)}
.fcIniciar:hover{filter:brightness(1.05)}
.fcIniciar svg{width:17px;height:17px}
.fcNums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.fcNum{display:flex;align-items:center;gap:13px;border:1px solid var(--br);border-radius:14px;background:var(--s1);
  padding:16px 18px}
.fcNum i{font-style:normal;width:44px;height:44px;flex:0 0 44px;border-radius:12px;display:flex;align-items:center;
  justify-content:center;background:var(--s3);border:1px solid var(--br);color:var(--t2)}
.fcNum i svg{width:20px;height:20px}
.fcNum .t{flex:1;min-width:0}
.fcNum .t small{display:block;font-size:12px;color:var(--t3)}
.fcNum .t b{display:block;font-size:25px;font-weight:900;color:var(--t1);line-height:1.15;margin-top:3px;letter-spacing:-.02em}
.fcNum .t u{display:block;text-decoration:none;font-size:11.5px;color:var(--t3);margin-top:3px}
.fcBlocoRv{display:flex;align-items:center;gap:12px;border:1px solid var(--br);border-radius:12px;padding:12px 14px;
  background:var(--s3);color:inherit;text-decoration:none;min-width:0}
a.fcBlocoRv:hover{border-color:var(--ouro)}
.fcBlocoRv em{font-style:normal;font-size:20px;width:38px;height:38px;flex:0 0 38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(255,184,46,.1)}
.fcBlocoRv .t{flex:1;min-width:0}
.fcBlocoRv .t b{display:block;font-size:14px;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcBlocoRv .t small{font-size:12px;color:var(--t3)}
.fcBlocoRv .t small b{display:inline;color:var(--ouro)}
.fcBlocoRv i{font-style:normal;color:var(--ouro);font-weight:800}
.fcBlocoRv.vazio{opacity:.6}
.fcBlocoRv.principal{border-color:var(--ouro);background:linear-gradient(90deg,rgba(255,184,46,.14),rgba(255,184,46,.03));padding:16px 18px}
.fcBlocoRv.principal .t b{font-size:16px}
.fcGrupoTit{margin:16px 0 8px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--t3)}
.fcBlocosGrade{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.fcLinha .txt select.fcMoverSel{margin-top:6px;height:28px;max-width:190px;border:1px solid var(--br);border-radius:8px;background:var(--s3);color:var(--t2);font:inherit;font-size:12px;padding:0 6px}
.fcNovo select{width:100%;height:40px;border:1px solid var(--br);border-radius:10px;background:var(--s3);color:var(--t1);font:inherit;padding:0 10px}
.fcCaixa{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--br);flex-wrap:wrap}
.fcCaixa .nome{font-weight:700;color:var(--t1)}
.fcCaixa small{color:var(--t3);font-size:12px}
.fcCaixa .ren{display:flex;align-items:center;gap:8px;flex:1;min-width:220px}
.fcCaixa input,.fcCaixaNova input{flex:1;min-width:0;height:36px;border:1px solid var(--br);border-radius:9px;background:var(--s3);color:var(--t1);font:inherit;padding:0 10px}
.fcMini{height:34px;padding:0 12px;border-radius:9px;border:1px solid var(--br);background:transparent;color:var(--t2);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.fcMini:hover{border-color:var(--ouro);color:var(--ouro)}
.fcMini.perigo:hover{border-color:#e5484d;color:#e5484d}
.fcCaixaNova{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.fcSubP2{margin:-4px 0 16px;color:var(--t2);font-size:14px}
.fcSubP2 b{color:var(--ouro)}
.fcVoltaP1{margin:18px 0 6px}
.fcBloco{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:20px 22px;margin-top:16px}
.fcBlocoTopo{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fcBlocoTopo em{font-style:normal;font-size:21px}
.fcBlocoTopo h2{flex:1;min-width:0;margin:0;font-size:20px;font-weight:800;color:var(--t1);letter-spacing:-.02em}
.fcBlocoTopo + .sub{margin:6px 0 0;font-size:12.5px;color:var(--t3)}
.fcAdd{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border:0;border-radius:11px;
  background:linear-gradient(90deg,#FFC84D,#F0A11A);color:#241603;font:inherit;font-size:13.5px;font-weight:800;
  cursor:pointer;text-decoration:none}
.fcAdd svg{width:15px;height:15px}
.fcFiltros{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 14px}
.fcFiltro{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 15px;border-radius:99px;
  border:1px solid var(--br);background:var(--s3);color:var(--t2);font:inherit;font-size:12.5px;font-weight:700;
  cursor:pointer;white-space:nowrap}
.fcFiltro.on{border-color:var(--ouro);color:var(--ouro);background:rgba(255,184,46,.1)}
.fcBusca{display:flex;align-items:center;gap:9px;flex:1;min-width:200px;height:38px;padding:0 14px;border-radius:10px;
  border:1px solid var(--br);background:var(--s3)}
.fcBusca svg{width:15px;height:15px;color:var(--t3)}
.fcBusca input{flex:1;min-width:0;border:0;background:transparent;color:var(--t1);font:inherit;font-size:12.5px;outline:0}
.fcBusca input::placeholder{color:var(--t3)}
.fcLinha{display:flex;align-items:center;gap:13px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  padding:9px 12px}
.fcLinha + .fcLinha{margin-top:10px}
.fcLinha .mini{width:56px;height:38px;flex:0 0 56px;border-radius:9px;overflow:hidden;background:var(--s1);
  display:flex;align-items:center;justify-content:center;font-size:16px}
.fcLinha .mini img{width:100%;height:100%;object-fit:cover}
.fcLinha .txt{flex:1;min-width:0;font-size:13.5px;color:var(--t1);line-height:1.45}
.fcLinha .txt b{font-weight:750}
.fcLinha .txt span{color:var(--t3)}
.fcLinha .quando{font-size:11px;font-weight:800;border-radius:99px;padding:6px 13px;white-space:nowrap;
  border:1px solid rgba(255,184,46,.45);color:var(--ouro);background:rgba(255,184,46,.08);text-decoration:none}
.fcLinha .quando.dia{border-color:var(--br);color:var(--t3);background:transparent}
.fcLinha form{margin:0}
/* 05/10/2026: só a lista de frases — o gráfico do CRM também usa .fcLinha (grade de 3
   colunas, declarada mais abaixo) e quebrava a linha: lixeira na 2ª linha e o
   "Revisar hoje" saindo do botão. O #fcLista vence pela especificidade. */
#fcLista .fcLinha{display:flex;grid-template-columns:none;margin-bottom:0;font-size:inherit}
#fcLista .fcLinha .quando{flex:0 0 auto}
#fcLista .fcLinha form{flex:0 0 auto}
@media (max-width:600px){#fcLista .fcLinha{flex-wrap:wrap}#fcLista .fcLinha .txt{flex-basis:calc(100% - 70px)}}
.fcApagar{width:34px;height:34px;flex:0 0 34px;border-radius:9px;border:1px solid var(--br);background:transparent;
  color:var(--t3);cursor:pointer;display:flex;align-items:center;justify-content:center;font:inherit}
.fcApagar svg{width:15px;height:15px}
.fcApagar:hover{border-color:#E0575A;color:#E0575A}
.fcDif{display:flex;align-items:center;gap:13px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  padding:11px 13px}
.fcDif + .fcDif{margin-top:10px}
.fcDif .txt{flex:1;min-width:0;font-size:13px;color:var(--t1);line-height:1.5}
.fcDif .txt span{color:var(--t3)}
.fcErrou{font-size:11px;font-weight:800;border-radius:99px;padding:5px 11px;white-space:nowrap;color:#F3B0B2;
  border:1px solid rgba(224,87,90,.5);background:rgba(224,87,90,.16)}
.fcTreinar{display:inline-flex;align-items:center;height:36px;padding:0 15px;border-radius:10px;border:1px solid var(--br);
  background:transparent;color:var(--t1);font-size:12.5px;font-weight:700;text-decoration:none;white-space:nowrap}
.fcTreinar:hover{border-color:var(--ouro);color:var(--ouro)}
.fcPe{display:flex;align-items:center;gap:16px;border:1px solid var(--br);border-radius:16px;background:var(--s1);
  padding:20px 22px;margin-top:16px}
.fcPe em{font-style:normal;width:46px;height:46px;flex:0 0 46px;border-radius:13px;display:flex;align-items:center;
  justify-content:center;font-size:21px;background:rgba(255,184,46,.12);border:1px solid rgba(255,184,46,.32)}
.fcPe b{display:block;font-size:18px;font-weight:800;color:var(--t1);letter-spacing:-.015em}
.fcPe p{margin:5px 0 0;font-size:13px;color:var(--t3)}
.fcNovo{margin-top:16px}
.fcNovo form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.fcNovo label{display:block;font-size:12px;font-weight:700;color:var(--t3);margin-bottom:6px}
.fcNovo input{width:100%;height:44px;border:1px solid var(--br);border-radius:11px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:13.5px;padding:0 14px}
.fcNovo input:focus{outline:0;border-color:var(--ouro)}
#fcNovo[hidden]{display:none}
@media (max-width:1100px){ .fcNums{grid-template-columns:1fr 1fr} .fcHoje{width:100%;flex:1 1 100%} }
@media (max-width:760px){ .fcNums{grid-template-columns:1fr} .fcNovo form{grid-template-columns:1fr}
  .fcLinha{flex-wrap:wrap} .fcDif{flex-wrap:wrap} }
/* P415 (mockup "versao melhorada" dela): a tela de revisao. */
.rvTopo{display:flex;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.rvSair,.rvAtalhosBt{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 15px;border-radius:11px;
  border:1px solid var(--br);background:var(--s3);color:var(--t1);font:inherit;font-size:13px;font-weight:700;
  text-decoration:none;cursor:pointer}
.rvSair:hover,.rvAtalhosBt:hover{border-color:var(--ouro);color:var(--ouro)}
.rvSair svg,.rvAtalhosBt svg{width:15px;height:15px}
.rvProg{flex:1;min-width:200px;display:flex;flex-direction:column;align-items:center;gap:8px}
.rvProg b{font-size:14px;font-weight:800;color:var(--t1)}
.rvProg b span{color:var(--t3);font-weight:600}
.rvBarra{width:100%;max-width:420px;height:7px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.rvBarra i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#3DD68C,#2FBF7C);
  box-shadow:0 0 12px rgba(61,214,140,.5)}
.rvGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:stretch}
.rvCarta{position:relative;border-radius:16px;padding:22px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;min-height:330px}
.rvPt{border:1px solid rgba(90,180,255,.5);background:rgba(10,30,45,.55);box-shadow:0 0 28px rgba(90,180,255,.14)}
.rvEn{border:1px solid rgba(255,184,46,.5);background:rgba(30,22,6,.45);box-shadow:0 0 28px rgba(255,184,46,.14)}
.rvSom{position:absolute;top:16px;width:42px;height:42px;border-radius:50%;border:1px solid var(--br);
  background:var(--s3);color:var(--t1);display:flex;align-items:center;justify-content:center;cursor:pointer}
.rvSom.esq{left:16px}
.rvSom.dir{right:16px}
.rvSom svg{width:19px;height:19px}
.rvSom:hover{border-color:var(--ouro);color:var(--ouro)}
.rvSelo{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;border-radius:99px;
  padding:6px 14px;border:1px solid}
.rvSelo.pt{color:#7CC4FF;border-color:rgba(90,180,255,.5);background:rgba(90,180,255,.12)}
.rvSelo.en{color:var(--ouro);border-color:rgba(255,184,46,.5);background:rgba(255,184,46,.12)}
.rvFrase{margin:18px 0 0;font-size:25px;font-weight:800;color:var(--t1);line-height:1.3;letter-spacing:-.02em}
.rvCtx{margin:12px 0 0;font-size:14px;line-height:1.45;color:var(--t2)}
.rvCtx i{display:block;font-style:normal}
.rvCtx i+i{color:var(--t3)}
.rvCtx a{display:inline-block;margin-top:6px;color:#FFC94F;font-weight:600;text-decoration:none}
.rvCtx .rvLivroAudio{display:block;margin-top:8px;padding:0;border:0;background:none;color:#FFC94F;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.rvDica{margin:auto 0 0;padding-top:18px;font-size:12.5px;color:var(--t3)}
.rvImg{width:190px;aspect-ratio:4/3;border-radius:13px;overflow:hidden;border:1px solid var(--br);margin:16px 0 0;
  background:var(--s3);display:flex;align-items:center;justify-content:center;font-size:30px}
.rvImg img{width:100%;height:100%;object-fit:cover}
.rvCred{margin-top:6px;font-size:11px;color:var(--t3)}
.rvCred a{color:var(--t3);text-decoration:underline}
.rvTrocaImg{margin-top:6px;font-size:12px;color:var(--t3);text-decoration:underline}
.rvTrocaImg:hover{color:var(--ouro)}
.fcTrocaImg{font-size:12px;color:var(--t3);text-decoration:underline;white-space:nowrap}
.fcTrocaImg:hover{color:var(--ouro)}
.rvOuvir{display:inline-flex;align-items:center;gap:9px;height:42px;padding:0 18px;margin-top:16px;border-radius:11px;
  border:1px solid var(--br);background:var(--s3);color:var(--t1);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.rvOuvir:hover{border-color:var(--ouro);color:var(--ouro)}
.rvOuvir svg{width:16px;height:16px}
.rvNotas{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:20px}
.rvNotas form{margin:0}
.rvNota{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 17px;border-radius:99px;border:1px solid;
  background:transparent;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.rvNota.again{color:#FF8E90;border-color:rgba(224,87,90,.55)}
.rvNota.hard{color:#F0B24A;border-color:rgba(240,178,74,.55)}
.rvNota.good{color:#FFE08A;border-color:rgba(255,224,138,.6)}
.rvNota.easy{color:#6FE3AC;border-color:rgba(61,214,140,.6)}
.rvNota:hover{background:rgba(255,255,255,.07)}
.rvTrocar{display:flex;align-items:center;justify-content:center;min-height:330px;border-radius:16px;
  border:1px dashed rgba(255,184,46,.45);background:rgba(30,22,6,.3);color:var(--ouro);font-size:14.5px;
  font-weight:750;cursor:pointer;font:inherit;width:100%;gap:10px}
.rvTrocar svg{width:18px;height:18px}
.rvTrocar:hover{background:rgba(255,184,46,.09)}
.rvTrocar[hidden]{display:none!important}
.rvCarta[hidden]{display:none!important}
.rvPe{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;flex-wrap:wrap}
.rvNav{display:inline-flex;align-items:center;gap:9px;height:42px;padding:0 18px;border-radius:11px;
  border:1px solid var(--br);background:var(--s3);color:var(--t1);font:inherit;font-size:13px;font-weight:700;
  text-decoration:none;cursor:pointer}
.rvNav:hover{border-color:var(--ouro);color:var(--ouro)}
.rvNav[aria-disabled="true"]{opacity:.4;pointer-events:none}
.rvNav svg{width:15px;height:15px}
.rvAtalhos{border:1px solid var(--br);border-radius:13px;background:var(--s1);padding:16px 18px;margin-top:14px}
.rvAtalhos b{display:block;font-size:13.5px;font-weight:800;color:var(--t1);margin-bottom:10px}
.rvAtalhos div{display:flex;flex-wrap:wrap;gap:10px}
.rvAtalhos span{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--t2);border:1px solid var(--br);
  border-radius:9px;padding:6px 11px;background:var(--s3)}
.rvAtalhos kbd{font-family:inherit;font-size:11px;font-weight:800;color:var(--ouro);border:1px solid rgba(255,184,46,.4);
  border-radius:5px;padding:2px 6px;background:rgba(255,184,46,.1)}
#rvAtalhos[hidden]{display:none}
.rvFim{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:34px;text-align:center}
.rvFim .ico{font-size:46px}
.rvFim h2{margin:14px 0 8px;font-size:24px;font-weight:800;color:var(--t1)}
.rvFim p{margin:0 auto;max-width:44ch;font-size:13.5px;color:var(--t3);line-height:1.6}
@media (max-width:860px){ .rvGrid{grid-template-columns:1fr} .rvCarta,.rvTrocar{min-height:240px} }
/* P421 (ela: "faca novamente, identico"): a tela de entrar, nas mesmas
   proporcoes do desenho dela — tipografia Poppins, a arte inteira com
   fade nas bordas e o fundo borrado atras de tudo. */
.lgTela{position:fixed;inset:0;background:#070d14;overflow:auto;z-index:5;font-family:'Poppins',var(--fb)}
.lgFundo{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.lgFundo img{width:100%;height:100%;object-fit:cover;filter:blur(7px) brightness(1.75) saturate(1.1)}
.lgFundo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(7,13,20,.6) 0%,rgba(7,13,20,.5) 45%,rgba(7,13,20,.4) 100%)}
/* a arte INTEIRA, sem caixa e sem corte: o fade esta na propria imagem */
.lgArte{position:absolute;top:0;right:0;bottom:0;z-index:1;pointer-events:none;
  display:flex;align-items:center;justify-content:flex-end}
.lgArte img{height:100%;width:auto;max-width:46vw;object-fit:contain;display:block;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.14) 13%,rgba(0,0,0,.55) 31%,rgba(0,0,0,.9) 52%,#000 68%),
    linear-gradient(180deg,transparent 0%,#000 7%,#000 90%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.14) 13%,rgba(0,0,0,.55) 31%,rgba(0,0,0,.9) 52%,#000 68%),
    linear-gradient(180deg,transparent 0%,#000 7%,#000 90%,transparent 100%);
  mask-composite:intersect}
.lgEsq{position:relative;z-index:2;min-height:100%;display:flex;flex-direction:column;
  padding:clamp(28px,5.5vh,56px) clamp(24px,5.5vw,86px)}
.lgMarca{display:flex;flex-direction:column;gap:6px}
.lgMarca b{font-family:'Poppins',var(--fb);font-size:clamp(28px,2.4vw,36px);font-weight:700;color:#fff;
  letter-spacing:-.025em;line-height:1}
.lgMarca b i{font-style:normal;color:#FFB92E}
.lgMarca small{font-size:10px;font-weight:600;letter-spacing:.32em;color:#9fb0bd}
.lgMeio{flex:1;display:flex;align-items:center;gap:clamp(20px,4vw,64px);flex-wrap:wrap;padding:24px 0;
  padding-right:clamp(0px,11vw,240px)}
.lgLema{flex:0 1 auto;max-width:330px;min-width:250px}
.lgLema h1{margin:0;font-family:'Poppins',var(--fb);font-size:clamp(32px,3.4vw,50px);font-weight:600;color:#fff;
  line-height:1.15;letter-spacing:-.025em}
.lgLema h1 b{font-weight:700;color:#FFB92E}
.lgRisco{display:block;width:62px;height:3px;border-radius:99px;background:#FFB92E;margin:clamp(18px,3vh,34px) 0}
.lgLema p{margin:0;font-size:clamp(14px,1.15vw,17px);color:#a9bac6;line-height:1.75}
.lgCard{flex:0 1 clamp(320px,36vw,545px);border:1px solid rgba(255,255,255,.09);border-radius:24px;
  background:rgba(10,20,31,.82);padding:clamp(26px,3.2vw,48px);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.lgCard h2{margin:0;font-family:'Poppins',var(--fb);font-size:clamp(23px,2.1vw,31px);font-weight:700;color:#fff;
  letter-spacing:-.02em}
.lgCard > p{margin:10px 0 30px;font-size:clamp(13px,1.05vw,16px);color:#9fb0bd;line-height:1.55}
.lgCampo{margin-bottom:20px}
.lgCampo label{display:block;font-size:14px;font-weight:500;color:#c6d3dc;margin-bottom:10px}
.lgInput{display:flex;align-items:center;gap:14px;height:58px;padding:0 18px;border-radius:14px;
  border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.03)}
.lgInput:focus-within{border-color:#FFB92E}
.lgInput svg{width:20px;height:20px;color:#7d8f9c;flex:0 0 20px}
.lgInput input{flex:1;min-width:0;border:0;background:transparent;color:#fff;font:inherit;font-size:15px;outline:0;height:100%}
.lgInput input::placeholder{color:#6d7f8c}
/* o navegador pinta de branco o campo que ele preencheu sozinho — isso
   desfaz a pintura e mantem o campo escuro (pedido dela). */
.lgInput input:-webkit-autofill,
.lgInput input:-webkit-autofill:hover,
.lgInput input:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff;caret-color:#fff;
  -webkit-box-shadow:0 0 0 1000px #0d1a26 inset;box-shadow:0 0 0 1000px #0d1a26 inset;
  transition:background-color 9999s ease-out 0s}
.lgInput input:autofill{-webkit-text-fill-color:#fff;box-shadow:0 0 0 1000px #0d1a26 inset}
.lgOlho{border:0;background:transparent;color:#7d8f9c;cursor:pointer;padding:0;display:flex}
.lgOlho svg{width:20px;height:20px}
.lgOlho:hover{color:#FFB92E}
.lgEsqueci{display:block;text-align:right;font-size:14px;font-weight:500;color:#FFB92E;text-decoration:none;margin:-6px 0 26px}
.lgEsqueci:hover{text-decoration:underline}
.lgEntrar{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;height:60px;border:0;
  border-radius:99px;background:linear-gradient(180deg,#FFD277,#F0A11A);color:#1d1204;font-family:'Poppins',var(--fb);
  font-size:17px;font-weight:600;cursor:pointer;box-shadow:0 0 30px rgba(255,184,46,.26)}
.lgEntrar:hover{filter:brightness(1.05)}
.lgOu{display:flex;align-items:center;gap:14px;margin:26px 0 20px;font-size:13px;color:#7d8f9c}
.lgOu::before,.lgOu::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.1)}
.lgSociais{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.lgSocial{display:flex;align-items:center;justify-content:center;gap:10px;height:58px;border-radius:14px;
  border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.03);color:#fff;font:inherit;font-size:14px;
  font-weight:500;cursor:pointer}
.lgSocial:hover{border-color:rgba(255,255,255,.28)}
.lgSocial svg{width:21px;height:21px;flex:0 0 21px}
.lgSocialAviso{margin:14px 0 0;font-size:12.5px;color:#9fb0bd;text-align:center;line-height:1.5}
.lgSocialAviso[hidden]{display:none}
.lgConta{margin:24px 0 0;text-align:center;font-size:14.5px;color:#c6d3dc}
.lgConta a{color:#FFB92E;font-weight:600;text-decoration:none}
.lgAviso{border-radius:12px;padding:13px 15px;font-size:13.5px;margin-bottom:20px;line-height:1.5}
.lgAviso.err{border:1px solid rgba(224,87,90,.5);background:rgba(224,87,90,.14);color:#F3B0B2}
.lgAviso.ok{border:1px solid rgba(61,214,140,.5);background:rgba(61,214,140,.12);color:#8FE9BD}
.lgPe{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;
  padding-top:clamp(14px,2.5vh,26px);padding-right:clamp(0px,11vw,240px)}
.lgPeMundo{display:flex;align-items:center;gap:16px}
.lgPeMundo svg{width:42px;height:42px;color:#9fb0bd;flex:0 0 42px}
.lgPeMundo span{font-size:14px;color:#c6d3dc;line-height:1.75}
.lgPeLema{font-size:12.5px;letter-spacing:.3em;text-transform:uppercase;color:#7d8f9c;white-space:nowrap}
@media (max-width:1100px){ .lgArte{opacity:.5} .lgMeio,.lgPe{padding-right:0} }
@media (max-width:760px){ .lgTela{position:static;min-height:100vh} .lgMeio{flex-direction:column;align-items:stretch}
  .lgArte{display:none} .lgPe{grid-template-columns:1fr;justify-items:start;gap:14px}
  .lgSociais{grid-template-columns:1fr} }
/* P422 (mockup dela): "Esqueci minha senha" e "Redefinir senha". Fundo
   escuro com os brilhos dourados, a caligrafia a esquerda e o cartao no
   meio — as mesmas telas de sempre, no desenho dela. */
.sePagina{position:fixed;inset:0;z-index:5;overflow:auto;display:flex;align-items:center;justify-content:center;
  padding:40px 24px;font-family:'Poppins',var(--fb);
  background:radial-gradient(38% 46% at 97% 4%,rgba(255,176,40,.30) 0%,rgba(255,176,40,0) 60%),
    radial-gradient(34% 40% at 2% 96%,rgba(255,176,40,.26) 0%,rgba(255,176,40,0) 62%),
    radial-gradient(100% 100% at 50% 50%,#0a121b 0%,#060b12 70%,#04080d 100%)}
.seCalig{position:absolute;left:clamp(12px,7vw,150px);top:50%;transform:translateY(-50%);width:clamp(150px,17vw,265px);
  opacity:.85;pointer-events:none;z-index:1}
.seCalig img{width:100%;height:auto;display:block}
.seLado{position:absolute;right:clamp(16px,5vw,90px);bottom:clamp(60px,18vh,180px);z-index:1;pointer-events:none;
  text-align:left}
.seLado b{display:block;font-size:12.5px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;
  color:#8a9aa6;line-height:2.1}
.seLado i{display:block;width:46px;height:3px;border-radius:99px;background:#FFB92E;margin-top:22px}
.seCard{position:relative;z-index:2;width:100%;max-width:560px;border:1px solid rgba(255,255,255,.08);
  border-radius:26px;background:rgba(11,21,32,.86);padding:clamp(28px,3.4vw,46px);
  box-shadow:0 40px 90px rgba(0,0,0,.5)}
.seTopo{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:clamp(22px,3vh,34px)}
.seMarca b{display:block;font-family:'Poppins',var(--fb);font-size:30px;font-weight:700;color:#fff;letter-spacing:-.025em;line-height:1}
.seMarca b i{font-style:normal;color:#FFB92E}
.seMarca small{display:block;font-size:9.5px;font-weight:600;letter-spacing:.3em;color:#9fb0bd;margin-top:7px}
.seAviao{width:62px;height:62px;flex:0 0 62px;border-radius:14px;overflow:hidden}
.seAviao img{width:100%;height:100%;object-fit:cover;display:block}
.seCard h1{margin:0;font-family:'Poppins',var(--fb);font-size:clamp(26px,2.5vw,36px);font-weight:700;color:#fff;
  letter-spacing:-.025em;line-height:1.15}
.seCard h1 span{color:#FFB92E}
.seCard > p{margin:16px 0 0;font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;font-size:15px;
  color:#a9bac6;line-height:1.75}
.seCampo{margin:clamp(22px,3vh,32px) 0 0}
.seCampo label{display:block;font-size:14px;font-weight:500;color:#c6d3dc;margin-bottom:10px}
.seInput{display:flex;align-items:center;gap:14px;height:58px;padding:0 18px;border-radius:14px;
  border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.025)}
.seInput:focus-within{border-color:#FFB92E}
.seInput svg{width:20px;height:20px;color:#7d8f9c;flex:0 0 20px}
.seInput input{flex:1;min-width:0;border:0;background:transparent;color:#fff;font:inherit;font-size:15px;outline:0;height:100%}
.seInput input::placeholder{color:#6d7f8c}
.seInput input:-webkit-autofill,.seInput input:-webkit-autofill:hover,.seInput input:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff;caret-color:#fff;
  -webkit-box-shadow:0 0 0 1000px #0d1a26 inset;box-shadow:0 0 0 1000px #0d1a26 inset;
  transition:background-color 9999s ease-out 0s}
.seOuro{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:60px;margin-top:20px;
  border:0;border-radius:99px;background:linear-gradient(180deg,#FFD277,#F0A11A);color:#1d1204;
  font-family:'Poppins',var(--fb);font-size:16.5px;font-weight:600;cursor:pointer;
  box-shadow:0 0 30px rgba(255,184,46,.26);text-decoration:none}
.seOuro:hover{filter:brightness(1.05)}
.seOuro svg{width:18px;height:18px}
.seOu{display:flex;align-items:center;gap:16px;margin:24px 0;font-size:14px;color:#7d8f9c}
.seOu::before,.seOu::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.1)}
.seVazio{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:60px;border-radius:99px;
  border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;font-family:'Poppins',var(--fb);
  font-size:16px;font-weight:500;cursor:pointer;text-decoration:none}
.seVazio:hover{border-color:#FFB92E;color:#FFB92E}
.seVazio svg{width:19px;height:19px}
.seVoltar{display:flex;align-items:center;justify-content:center;gap:10px;margin:26px 0 0;font-size:15px;
  font-weight:500;color:#FFB92E;text-decoration:none}
.seVoltar:hover{text-decoration:underline}
.seVoltar svg{width:16px;height:16px}
.seNota{margin:16px 0 0;font-size:13px;color:#9fb0bd;text-align:center;line-height:1.6}
.seNota[hidden]{display:none}
.seAviso{border-radius:12px;padding:13px 15px;font-size:13.5px;margin-top:20px;line-height:1.5}
.seAviso.err{border:1px solid rgba(224,87,90,.5);background:rgba(224,87,90,.14);color:#F3B0B2}
.seAviso.ok{border:1px solid rgba(61,214,140,.5);background:rgba(61,214,140,.12);color:#8FE9BD}
@media (max-width:1000px){ .seCalig,.seLado{display:none} }
@media (max-width:760px){ .sePagina{position:static;min-height:100vh} }
/* P423 (mockup dela): a Comunidade na casca do app. */
.coHero{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--br);min-height:246px;
  display:flex;align-items:center;background:linear-gradient(120deg,#0a1420,#070d16)}
.coHero > img{position:absolute;right:0;top:0;width:66%;height:100%;object-fit:cover;object-position:center 34%}
.coHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0a1420 0%,#0a1420 30%,rgba(10,20,32,.97) 36%,rgba(10,20,32,.72) 45%,rgba(10,20,32,.25) 60%,rgba(10,20,32,0) 76%)}
.coHeroTxt{position:relative;z-index:2;padding:24px 26px;max-width:480px}
.coSelo{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ouro)}
.coSelo svg{width:19px;height:19px}
.coHeroTxt h1{margin:12px 0 0;font-size:clamp(23px,2.4vw,30px);font-weight:800;color:var(--t1);letter-spacing:-.03em;
  line-height:1.2}
.coHeroTxt h1 span{color:var(--ouro)}
.coHeroTxt p{margin:14px 0 0;font-size:13px;color:var(--t2);line-height:1.65;max-width:46ch}
.coGrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.coGrid > .col{display:flex;flex-direction:column;gap:18px}
/* caixa de publicar */
.coEscrever{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:13px 15px}
.coEscreverTopo{display:flex;align-items:center;gap:13px}
.coEscreverTopo .foto{width:40px;height:40px;flex:0 0 40px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:var(--t2)}
.coEscreverTopo .foto img{width:100%;height:100%;object-fit:cover}
.coCampo{flex:1;min-width:0;height:46px;min-height:46px;border:1px solid var(--br);border-radius:12px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:14px;line-height:1.45;padding:12px 15px;resize:vertical}
.coCampo::placeholder{color:var(--t3)}
.coCampo:focus{outline:0;border-color:var(--ouro)}
.coFer{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}
.coFerTools{flex:1;min-width:0;display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.coFerBt{display:inline-flex;align-items:center;gap:10px;height:34px;padding:0;border:0;background:transparent;
  color:var(--t1);font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;
  transition:color .15s}
.coFerBt:hover{color:var(--ouro)}
.coFerBt svg{width:20px;height:20px;stroke-width:1.7}
.coFerBt.on{color:var(--ouro)}
.coFerBt input{display:none}
.coPublicar{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 26px;
  border:0;border-radius:12px;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;
  font:inherit;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 0 22px rgba(255,184,46,.3)}
.coPublicar:hover{filter:brightness(1.05)}
.coPublicar svg{width:17px;height:17px}
/* o selo de "este post vale o desafio de hoje" */
.coDesafioSelo{display:flex;align-items:center;gap:10px;margin-top:12px;border:1px solid rgba(255,184,46,.45);
  border-radius:11px;background:rgba(255,184,46,.09);padding:10px 13px;font-size:12.5px;font-weight:750;color:var(--ouro)}
.coDesafioSelo[hidden]{display:none}
.coDesafioSelo button{margin-left:auto;border:0;background:transparent;color:var(--t3);font:inherit;font-size:16px;
  line-height:1;cursor:pointer}
.coDesafioSelo button:hover{color:var(--t1)}
@media (max-width:900px){ .coFerTools{flex:1 1 100%;gap:18px} }
@media (max-width:760px){ .coPublicar{width:100%} .coFerTools{gap:14px} }
.coMarcas{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.coMarca{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:99px;
  border:1px solid var(--br);background:var(--s3);color:var(--t3);font-size:12px;font-weight:700;cursor:pointer}
.coMarca input{display:none}
.coMarca.sel{border-color:var(--ouro);color:var(--ouro);background:rgba(255,184,46,.1)}
.coArquivo{font-size:11.5px;color:var(--t3);margin-top:10px}
/* filtros */
.coAbas{display:flex;gap:10px;flex-wrap:wrap}
.coAba{display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 22px;border-radius:12px;
  border:1px solid rgba(78,155,255,.35);background:rgba(78,155,255,.09);color:#9FC7FF;font-size:14px;
  font-weight:800;text-decoration:none;white-space:nowrap;transition:all .15s}
.coAba svg{width:17px;height:17px}
.coAba:hover{color:#fff;border-color:#4E9BFF;background:rgba(78,155,255,.18)}
.coAba.on{border-color:#5FB0FF;color:#fff;background:linear-gradient(180deg,#3F87F5,#1F5FD6);
  box-shadow:0 0 22px rgba(78,155,255,.5),inset 0 1px 0 rgba(255,255,255,.28)}
/* post */
.coPost{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:16px 18px}
.coPostTopo{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.coPostTopo .foto{position:relative;width:44px;height:44px;flex:0 0 44px;border-radius:50%;overflow:hidden;
  background:var(--s3);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:var(--t2)}
.coPostTopo .foto img{width:100%;height:100%;object-fit:cover}
.coQuem{display:flex;align-items:center;gap:9px;flex-wrap:wrap;text-decoration:none}
.coQuem b{font-size:14.5px;font-weight:750;color:var(--t1)}
.coNivel{font-size:10.5px;font-weight:800;border-radius:7px;padding:3px 8px;color:#7CC4FF;
  border:1px solid rgba(78,155,255,.45);background:rgba(78,155,255,.14)}
.coQuando{font-size:12px;color:var(--t3)}
.coMenu{margin-left:auto;width:32px;height:32px;border-radius:9px;border:1px solid transparent;background:transparent;
  color:var(--t3);cursor:pointer;font-size:16px;line-height:1}
.coMenu:hover{border-color:var(--br);color:var(--t1)}
.coCorpo{display:flex;gap:16px;align-items:flex-start}
.coCorpo .txt{flex:1;min-width:0}
.coPostTit{margin:0 0 7px;font-size:16.5px;font-weight:800;color:var(--t1);letter-spacing:-.01em}
.coPostTxt{margin:0;font-size:13.5px;color:var(--t2);line-height:1.65;white-space:pre-wrap}
.coMidia{width:240px;flex:0 0 240px;border-radius:12px;overflow:hidden;border:1px solid var(--br);background:var(--s3)}
.coMidia img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:16/10}
.coMidia audio{width:100%;display:block}
/* card de conquista: o quadrado inteiro, sem cortar */
.coMidia.coCard{width:300px;flex:0 0 300px}
.coMidia.coCard img{aspect-ratio:1;object-fit:contain}
.coSeloXp{display:inline-flex;align-items:center;gap:8px;margin-top:12px;border:1px solid rgba(255,184,46,.45);
  border-radius:10px;background:rgba(255,184,46,.08);padding:9px 14px;font-size:12.5px;font-weight:800;color:var(--ouro)}
a.coBaixar{text-decoration:none}
/* posts automáticos (postsAuto.js): autor "Speak Up" com o brasão, e o botão */
.coFotoEscola{background:#0B2230 !important;border:1px solid rgba(255,184,46,.45)}
.coFotoEscola img{object-fit:contain !important;padding:5px;box-sizing:border-box}
a.coBotaoAuto{display:inline-flex;align-items:center;gap:8px;margin-top:12px;height:40px;padding:0 18px;border-radius:12px;
  background:var(--ouro);color:#0A1E2B;font-weight:800;font-size:13.5px;text-decoration:none}
a.coBotaoAuto:hover{filter:brightness(1.08)}
a.coBaixar:hover{background:rgba(255,184,46,.16)}
.coAcoes{display:flex;align-items:center;gap:20px;margin-top:14px;padding-top:12px;border-top:1px solid var(--br)}
.coAcoes form{margin:0}
.coBt{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--t3);font:inherit;
  font-size:12.5px;font-weight:700;cursor:pointer;text-decoration:none;padding:0}
.coBt svg{width:17px;height:17px}
.coBt:hover{color:var(--t1)}
.coBt.on{color:#FF5F7A}
.coComentarios{margin-top:12px;border-top:1px solid var(--br);padding-top:12px}
.coComentario{display:flex;gap:10px;font-size:12.5px;color:var(--t2);line-height:1.5}
.coComentario + .coComentario{margin-top:9px}
.coComentario b{color:var(--t1);font-weight:750}
.coComentario a{color:inherit;text-decoration:none}
.coComentario .coQuando{margin-left:6px;font-size:11px;color:var(--t3)}
.coComentMais{margin:0 0 9px;font-size:11.5px;color:var(--t3)}
.coComentar{display:flex;gap:9px;margin-top:11px}
.coComentar input{flex:1;min-width:0;height:40px;border:1px solid var(--br);border-radius:10px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:12.5px;padding:0 13px}
.coComentar input:focus{outline:0;border-color:var(--ouro)}
.coComentar button{height:40px;padding:0 15px;border-radius:10px;border:1px solid var(--br);background:transparent;
  color:var(--t1);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.coComentar button:hover{border-color:var(--ouro);color:var(--ouro)}
/* coluna da direita */
.coDesafio{display:flex;flex-direction:column;min-height:246px;border:1px solid rgba(255,184,46,.35);
  border-radius:16px;background:rgba(255,184,46,.06);padding:18px}
.coDesafioTopo{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.coDesafioTopo em{font-style:normal;width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;background:rgba(255,184,46,.16);border:1px solid rgba(255,184,46,.4)}
.coDesafioTopo b{font-size:16.5px;font-weight:800;color:var(--t1)}
.coDesafio p{margin:0;font-size:13.5px;font-weight:750;color:var(--t1);line-height:1.5}
.coDesafio small{display:block;font-size:12.5px;color:var(--t3);margin-top:7px;line-height:1.55}
.coDesafio small b{color:var(--ouro)}
.coDesafioBt{display:flex;align-items:center;justify-content:center;width:100%;height:46px;margin-top:auto;border:0;
  border-radius:11px;background:linear-gradient(90deg,#FFC84D,#F0A11A);color:#241603;font:inherit;font-size:14px;
  font-weight:800;cursor:pointer;text-decoration:none}
.coSeq{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:18px}
.coSeqTopo{display:flex;align-items:center;gap:10px;font-size:15.5px;font-weight:800;color:var(--t1);margin-bottom:12px}
.coSeqDias{display:block;font-size:14px;font-weight:750;color:var(--t1);margin-bottom:14px}
.coBolinhas{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}
.coBolinha i{display:flex;width:32px;height:32px;margin:0 auto;border-radius:50%;align-items:center;
  justify-content:center;border:1.5px solid var(--br);color:var(--t3);font-style:normal;font-size:14px}
.coBolinha.ok i{border-color:transparent;background:linear-gradient(180deg,#FFC84D,#F0A11A);color:#241603;font-weight:900}
.coBolinha small{display:block;font-size:10.5px;color:var(--t3);margin-top:6px}
.coZap{display:flex;align-items:flex-start;gap:12px;margin-top:16px;border:1px solid rgba(37,211,102,.35);
  border-radius:12px;background:rgba(37,211,102,.07);padding:13px 14px}
.coZap em{font-style:normal;width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:flex;align-items:center;
  justify-content:center;background:rgba(37,211,102,.16);border:1px solid rgba(37,211,102,.4);font-size:16px}
.coZap.off{border-color:var(--br);background:var(--s3);text-decoration:none;color:inherit}
.coZap.off em{background:var(--s1);border-color:var(--br)}
.coZap.off:hover{border-color:rgba(37,211,102,.5)}
.coZap b{display:block;font-size:13px;font-weight:750;color:var(--t1)}
.coZap small{display:block;font-size:12px;color:var(--t3);margin-top:4px;line-height:1.5}
.coFrase{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--br);min-height:190px;
  display:flex;flex-direction:column;justify-content:center;padding:22px}
.coFrase > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.coFrase::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(6,14,22,.96) 0%,rgba(6,14,22,.85) 45%,rgba(6,14,22,.35) 100%)}
.coFrase p,.coFrase small{position:relative;z-index:2}
.coFrase p{margin:0;font-family:Georgia,serif;font-style:italic;font-size:17px;color:#fff;line-height:1.5}
.coFrase small{font-size:12px;color:#b9c6d0;margin-top:12px}
.coVazio{border:1px dashed var(--br);border-radius:14px;padding:26px;text-align:center;font-size:13px;color:var(--t3)}
.coAviso{display:flex;align-items:center;gap:11px;border:1px solid rgba(61,214,140,.45);border-radius:12px;
  background:rgba(61,214,140,.1);padding:13px 15px;font-size:13px;color:var(--t1)}
.coAviso svg{width:18px;height:18px;color:var(--verde)}
@media (max-width:1100px){ .coGrid{grid-template-columns:1fr} }
@media (max-width:760px){ .coHero > img{width:100%;opacity:.25} .coCorpo{flex-direction:column}
  .coMidia, .coMidia.coCard{width:100%;flex:0 0 auto} }
/* P424 (mockup dela): "Eventos da Escola" — o mes inteiro em dois
   calendarios: as aulas ao vivo e a rotina de estudo. */
/* P428: a faixa inteira que ela desenhou — arte unica, sem texto por cima. */
.evHero{display:block;border-radius:18px;overflow:hidden;border:1px solid var(--br);background:#061021}
.evHero img{display:block;width:100%;height:auto;aspect-ratio:2172/724;object-fit:cover}
/* quando a arte nao existe, o hero antigo (texto) entra no lugar */
.evHeroTxt{padding:26px 28px;max-width:560px}
.evHeroTxt h1{margin:0;font-size:clamp(28px,3.2vw,40px);font-weight:800;color:var(--t1);letter-spacing:-.03em;line-height:1.1}
.evHeroTxt h1 span{color:#4E9BFF}
.evHeroTxt p{margin:14px 0 0;font-size:13.5px;color:var(--t2);line-height:1.65;max-width:48ch}
.evBarra{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;border:1px solid var(--br);
  border-radius:14px;background:var(--s1);padding:12px 14px}
.evSeta{width:38px;height:38px;border-radius:10px;border:1px solid var(--br);background:var(--s3);color:var(--t1);
  display:flex;align-items:center;justify-content:center;text-decoration:none}
.evSeta:hover{border-color:var(--ouro);color:var(--ouro)}
.evSeta svg{width:16px;height:16px}
.evMes{font-size:15.5px;font-weight:750;color:var(--t1);min-width:150px;text-align:center;text-transform:capitalize}
.evHoje{display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:10px;border:1px solid var(--br);
  background:var(--s3);color:var(--t1);font-size:13px;font-weight:700;text-decoration:none}
.evHoje:hover{border-color:var(--ouro);color:var(--ouro)}
.evModos{display:flex;gap:6px;margin-left:auto;border:1px solid var(--br);border-radius:11px;padding:4px;background:var(--s3)}
.evModo{display:inline-flex;align-items:center;height:32px;padding:0 15px;border-radius:8px;color:var(--t3);
  font-size:12.5px;font-weight:700;text-decoration:none}
.evModo.on{background:var(--s1);color:var(--t1);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.evBloco{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:18px 20px;margin-top:18px}
.evBlocoTopo{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-bottom:16px}
.evBlocoTopo em{position:relative;font-style:normal;width:66px;height:66px;flex:0 0 66px;border-radius:19px;
  display:flex;align-items:center;justify-content:center;color:#fff;
  background:var(--ico,linear-gradient(145deg,#8A5BFF,#E15FFF));border:1px solid rgba(255,255,255,.3);
  box-shadow:0 0 0 1px var(--icoLuz,rgba(180,95,255,.55)),
             0 0 22px var(--icoLuz,rgba(180,95,255,.55)),
             0 0 54px var(--icoLuz,rgba(180,95,255,.55)),
             inset 0 2px 0 rgba(255,255,255,.35)}
.evBlocoTopo em::after{content:"";position:absolute;inset:-9px;border-radius:26px;pointer-events:none;
  background:radial-gradient(60% 60% at 50% 50%,var(--icoLuz,rgba(180,95,255,.55)) 0%,transparent 72%);
  filter:blur(6px);z-index:-1}
.evBlocoTopo em svg{width:33px;height:33px;stroke-width:2.3;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35))}
.evBlocoTopo .tit{flex:1;min-width:180px}
.evBlocoTopo .tit b{display:block;font-size:19px;font-weight:800;color:var(--t1);letter-spacing:-.015em}
.evBlocoTopo .tit small{display:block;font-size:12.5px;color:var(--t3);margin-top:3px}
.evFiltros{display:flex;gap:8px;flex-wrap:wrap}
.evFiltro{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:99px;border:1px solid var(--br);
  background:var(--s3);color:var(--t3);font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.evFiltro:hover{color:var(--t1)}
.evFiltro.on{border-color:#4E9BFF;color:#fff;background:rgba(78,155,255,.18)}
.evCab{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--br);border-radius:12px 12px 0 0;
  background:var(--s3);overflow:hidden}
.evCab span{padding:10px 8px;text-align:center;font-size:11px;font-weight:800;letter-spacing:.09em;color:var(--t3)}
.evGrade{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--br);border-top:0;
  border-radius:0 0 12px 12px;overflow:hidden}
.evDia{min-height:126px;border-right:1px solid var(--br);border-bottom:1px solid var(--br);padding:8px;
  display:flex;flex-direction:column;gap:6px;background:var(--s1)}
.evDia:nth-child(7n){border-right:0}
.evDia.fora{background:rgba(255,255,255,.012)}
.evDia.fora > b{color:var(--t3);opacity:.45}
.evDia.hoje{background:rgba(255,184,46,.06);box-shadow:inset 0 0 0 1px rgba(255,184,46,.4)}
.evDia > b{font-size:12px;font-weight:750;color:var(--t2)}
/* P427 (ela): os blocos do calendario mais quadrados, com icone maior e
   neon forte e colorido. */
.evParcial{color:var(--ouro);font-weight:800}
.evBarra{display:block;height:4px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden;margin-top:3px}
.evBarra i{display:block;height:100%;background:var(--ouro);border-radius:99px}
/* 05/10/2026: blocos do "Sua semana" (evRot): o nome nunca quebra no meio da palavra;
   sem espaço, ele desce inteiro pra baixo do ícone. O ✓ fica na linha dos minutos. */
.evItem.evRot .cab{flex-wrap:wrap;row-gap:4px}
.evItem.evRot b{min-width:auto;overflow-wrap:normal;word-break:normal;hyphens:none}
.evItem.evRot small .evOk{color:#3DD68C;font-weight:800;font-size:12px}
.evItem{display:flex;flex-direction:column;gap:3px;border-radius:13px;padding:9px 10px;text-decoration:none;
  color:inherit;border:1px solid color-mix(in srgb,var(--cor,#4E9BFF) 60%,transparent);
  background:linear-gradient(160deg,color-mix(in srgb,var(--cor,#4E9BFF) 30%,transparent),
    color-mix(in srgb,var(--cor,#4E9BFF) 11%,transparent));
  box-shadow:0 0 18px color-mix(in srgb,var(--cor,#4E9BFF) 30%,transparent),
             inset 0 1px 0 rgba(255,255,255,.1)}
.evItem:hover{border-color:var(--cor,#4E9BFF);
  box-shadow:0 0 26px color-mix(in srgb,var(--cor,#4E9BFF) 55%,transparent),inset 0 1px 0 rgba(255,255,255,.16)}
.evItem .cab{display:flex;align-items:center;gap:8px;min-width:0}
.evItem .ic{flex:0 0 28px;width:28px;height:28px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;font-style:normal;font-size:15px;color:#fff;
  background:linear-gradient(150deg,color-mix(in srgb,var(--cor,#4E9BFF) 95%,#fff),
    color-mix(in srgb,var(--cor,#4E9BFF) 70%,#000));
  box-shadow:0 0 14px color-mix(in srgb,var(--cor,#4E9BFF) 75%,transparent),inset 0 1px 0 rgba(255,255,255,.4)}
.evItem b{flex:1;min-width:0;font-size:11px;font-weight:800;color:#fff;line-height:1.22;
  text-shadow:0 0 12px color-mix(in srgb,var(--cor,#4E9BFF) 70%,transparent);overflow-wrap:anywhere}
.evItem small{display:block;font-size:10.5px;color:var(--t2);line-height:1.35;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.evItem small.onde{color:color-mix(in srgb,var(--cor,#4E9BFF) 70%,#fff);font-weight:700}
.evLista{display:flex;flex-direction:column;gap:10px}
.evLinha{display:flex;align-items:center;gap:14px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  padding:11px 13px;text-decoration:none;color:inherit}
.evLinha .d{width:92px;flex:0 0 92px}
.evLinha .d b{display:block;font-size:12.5px;font-weight:800;color:var(--t1)}
.evLinha .d small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.evLinha .t{flex:1;min-width:0}
.evLinha .t b{display:block;font-size:13.5px;font-weight:750;color:var(--t1)}
.evLinha .t small{display:block;font-size:12px;color:var(--t3);margin-top:2px}
.evLinha .p{font-size:11px;font-weight:800;border-radius:99px;padding:5px 11px;white-space:nowrap;
  border:1px solid var(--cor,var(--br));color:var(--cor,var(--t2));
  background:color-mix(in srgb,var(--cor,#4E9BFF) 12%,transparent)}
.evLinha:hover{border-color:var(--ouro)}
.evVazio{border:1px dashed var(--br);border-radius:12px;padding:24px;text-align:center;font-size:13px;color:var(--t3)}
.evNota{margin:12px 0 0;font-size:12px;color:var(--t3);line-height:1.55}
.evPe{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--br);min-height:130px;
  display:flex;align-items:center;margin-top:18px}
.evPe > img{position:absolute;right:0;top:0;height:100%;width:46%;object-fit:cover}
.evPe::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0a1420 0%,rgba(10,20,32,.95) 40%,rgba(10,20,32,.4) 58%,rgba(10,20,32,0) 78%)}
.evPeTxt{position:relative;z-index:2;padding:22px 26px}
.evPeTxt b{display:block;font-family:Georgia,serif;font-style:italic;font-size:21px;color:#fff;letter-spacing:-.01em}
.evPeTxt small{display:block;font-size:13px;color:var(--t2);margin-top:8px}
@media (max-width:900px){ .evHero > img{width:100%;opacity:.3} .evCab{display:none}
  .evGrade{grid-template-columns:1fr} .evDia{min-height:0} .evDia:nth-child(n){border-right:0}
  .evDia.fora{display:none} .evModos{margin-left:0} }
/* P437 (mockup dela): a tela de Mensagens do aluno. */
.mgTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.mgTopo > em{font-style:normal;width:62px;height:62px;flex:0 0 62px;border-radius:17px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#8A5BFF,#C86BFF);
  border:1px solid rgba(255,255,255,.25);box-shadow:0 0 26px rgba(160,95,255,.5)}
.mgTopo > em svg{width:30px;height:30px}
.mgTopoTxt{flex:1;min-width:220px}
.mgTopoTxt h1{margin:0;font-size:28px;font-weight:800;color:var(--t1);letter-spacing:-.025em}
.mgTopoTxt p{margin:6px 0 0;font-size:13.5px;color:var(--t3);line-height:1.5}
.mgNova{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 24px;border:0;border-radius:12px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:15px;font-weight:700;
  cursor:pointer;text-decoration:none;box-shadow:0 0 22px rgba(255,184,46,.3)}
.mgNova svg{width:17px;height:17px}
.mgGrid{display:grid;grid-template-columns:340px minmax(0,1fr) 300px;gap:16px;align-items:start}
.mgCol{border:1px solid var(--br);border-radius:16px;background:var(--s1);overflow:hidden}
/* lista */
.mgFiltros{display:flex;gap:8px;flex-wrap:wrap;padding:14px 14px 0}
.mgFiltro{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:10px;
  border:1px solid var(--br);background:var(--s3);color:var(--t3);font:inherit;font-size:12.5px;font-weight:700;
  cursor:pointer;white-space:nowrap}
.mgFiltro:hover{color:var(--t1)}
.mgFiltro.on{border-color:var(--ouro);color:#241603;background:linear-gradient(180deg,#FFC94F,#F0A11A)}
.mgFiltro i{font-style:normal;min-width:20px;height:20px;border-radius:99px;display:inline-flex;align-items:center;
  justify-content:center;font-size:11px;font-weight:800;background:#E0575A;color:#fff;padding:0 6px}
.mgBusca{display:flex;align-items:center;gap:9px;margin:12px 14px;height:40px;padding:0 13px;border-radius:10px;
  border:1px solid var(--br);background:var(--s3)}
.mgBusca svg{width:15px;height:15px;color:var(--t3)}
.mgBusca input{flex:1;min-width:0;border:0;background:transparent;color:var(--t1);font:inherit;font-size:12.5px;outline:0}
.mgLista{max-height:min(66vh,720px);overflow:auto;padding:0 8px 10px}
.mgConv{display:flex;align-items:center;gap:12px;padding:11px 10px;border-radius:12px;text-decoration:none;
  color:inherit;border-left:3px solid transparent}
.mgConv:hover{background:var(--s3)}
.mgConv.on{background:var(--s3);border-left-color:var(--ouro)}
.mgConv .foto{position:relative;width:44px;height:44px;flex:0 0 44px;border-radius:50%;overflow:hidden;
  background:var(--s3);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:var(--t2)}
.mgConv .foto img{width:100%;height:100%;object-fit:cover}
.mgConv .foto.grupo{border-radius:14px;background:rgba(155,102,255,.16);border:1px solid rgba(155,102,255,.35);font-size:19px}
.mgConv .foto .on{position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:#3DD68C;
  border:2px solid var(--s1)}
.mgConv .txt{flex:1;min-width:0}
.mgConv .txt b{display:block;font-size:14px;font-weight:750;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mgConv .txt small{display:block;font-size:12px;color:var(--t3);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mgConv .dir{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}
.mgConv .dir em{font-style:normal;font-size:11px;color:var(--t3)}
.mgConv .dir span{min-width:20px;height:20px;border-radius:99px;background:#E0575A;color:#fff;font-size:11px;
  font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 6px}
/* conversa */
.mgCab{display:flex;align-items:center;gap:13px;padding:14px 16px;border-bottom:1px solid var(--br)}
.mgCab .foto{width:46px;height:46px;flex:0 0 46px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:var(--t2)}
.mgCab .foto img{width:100%;height:100%;object-fit:cover}
.mgCab .t{flex:1;min-width:0}
.mgCab .t b{display:block;font-size:17px;font-weight:800;color:var(--t1)}
.mgCab .t small{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--t3);margin-top:3px}
.mgCab .t small i{width:8px;height:8px;border-radius:50%;background:#3DD68C;display:inline-block}
.mgCorpo{padding:18px 16px;display:flex;flex-direction:column;gap:12px;min-height:340px;
  max-height:min(56vh,620px);overflow:auto}
.mgDia{align-self:center;font-size:12px;color:var(--t3);margin:2px 0 6px}
.mgLinha{display:flex;gap:10px;align-items:flex-end;max-width:78%}
.mgLinha.meu{align-self:flex-end;flex-direction:row-reverse}
.mgLinha .foto{width:32px;height:32px;flex:0 0 32px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--t2)}
.mgLinha .foto img{width:100%;height:100%;object-fit:cover}
.mgBalao{border-radius:16px;padding:12px 15px;background:var(--s3);border:1px solid var(--br)}
.mgLinha.meu .mgBalao{background:linear-gradient(180deg,#3F87F5,#2E6FE0);border-color:transparent;color:#fff}
.mgBalao p{margin:0;font-size:13.5px;line-height:1.55;white-space:pre-wrap}
.mgBalao img{max-width:100%;border-radius:10px;margin-top:8px;display:block}
.mgBalao audio{width:220px;margin-top:8px;display:block}
.mgHora{display:block;font-size:11px;color:var(--t3);margin-top:6px}
.mgLinha.meu .mgHora{color:rgba(255,255,255,.75);text-align:right}
.mgEscrever{display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--br)}
.mgAnexo{width:44px;height:44px;flex:0 0 44px;border-radius:12px;border:1px solid var(--br);background:var(--s3);
  color:var(--t2);display:flex;align-items:center;justify-content:center;cursor:pointer}
.mgAnexo:hover{border-color:var(--ouro);color:var(--ouro)}
.mgAnexo svg{width:18px;height:18px}
.mgAnexo input{display:none}
.mgEscrever input[type=text]{flex:1;min-width:0;height:48px;border:1px solid var(--br);border-radius:12px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:13.5px;padding:0 15px}
.mgEscrever input[type=text]:focus{outline:0;border-color:var(--ouro)}
.mgEnviar{width:48px;height:48px;flex:0 0 48px;border:0;border-radius:12px;color:#241603;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 0 18px rgba(255,184,46,.28)}
.mgEnviar svg{width:19px;height:19px}
/* coluna da direita */
.mgFicha{padding:18px 16px;text-align:center;border-bottom:1px solid var(--br)}
.mgFicha .foto{width:78px;height:78px;margin:0 auto 12px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:800;color:var(--t2)}
.mgFicha .foto img{width:100%;height:100%;object-fit:cover}
.mgFicha b{display:block;font-size:17px;font-weight:800;color:var(--t1)}
.mgFicha small{display:block;font-size:12.5px;color:var(--t3);margin-top:4px}
.mgFicha .vivo{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--verde);margin-top:8px}
.mgFicha .vivo i{width:8px;height:8px;border-radius:50%;background:var(--verde)}
.mgFicha p{margin:12px 0 0;font-size:12.5px;color:var(--t2);line-height:1.6}
.mgFichaBt{display:flex;align-items:center;justify-content:center;gap:9px;height:44px;margin-top:14px;
  border:1px solid var(--br);border-radius:11px;color:var(--t1);font-size:13px;font-weight:700;text-decoration:none}
.mgFichaBt:hover{border-color:var(--ouro);color:var(--ouro)}
.mgFichaBt svg{width:16px;height:16px}
.mgBloco{padding:16px}
.mgBloco + .mgBloco{border-top:1px solid var(--br)}
.mgBlocoTopo{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.mgBlocoTopo b{flex:1;min-width:0;font-size:13.5px;font-weight:800;color:var(--t1)}
.mgBlocoTopo svg{width:17px;height:17px;color:#7CC4FF}
.mgItem{display:flex;align-items:center;gap:11px;padding:8px 0;text-decoration:none;color:inherit}
.mgItem em{font-style:normal;width:36px;height:36px;flex:0 0 36px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;font-size:15px;background:var(--s3);border:1px solid var(--br)}
.mgItem .t{flex:1;min-width:0}
.mgItem .t b{display:block;font-size:12.5px;font-weight:700;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mgItem .t small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
.mgItem:hover .t b{color:var(--ouro)}
.mgVazio{padding:30px 18px;text-align:center;font-size:13px;color:var(--t3);line-height:1.6}
.mgNovaLista{padding:14px}
.mgNovaLista[hidden]{display:none}
@media (max-width:1250px){ .mgGrid{grid-template-columns:300px minmax(0,1fr)} .mgCol.mgDir{display:none} }
@media (max-width:900px){ .mgGrid{grid-template-columns:1fr} }
/* P439 (mockup dela): o painel do professor. */
.tdHero{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--br);min-height:210px;
  display:flex;align-items:center;background:linear-gradient(120deg,#140d06,#0a0806)}
.tdHero > img{position:absolute;right:0;top:0;width:66%;height:100%;object-fit:cover;object-position:center 30%}
.tdHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#140d06 0%,#140d06 26%,rgba(20,13,6,.95) 34%,rgba(20,13,6,.6) 46%,rgba(20,13,6,0) 68%)}
.tdHeroTxt{position:relative;z-index:2;padding:26px 30px;max-width:520px}
.tdHeroTxt h1{margin:0;font-size:clamp(28px,3.4vw,40px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.tdHeroTxt b{display:block;margin-top:10px;font-size:17px;font-weight:750;color:var(--t1)}
.tdHeroTxt p{margin:8px 0 0;font-size:13.5px;color:var(--t2);line-height:1.6}
.tdNums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.tdNum{display:flex;align-items:center;gap:13px;border:1px solid var(--br);border-radius:15px;background:var(--s1);
  padding:16px 18px}
.tdNum i{font-style:normal;width:46px;height:46px;flex:0 0 46px;border-radius:13px;display:flex;align-items:center;
  justify-content:center;color:#fff;background:var(--ico);border:1px solid rgba(255,255,255,.22);
  box-shadow:0 0 20px var(--icoLuz)}
.tdNum i svg{width:22px;height:22px}
.tdNum b{display:block;font-size:28px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.tdNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px;line-height:1.35}
.tdNum a{display:block;font-size:12px;font-weight:750;color:var(--t2);text-decoration:none;margin-top:8px}
.tdNum a:hover{color:var(--ouro)}
.tdGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px;align-items:start}
.tdGrid > .col{display:flex;flex-direction:column;gap:16px}
.tdCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:17px 19px}
.tdCardTopo{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.tdCardTopo em{font-style:normal;font-size:18px}
.tdCardTopo b{flex:1;min-width:0;font-size:17px;font-weight:800;color:var(--t1);letter-spacing:-.015em}
.tdVer{font-size:12.5px;font-weight:750;color:var(--t2);text-decoration:none;white-space:nowrap}
.tdVer:hover{color:var(--ouro)}
.tdSelo{font-size:11px;font-weight:800;border-radius:99px;padding:4px 11px;border:1px solid;white-space:nowrap}
.tdSelo.vivo{color:#3DD68C;border-color:rgba(61,214,140,.5);background:rgba(61,214,140,.12)}
.tdSelo.pend{color:#E6A23C;border-color:rgba(230,162,60,.5);background:rgba(230,162,60,.12)}
/* proxima aula */
.tdProx{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.tdProxArte{width:150px;flex:0 0 150px;aspect-ratio:16/11;border-radius:12px;overflow:hidden;border:1px solid var(--br);
  background:var(--s3)}
.tdProxArte img{width:100%;height:100%;object-fit:cover}
.tdProxTxt{flex:1;min-width:190px}
.tdProxTxt b{display:block;font-size:18px;font-weight:800;color:var(--t1);letter-spacing:-.015em}
.tdProxLinha{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--t3);margin-top:7px}
.tdProxLinha svg{width:14px;height:14px}
.tdChips{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
.tdChip{font-size:11px;font-weight:750;border:1px solid var(--br);border-radius:99px;padding:4px 11px;color:var(--t2)}
.tdProxBts{display:flex;flex-direction:column;gap:9px;min-width:190px}
.tdEntrar{display:flex;align-items:center;justify-content:center;gap:9px;height:48px;border:0;border-radius:12px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:14.5px;font-weight:800;
  cursor:pointer;text-decoration:none;box-shadow:0 0 20px rgba(255,184,46,.28)}
.tdGhost{display:flex;align-items:center;justify-content:center;height:44px;border:1px solid var(--br);
  border-radius:12px;color:var(--t1);font-size:13px;font-weight:700;text-decoration:none}
.tdGhost:hover{border-color:var(--ouro);color:var(--ouro)}
/* abas da agenda */
.tdAbas{display:flex;gap:7px;margin-bottom:12px}
.tdAba{flex:1;height:38px;border-radius:10px;border:1px solid var(--br);background:var(--s3);color:var(--t3);
  font:inherit;font-size:12.5px;font-weight:750;cursor:pointer}
.tdAba.on{border-color:var(--ouro);color:var(--ouro);background:rgba(255,184,46,.1)}
.tdAgenda[hidden]{display:none}
.tdHora{display:flex;align-items:center;gap:14px;padding:11px 0;border-left:3px solid var(--ouro);padding-left:13px}
.tdHora + .tdHora{border-top:1px solid var(--br)}
.tdHora .h{width:52px;flex:0 0 52px;font-size:14px;font-weight:800;color:var(--t1)}
.tdHora .t{flex:1;min-width:0}
.tdHora .t b{display:block;font-size:13.5px;font-weight:750;color:var(--t1)}
.tdHora .t small{display:block;font-size:12px;color:var(--t3);margin-top:3px}
.tdHora form{margin:0}
.tdBtPeq{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 17px;border-radius:9px;
  border:1px solid var(--ouro);background:transparent;color:var(--ouro);font:inherit;font-size:12.5px;font-weight:750;
  cursor:pointer;text-decoration:none}
.tdBtPeq:hover{background:rgba(255,184,46,.12)}
/* linhas de aluno */
.tdAluno{display:flex;align-items:center;gap:12px;padding:10px 0}
.tdAluno + .tdAluno{border-top:1px solid var(--br)}
.tdAluno .foto{width:42px;height:42px;flex:0 0 42px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:var(--t2)}
.tdAluno .foto img{width:100%;height:100%;object-fit:cover}
.tdAluno .t{flex:1;min-width:0}
.tdAluno .t b{display:block;font-size:13.5px;font-weight:750;color:var(--t1)}
.tdAluno .t small{display:block;font-size:12px;margin-top:3px;color:var(--t3)}
.tdAluno .t small.alerta{color:#E0575A}
.tdAluno .t small.aviso{color:#E6A23C}
.tdAlerta{width:26px;flex:0 0 26px;text-align:center;font-size:15px}
.tdBarra{height:7px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:7px}
.tdBarra i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2FBF7C,#5FE0A8)}
/* turmas */
.tdTurmas{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.tdTurma{border:1px solid var(--br);border-radius:13px;background:var(--s3);padding:13px}
.tdTurma b{display:block;font-size:13.5px;font-weight:800;color:var(--t1);line-height:1.3}
.tdTurma .caras{display:flex;margin:11px 0}
.tdTurma .caras span{width:30px;height:30px;border-radius:50%;overflow:hidden;background:var(--s1);
  border:2px solid var(--s3);margin-right:-8px;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;color:var(--t2)}
.tdTurma .caras span img{width:100%;height:100%;object-fit:cover}
.tdTurma small{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--t3);margin-top:4px}
.tdTurma .bt{display:flex;align-items:center;justify-content:center;height:36px;margin-top:11px;border-radius:9px;
  border:1px solid var(--br);color:var(--t1);font-size:12.5px;font-weight:700;text-decoration:none}
.tdTurma .bt:hover{border-color:var(--ouro);color:var(--ouro)}
/* material */
.tdMat{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
.tdMatItem{text-decoration:none;color:inherit}
.tdMatItem .capa{aspect-ratio:1/1;border-radius:11px;overflow:hidden;border:1px solid var(--br);background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:26px}
.tdMatItem .capa img{width:100%;height:100%;object-fit:cover}
.tdMatItem b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);margin-top:9px}
.tdMatItem small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.tdMatItem:hover b{color:var(--ouro)}
/* feedback */
.tdNota{display:flex;align-items:center;gap:13px;margin-bottom:14px}
.tdNota em{font-style:normal;font-size:30px}
.tdNota b{font-size:32px;font-weight:900;color:var(--t1);line-height:1}
.tdNota small{display:block;font-size:12px;color:var(--t3);margin-top:4px}
.tdFrase{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--br);min-height:180px;
  display:flex;align-items:center;padding:22px}
.tdFrase > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tdFrase::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,14,22,.55),rgba(6,14,22,.9))}
.tdFrase p{position:relative;z-index:2;margin:0;font-family:Georgia,serif;font-style:italic;font-size:19px;color:#fff;
  line-height:1.45}
.tdVazio{font-size:12.5px;color:var(--t3);line-height:1.6}
@media (max-width:1100px){ .tdNums{grid-template-columns:1fr 1fr} .tdGrid{grid-template-columns:1fr} }
@media (max-width:760px){ .tdNums{grid-template-columns:1fr} .tdHero > img{width:100%;opacity:.25}
  .tdProxBts{width:100%} }
/* P441 (mockup dela): a tela de Provas. */
/* P443 (mockup dela): a Minha Agenda do professor. */
/* P444 (mockup dela): a tela Meus Alunos do professor. */
/* P445 (mockup dela): a tela Minhas Turmas do professor. */
/* P446 (mockup dela): a tela Aulas VIP do professor. */
/* P486: CHECK-IN DE 30 DIAS (reaproveita .pp*). */
.ckProf{display:flex;align-items:center;gap:13px;border:1px solid var(--br);border-radius:15px;
  background:var(--s3);padding:14px 16px;margin-bottom:10px;text-decoration:none}
.ckProf:hover{border-color:var(--ouro)}
.ckProf.off{opacity:.55}
.ckProf .foto{width:48px;height:48px;flex:0 0 48px;border-radius:50%;overflow:hidden;background:var(--s2);
  border:1px solid var(--br);display:flex;align-items:center;justify-content:center;font-size:16px;
  font-weight:800;color:var(--t2)}
.ckProf .foto img{width:100%;height:100%;object-fit:cover}
.ckProf .t{flex:1;min-width:0}
.ckProf .t b{display:block;font-size:13.5px;font-weight:750;color:var(--t1)}
.ckProf .t small{display:block;font-size:11.5px;color:var(--t3);margin-top:3px;line-height:1.5}
.ckPassos{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin-bottom:14px}
.ckPasso{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--t3)}
.ckPasso i{width:26px;height:26px;flex:0 0 26px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-style:normal;font-size:11px;font-weight:800;border:1px solid var(--br);
  background:var(--s3);color:var(--t3)}
.ckPasso.ok i{background:rgba(255,185,46,.18);border-color:rgba(255,185,46,.5);color:var(--ouro)}
.ckPasso.on{color:var(--ouro);font-weight:750}
.ckPasso.on i{background:var(--ouro);border-color:var(--ouro);color:#0B0F14}
.ckLinha{flex:1;min-width:26px;height:1px;background:var(--br);margin:0 11px}
.ckAjuda{margin:-10px 0 16px;font-size:12.5px;color:var(--t3);line-height:1.6}
.ckLik{display:flex;align-items:stretch;gap:9px;margin-bottom:12px}
.ckLik label{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  border:1px solid var(--br);border-radius:13px;background:var(--s3);padding:15px 6px;cursor:pointer}
.ckLik input{position:absolute;opacity:0;width:0;height:0}
.ckLik b{font-size:19px;font-weight:850;color:var(--t2)}
.ckLik small{font-size:10px;color:var(--t3);text-align:center;line-height:1.3}
.ckLik label:hover{border-color:rgba(255,185,46,.45)}
.ckLik label:has(input:checked),.ckLik label.on{border-color:var(--ouro);background:rgba(255,185,46,.08)}
.ckLik label:has(input:checked) b,.ckLik label.on b{color:var(--ouro)}
.ckPolos{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-6px 0 16px;
  font-size:10.5px;color:var(--t3)}
.ckTxt{width:100%;min-height:124px;border:1px solid var(--br);border-radius:13px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:13px;padding:13px 14px;box-sizing:border-box;resize:vertical;
  line-height:1.6}
.ckPriv{display:flex;align-items:flex-start;gap:10px;border:1px solid rgba(78,155,255,.35);
  border-radius:13px;background:rgba(78,155,255,.07);padding:12px 14px;margin:13px 0 0}
.ckPriv em{font-style:normal;font-size:15px;flex:0 0 auto;margin-top:1px}
.ckPriv p{margin:0;font-size:11.5px;color:var(--t2);line-height:1.6}
.ckPriv b{color:var(--t1);font-weight:750}
.ckFimIco{width:64px;height:64px;border-radius:19px;display:flex;align-items:center;justify-content:center;
  font-size:28px;background:rgba(61,214,140,.16);border:1px solid rgba(61,214,140,.45);margin-bottom:14px}

/* fila de alertas do admin */
.alFila{border:1px solid var(--br);border-radius:15px;background:var(--s2);padding:15px 17px;
  margin-bottom:10px;border-left:3px solid var(--c,#8FA3B8)}
.alFila .h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin-bottom:8px}
.alFila .h b{font-size:14px;font-weight:800;color:var(--t1)}
.alFila .h small{display:block;font-size:11.5px;color:var(--t3);margin-top:3px}
.alFila .motivo{margin:0 0 11px;font-size:12.5px;color:var(--t2);line-height:1.6}
.alFila .grade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}
.alFila .grade span{border:1px solid var(--br);border-radius:11px;background:var(--s3);padding:10px 12px}
.alFila .grade b{display:block;font-size:17px;font-weight:850;color:var(--c2,var(--t1));line-height:1}
.alFila .grade small{display:block;font-size:10.5px;color:var(--t3);margin-top:4px;line-height:1.4}
.alPede{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:11px}
.alAberta{border:1px solid var(--br);border-radius:12px;background:var(--s3);padding:11px 13px;
  margin-bottom:8px}
.alAberta b{display:block;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.03em;
  text-transform:uppercase;margin-bottom:5px}
.alAberta p{margin:0;font-size:12.5px;color:var(--t1);line-height:1.6;white-space:pre-wrap;
  overflow-wrap:anywhere}
.alFila .alAcoes{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;
  gap:9px;flex-wrap:wrap;margin:12px 0 0}
.alFila .alAcoes input[type=text]{flex:1 1 220px;width:auto;min-width:0;height:38px;
  align-self:center;border:1px solid var(--br);border-radius:10px;background:var(--s1);
  color:var(--t1);font:inherit;font-size:12.5px;padding:0 12px;box-sizing:border-box}
.alFila .alAcoes .mxBt{flex:0 0 auto}
@media (max-width:820px){ .alFila .grade{grid-template-columns:repeat(2,minmax(0,1fr))} }
/* P491: microexposicao opcional e experiencia ao vivo. Visualmente
   OPCIONAL de proposito -- borda tracejada, sem check, sem barra de
   progresso, nada que pareca tarefa. */
.mxOpc{border:1px dashed var(--br);border-radius:16px;background:transparent;padding:16px 18px;
  margin-bottom:14px}
.mxOpc>b{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:750;color:var(--t2);
  margin-bottom:4px}
.mxOpc>b i{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--t3);border:1px solid var(--br);border-radius:999px;
  padding:2px 8px}
.mxOpc>p{margin:0 0 13px;font-size:11.5px;color:var(--t3);line-height:1.6}
.mxLista{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px}
.mxItem{display:flex;align-items:center;gap:10px;border:1px solid var(--br);border-radius:12px;
  background:var(--s3);padding:10px 12px;text-decoration:none;min-width:0}
.mxItem:hover{border-color:rgba(255,185,46,.4)}
.mxItem em{font-style:normal;font-size:15px;flex:0 0 auto}
.mxItem span{min-width:0;flex:1}
.mxItem b{display:block;font-size:12px;font-weight:700;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.mxItem small{display:block;font-size:10.5px;color:var(--t3);margin-top:2px}
.mxViva{display:flex;align-items:flex-start;gap:12px;border:1px dashed rgba(201,154,91,.5);
  border-radius:14px;background:rgba(201,154,91,.06);padding:13px 15px;margin-top:10px}
.mxViva em{font-style:normal;font-size:17px}
.mxViva b{display:block;font-size:12.5px;font-weight:750;color:var(--t1)}
.mxViva p{margin:3px 0 0;font-size:11.5px;color:var(--t2);line-height:1.6}
.mxViva a{display:inline-block;margin-top:7px;font-size:11.5px;color:var(--ouro);
  text-decoration:none}
.plFonte{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;
  color:var(--t3);border:1px solid var(--br);border-radius:999px;padding:1px 7px;margin-left:6px}
/* P489: PERFIL 360 DO ALUNO (admin) — abas, resumo e evidencias. */
.iaAbas{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}
.iaAba{display:inline-flex;align-items:center;gap:7px;height:35px;padding:0 14px;border-radius:11px;
  border:1px solid var(--br,#1e3a4c);background:var(--s2,#0f2832);color:var(--t3,#7d94a1);font-size:12.5px;font-weight:700;
  text-decoration:none;white-space:nowrap}
.iaAba:hover{border-color:rgba(255,185,46,.4);color:var(--t2,#b8c7d0)}
.iaAba.on{background:var(--ouro,#e6a23c);border-color:var(--ouro,#e6a23c);color:#0B0F14}
.iaAba i{font-style:normal;font-size:13px}
.iaResumo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.iaBox{border:1px solid var(--br,#1e3a4c);border-radius:14px;background:var(--s2,#0f2832);padding:13px 15px;
  border-left:3px solid var(--c,#8FA3B8);min-width:0}
.iaBox b{display:block;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:var(--t3,#7d94a1);margin-bottom:6px}
.iaBox strong{display:block;font-size:14px;font-weight:800;color:var(--t1,#f5f7f8);line-height:1.4;
  overflow:hidden;text-overflow:ellipsis}
.iaBox small{display:block;font-size:11px;color:var(--t3,#7d94a1);margin-top:4px;line-height:1.5}
@media (max-width:1000px){ .iaResumo{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .iaResumo{grid-template-columns:1fr} }
.iaSel{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;
  font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
  border:1px solid var(--c,#8FA3B8);color:var(--c,#8FA3B8);white-space:nowrap}
.iaSel i{width:7px;height:7px;border-radius:50%;background:var(--c,#8FA3B8);display:block}

/* o cartao de evidencia — o formato dos exemplos dela */
.iaEv{border:1px solid var(--br,#1e3a4c);border-radius:15px;background:var(--s2,#0f2832);padding:15px 17px;
  margin-bottom:11px;border-left:3px solid var(--c,#8FA3B8)}
.iaEv .h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin-bottom:10px}
.iaEv .h b{font-size:13.5px;font-weight:800;color:var(--t1,#f5f7f8);letter-spacing:.02em}
.iaEv .h small{display:block;font-size:11px;color:var(--t3,#7d94a1);margin-top:3px}
.iaLinhas{display:flex;flex-direction:column;gap:6px;margin-bottom:11px}
.iaLinha{display:flex;align-items:baseline;gap:10px;font-size:12.5px;line-height:1.5}
.iaLinha span{flex:0 0 auto;min-width:150px;color:var(--t3,#7d94a1);font-size:11.5px}
.iaLinha b{color:var(--t1,#f5f7f8);font-weight:750;font-variant-numeric:tabular-nums}
.iaCit{border-left:2px solid var(--br,#1e3a4c);padding:2px 0 2px 12px;margin:0 0 11px;font-size:12.5px;
  color:var(--t2,#b8c7d0);line-height:1.6;font-style:italic;white-space:pre-wrap;overflow-wrap:anywhere}
.iaSt{display:inline-flex;align-items:center;gap:7px;border-radius:9px;padding:6px 11px;
  font-size:11px;font-weight:800;letter-spacing:.03em;border:1px solid var(--c,#8FA3B8);
  color:var(--c,#8FA3B8);background:var(--s3,#0f2a3a)}
.iaRod{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  margin-top:11px}
.iaRod a{font-size:11.5px;color:var(--ouro,#e6a23c);text-decoration:none}

/* barras de dimensao (perfil & diagnosticos) */
.iaDims{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
@media (max-width:820px){ .iaDims{grid-template-columns:1fr} }
.iaDim b{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12px;
  font-weight:700;color:var(--t2,#b8c7d0);margin-bottom:5px}
.iaDim b i{font-style:normal;font-size:12.5px;font-weight:800;color:var(--c,#8FA3B8);
  font-variant-numeric:tabular-nums}
.iaBarra{height:6px;border-radius:999px;background:var(--s3,#0f2a3a);overflow:hidden}
.iaBarra i{display:block;height:100%;border-radius:999px;background:var(--c,#8FA3B8)}
.iaDim small{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;
  color:var(--t3,#7d94a1);margin-top:4px}

/* timeline */
.iaTl{position:relative;padding-left:23px}
.iaTl:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:1px;background:var(--br,#1e3a4c)}
.iaTlIt{position:relative;padding:0 0 15px}
.iaTlIt:before{content:"";position:absolute;left:-20px;top:5px;width:9px;height:9px;border-radius:50%;
  background:var(--c,#8FA3B8);border:2px solid var(--s1,#0a1e2b)}
.iaTlIt b{display:block;font-size:12.5px;font-weight:750;color:var(--t1,#f5f7f8);line-height:1.5}
.iaTlIt p{margin:3px 0 0;font-size:12px;color:var(--t2,#b8c7d0);line-height:1.55}
.iaTlIt small{display:block;font-size:10.5px;color:var(--t3,#7d94a1);margin-top:4px}
.iaTlIt em{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  color:var(--c,#8FA3B8);margin-right:7px}
.iaSemana{display:flex;align-items:center;gap:11px;padding:8px 0;border-bottom:1px solid var(--br,#1e3a4c);
  font-size:12.5px}
.iaSemana:last-child{border-bottom:0}
.iaSemana span:first-child{flex:0 0 110px;color:var(--t3,#7d94a1);font-size:11.5px}
.iaSemana .b{flex:1;height:7px;border-radius:999px;background:var(--s3,#0f2a3a);overflow:hidden}
.iaSemana .b i{display:block;height:100%;border-radius:999px;background:var(--c,#8FA3B8)}
.iaSemana .v{flex:0 0 96px;text-align:right;color:var(--t1,#f5f7f8);font-weight:750;
  font-variant-numeric:tabular-nums}
.iaResp{margin-top:16px;border-top:1px solid var(--br,#1e3a4c);padding-top:13px}
.iaResp summary{cursor:pointer;font-size:12.5px;font-weight:750;color:var(--ouro,#e6a23c);
  list-style:none}
.iaResp summary::-webkit-details-marker{display:none}
.iaResp summary:before{content:"▸ ";display:inline-block;transition:transform .15s}
.iaResp[open] summary:before{content:"▾ "}
.iaRespIt{border-left:2px solid var(--br,#1e3a4c);padding:2px 0 2px 12px;margin-bottom:11px}
.iaRespIt b{display:block;font-size:12px;font-weight:700;color:var(--t2,#b8c7d0);line-height:1.5}
.iaRespIt span{display:block;font-size:12.5px;color:var(--t1,#f5f7f8);margin-top:3px;line-height:1.5}
.iaRespIt small{display:block;font-size:10.5px;color:var(--t3,#7d94a1);margin-top:3px}
.iaVazio{border:1px dashed var(--br,#1e3a4c);border-radius:14px;background:var(--s3,#0f2a3a);padding:18px 16px;
  font-size:12.5px;color:var(--t3,#7d94a1);line-height:1.7;margin:0}
/* P488: ADAPTATION LOOP — o cartao que aparece dentro do Plano de
   Estudos. Nao tem pagina, entao nao tem casca: so este bloco. */
.lpCard{border:1px solid rgba(255,185,46,.42);border-radius:18px;background:var(--s2,#0f2832);
  padding:19px 21px;margin-bottom:16px;position:relative;overflow:hidden}
.lpCard:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--ouro,#e6a23c)}
.lpCab{display:flex;align-items:center;gap:11px;margin-bottom:11px}
.lpCab em{font-style:normal;font-size:20px;flex:0 0 auto}
.lpCab b{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ouro,#e6a23c)}
.lpCard h3{margin:0 0 6px;font-size:16px;font-weight:800;color:var(--t1,#f5f7f8);line-height:1.45}
.lpEv{margin:0 0 15px;font-size:11.5px;color:var(--t3,#7d94a1);line-height:1.6}
.lpOpcs{display:flex;flex-direction:column;gap:8px;margin-bottom:13px}
/* margin:0 e obrigatorio: existe uma regra global de margem em LABEL
   (16px em cima, 7px embaixo), e sem zerar ela cada opcao ganhava 23px
   de folga a mais do que o gap pedia. */
.lpOpc{display:flex;align-items:center;gap:11px;margin:0;border:1px solid var(--br,#1e3a4c);
  border-radius:13px;background:var(--s3,#0f2a3a);padding:12px 14px;cursor:pointer;font-size:13px;
  color:var(--t1,#f5f7f8)}
.lpOpc input{position:absolute;opacity:0;width:0;height:0}
.lpOpc i{width:17px;height:17px;flex:0 0 17px;border-radius:50%;border:1px solid var(--br,#1e3a4c);
  display:block}
.lpOpc:hover{border-color:rgba(255,185,46,.45)}
.lpOpc.on{border-color:var(--ouro,#e6a23c);background:rgba(255,185,46,.08)}
.lpOpc.on i{border-color:var(--ouro,#e6a23c);background:var(--ouro,#e6a23c);box-shadow:inset 0 0 0 3px var(--s3,#0f2a3a)}
.lpTxt{width:100%;min-height:78px;border:1px solid var(--br,#1e3a4c);border-radius:13px;background:var(--s3,#0f2a3a);
  color:var(--t1,#f5f7f8);font:inherit;font-size:12.5px;padding:11px 13px;box-sizing:border-box;
  resize:vertical;line-height:1.6;margin-bottom:12px}
.lpNav{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.lpBt{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 17px;
  border:1px solid var(--br,#1e3a4c);border-radius:11px;background:var(--s3,#0f2a3a);color:var(--t2,#b8c7d0);font:inherit;
  font-size:12.5px;font-weight:700;text-decoration:none;cursor:pointer}
.lpBt.ouro{background:var(--ouro,#e6a23c);border-color:var(--ouro,#e6a23c);color:#0B0F14}
.lpBt:disabled{opacity:.45;cursor:default}
.lpNota{margin:11px 0 0;font-size:11px;color:var(--t3,#7d94a1);line-height:1.6}
.lpNota b{color:var(--t2,#b8c7d0)}

/* historico do loop, no perfil do aluno (admin/professor) */
.lpHist{display:flex;flex-direction:column;gap:9px}
.lpIt{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--br,#1e3a4c);border-radius:13px;
  background:var(--s3,#0f2a3a);padding:12px 14px;border-left:3px solid var(--c,#8FA3B8)}
.lpIt em{font-style:normal;font-size:11px;font-weight:800;color:var(--c,#8FA3B8);flex:0 0 auto;
  margin-top:2px;width:16px;text-align:center}
.lpIt .t{flex:1;min-width:0}
.lpIt .t b{display:block;font-size:12.5px;font-weight:750;color:var(--t1,#f5f7f8)}
.lpIt .t p{margin:4px 0 0;font-size:12px;color:var(--t2,#b8c7d0);line-height:1.6}
.lpDelta{display:inline-flex;align-items:center;gap:7px;margin-top:6px;font-size:11.5px;
  color:var(--t3,#7d94a1);font-variant-numeric:tabular-nums;flex-wrap:wrap}
.lpDelta code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;
  background:var(--s1,#0a1e2b);border:1px solid var(--br,#1e3a4c);border-radius:7px;padding:2px 7px;color:var(--t2,#b8c7d0)}
.lpIt .t small{display:block;font-size:10.5px;color:var(--t3,#7d94a1);margin-top:6px;line-height:1.5}
.lpNiv{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 9px;
  font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
  border:1px solid var(--c,#8FA3B8);color:var(--c,#8FA3B8)}
/* P487: CHECK-IN DO PLANO DE ESTUDOS (reaproveita .pp* e .ck*). */
.pfPlano{border:1px solid var(--br);border-radius:15px;background:var(--s2);padding:15px 17px;
  margin-bottom:12px}
.pfPlano .h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:3px}
.pfPlano .h b{font-size:13px;font-weight:800;color:var(--t1)}
.pfPlano .h a{font-size:11.5px;color:var(--ouro);text-decoration:none;white-space:nowrap}
.pfPlano .tot{display:block;font-size:11.5px;color:var(--t3);margin-bottom:11px}
.pfPlano ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.pfPlano li{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--t2)}
.pfPlano li i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--c,#8FA3B8)}
.pfPlano li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pfPlano li b{font-size:12px;font-weight:750;color:var(--t1);font-variant-numeric:tabular-nums}
.pfDet{display:block;font-size:11px;color:var(--t3);margin-top:3px;line-height:1.4}
.pfVazio{border:1px dashed var(--br);border-radius:14px;background:var(--s3);padding:18px 16px;
  font-size:12.5px;color:var(--t3);line-height:1.7;margin:0}
.pfCartao{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:15px;
  background:var(--s3);padding:14px 16px;margin-bottom:10px;border-left:3px solid var(--c,#8FA3B8)}
.pfCartao em{font-style:normal;font-size:17px;flex:0 0 auto;line-height:1.3}
.pfCartao .t{flex:1;min-width:0}
.pfCartao .t>b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);margin-bottom:4px}
.pfCartao .t p{margin:0;font-size:12px;color:var(--t2);line-height:1.6}
.pfCartao .t small{display:block;font-size:11px;color:var(--t3);margin-top:5px;line-height:1.5}
.pfPerg{margin:0 0 8px;padding-left:17px;position:relative;font-size:12.5px;color:var(--t2);
  line-height:1.6}
.pfPerg:before{content:"?";position:absolute;left:0;top:0;font-size:11px;font-weight:800;
  color:var(--ouro)}
.pfSug{display:flex;align-items:center;gap:9px;flex-wrap:wrap;border:1px solid var(--br);
  border-radius:12px;background:var(--s3);padding:11px 13px;margin-bottom:8px}
.pfSug .t{flex:1;min-width:180px;font-size:12.5px;color:var(--t1);line-height:1.6}
.pfSug .t small{display:block;font-size:11px;color:var(--t3);margin-top:3px}
.pfSug form{display:inline}
/* P485: a ficha "Como ensinar este aluno" (professor). */
.faTopo{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:13px}
.faFoto{width:56px;height:56px;flex:0 0 56px;border-radius:50%;overflow:hidden;background:var(--s3);
  border:1px solid var(--br);display:flex;align-items:center;justify-content:center;font-size:19px;
  font-weight:800;color:var(--t2)}
.faFoto img{width:100%;height:100%;object-fit:cover}
.faTopo .tx{flex:1;min-width:220px}
.faTopo h1{margin:0 0 5px;font-size:25px;font-weight:850;color:var(--t1);letter-spacing:-.015em}
.faTopo .meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11.5px;color:var(--t3)}
.faTopo .meta span{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;
  border:1px solid var(--br);background:var(--s3)}
.faAbas{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:13px;
  border-bottom:1px solid var(--br);padding-bottom:11px}
.faAba{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px;border:1px solid var(--br);
  border-radius:11px;background:var(--s2);color:var(--t2);font-size:12.5px;font-weight:700;
  text-decoration:none}
.faAba:hover{border-color:var(--ouro);color:var(--ouro)}
.faAba.on{border-color:transparent;background:linear-gradient(135deg,#FFC44D,#F0A016);color:#0B0F14}
.faGrade{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px;align-items:start}
.fa30{border:1px solid rgba(255,185,46,.35);border-radius:16px;padding:17px 19px;margin-bottom:12px;
  background:linear-gradient(140deg,rgba(255,185,46,.14),rgba(255,185,46,.03))}
.fa30 .cab{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;
  flex-wrap:wrap}
.fa30 .cab b{font-size:14px;font-weight:850;color:var(--ouro)}
.fa30 p{margin:0;font-size:13.5px;color:var(--t1);line-height:1.65}
.fa30 small{display:block;margin-top:10px;font-size:10.5px;color:var(--t3);line-height:1.5}
.faSelo{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;
  font-size:10px;font-weight:750;color:var(--c,#8FA3B8);
  border:1px solid color-mix(in srgb, var(--c,#8FA3B8) 45%, transparent);
  background:color-mix(in srgb, var(--c,#8FA3B8) 12%, transparent);white-space:nowrap}
.faCard{border:1px solid var(--br);border-radius:16px;background:var(--s2);padding:16px 18px;
  margin-bottom:12px}
.faCab{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.faCab b{display:block;font-size:14.5px;font-weight:800;color:var(--t1)}
.faCab small{display:block;font-size:11.5px;color:var(--t3);margin-top:3px;line-height:1.5}
.faDims{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 22px}
.faDim{min-width:0}
  /* P494 (0684): as preferencias na ficha do professor. Banda em
     palavra, numero pequeno ao lado -- e a secao inteira recolhida,
     porque acao vem antes de score. */
  .faGrupoT{margin:14px 0 6px;font-size:11px;font-weight:800;letter-spacing:.5px;
    text-transform:uppercase;color:var(--t3, #8FA3B8)}
  .faPref{padding:9px 0;border-top:1px solid var(--border, rgba(255,255,255,.07))}
  .faPref .h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .faPref .h b{font-size:13px;color:var(--t1, #EAF0F6)}
  .faPref .h i{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;
    color:var(--t3, #8FA3B8)}
  .faPref p{margin:5px 0 0;font-size:12.5px;line-height:1.65;color:var(--t2, #C3CFDB)}
  .faPref small{display:block;margin-top:4px;font-size:11px;color:var(--t3, #8FA3B8)}
  .faBanda{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:99px;
    border:1px solid currentColor;opacity:.92}
  .faBanda-weak_signal{color:#8FA3B8}
  .faBanda-moderate_signal{color:#FFB92E}
  .faBanda-strong_signal{color:#3DD68C}
  .faFrase{margin:2px 0 0;font-size:13px;line-height:1.7;color:var(--t2, #C3CFDB)}
  .faNota{margin:12px 0 0;font-size:11.5px;line-height:1.6;color:var(--t3, #8FA3B8)}
  /* A dificuldade percebida na tela do aluno: bloco proprio, separado
     das preferencias de proposito. */
  .apPerc{margin-top:14px;padding:11px 13px;border-radius:12px;
    background:rgba(78,155,255,.09);border:1px solid rgba(78,155,255,.22)}
  .apPerc b{display:block;font-size:12px;font-weight:800;color:var(--t1, #EAF0F6)}
  .apPerc p{margin:5px 0 0;font-size:13.5px;line-height:1.6;color:var(--t2, #C3CFDB)}
  .apPerc small{display:block;margin-top:6px;font-size:11px;color:var(--t3, #8FA3B8)}
  .iaSep{height:1px;margin:14px 0;background:var(--border, rgba(255,255,255,.08))}
  /* P494 (0684): no admin, o score normalizado e a informacao
     PRINCIPAL. Proveniencia, evidencia e bruto sao metadado de
     auditoria e nao podem competir com ele visualmente -- sobretudo
     porque "1 de 2" e "1 de 9" tem a mesma cara e significados
     diferentes; destacar isso convidaria a comparacao errada. */
  .iaDim b .iaScore{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;
    color:var(--t1, #EAF0F6);opacity:1}
  .iaDim .iaMeta{margin-top:3px;font-size:9.5px;line-height:1.5;letter-spacing:.1px;
    color:var(--t3, #8FA3B8);opacity:.62;font-weight:500}
.faDimTopo{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:5px}
.faDimTopo b{font-size:12px;font-weight:700;color:var(--t2)}
.faDimTopo span{font-size:12px;font-weight:800;color:var(--c,#FFB92E);font-variant-numeric:tabular-nums}
.faBar{height:7px;border-radius:999px;background:var(--s3);overflow:hidden}
.faBar i{display:block;height:100%;border-radius:999px;background:var(--c,#FFB92E)}
.faFato{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--br);
  font-size:12.5px;color:var(--t2)}
.faFato:last-of-type{border-bottom:0}
.faFato b{color:var(--t1);font-weight:800;min-width:78px;font-variant-numeric:tabular-nums}
.faItem{display:flex;align-items:flex-start;gap:11px;padding:10px 0;border-bottom:1px solid var(--br)}
.faItem:last-of-type{border-bottom:0}
.faItem > em{width:22px;height:22px;flex:0 0 22px;margin-top:1px;border-radius:7px;display:flex;
  align-items:center;justify-content:center;font-style:normal;font-size:11px;
  background:color-mix(in srgb, var(--c,#3DD68C) 16%, transparent);
  border:1px solid color-mix(in srgb, var(--c,#3DD68C) 40%, transparent);color:var(--c,#3DD68C)}
.faItem .t{flex:1;min-width:0}
.faItem .t b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);margin-bottom:2px}
.faItem .t span{display:block;font-size:12px;color:var(--t2);line-height:1.55}
.faItem .t small{display:block;font-size:10.5px;color:var(--t3);margin-top:4px;font-style:italic}
.faDica{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--br);
  font-size:12.5px;color:var(--t2);line-height:1.6}
.faDica:last-of-type{border-bottom:0}
.faDica i{font-style:normal;color:var(--ouro);flex:0 0 auto;margin-top:1px}
.faAgir{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.faAgirIt{border:1px solid var(--br);border-radius:13px;background:var(--s3);padding:12px 14px}
.faAgirIt .h{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.faAgirIt .h em{font-style:normal;font-size:14px}
.faAgirIt .h b{font-size:12.5px;font-weight:800;color:var(--t1)}
.faAgirIt .h i{font-style:normal;font-size:9.5px;font-weight:800;color:var(--ouro)}
.faAgirIt p{margin:0;font-size:12px;color:var(--t2);line-height:1.6}
.faVazio{margin:0;padding:14px 2px;font-size:12.5px;color:var(--t3);line-height:1.65}
.faVazio b{font-weight:750;color:var(--t2)}
.faFontes{font-size:11px;color:var(--t3);line-height:1.6}
.faFontes b{color:var(--t2);font-weight:700}
.faFontes span{display:block;padding:5px 0;border-bottom:1px solid var(--br)}
.faFontes span:last-child{border-bottom:0}
@media (max-width:1240px){ .faGrade{grid-template-columns:minmax(0,1fr)} }
@media (max-width:820px){ .faDims,.faAgir{grid-template-columns:minmax(0,1fr)} }
/* P484: PERFIL DE APRENDIZAGEM & EXECUCAO (reaproveita .pp*). */
.apOp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:2px 0 16px}
.apOp > span{border:1px solid var(--br);border-radius:13px;background:var(--s3);padding:13px 14px}
.apOp em{display:block;font-style:normal;font-size:17px;margin-bottom:6px}
.apOp b{display:block;font-size:17px;font-weight:850;color:var(--t1);line-height:1.1}
.apOp small{display:block;font-size:11px;color:var(--t3);margin-top:4px;line-height:1.45}
.apListas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:6px}
.apLista{border:1px solid var(--br);border-radius:13px;background:var(--s3);padding:13px 14px}
.apLista > b{display:block;font-size:11px;font-weight:800;color:var(--t3);letter-spacing:.03em;
  text-transform:uppercase;margin-bottom:8px}
.apLista span{display:inline-flex;align-items:center;gap:5px;margin:0 5px 5px 0;padding:4px 10px;
  border-radius:999px;font-size:11.5px;color:var(--t2);border:1px solid var(--br);background:var(--s2)}
.apLista span.risco{color:#E0575A;border-color:rgba(224,87,90,.4);background:rgba(224,87,90,.08)}
.apLista p{margin:0;font-size:11.5px;color:var(--t3)}
.apRec{display:flex;align-items:flex-start;gap:11px;padding:11px 0;border-bottom:1px solid var(--br)}
.apRec:last-of-type{border-bottom:0}
.apRec > em{width:24px;height:24px;flex:0 0 24px;margin-top:1px;border-radius:7px;display:flex;
  align-items:center;justify-content:center;font-style:normal;font-size:11px;
  background:rgba(255,185,46,.15);border:1px solid rgba(255,185,46,.4)}
.apRec .t{flex:1;min-width:0}
.apRec .t b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);margin-bottom:3px}
.apRec .t span{display:block;font-size:12px;color:var(--t2);line-height:1.55}
.apRec .t small{display:block;font-size:10.5px;color:var(--t3);margin-top:4px;font-style:italic}
.apGrupo{margin:16px 0 6px;font-size:11px;font-weight:800;color:var(--t3);letter-spacing:.03em;
  text-transform:uppercase}
.apMapa{width:100%;border-collapse:collapse;font-size:11.5px}
.apMapa th{text-align:left;font-size:10px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:8px 6px;border-bottom:1px solid var(--br);text-transform:uppercase}
.apMapa td{padding:7px 6px;border-bottom:1px solid var(--br);color:var(--t2);vertical-align:top}
.apMapa tr:last-child td{border-bottom:0}
.apMapa .q{color:var(--t1);font-weight:700;white-space:nowrap}
.apMapa code{font-size:10.5px;color:var(--ouro);background:rgba(255,185,46,.08);border-radius:4px;
  padding:1px 5px}
@media (max-width:980px){
  .apOp{grid-template-columns:repeat(2,minmax(0,1fr))}
  .apListas{grid-template-columns:minmax(0,1fr)}
}
/* P483: MOTOR DE MATCH — a tela do admin. */
.mxGrade{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;align-items:start}
.mxCard .ppTop3{grid-template-columns:minmax(0,1fr);gap:8px}
.mxCard .ppTop3 > span{display:flex;align-items:flex-start;gap:10px;padding:11px 12px}
.mxCard .ppTop3 em{margin:0;flex:0 0 auto;font-size:17px}
.mxCard{border:1px solid var(--br);border-radius:16px;background:var(--s2);padding:16px 17px;
  margin-bottom:11px}
.mxCab{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.mxCab b{display:block;font-size:14.5px;font-weight:800;color:var(--t1)}
.mxCab small{display:block;font-size:11.5px;color:var(--t3);margin-top:3px;line-height:1.5}
.mxAviso{border:1px solid rgba(255,185,46,.3);border-radius:13px;padding:12px 14px;margin-bottom:12px;
  background:rgba(255,185,46,.06);font-size:12px;color:var(--t2);line-height:1.6}
.mxAviso b{font-weight:750;color:var(--t1)}

.mxFiltros{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;margin-bottom:12px}
.mxF{display:flex;flex-direction:column;gap:5px;min-width:0}
.mxF label{font-size:10.5px;font-weight:750;color:var(--t3);letter-spacing:.02em}
.mxF select,.mxF input{width:auto;flex:0 0 auto;box-sizing:border-box;height:38px;padding:0 11px;
  border:1px solid var(--br);border-radius:10px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12.5px}
.mxF.chk{flex-direction:row;align-items:center;gap:7px;height:38px}
.mxF.chk input{width:16px;height:16px;flex:0 0 16px}
.mxF.chk label{font-size:12px;color:var(--t2)}

.mxProf{border:1px solid var(--br);border-radius:15px;background:var(--s2);margin-bottom:10px;
  overflow:hidden}
.mxProf[open]{border-color:rgba(255,185,46,.4)}
.mxProf > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:13px;
  padding:14px 16px}
.mxProf > summary::-webkit-details-marker{display:none}
.mxPos{width:28px;height:28px;flex:0 0 28px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;font-size:12px;font-weight:800;background:var(--s3);color:var(--t3);
  border:1px solid var(--br)}
.mxProf:first-of-type .mxPos{background:rgba(255,185,46,.2);border-color:rgba(255,185,46,.5);
  color:var(--ouro)}
.mxFoto{width:40px;height:40px;flex:0 0 40px;border-radius:50%;overflow:hidden;background:var(--s3);
  border:1px solid var(--br);display:flex;align-items:center;justify-content:center;font-size:14px;
  font-weight:800;color:var(--t2)}
.mxFoto img{width:100%;height:100%;object-fit:cover}
.mxNome{flex:1;min-width:0}
.mxNome b{display:block;font-size:13.5px;font-weight:750;color:var(--t1)}
.mxNome small{display:block;font-size:11px;color:var(--t3);margin-top:2px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.mxScore{flex:0 0 auto;text-align:right}
.mxScore b{display:block;font-size:21px;font-weight:850;color:var(--c,#3DD68C);line-height:1;
  font-variant-numeric:tabular-nums}
.mxScore small{display:block;font-size:9.5px;color:var(--t3);margin-top:3px;letter-spacing:.02em}
.mxChips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:0 0 auto;max-width:280px}
.mxChip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;
  font-size:10px;font-weight:700;color:var(--c,#8FA3B8);
  border:1px solid color-mix(in srgb, var(--c,#8FA3B8) 45%, transparent);
  background:color-mix(in srgb, var(--c,#8FA3B8) 12%, transparent);white-space:nowrap}
.mxCorpo{padding:2px 16px 16px;border-top:1px solid var(--br)}
.mxSec{margin-top:14px}
.mxSec > b{display:block;font-size:11px;font-weight:800;color:var(--t3);letter-spacing:.03em;
  text-transform:uppercase;margin-bottom:8px}
.mxLinha{display:grid;grid-template-columns:150px 1fr 54px;gap:11px;align-items:center;
  padding:7px 0;border-bottom:1px solid var(--br)}
.mxLinha:last-child{border-bottom:0}
.mxLinha .nm{font-size:11.5px;color:var(--t2);display:flex;align-items:center;gap:5px;min-width:0}
.mxLinha .nm i{font-style:normal;color:var(--ouro);font-size:10px}
.mxLinha .nm span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mxBarra{position:relative;height:9px;border-radius:999px;background:var(--s3)}
.mxBarra u{position:absolute;top:0;left:0;height:100%;border-radius:999px;background:var(--c,#3DD68C)}
.mxBarra i{position:absolute;top:-3px;width:3px;height:15px;border-radius:2px;background:var(--t3);
  opacity:.55}
.mxLinha .vl{text-align:right;font-size:11.5px;font-weight:750;color:var(--t2);
  font-variant-numeric:tabular-nums}
.mxPq{border:1px solid var(--br);border-radius:12px;background:var(--s3);padding:12px 14px;
  margin-top:13px}
.mxPq > b{display:block;font-size:12px;font-weight:800;color:var(--t1);margin-bottom:7px}
.mxPq p{margin:0 0 7px;font-size:12px;color:var(--t2);line-height:1.6}
.mxPq p:last-child{margin-bottom:0}
.mxPq p b{font-weight:750;color:var(--t1)}
.mxConfirma{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}
.mxConfirma input[type=text]{flex:1 1 220px;min-width:0;height:40px;border:1px solid var(--br);
  border-radius:10px;background:var(--s1);color:var(--t1);font:inherit;font-size:12.5px;
  padding:0 12px;box-sizing:border-box}
.mxBt{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 17px;border:1px solid var(--br);
  border-radius:10px;background:var(--s3);color:var(--t1);font-size:12.5px;font-weight:750;
  text-decoration:none;cursor:pointer;font-family:inherit;white-space:nowrap}
.mxBt:hover{border-color:var(--ouro);color:var(--ouro)}
.mxBt.ouro{border-color:transparent;background:linear-gradient(135deg,#FFC44D,#F0A016);color:#0B0F14}
.mxFora{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--br);
  font-size:12px;color:var(--t3)}
.mxFora:last-of-type{border-bottom:0}
.mxFora b{color:var(--t2);font-weight:700;min-width:130px}
.mxAtual{display:flex;align-items:center;gap:12px;border:1px solid rgba(61,214,140,.4);
  border-radius:14px;background:rgba(61,214,140,.07);padding:13px 15px;margin-bottom:11px}
.mxAtual .t{flex:1;min-width:0}
.mxAtual .t b{display:block;font-size:13px;font-weight:750;color:var(--t1)}
.mxAtual .t small{display:block;font-size:11.5px;color:var(--t3);margin-top:3px;line-height:1.5}
.mxVazio{margin:0;padding:18px 2px;font-size:12.5px;color:var(--t3);line-height:1.65}
.mxVazio b{font-weight:750;color:var(--t2)}
.mxAluno{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--br);
  text-decoration:none}
.mxAluno:last-of-type{border-bottom:0}
.mxAluno .t{flex:1;min-width:0}
.mxAluno .t b{display:block;font-size:12.5px;font-weight:700;color:var(--t1)}
.mxAluno .t small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
.mxAluno:hover .t b{color:var(--ouro)}
@media (max-width:1240px){ .mxGrade{grid-template-columns:minmax(0,1fr)} }
@media (max-width:860px){
  .mxLinha{grid-template-columns:110px 1fr 46px}
  .mxChips{display:none}
}
/* P482: PERFIL PEDAGOGICO DO ALUNO (reaproveita o .pp* do professor). */
.ppPrio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:6px}
.ppPrioIt{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:14px;
  background:var(--s3);padding:13px 15px;cursor:pointer;min-width:0}
.ppPrioIt input{position:absolute;opacity:0;width:0;height:0}
.ppPrioIt > em{font-style:normal;font-size:19px;flex:0 0 auto;line-height:1.2}
.ppPrioIt .t{flex:1;min-width:0}
.ppPrioIt .t b{display:block;font-size:13px;font-weight:750;color:var(--t1);margin-bottom:3px}
.ppPrioIt .t small{display:block;font-size:11.5px;color:var(--t3);line-height:1.5}
.ppPrioIt:hover{border-color:rgba(255,185,46,.45)}
.ppPrioIt:has(input:checked),.ppPrioIt.on{border-color:var(--ouro);background:rgba(255,185,46,.08)}
.ppPrioIt:has(input:checked) .t b,.ppPrioIt.on .t b{color:var(--ouro)}
.ppPrioIt.cheio{opacity:.42}
.ppConta{display:flex;align-items:center;gap:9px;margin:0 0 15px;font-size:12.5px;color:var(--t3)}
.ppConta b{color:var(--ouro);font-weight:800}

.ppTop3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:2px 0 18px}
.ppTop3 > span{border:1px solid rgba(255,185,46,.35);border-radius:14px;padding:13px 14px;
  background:linear-gradient(140deg,rgba(255,185,46,.13),rgba(255,185,46,.03))}
.ppTop3 em{display:block;font-style:normal;font-size:19px;margin-bottom:6px}
.ppTop3 b{display:block;font-size:13px;font-weight:800;color:var(--t1);margin-bottom:3px}
.ppTop3 small{display:block;font-size:11.5px;color:var(--t3);line-height:1.5}
.ppFrasesLista > span{display:flex;align-items:flex-start;gap:11px;padding:11px 0;
  border-bottom:1px solid var(--br)}
.ppFrasesLista > span:last-child{border-bottom:0}
.ppFrasesLista i{width:22px;height:22px;flex:0 0 22px;margin-top:1px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-style:normal;font-size:11px;
  background:rgba(255,185,46,.14);border:1px solid rgba(255,185,46,.35)}
.ppFrasesLista .t{flex:1;min-width:0}
.ppFrasesLista .t b{display:block;font-size:11px;font-weight:750;color:var(--t3);letter-spacing:.02em;
  text-transform:uppercase;margin-bottom:3px}
.ppFrasesLista .t span{display:block;font-size:13px;color:var(--t1);line-height:1.55}
.ppFrasesLista .t span.forte{color:var(--ouro)}
@media (max-width:820px){
  .ppPrio,.ppTop3{grid-template-columns:minmax(0,1fr)}
}
/* P481: PERFIL DE CONDUCAO PEDAGOGICA DO PROFESSOR. */
.ppVoltar{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--t3);
  text-decoration:none;margin-bottom:11px}
.ppVoltar:hover{color:var(--ouro)}
.ppHero{position:relative;display:flex;align-items:flex-start;gap:16px;margin-bottom:15px;
  padding:4px 0}
.ppHero > em{width:56px;height:56px;flex:0 0 56px;border-radius:16px;display:flex;align-items:center;
  justify-content:center;font-style:normal;font-size:24px;background:rgba(255,185,46,.15);
  border:1px solid rgba(255,185,46,.42)}
.ppHero .tx{flex:1;min-width:240px}
.ppHero h1{margin:0 0 7px;font-size:30px;font-weight:850;color:var(--t1);letter-spacing:-.015em}
.ppHero h1 b{color:var(--ouro);font-weight:850}
.ppHero p{margin:0;font-size:13px;color:var(--t3);line-height:1.6;max-width:680px}
.ppArte{width:270px;flex:0 0 270px;height:118px;border-radius:16px;overflow:hidden;
  background:linear-gradient(135deg,rgba(255,185,46,.22),rgba(139,92,246,.16));border:1px solid var(--br)}
.ppArte img{width:100%;height:100%;object-fit:cover}

.ppGrade{display:grid;grid-template-columns:minmax(0,1fr) 312px;gap:12px;align-items:start}
.ppCard{border:1px solid var(--br);border-radius:18px;background:var(--s2);padding:20px 22px}
.ppCab{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px}
.ppCab b{font-size:13px;font-weight:750;color:var(--ouro)}
.ppCab span{font-size:13px;font-weight:750;color:var(--t2)}
.ppBarra{height:6px;border-radius:999px;background:var(--s3);overflow:hidden;margin-bottom:20px}
.ppBarra i{display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,#FFB92E,#F5A623)}
.ppPergunta{margin:0 0 17px;font-size:19px;font-weight:800;color:var(--t1);line-height:1.4;
  text-wrap:balance}
.ppOpc{display:flex;align-items:center;gap:14px;border:1px solid var(--br);border-radius:14px;
  background:var(--s3);padding:14px 16px;margin-bottom:10px;cursor:pointer}
.ppOpc input{position:absolute;opacity:0;width:0;height:0}
.ppOpc em{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-style:normal;font-size:13px;font-weight:800;color:var(--t2);
  border:1px solid var(--br);background:var(--s2)}
.ppOpc span{flex:1;min-width:0;font-size:13.5px;color:var(--t2);line-height:1.5}
.ppOpc:hover{border-color:rgba(255,185,46,.45)}
.ppOpc:has(input:checked),.ppOpc.on{border-color:var(--ouro);background:rgba(255,185,46,.07)}
.ppOpc:has(input:checked) em,.ppOpc.on em{background:var(--ouro);border-color:var(--ouro);color:#0B0F14}
.ppOpc:has(input:checked) span,.ppOpc.on span{color:var(--t1)}
.ppOpc:focus-within{outline:2px solid rgba(255,185,46,.5);outline-offset:2px}
.ppPorque{display:flex;gap:11px;border:1px solid var(--br);border-radius:13px;background:var(--s3);
  padding:13px 15px;margin:17px 0 18px}
.ppPorque > em{font-style:normal;font-size:15px;flex:0 0 auto;margin-top:1px}
.ppPorque b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);margin-bottom:3px}
.ppPorque p{margin:0;font-size:11.5px;color:var(--t3);line-height:1.6}
.ppNav{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ppBt{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;border:1px solid var(--br);
  border-radius:12px;background:var(--s3);color:var(--t1);font-size:13px;font-weight:750;
  text-decoration:none;cursor:pointer;font-family:inherit}
.ppBt:hover{border-color:var(--ouro);color:var(--ouro)}
.ppBt.ouro{border-color:transparent;background:linear-gradient(135deg,#FFC44D,#F0A016);color:#0B0F14}
.ppBt.ouro:hover{color:#0B0F14;filter:brightness(1.06)}
.ppBt[disabled]{opacity:.45;cursor:not-allowed}
.ppBt.vazio{visibility:hidden}

.ppLado{display:flex;flex-direction:column;gap:12px}
.ppProg{display:flex;align-items:center;gap:15px;border:1px solid var(--br);border-radius:16px;
  background:var(--s2);padding:15px 16px}
.ppProg svg{width:74px;height:74px;flex:0 0 74px}
.ppProg .n{flex:1;min-width:0}
.ppProg .n b{display:block;font-size:14.5px;font-weight:800;color:var(--t1)}
.ppProg .n small{display:block;font-size:11.5px;color:var(--t3);margin-top:3px}
.ppEtapas{border:1px solid var(--br);border-radius:16px;background:var(--s2);padding:13px 15px}
.ppEtapa{display:flex;align-items:center;gap:11px;padding:8px 0;font-size:12.5px;color:var(--t3)}
.ppEtapa i{width:24px;height:24px;flex:0 0 24px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-style:normal;font-size:11px;font-weight:800;border:1px solid var(--br);
  background:var(--s3);color:var(--t3)}
.ppEtapa.ok i{background:rgba(255,185,46,.18);border-color:rgba(255,185,46,.5);color:var(--ouro)}
.ppEtapa.on{color:var(--ouro);font-weight:750}
.ppEtapa.on i{background:var(--ouro);border-color:var(--ouro);color:#0B0F14}
.ppAviso{border:1px solid var(--br);border-radius:16px;background:var(--s2);padding:15px 16px}
.ppAviso .tit{display:flex;align-items:center;gap:9px;margin-bottom:7px}
.ppAviso .tit em{font-style:normal;font-size:15px}
.ppAviso .tit b{font-size:13px;font-weight:800;color:var(--ouro)}
.ppAviso p{margin:0;font-size:12px;color:var(--t3);line-height:1.6}
.ppFrase{border:1px solid rgba(255,185,46,.3);border-radius:16px;padding:18px 16px;text-align:center;
  background:linear-gradient(140deg,rgba(255,185,46,.13),rgba(255,185,46,.03))}
.ppFrase em{display:block;font-style:normal;font-size:19px;color:var(--ouro);line-height:1;
  margin-bottom:7px}
.ppFrase p{margin:0;font-size:12.5px;color:var(--t1);line-height:1.55}

/* o resultado */
.ppDim{padding:13px 0;border-bottom:1px solid var(--br)}
.ppDim:last-of-type{border-bottom:0}
.ppDimTopo{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}
.ppDimTopo b{font-size:13px;font-weight:750;color:var(--t1)}
.ppDimTopo .v{font-size:13px;font-weight:800;color:var(--c,#FFB92E);font-variant-numeric:tabular-nums}
.ppRegua{position:relative;height:8px;border-radius:999px;background:var(--s3);margin-bottom:7px}
.ppRegua i{position:absolute;top:-3px;width:14px;height:14px;border-radius:50%;
  background:var(--c,#FFB92E);border:2px solid var(--s2);margin-left:-7px}
.ppRegua u{position:absolute;top:0;left:0;height:100%;border-radius:999px;
  background:color-mix(in srgb, var(--c,#FFB92E) 45%, transparent)}
.ppPolos{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10.5px;
  color:var(--t3);line-height:1.4}
.ppPolos span{max-width:46%}
.ppPolos span:last-child{text-align:right}
.ppAdapt{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:4px 10px;
  border-radius:999px;font-size:10.5px;font-weight:700;color:var(--t2);border:1px solid var(--br);
  background:var(--s3)}
.ppMeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;font-size:11px;
  color:var(--t3)}
.ppMeta span{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;
  border:1px solid var(--br);background:var(--s3)}
.ppNota{margin:15px 0 0;font-size:11.5px;color:var(--t3);line-height:1.65}
.ppNota b{font-weight:750;color:var(--t2)}
.ppHist{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--br);
  font-size:11.5px;color:var(--t3)}
.ppHist:last-of-type{border-bottom:0}
.ppHist b{font-weight:750;color:var(--t1);min-width:62px}
@media (max-width:1240px){ .ppGrade{grid-template-columns:minmax(0,1fr)} }
@media (max-width:860px){
  .ppArte{display:none}
  .ppHero h1{font-size:24px}
  .ppPergunta{font-size:17px}
}
/* P480 (mockup dela): a CENTRAL DE AJUDA da editora. */
.ajAtalhos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:13px}
.ajAtalho{display:flex;align-items:center;gap:12px;border:1px solid var(--br);border-radius:15px;
  background:var(--s2);padding:14px;text-decoration:none;min-width:0}
.ajAtalho:hover{border-color:var(--ouro)}
.ajAtalho > em{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;font-style:normal;font-size:18px;
  background:color-mix(in srgb, var(--c,#8B5CF6) 18%, transparent);
  border:1px solid color-mix(in srgb, var(--c,#8B5CF6) 40%, transparent);color:var(--c,#8B5CF6)}
.ajAtalho .t{flex:1;min-width:0}
.ajAtalho .t b{display:block;font-size:12.5px;font-weight:800;color:var(--t1);margin-bottom:2px}
.ajAtalho .t small{display:block;font-size:11px;color:var(--t3);line-height:1.45}
.ajAtalho .seta{color:var(--t3);font-size:15px;flex:0 0 auto}
.ajAtalho:hover .seta{color:var(--ouro)}

.ajGrade{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:11px;align-items:start}
.ajCard{border:1px solid var(--br);border-radius:16px;background:var(--s2);padding:16px 17px;
  margin-bottom:11px}
.ajCab{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:13px}
.ajCab b{display:block;font-size:15px;font-weight:800;color:var(--t1)}
.ajCab small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.ajCab a{font-size:11.5px;color:var(--ouro);text-decoration:none;white-space:nowrap}

.ajVids{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.ajVid{text-decoration:none;min-width:0}
.ajVid .capa{position:relative;display:flex;align-items:center;justify-content:center;
  width:100%;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:#05070c;
  border:1px solid var(--br);font-size:24px;margin-bottom:8px}
.ajVid .capa img{width:100%;height:100%;object-fit:cover}
.ajVid .capa em{position:absolute;right:6px;bottom:6px;font-style:normal;font-size:10px;
  font-weight:750;color:#fff;background:rgba(0,0,0,.72);border-radius:6px;padding:2px 6px}
.ajVid .capa .pl{position:absolute;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:13px}
.ajVid b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);line-height:1.4}
.ajVid small{display:block;font-size:11px;color:var(--t3);line-height:1.45;margin-top:3px}
.ajVid:hover b{color:var(--ouro)}

.ajMats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ajMat{display:flex;align-items:center;gap:11px;border:1px solid var(--br);border-radius:13px;
  background:var(--s3);padding:11px 12px;min-width:0}
.ajMat > em{width:40px;height:40px;flex:0 0 40px;border-radius:11px;display:flex;align-items:center;
  justify-content:center;font-style:normal;font-size:17px;
  background:color-mix(in srgb, var(--c,#8FA3B8) 18%, transparent);
  border:1px solid color-mix(in srgb, var(--c,#8FA3B8) 40%, transparent)}
.ajMat .t{flex:1;min-width:0}
.ajMat .t b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);line-height:1.35}
.ajMat .t small{display:block;font-size:11px;color:var(--t3);margin-top:3px}

.ajFaq{border-bottom:1px solid var(--br)}
.ajFaq:last-of-type{border-bottom:0}
.ajFaq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;
  padding:13px 2px;font-size:12.5px;font-weight:650;color:var(--t1)}
.ajFaq summary::-webkit-details-marker{display:none}
.ajFaq summary span{flex:1;min-width:0}
.ajFaq summary i{font-style:normal;font-size:13px;color:var(--t3);transition:transform .15s}
.ajFaq[open] summary i{transform:rotate(180deg)}
.ajFaq[open] summary{color:var(--ouro)}
.ajFaq p{margin:0 2px 14px;font-size:12px;color:var(--t2);line-height:1.6;white-space:pre-wrap}

.ajComo summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;
  padding:12px 2px;font-size:13px;font-weight:750;color:var(--t1)}
.ajComo summary::-webkit-details-marker{display:none}
.ajComo{border-bottom:1px solid var(--br)}
.ajComo:last-of-type{border-bottom:0}
.ajComo > div{padding:0 2px 15px}
.ajComo p{margin:0 0 9px;font-size:12px;color:var(--t2);line-height:1.6}
.ajComo p:last-child{margin-bottom:0}
.ajComo p b{font-weight:750;color:var(--t1)}
.ajComo ol{margin:0 0 9px;padding-left:19px}
.ajComo li{font-size:12px;color:var(--t2);line-height:1.6;margin-bottom:5px}
.ajComo li b{font-weight:750;color:var(--t1)}
.ajFluxo{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 11px}
.ajFluxo span{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;
  font-size:10.5px;font-weight:750;color:var(--c,#8FA3B8);
  border:1px solid color-mix(in srgb, var(--c,#8FA3B8) 45%, transparent);
  background:color-mix(in srgb, var(--c,#8FA3B8) 12%, transparent)}
.ajFluxo i{font-style:normal;color:var(--t3);font-size:11px}

.ajFrase{display:flex;align-items:center;border:1px solid rgba(139,92,246,.35);border-radius:14px;
  background:linear-gradient(140deg,rgba(139,92,246,.18),rgba(109,59,232,.07));padding:13px 15px;
  font-size:12.5px;color:var(--t1);line-height:1.5;max-width:330px}
.ajFala{border:1px solid var(--br);border-radius:16px;background:var(--s2);padding:16px 17px;
  margin-bottom:11px}
.ajFala h3{margin:0 0 6px;font-size:14.5px;font-weight:800;color:var(--t1)}
.ajFala p{margin:0 0 12px;font-size:12px;color:var(--t3);line-height:1.55}
.ajGrandeBt{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;
  border:0;border-radius:13px;background:linear-gradient(135deg,#8B5CF6,#6D3BE8);color:#fff;
  font-size:13px;font-weight:800;text-decoration:none;box-sizing:border-box}
.ajGrandeBt svg{width:17px;height:17px}
.ajGrandeBt.zap{margin-top:9px;background:linear-gradient(135deg,#25D366,#128C7E)}
.ajDica{display:flex;align-items:flex-start;gap:9px;padding:6px 0;font-size:12px;color:var(--t2);
  line-height:1.5}
.ajDica em{width:19px;height:19px;flex:0 0 19px;margin-top:1px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-style:normal;font-size:10px;color:#8B5CF6;
  background:rgba(139,92,246,.16);border:1px solid rgba(139,92,246,.4)}
.ajVazio{margin:0;padding:15px 2px;font-size:12px;color:var(--t3);line-height:1.6}
.ajVazio b{font-weight:750;color:var(--t2)}
@media (max-width:1320px){ .ajGrade{grid-template-columns:minmax(0,1fr)} }
@media (max-width:1100px){
  .ajAtalhos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ajVids{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .ajAtalhos,.ajVids,.ajMats{grid-template-columns:minmax(0,1fr)}
}
/* P479 (mockup dela): o CALENDARIO DE PRODUCAO da editora. */
.ecTopo{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:15px}
.ecIco{width:52px;height:52px;flex:0 0 52px;border-radius:15px;display:flex;align-items:center;
  justify-content:center;background:linear-gradient(140deg,#8B5CF6,#6D3BE8);color:#fff}
.ecIco svg{width:24px;height:24px}
.ecTopo .tx{flex:1;min-width:220px}
.ecTopo h1{margin:0 0 3px;font-size:25px;font-weight:850;color:var(--t1);letter-spacing:-.01em}
.ecTopo .tx p{margin:0;font-size:12.5px;color:var(--t3);line-height:1.5}
.ecTopo .bts{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.ecNav{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.ecNav a.seta{width:38px;height:38px;flex:0 0 38px;display:inline-flex;align-items:center;
  justify-content:center;border:1px solid var(--br);border-radius:11px;background:var(--s2);
  color:var(--t2);text-decoration:none;font-size:17px;line-height:1}
.ecNav a.seta:hover{border-color:var(--ouro);color:var(--ouro)}
.ecNav .rot{display:inline-flex;align-items:center;height:38px;padding:0 16px;border:1px solid var(--br);
  border-radius:11px;background:var(--s2);font-size:13px;font-weight:750;color:var(--t1)}
.ecNav .hoje{font-size:11.5px;color:var(--t3);text-decoration:none}
.ecNav .hoje:hover{color:var(--ouro)}

/* ---- P504: o painel de quem posta ---- */
.soTopo{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.soTopo .tx{flex:1;min-width:260px}
.soTopo h1{margin:0 0 4px;font-size:27px}
.soTopo p{margin:0;font-size:14px;color:var(--t2)}
.soData{display:flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--br);
  border-radius:13px;background:var(--s2)}
.soData svg{width:18px;height:18px;color:var(--t3)}
.soData small{display:block;font-size:10.5px;color:var(--t3)}
.soData b{display:block;font-size:12.5px;color:var(--t1)}
.soTiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:15px}
.soTile{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--br);
  border-radius:15px;background:var(--s2);min-width:0}
.soIco{flex:0 0 auto;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  color:var(--c,#8FA3B8);background:color-mix(in srgb, var(--c,#8FA3B8) 15%, transparent);
  border:1px solid color-mix(in srgb, var(--c,#8FA3B8) 35%, transparent)}
.soIco svg{width:20px;height:20px}
.soN{min-width:0}
.soN b{display:block;font-size:24px;font-weight:800;line-height:1.1;color:var(--t1)}
.soN strong{display:block;font-size:12.5px;font-weight:700;color:var(--t1)}
.soN small{display:block;font-size:11px;color:var(--t3)}
.soGrade{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}
.soLado{display:flex;flex-direction:column;gap:14px}
.soCard{border:1px solid var(--br);border-radius:16px;background:var(--s2);padding:16px 18px;
  margin-bottom:14px}
.soLado .soCard{margin-bottom:0}
.soHoje{border-color:rgba(155,102,255,.45)}
.soAlerta{border-color:rgba(224,87,90,.45)}
.soFoco b{display:block;font-size:12.5px;color:var(--t3);margin-bottom:4px}
.soFoco p{margin:0;font-size:13.5px;color:var(--t1);line-height:1.5}
.soCab{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.soCab b{display:block;font-size:15px}
.soCab small{display:block;font-size:12px;color:var(--t3)}
.soCab2{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:11px}
.soCab2 b{font-size:15px}
.soCab2 a{font-size:12px;color:var(--ouro);text-decoration:none}
.soHojeCx{display:grid;grid-template-columns:190px minmax(0,1fr) 250px;gap:16px;align-items:start}
.soCapa{display:grid;place-items:center;aspect-ratio:1/1;border-radius:13px;overflow:hidden;
  background:var(--s3);font-size:38px;text-decoration:none}
.soCapa img{width:100%;height:100%;object-fit:cover;display:block}
.soCapa em{font-style:normal}
.soHojeTx h3{margin:6px 0 3px;font-size:19px}
.soHojeTx p{margin:0 0 8px;font-size:13.5px;color:var(--t2);line-height:1.45}
.soMeta{display:block;font-size:12px;color:var(--t3);margin-bottom:13px}
.soSt{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;
  font-size:11px;font-weight:750;color:var(--c,#8FA3B8);
  background:color-mix(in srgb, var(--c,#8FA3B8) 14%, transparent);
  border:1px solid color-mix(in srgb, var(--c,#8FA3B8) 38%, transparent);white-space:nowrap}
.soBt{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:42px;padding:0 18px;
  border-radius:12px;background:var(--ouro);color:#0B1F2A;font-size:13.5px;font-weight:750;
  text-decoration:none}
.soBt:hover{filter:brightness(1.07)}
.soBt2{flex:0 0 auto;font-size:12px;color:var(--ouro);text-decoration:none;white-space:nowrap}
.soPacote{border:1px solid var(--br);border-radius:13px;background:var(--s3);padding:13px}
.soPacote b{display:block;font-size:12.5px;margin-bottom:9px}
.soIt{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--t3);padding:3px 0;
  line-height:1.4}
.soIt i{flex:0 0 12px;font-style:normal;font-weight:800;color:var(--t3)}
.soIt>span{flex:1;min-width:0}
.soIt.sim{color:var(--t1)}
.soIt.sim i{color:#3DD68C}
.soIt em{flex:0 0 auto;font-style:normal;font-size:10px;font-weight:800;color:#E0575A;
  padding:1px 6px;border-radius:999px;background:rgba(224,87,90,.14);
  border:1px solid rgba(224,87,90,.4)}
.soNota{display:block;font-size:11.5px;color:var(--t3);line-height:1.5;margin-top:10px}
.soVazio{margin:0;font-size:13px;color:var(--t3);line-height:1.55}
.soLinha{display:flex;align-items:center;gap:11px;padding:9px 0;border-top:1px solid var(--br);
  text-decoration:none}
.soLinha:first-of-type{border-top:0}
.soMini{flex:0 0 42px;width:42px;height:42px;border-radius:10px;overflow:hidden;background:var(--s3);
  display:grid;place-items:center;font-size:17px}
.soMini img{width:100%;height:100%;object-fit:cover;display:block}
.soLinha .t{flex:1;min-width:0}
.soLinha b{display:block;font-size:13px;color:var(--t1)}
.soLinha small{display:block;font-size:11.5px;color:var(--t3)}
.soFila{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.soProx{display:flex;flex-direction:column;gap:5px;padding:10px;border:1px solid var(--br);
  border-radius:12px;background:var(--s3);text-decoration:none;min-width:0}
.soProx small{font-size:10.5px;color:var(--t3)}
.soProx .soMini{width:100%;height:78px;flex:none;border-radius:9px}
.soProx b{font-size:12px;color:var(--t1)}
.soProx .tt{font-size:11px;color:var(--t3);line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.soProx .soSt{align-self:flex-start}
.soLem{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:7px}
.soLem li{font-size:12.5px;color:var(--t2);line-height:1.45}
@media (max-width:1100px){
  .soGrade{grid-template-columns:minmax(0,1fr)}
  .soHojeCx{grid-template-columns:150px minmax(0,1fr)}
  .soPacote{grid-column:1/-1}
}
@media (max-width:760px){
  .soTiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .soHojeCx{grid-template-columns:minmax(0,1fr)}
}

/* ---- P511: CRM Comercial ---- */
.crTopo{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.crTopo .tx{flex:1;min-width:230px}
.crTopo h1{margin:0 0 3px;font-size:26px}
.crTopo p{margin:0;font-size:13.5px;color:var(--t2)}
.crIco{flex:0 0 auto;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;
  color:#9B66FF;background:rgba(155,102,255,.15);border:1px solid rgba(155,102,255,.4)}
.crIco svg{width:21px;height:21px}
.crErro{border:1px solid rgba(224,87,90,.5);background:rgba(224,87,90,.1);border-radius:12px;
  padding:11px 14px;margin-bottom:12px;font-size:13px;color:#E0575A}
.crFiltros{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.crFiltros select{height:34px;padding:0 10px;border-radius:9px;border:1px solid var(--br);
  background:var(--s2);color:var(--t1);font:inherit;font-size:12.5px;width:auto}
.crBt,.crBt2{height:34px;padding:0 14px;border-radius:9px;border:0;font:inherit;font-size:12.5px;
  font-weight:750;cursor:pointer;background:var(--ouro);color:#0B1F2A;white-space:nowrap}
.crBt2{background:transparent;border:1px solid var(--br);color:var(--t2)}
.crTiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:12px}
.crTile{padding:14px 16px;border:1px solid var(--br);border-radius:14px;background:var(--s2)}
.crTile b{display:block;font-size:23px;font-weight:800;line-height:1.15}
.crTile strong{display:block;font-size:12.5px;font-weight:700;margin-top:2px}
.crTile small{display:block;font-size:11px;color:var(--t3)}
.crNovo{border:1px solid var(--br);border-radius:14px;background:var(--s2);padding:12px 16px;
  margin-bottom:12px}
.crNovo summary{cursor:pointer;font-size:13px;font-weight:750;color:var(--ouro)}
.crForm{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
.crForm input,.crForm select{height:36px;padding:0 11px;border-radius:9px;border:1px solid var(--br);
  background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;flex:1;min-width:140px;width:auto}
.crFunil{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);gap:9px;margin-bottom:13px;overflow-x:auto;padding-bottom:6px}
.crCol{border:1px solid var(--br);border-top:3px solid var(--c,#8FA3B8);border-radius:13px;
  background:var(--s2);display:flex;flex-direction:column;min-width:0}
.crColCab{display:flex;align-items:center;gap:7px;padding:10px 11px 6px}
.crN{width:18px;height:18px;border-radius:6px;display:grid;place-items:center;font-size:10px;
  font-weight:800;color:#0B1F2A;background:var(--c,#8FA3B8)}
.crColCab b{flex:1;font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.crQtd{font-size:11px;font-weight:800;color:var(--t3)}
.crColVal{padding:0 11px 9px;font-size:13px;font-weight:800;color:var(--t1)}
.crSemVal{font-size:10.5px;font-weight:400;color:var(--t3)}
.crPilha{display:flex;flex-direction:column;gap:7px;padding:0 8px 9px;flex:1}
.crLead{border:1px solid var(--br);border-radius:10px;background:var(--s3);padding:9px 10px;
  min-width:0}
.crLead.frio{border-color:rgba(224,87,90,.45)}
.crTopoL{display:flex;align-items:baseline;gap:7px}
.crTopoL{align-items:flex-start}
.crTopoL b{flex:1;font-size:12px;min-width:0;line-height:1.3;word-break:break-word}
.crVal{font-size:10.5px;font-weight:800;color:#3DD68C;white-space:nowrap}
.crOrig{display:inline-block;margin-top:5px;padding:2px 7px;border-radius:999px;font-size:9.5px;
  font-weight:800;color:var(--c,#8FA3B8);
  background:color-mix(in srgb, var(--c,#8FA3B8) 15%, transparent)}
.crLead small{display:block;margin-top:4px;font-size:10.5px;color:var(--t3);line-height:1.35}
.crQuando.frio{color:#E0575A;font-weight:700}
.crPerda{color:#E0575A!important}
.crAcao{margin-top:7px}
.crAcao summary{cursor:pointer;font-size:10.5px;font-weight:800;color:var(--t3);
  list-style:none;padding:3px 0}
.crAcao summary::-webkit-details-marker{display:none}
.crAcao summary::before{content:"⇄ ";}
.crAcao summary:hover{color:var(--ouro)}
.crAcao[open] summary{color:var(--ouro)}
.crMover{display:flex;flex-direction:column;gap:5px;margin:6px 0 0}
.crMover select,.crMover input{height:26px;padding:0 7px;border-radius:7px;border:1px solid var(--br);
  background:var(--s2);color:var(--t1);font:inherit;font-size:10.5px;width:100%}
.crMover button{height:26px;border-radius:7px;border:0;background:var(--ouro);color:#0B1F2A;
  font:inherit;font-size:10.5px;font-weight:800;cursor:pointer}
.crVazio{margin:0;padding:10px 2px;font-size:11px;color:var(--t3);line-height:1.5}
.crBaixo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:12px}
.crCard{border:1px solid var(--br);border-radius:14px;background:var(--s2);padding:15px 17px}
.crCard h3{margin:0 0 11px;font-size:14px}
.crFrios{border-color:rgba(224,87,90,.4)}
.crDonut{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.crLeg{display:flex;flex-direction:column;gap:5px;flex:1;min-width:130px}
.crLeg span{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--t2)}
.crLeg i{width:9px;height:9px;border-radius:50%;background:var(--c,#8FA3B8);flex:0 0 auto}
.crLeg b{margin-left:auto;font-size:11.5px;color:var(--t1)}
.crLeg small{font-size:10.5px;color:var(--t3);width:34px;text-align:right}
.crAtiv{display:flex;align-items:flex-start;gap:9px;padding:7px 0;border-top:1px solid var(--br)}
.crAtiv:first-of-type{border-top:0}
.crAtiv button{width:20px;height:20px;border-radius:6px;border:1px solid var(--br);
  background:transparent;color:var(--t3);cursor:pointer;font-size:11px;line-height:1}
.crAtiv button:hover{border-color:#3DD68C;color:#3DD68C}
.crAtiv b{display:block;font-size:12.5px}
.crAtiv small{display:block;font-size:11px;color:var(--t3)}
.crMeta{margin-bottom:11px}
.crMetaCab{display:flex;align-items:baseline;gap:8px;margin-bottom:5px}
.crMetaCab b{font-size:12.5px}
.crMetaCab small{font-size:11px;color:var(--t3)}
.crMetaCab em{margin-left:auto;font-style:normal;font-size:12px;font-weight:800;color:var(--ouro)}
.crBarra{display:block;height:7px;border-radius:999px;background:var(--s3);overflow:hidden}
.crBarra i{display:block;height:100%;border-radius:999px;background:var(--ouro)}
@media (max-width:1200px){ .crFunil{grid-auto-columns:minmax(180px,1fr)}
  .crBaixo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:820px){ .crTiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .crFunil{grid-auto-columns:minmax(170px,82%)} }

/* ---- P512: CRM do Aluno (ciclo de vida) ---- */
.ciTopo{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.ciTopo .tx{flex:1;min-width:220px}
.ciTopo h1{margin:0 0 3px;font-size:26px}
.ciTopo p{margin:0;font-size:13.5px;color:var(--t2)}
.ciIco{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;
  background:var(--s2);border:1px solid var(--br)}
.ciEstados{display:grid;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:9px;
  margin-bottom:13px}
.ciEst{padding:12px 13px;border:1px solid var(--br);border-radius:13px;background:var(--s2);
  border-top:3px solid var(--c);text-decoration:none;color:inherit;display:block}
.ciEst.sel{background:var(--s3);border-color:var(--c)}
.ciEst b{display:block;font-size:23px;line-height:1.1;font-variant-numeric:tabular-nums}
.ciEst strong{display:block;font-size:12.5px;margin-top:3px}
.ciEst small{display:block;font-size:10.5px;color:var(--t3);margin-top:2px;line-height:1.3}
.ciCard{padding:15px 16px;border:1px solid var(--br);border-radius:14px;background:var(--s2);
  margin-bottom:12px}
.ciCard h3{margin:0 0 4px;font-size:15px}
.ciCard>p.ciNota{margin:0 0 10px;font-size:12px;color:var(--t3);line-height:1.45}
.ciVazio{margin:6px 0 0;font-size:12.5px;color:var(--t3);line-height:1.5}
.ciTabWrap{overflow-x:auto;border:1px solid var(--br);border-radius:14px;background:var(--s2);
  margin-bottom:12px}
.ciTab{width:100%;border-collapse:collapse;font-size:12.5px;min-width:1040px}
.ciTab th{text-align:left;padding:9px 11px;font-size:11px;text-transform:uppercase;
  letter-spacing:.04em;color:var(--t3);border-bottom:1px solid var(--br);white-space:nowrap}
.ciTab td{padding:9px 11px;border-bottom:1px solid var(--br);vertical-align:middle}
.ciTab tr:last-child td{border-bottom:0}
.ciTab td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.ciNome b{display:block}
.ciNome small{color:var(--t3);font-size:11px}
.ciPill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;
  background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);
  border:1px solid color-mix(in srgb,var(--c) 45%,transparent);white-space:nowrap}
.ciPorque{display:block;font-size:10.5px;color:var(--t3);margin-top:3px;max-width:230px}
.ciBaixo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.ciDonut{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ciLeg{display:flex;flex-direction:column;gap:4px;font-size:12px}
.ciLeg span{display:flex;align-items:center;gap:7px}
.ciLeg i{width:9px;height:9px;border-radius:3px;background:var(--c);flex:none}
.ciLeg b{margin-left:auto;font-variant-numeric:tabular-nums}
.ciLeg small{color:var(--t3);min-width:34px;text-align:right}
.ciBarra{display:grid;grid-template-columns:110px 1fr 56px;align-items:center;gap:9px;
  margin-bottom:6px;font-size:12px}
.ciBarra span.ciTrilho{display:block;height:8px;border-radius:999px;background:var(--s3);
  overflow:hidden}
.ciBarra span.ciTrilho i{display:block;height:100%;border-radius:999px;background:var(--c, var(--ouro))}
.ciBarra em{font-style:normal;color:var(--t3);text-align:right;font-variant-numeric:tabular-nums}
.ciBarra.sem span.ciTrilho i{background:var(--s4,#5c6b78);opacity:.55}
.ciBarra.sem b{color:var(--t3);font-weight:600}
.ciGrande{font-size:30px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.ciSaida{display:inline-flex;align-items:center;gap:5px}
.ciSaida summary{cursor:pointer;font-size:11px;color:var(--t3);list-style:none}
.ciSaida[open] summary{color:var(--t2)}
.ciForm{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px;padding:9px;border:1px solid var(--br);
  border-radius:11px;background:var(--s3)}
.ciForm select,.ciForm input{padding:6px 8px;border-radius:8px;border:1px solid var(--br);
  background:var(--s2);color:inherit;font-size:12px;min-width:120px}
.ciForm button{padding:6px 12px;border-radius:8px;border:0;background:var(--ouro);color:#1b1206;
  font-weight:700;font-size:12px;cursor:pointer}
.ciAviso{padding:13px 15px;border:1px solid color-mix(in srgb,#FFB92E 45%,transparent);
  border-radius:13px;background:color-mix(in srgb,#FFB92E 10%,transparent);margin-bottom:12px;
  font-size:12.5px;line-height:1.55}
.ciAviso b{display:block;margin-bottom:3px;font-size:13px}
/* ---- saída / volta do aluno (saidaAluno.js) ---- */
.sdWrap{max-width:760px}
.sdWrap h1{margin:4px 0 4px;font-size:22px}
.sdWrap .ciCard{margin-bottom:12px}
.sdWrap .ciCard h3{margin:0 0 8px;font-size:14.5px}
.sdLista{margin:0;padding-left:18px;font-size:13px;line-height:1.6}
.sdLista li{margin-bottom:4px}
.sdCampos{display:flex;flex-wrap:wrap;gap:8px}
.sdCampos select,.sdCampos input{padding:8px 10px;border-radius:9px;border:1px solid var(--br);
  background:var(--s3);color:inherit;font:inherit;font-size:13px;min-width:160px}
.sdCampos input[name=observacao]{flex:1;min-width:220px}
.sdItem{display:flex;align-items:center;gap:9px;padding:7px 0;border-top:1px solid var(--br);font-size:13px}
.sdItem:first-of-type{border-top:0}
.sdItem input{width:17px;height:17px;accent-color:var(--ouro)}
.sdBotoes{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:6px}
.sdConfirma{padding:11px 20px;border-radius:11px;border:0;background:var(--ouro);color:#1b1206;
  font:inherit;font-weight:800;font-size:14px;cursor:pointer}
.sdBotoes a{color:var(--t2);font-size:13px}
/* ---- retenção por professora (rp) ---- */
.ciTab.rpTab{min-width:0}
.rpNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.rpNums small{display:block;font-size:11px;color:var(--t3);text-transform:uppercase;letter-spacing:.04em}
.rpNums b{font-size:17px;font-variant-numeric:tabular-nums}
.rpFiltro{margin:0 0 12px}
.ciForm label{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--t2)}
.rpLink{background:none;border:0;padding:0;color:var(--t2);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}
@media (max-width:1200px){ .ciBaixo{grid-template-columns:minmax(0,1fr)} }

/* ---- P513: ficha do comercial (prefixo fc) ---- */
.fcVolta{display:inline-block;margin-bottom:11px;font-size:12.5px;color:var(--t2);
  text-decoration:none}
.fcVolta:hover{color:var(--ouro)}
.fcCapa{display:flex;align-items:flex-start;gap:16px;padding:16px;border:1px solid var(--br);
  border-radius:16px;background:var(--s2);margin-bottom:13px;flex-wrap:wrap}
.fcFoto{width:86px;height:86px;border-radius:18px;object-fit:cover;background:var(--s3);flex:none}
.fcFoto.vazia{display:grid;place-items:center;font-size:30px;font-weight:800;color:var(--t3)}
.fcId{flex:1;min-width:230px}
.fcId h1{margin:0 0 3px;font-size:25px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.fcSelo{font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;
  background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);
  border:1px solid color-mix(in srgb,var(--c) 45%,transparent)}
.fcId .fcPapel{margin:0 0 5px;font-size:13px;color:var(--t2)}
.fcId .fcCtt{margin:0;font-size:12.5px;color:var(--t3);display:flex;gap:14px;flex-wrap:wrap}
.fcMes{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fcMes select{padding:8px 11px;border-radius:10px;border:1px solid var(--br);background:var(--s3);
  color:inherit;font-size:12.5px}
.fcMes button{padding:8px 14px;border-radius:10px;border:0;background:var(--ouro);color:#1b1206;
  font-weight:700;font-size:12.5px;cursor:pointer}
.fcAbas{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}
.fcAba{padding:8px 15px;border-radius:11px;border:1px solid var(--br);background:var(--s2);
  font-size:12.5px;text-decoration:none;color:var(--t2);white-space:nowrap}
.fcAba.on{background:var(--ouro);color:#1b1206;font-weight:700;border-color:transparent}
.fcAba.off{opacity:.45;cursor:default}
.fcTiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:10px;
  margin-bottom:13px}
.fcTile{padding:13px 15px;border:1px solid var(--br);border-radius:14px;background:var(--s2)}
.fcTile small.rot{display:block;font-size:11.5px;color:var(--t3);margin-bottom:5px}
.fcTile b{display:block;font-size:25px;line-height:1.1;font-variant-numeric:tabular-nums}
.fcDelta{display:block;font-size:11.5px;margin-top:4px;font-variant-numeric:tabular-nums}
.fcDelta.sobe{color:#3DD68C}
.fcDelta.desce{color:#E0575A}
.fcDelta.nada{color:var(--t3)}
.fcCols{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:12px;
  margin-bottom:12px}
.fcCard{padding:15px 16px;border:1px solid var(--br);border-radius:14px;background:var(--s2)}
.fcCard h3{margin:0 0 4px;font-size:15px}
.fcCard p.fcNota{margin:0 0 11px;font-size:12px;color:var(--t3);line-height:1.45}
.fcVazio{margin:7px 0 0;font-size:12.5px;color:var(--t3);line-height:1.5}
.fcFunil{display:flex;flex-direction:column;gap:6px}
.fcDeg{display:grid;grid-template-columns:1fr 52px;align-items:center;gap:10px}
.fcBar{display:flex;align-items:center;gap:9px;padding:8px 13px;border-radius:9px;
  background:color-mix(in srgb,var(--c) 26%,var(--s3));border-left:3px solid var(--c);
  min-width:38%}
.fcBar b{font-variant-numeric:tabular-nums;font-size:14px}
.fcBar span{font-size:12.5px;color:var(--t2)}
.fcDeg em{font-style:normal;font-size:12px;color:var(--t3);text-align:right;
  font-variant-numeric:tabular-nums}
.fcPasso{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center;
  padding:7px 0;border-bottom:1px solid var(--br);font-size:12.5px}
.fcPasso:last-child{border-bottom:0}
.fcPasso b{font-weight:700;font-variant-numeric:tabular-nums}
.fcPasso small{display:block;color:var(--t3);font-size:11px}
.fcDois{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:11px}
.fcTempo{padding:11px 13px;border:1px solid var(--br);border-radius:12px;background:var(--s3)}
.fcTempo b{display:block;font-size:17px;font-variant-numeric:tabular-nums}
.fcTempo small{display:block;font-size:11px;color:var(--t3);margin-top:3px;line-height:1.4}
.fcTres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.fcLinha{display:grid;grid-template-columns:118px 1fr 62px;align-items:center;gap:9px;
  margin-bottom:6px;font-size:12px}
.fcLinha span.tr{display:block;height:8px;border-radius:999px;background:var(--s3);overflow:hidden}
.fcLinha span.tr i{display:block;height:100%;border-radius:999px;background:var(--c)}
.fcLinha em{font-style:normal;color:var(--t3);text-align:right;font-variant-numeric:tabular-nums}
.fcLinha.sem b{color:var(--t3);font-weight:600}
.fcLinha.sem span.tr i{opacity:.4}
.fcDonut{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.fcLeg{display:flex;flex-direction:column;gap:4px;font-size:12px;min-width:150px}
.fcLeg span{display:flex;align-items:center;gap:7px}
.fcLeg i{width:9px;height:9px;border-radius:3px;background:var(--c);flex:none}
.fcLeg b{margin-left:auto;font-variant-numeric:tabular-nums}
.fcLeg small{color:var(--t3);min-width:36px;text-align:right}
.fcCart{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:9px}
.fcCartI{padding:11px 12px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  border-top:3px solid var(--c)}
.fcCartI b{display:block;font-size:22px;font-variant-numeric:tabular-nums;line-height:1.1}
.fcCartI small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
.fcFeed{display:flex;flex-direction:column;gap:2px;max-height:290px;overflow-y:auto}
.fcAtiv{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--br);
  font-size:12.5px}
.fcAtiv:last-child{border-bottom:0}
.fcAtiv i{font-style:normal;flex:none;width:22px;text-align:center}
.fcAtiv span{flex:1;min-width:0}
.fcAtiv small{display:block;color:var(--t3);font-size:11px}
.fcAtiv time{color:var(--t3);font-size:11px;white-space:nowrap}
.fcMetas{width:100%;border-collapse:collapse;font-size:12.5px}
.fcMetas th{text-align:left;padding:8px 10px;font-size:11px;text-transform:uppercase;
  letter-spacing:.04em;color:var(--t3);border-bottom:1px solid var(--br)}
.fcMetas td{padding:8px 10px;border-bottom:1px solid var(--br);font-variant-numeric:tabular-nums}
.fcMetas tr:last-child td{border-bottom:0}
.fcMetas td.st{font-weight:700;font-variant-numeric:normal}
.fcSvg{width:100%;height:auto;display:block}
@media (max-width:1100px){ .fcCols,.fcTres{grid-template-columns:minmax(0,1fr)} }
@media (max-width:620px){ .fcDois{grid-template-columns:minmax(0,1fr)} }

/* ---- P514: o inicio da closer (prefixo cl) ---- */
.clTopo{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.85fr);
  gap:12px;margin-bottom:13px}
.clOi{display:flex;align-items:center;gap:15px;padding:16px;border:1px solid var(--br);
  border-radius:16px;background:var(--s2)}
.clOi img,.clOi .ini{width:66px;height:66px;border-radius:50%;object-fit:cover;flex:none}
.clOi .ini{display:grid;place-items:center;background:var(--s3);font-size:24px;font-weight:800;
  color:var(--t3)}
.clOi h1{margin:0 0 3px;font-size:25px}
.clOi p{margin:0;font-size:13px;color:var(--t2)}
.clFrase{padding:16px 18px;border:1px solid var(--br);border-radius:16px;background:var(--s2);
  display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.45}
.clFrase em{font-style:normal;font-size:27px;color:var(--ouro);line-height:1;flex:none}
.clDia{padding:16px;border:1px solid var(--br);border-radius:16px;background:var(--s2)}
.clDia b{display:block;font-size:13.5px;margin-bottom:5px}
.clDia small{display:block;font-size:12.5px;color:var(--t2);line-height:1.5}
.clMetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:10px;
  margin-bottom:13px}
.clMeta{padding:13px 14px;border:1px solid var(--br);border-radius:14px;background:var(--s2)}
.clMeta .cab{display:flex;align-items:center;gap:9px;margin-bottom:7px}
.clMeta .cab i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 20%,transparent);color:var(--c);font-style:normal;
  font-size:14px;flex:none}
.clMeta .cab span{font-size:12px;color:var(--t2);line-height:1.25}
.clMeta b{display:block;font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums}
.clMeta small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.clBarra{display:flex;align-items:center;gap:8px;margin-top:8px}
.clBarra span{flex:1;height:7px;border-radius:999px;background:var(--s3);overflow:hidden}
.clBarra span i{display:block;height:100%;border-radius:999px;background:var(--c)}
.clBarra em{font-style:normal;font-size:11.5px;color:var(--t3);font-variant-numeric:tabular-nums}
.clGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.clCard{padding:15px 16px;border:1px solid var(--br);border-radius:15px;background:var(--s2);
  display:flex;flex-direction:column}
.clCard h3{margin:0 0 3px;font-size:15px;display:flex;align-items:center;gap:8px}
.clCard h3 a{margin-left:auto;font-size:12px;font-weight:400;color:var(--t3);
  text-decoration:none}
.clCard h3 a:hover{color:var(--ouro)}
.clCard p.nota{margin:0 0 11px;font-size:11.5px;color:var(--t3);line-height:1.45}
.clVazio{margin:6px 0 0;font-size:12.5px;color:var(--t3);line-height:1.5}
.clAbas{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:11px}
.clAbas label{padding:6px 12px;border-radius:9px;border:1px solid var(--br);background:var(--s3);
  font-size:12px;cursor:pointer}
.clAbas input{position:absolute;opacity:0;width:0;height:0}
.clAbas input:checked+label{background:var(--ouro);color:#1b1206;font-weight:700;
  border-color:transparent}
.clForm{display:grid;gap:9px}
.clDupla{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.clCampo{display:block}
.clCampo b{display:block;font-size:11.5px;color:var(--t2);margin-bottom:4px;font-weight:600}
.clCampo input,.clCampo select,.clCampo textarea{width:100%;padding:9px 11px;border-radius:10px;
  border:1px solid var(--br);background:var(--s3);color:inherit;font-size:13px;
  font-family:inherit;box-sizing:border-box}
.clCampo textarea{min-height:62px;resize:vertical}
.clBt{padding:11px;border-radius:11px;border:0;background:var(--ouro);color:#1b1206;
  font-weight:700;font-size:13.5px;cursor:pointer;width:100%;margin-top:2px}
.clBt.linha{background:none;border:1px dashed var(--br);color:var(--t2);font-weight:600}
.clTarefa{display:flex;align-items:center;gap:10px;padding:9px 0;
  border-bottom:1px solid var(--br)}
.clTarefa:last-of-type{border-bottom:0}
.clTarefa time{font-size:12px;color:var(--t3);font-variant-numeric:tabular-nums;flex:none;
  width:42px}
.clTarefa i{font-style:normal;width:26px;height:26px;border-radius:8px;display:grid;
  place-items:center;background:var(--s3);font-size:13px;flex:none}
.clTarefa .tx{flex:1;min-width:0}
.clTarefa .tx b{display:block;font-size:12.5px;font-weight:600}
.clTarefa .tx small{display:block;font-size:11px;color:var(--t3)}
.clTarefa.feita .tx b{text-decoration:line-through;opacity:.55}
.clTarefa.atrasada time{color:#E0575A;font-weight:700}
.clTarefa button{background:none;border:1px solid var(--br);width:22px;height:22px;
  border-radius:6px;color:var(--t3);cursor:pointer;flex:none;font-size:12px;line-height:1}
.clTarefa.feita button{border-color:#3DD68C;color:#3DD68C}
/* P530: era .clLista e batia de frente com a lista dos clubes, que
   ganhava uma segunda barra de rolagem dentro da barra da pagina. Este
   nome e so do painel de tarefas da closer, que rola de proposito. */
.clTarefas{flex:1;overflow-y:auto;max-height:320px}
.clEtapas{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.clEtapa{padding:10px 11px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  text-decoration:none;color:inherit;display:block}
.clEtapa small{display:block;font-size:10px;color:var(--t3);margin-bottom:4px;
  line-height:1.25;overflow-wrap:anywhere;hyphens:auto}
.clEtapa b{display:block;font-size:21px;line-height:1.1;font-variant-numeric:tabular-nums}
.clEtapa span{display:block;height:4px;border-radius:999px;background:var(--c);margin-top:6px;
  opacity:.85}
.clMat{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--br);
  text-decoration:none;color:inherit;font-size:12.5px}
.clMat:last-of-type{border-bottom:0}
.clMat i{font-style:normal;flex:none}
.clMat span{flex:1;min-width:0}
.clMat em{font-style:normal;color:var(--t3);font-size:14px}
.clSemana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.clDiaCol{padding:9px 8px;border:1px solid var(--br);border-radius:12px;background:var(--s2);
  min-height:130px}
.clDiaCol.hoje{border-color:var(--ouro);background:var(--s3)}
.clDiaCol h4{margin:0 0 8px;font-size:11.5px;text-transform:capitalize;color:var(--t2)}
.clDiaCol.hoje h4{color:var(--ouro)}
.clChip{padding:7px 8px;border-radius:9px;background:var(--s3);border-left:3px solid var(--c);
  margin-bottom:6px}
.clDiaCol.hoje .clChip{background:var(--s2)}
.clChip .h{display:block;font-size:10px;color:var(--t3);font-variant-numeric:tabular-nums;
  margin-bottom:2px}
.clChip b{display:block;font-size:11.5px;line-height:1.35;overflow-wrap:break-word}
.clChip small{display:block;font-size:10px;color:var(--t3);margin-top:2px;
  overflow-wrap:break-word}
.clChip.feita b{text-decoration:line-through;opacity:.5}
.clSemVazio{margin:0;font-size:11px;color:var(--t3)}
@media (max-width:980px){ .clSemana{grid-template-columns:repeat(2,minmax(0,1fr))}
  .clDiaCol{min-height:0} }

/* ---- P515: Minha Carteira (prefixo mc) ---- */
.mcTopo{display:flex;align-items:center;gap:14px;margin-bottom:13px;flex-wrap:wrap}
.mcTopo .tx{flex:1;min-width:230px}
.mcTopo h1{margin:0 0 3px;font-size:26px}
.mcTopo p{margin:0;font-size:13.5px;color:var(--t2)}
.mcExp{padding:10px 16px;border-radius:11px;border:1px solid var(--br);background:var(--s2);
  color:inherit;text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}
.mcExp:hover{border-color:var(--ouro);color:var(--ouro)}
.mcFaixa{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) minmax(230px,.95fr);
  gap:10px;margin-bottom:13px}
.mcTile{padding:13px 14px;border:1px solid var(--br);border-radius:14px;background:var(--s2);
  border-top:3px solid var(--c);text-decoration:none;color:inherit;display:block}
.mcTile.sel{background:var(--s3);border-color:var(--c)}
.mcTile .cab{display:flex;align-items:center;gap:9px;margin-bottom:6px}
.mcTile .cab i{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 20%,transparent);font-style:normal;font-size:13px;
  flex:none}
.mcTile .cab span{font-size:11.5px;color:var(--t2);line-height:1.25}
.mcTile b{display:block;font-size:25px;line-height:1.1;font-variant-numeric:tabular-nums}
.mcTile em{display:block;font-style:normal;font-size:13px;color:var(--c);font-weight:700;
  margin-top:2px}
.mcTile small{display:block;font-size:10.5px;color:var(--t3);margin-top:3px;line-height:1.35}
.mcAnel{padding:13px 14px;border:1px solid var(--br);border-radius:14px;background:var(--s2);
  display:flex;align-items:center;gap:13px}
.mcLeg{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;font-size:11.5px}
.mcLeg span{display:flex;align-items:center;gap:7px}
.mcLeg i{width:8px;height:8px;border-radius:2px;background:var(--c);flex:none}
.mcLeg b{margin-left:auto;font-variant-numeric:tabular-nums}
.mcBarraF{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:11px}
.mcAba{padding:8px 14px;border-radius:10px;border:1px solid var(--br);background:var(--s2);
  font-size:12.5px;text-decoration:none;color:var(--t2);white-space:nowrap}
.mcAba.on{background:var(--ouro);color:#1b1206;font-weight:700;border-color:transparent}
.mcBusca{margin-left:auto;display:flex;gap:7px}
.mcBusca input{padding:8px 12px;border-radius:10px;border:1px solid var(--br);
  background:var(--s2);color:inherit;font-size:12.5px;min-width:200px}
.mcBusca button{padding:8px 14px;border-radius:10px;border:0;background:var(--s3);
  color:inherit;font-size:12.5px;cursor:pointer}
.mcWrap{overflow-x:auto;border:1px solid var(--br);border-radius:14px;background:var(--s2);
  margin-bottom:11px}
.mcTab{width:100%;border-collapse:collapse;font-size:12.5px;min-width:1100px}
.mcTab th{text-align:left;padding:9px 11px;font-size:10.5px;text-transform:uppercase;
  letter-spacing:.04em;color:var(--t3);border-bottom:1px solid var(--br);white-space:nowrap}
.mcTab td{padding:9px 11px;border-bottom:1px solid var(--br);vertical-align:middle}
.mcTab tr:last-child td{border-bottom:0}
.mcTab td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.mcAluno{display:flex;align-items:center;gap:9px;min-width:190px}
.mcAluno img,.mcAluno .ini{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:none}
.mcAluno .ini{display:grid;place-items:center;background:var(--s3);font-size:12px;
  font-weight:700;color:var(--t3)}
.mcAluno b{display:block;font-size:12.5px}
.mcAluno small{display:block;font-size:10.5px;color:var(--t3)}
.mcSelo{display:inline-block;padding:2px 9px;border-radius:999px;font-size:10.5px;
  font-weight:700;white-space:nowrap;
  background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);
  border:1px solid color-mix(in srgb,var(--c) 45%,transparent)}
.mcProg{display:flex;align-items:center;gap:7px;min-width:110px}
.mcProg span{flex:1;height:6px;border-radius:999px;background:var(--s3);overflow:hidden}
.mcProg span i{display:block;height:100%;border-radius:999px;background:#9B66FF}
.mcProg em{font-style:normal;font-size:11px;color:var(--t3);font-variant-numeric:tabular-nums}
.mcPag{display:flex;align-items:center;gap:9px;justify-content:space-between;
  flex-wrap:wrap;margin-bottom:13px;font-size:12px;color:var(--t3)}
.mcPag nav{display:flex;gap:5px}
.mcPag a,.mcPag span.at{padding:5px 10px;border-radius:8px;border:1px solid var(--br);
  text-decoration:none;color:var(--t2);font-size:12px}
.mcPag span.at{background:var(--ouro);color:#1b1206;font-weight:700;border-color:transparent}
.mcBaixo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mcLinha{display:flex;align-items:center;gap:10px;padding:8px 0;
  border-bottom:1px solid var(--br);font-size:12.5px}
.mcLinha:last-of-type{border-bottom:0}
.mcLinha .tx{flex:1;min-width:0}
.mcLinha .tx b{display:block;font-size:12.5px}
.mcLinha .tx small{display:block;font-size:11px;color:var(--t3)}
.mcLinha time{font-size:11px;color:var(--t3);white-space:nowrap}
.mcPonto{width:9px;height:9px;border-radius:50%;background:var(--c);flex:none}
.mcAcoes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.mcAcao{padding:12px 13px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  text-decoration:none;color:inherit;display:flex;align-items:center;gap:9px;font-size:12px;
  line-height:1.3}
.mcAcao:hover{border-color:var(--ouro)}
.mcAcao i{font-style:normal;font-size:16px;flex:none}
@media (max-width:1250px){ .mcFaixa{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mcBaixo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:720px){ .mcFaixa{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mcAcoes{grid-template-columns:minmax(0,1fr)} }

/* ---- P516: Minhas Atividades (prefixo at) ---- */
.atPag{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);gap:12px}
.atTopo{display:flex;align-items:center;gap:14px;margin-bottom:13px;flex-wrap:wrap}
.atTopo .tx{flex:1;min-width:220px}
.atTopo h1{margin:0 0 3px;font-size:26px}
.atTopo p{margin:0;font-size:13px;color:var(--t2)}
.atNav{display:flex;align-items:center;gap:6px;border:1px solid var(--br);border-radius:12px;
  background:var(--s2);padding:5px 6px}
.atNav a{padding:6px 9px;border-radius:8px;text-decoration:none;color:var(--t2);font-size:14px}
.atNav a:hover{background:var(--s3);color:var(--ouro)}
.atNav b{font-size:12.5px;padding:0 6px;white-space:nowrap}
.atTiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}
.atTile{padding:12px 13px;border:1px solid var(--br);border-radius:14px;background:var(--s2);
  text-decoration:none;color:inherit;display:block}
.atTile.sel{background:var(--s3);border-color:var(--c)}
.atTile .cab{display:flex;align-items:center;gap:9px}
.atTile .cab i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 20%,transparent);font-style:normal;font-size:14px;
  flex:none}
.atTile b{display:block;font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}
.atTile small{display:block;font-size:11px;color:var(--t3);line-height:1.3;margin-top:1px}
.atTile .pb{display:block;height:6px;border-radius:999px;background:var(--s3);overflow:hidden;
  margin-top:9px}
.atTile .pb i{display:block;height:100%;border-radius:999px;background:var(--c)}
.atTile .pl{display:block;text-align:right;font-size:10.5px;color:var(--t3);margin-top:3px;
  font-variant-numeric:tabular-nums}
.atBarra{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:11px}
.atAba{padding:7px 13px;border-radius:10px;border:1px solid var(--br);background:var(--s2);
  font-size:12.5px;text-decoration:none;color:var(--t2);white-space:nowrap}
.atAba.on{background:var(--ouro);color:#1b1206;font-weight:700;border-color:transparent}
.atFiltros{margin-left:auto;display:flex;gap:7px}
.atFiltros select{padding:7px 11px;border-radius:10px;border:1px solid var(--br);
  background:var(--s2);color:inherit;font-size:12.5px}
.atWrap{overflow-x:auto;border:1px solid var(--br);border-radius:14px;background:var(--s2);
  margin-bottom:11px}
.atTab{width:100%;border-collapse:collapse;font-size:12.5px;min-width:820px}
.atTab th{text-align:left;padding:9px 11px;font-size:10.5px;text-transform:uppercase;
  letter-spacing:.04em;color:var(--t3);border-bottom:1px solid var(--br);white-space:nowrap}
.atTab td{padding:8px 11px;border-bottom:1px solid var(--br);vertical-align:middle}
.atTab tr:last-child td{border-bottom:0}
.atTab tr.ok td{opacity:.62}
.atTab tr.ok .atDesc{text-decoration:line-through}
.atHora{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.atIco{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 20%,transparent);font-size:14px}
.atLead b{display:block;font-size:12.5px}
.atLead small{display:block;font-size:10.5px;color:var(--t3)}
.atDesc{font-size:12.5px;line-height:1.4}
.atSelo{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;
  font-size:11px;font-weight:700;white-space:nowrap;
  background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c);
  border:1px solid color-mix(in srgb,var(--c) 42%,transparent)}
.atAcoes{display:flex;gap:4px;justify-content:flex-end}
.atAcoes button{background:none;border:1px solid var(--br);border-radius:7px;width:26px;
  height:26px;color:var(--t3);cursor:pointer;font-size:12px;line-height:1;padding:0}
.atAcoes button:hover{border-color:var(--ouro);color:var(--ouro)}
.atAcoes button.on{border-color:#3DD68C;color:#3DD68C}
.atLado{display:flex;flex-direction:column;gap:12px}
.atCard{padding:15px 16px;border:1px solid var(--br);border-radius:15px;background:var(--s2)}
.atCard h3{margin:0 0 4px;font-size:15px;display:flex;align-items:center;gap:8px}
.atCard h3 a{margin-left:auto;font-size:11.5px;font-weight:400;color:var(--t3);
  text-decoration:none}
.atCard h3 a:hover{color:var(--ouro)}
.atCard p.nota{margin:0 0 10px;font-size:11.5px;color:var(--t3);line-height:1.4}
.atVazio{margin:6px 0 0;font-size:12.5px;color:var(--t3);line-height:1.5}
.atTl{display:flex;flex-direction:column;gap:2px}
.atTlL{display:flex;align-items:center;gap:10px;padding:7px 0}
.atTlL time{font-size:11.5px;color:var(--t3);font-variant-numeric:tabular-nums;width:44px;
  flex:none}
.atTlL .pt{width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}
.atTlL .bx{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:8px 10px;
  border-radius:10px;background:var(--s3)}
.atTlL .bx i{font-style:normal;font-size:13px;flex:none}
.atTlL .bx b{font-size:11.5px;font-weight:600;overflow-wrap:break-word}
.atTlL.ok .bx b{text-decoration:line-through;opacity:.55}
.atProg{display:flex;align-items:baseline;gap:9px;margin-bottom:8px}
.atProg b{font-size:15px}
.atProg em{margin-left:auto;font-style:normal;font-size:26px;font-weight:800;
  font-variant-numeric:tabular-nums}
.atTrilho{display:block;height:9px;border-radius:999px;background:var(--s3);overflow:hidden}
.atTrilho i{display:block;height:100%;border-radius:999px;background:#3DD68C}
.atMini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px}
.atMiniI{padding:10px;border:1px solid var(--br);border-radius:11px;background:var(--s3);
  text-align:center}
.atMiniI b{display:block;font-size:19px;font-variant-numeric:tabular-nums;line-height:1.1}
.atMiniI small{display:block;font-size:10.5px;color:var(--t3);margin-top:2px}
.atRap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.atRap a{padding:10px;border:1px solid var(--br);border-radius:11px;background:var(--s3);
  text-decoration:none;color:inherit;display:flex;align-items:center;gap:8px;font-size:11.5px}
.atRap a:hover{border-color:var(--ouro)}
.atRap i{font-style:normal;font-size:14px;flex:none}
.atLinha{display:flex;align-items:flex-start;gap:10px;padding:8px 0;
  border-bottom:1px solid var(--br);font-size:12.5px}
.atLinha:last-of-type{border-bottom:0}
.atLinha i{font-style:normal;flex:none;font-size:14px;margin-top:1px}
.atLinha .tx{flex:1;min-width:0}
.atLinha .tx b{display:block;font-size:12.5px;font-weight:600}
.atLinha .tx small{display:block;font-size:11px;color:var(--t3)}
.atBaixo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:1400px){ .atPag{grid-template-columns:minmax(0,1fr)}
  .atTiles{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:1000px){ .atBaixo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:640px){ .atTiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .atRap{grid-template-columns:minmax(0,1fr)} }

/* ---- P517: Meu Calendário (prefixo cg) ---- */
.cgPag{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.36fr);gap:12px}
.cgTopo{display:flex;align-items:center;gap:13px;margin-bottom:12px;flex-wrap:wrap}
.cgTopo .tx{flex:1;min-width:220px}
.cgTopo h1{margin:0 0 3px;font-size:26px}
.cgTopo p{margin:0;font-size:13px;color:var(--t2)}
.cgBt{padding:10px 15px;border-radius:11px;border:1px solid var(--br);background:var(--s2);
  color:inherit;text-decoration:none;font-size:12.5px;font-weight:600;white-space:nowrap;
  display:inline-flex;align-items:center;gap:8px}
.cgBt:hover{border-color:var(--ouro);color:var(--ouro)}
.cgBt.ouro{background:var(--ouro);color:#1b1206;border-color:transparent}
.cgBt.ouro:hover{color:#1b1206;opacity:.92}
.cgBt small{display:block;font-size:10.5px;font-weight:400;opacity:.7}
.cgBarra{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}
.cgNav{display:flex;align-items:center;gap:5px;border:1px solid var(--br);border-radius:11px;
  background:var(--s2);padding:5px 6px}
.cgNav a{padding:5px 9px;border-radius:8px;text-decoration:none;color:var(--t2);font-size:14px}
.cgNav a:hover{background:var(--s3);color:var(--ouro)}
.cgNav b{font-size:12.5px;padding:0 7px;white-space:nowrap}
.cgVistas{display:flex;gap:4px;border:1px solid var(--br);border-radius:11px;background:var(--s2);
  padding:4px}
.cgVistas a{padding:6px 15px;border-radius:8px;text-decoration:none;color:var(--t2);
  font-size:12.5px}
.cgVistas a.on{background:var(--ouro);color:#1b1206;font-weight:700}
.cgGrade{display:grid;border:1px solid var(--br);border-radius:14px;background:var(--s2);
  overflow:hidden;margin-bottom:12px}
.cgCab{display:grid;border-bottom:1px solid var(--br)}
.cgCab div{padding:9px 6px;text-align:center;font-size:12px;border-left:1px solid var(--br)}
.cgCab div:first-child{border-left:0}
.cgCab div.hoje{background:color-mix(in srgb,var(--ouro) 12%,transparent);color:var(--ouro)}
.cgCab b{display:block;font-size:12.5px;text-transform:capitalize}
.cgCab small{display:block;font-size:11px;color:var(--t3)}
.cgCorpo{display:grid;position:relative}
.cgHoras{display:grid;border-right:1px solid var(--br)}
.cgHoras span{font-size:10.5px;color:var(--t3);text-align:right;padding:0 7px;
  transform:translateY(-6px);font-variant-numeric:tabular-nums}
.cgCol{display:grid;grid-template-columns:100%;border-left:1px solid var(--br);
  position:relative}
.cgCol:first-of-type{border-left:0}
.cgCol.hoje{background:color-mix(in srgb,var(--ouro) 5%,transparent)}
.cgSlot{border-top:1px solid color-mix(in srgb,var(--br) 55%,transparent)}
.cgSlot.cheia{border-top-color:var(--br)}
.cgEv{position:relative;padding:4px 6px;border-radius:8px;overflow:hidden;
  background:color-mix(in srgb,var(--c) 22%,var(--s2));border-left:3px solid var(--c);
  text-decoration:none;color:inherit;display:block;min-height:0;
  box-sizing:border-box;box-shadow:0 0 0 1px var(--s2)}
.cgEv:hover{background:color-mix(in srgb,var(--c) 34%,var(--s2))}
.cgEv .h{display:block;font-size:9.5px;color:var(--t3);font-variant-numeric:tabular-nums;
  line-height:1.2}
.cgEv b{display:block;font-size:10.5px;line-height:1.25;overflow-wrap:break-word;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cgEv small{display:block;font-size:9.5px;color:var(--t3);overflow:hidden;
  white-space:nowrap;text-overflow:ellipsis}
/* Num bloco de 30 minutos nao cabem hora e titulo: a hora sai e fica
   no title do link, porque o titulo e o que identifica o compromisso. */
.cgEv.curto{padding:3px 6px}
.cgEv.curto .h{display:none}
.cgEv.curto b{-webkit-line-clamp:2;font-size:10px}
.cgEv.ok{opacity:.55}
.cgEv.ok b{text-decoration:line-through}
.cgMes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:12px}
.cgMesD{min-height:96px;padding:7px;border:1px solid var(--br);border-radius:10px;
  background:var(--s2)}
.cgMesD.fora{opacity:.4}
.cgMesD.hoje{border-color:var(--ouro)}
.cgMesD h5{margin:0 0 5px;font-size:11px;color:var(--t3);font-weight:600}
.cgMesD.hoje h5{color:var(--ouro)}
.cgPill{display:block;margin-bottom:3px;padding:3px 6px;border-radius:6px;font-size:9.5px;
  background:color-mix(in srgb,var(--c) 22%,var(--s3));border-left:2px solid var(--c);
  text-decoration:none;color:inherit;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.cgMais{font-size:9.5px;color:var(--t3)}
.cgLado{display:flex;flex-direction:column;gap:12px}
.cgCard{padding:14px 15px;border:1px solid var(--br);border-radius:14px;background:var(--s2)}
.cgCard h3{margin:0 0 9px;font-size:14px;display:flex;align-items:center;gap:8px}
.cgCard h3 a,.cgCard h3 span.n{margin-left:auto;font-size:11.5px;font-weight:400;
  color:var(--t3);text-decoration:none}
.cgMini{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;font-size:11px}
.cgMini i{font-style:normal;text-align:center;color:var(--t3);font-size:10px;padding:3px 0}
.cgMini a{display:block;text-align:center;padding:5px 0;border-radius:7px;
  text-decoration:none;color:var(--t2);font-variant-numeric:tabular-nums}
.cgMini a:hover{background:var(--s3)}
.cgMini a.fora{opacity:.35}
.cgMini a.sel{background:var(--ouro);color:#1b1206;font-weight:700}
.cgMini a.tem{box-shadow:inset 0 -2px 0 var(--ouro)}
.cgLista{display:flex;flex-direction:column}
.cgItem{display:flex;align-items:center;gap:9px;padding:8px 0;
  border-bottom:1px solid var(--br)}
.cgItem:last-child{border-bottom:0}
.cgItem time{font-size:11.5px;color:var(--t3);font-variant-numeric:tabular-nums;width:40px;
  flex:none}
.cgItem i{font-style:normal;width:26px;height:26px;border-radius:8px;display:grid;
  place-items:center;background:color-mix(in srgb,var(--c) 20%,transparent);font-size:12px;
  flex:none}
.cgItem .tx{flex:1;min-width:0}
.cgItem .tx b{display:block;font-size:12px;font-weight:600}
.cgItem .tx small{display:block;font-size:10.5px;color:var(--t3)}
.cgItem.ok .tx b{text-decoration:line-through;opacity:.55}
.cgVazio{margin:6px 0 0;font-size:12.5px;color:var(--t3);line-height:1.5}
.cgBaixo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cgNums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cgNum{padding:11px 8px;border:1px solid var(--br);border-radius:11px;background:var(--s3);
  text-align:center}
.cgNum b{display:block;font-size:20px;font-variant-numeric:tabular-nums;line-height:1.1}
.cgNum small{display:block;font-size:10.5px;color:var(--t3);margin-top:2px}
.cgAviso{padding:11px 13px;border:1px solid color-mix(in srgb,#4E9BFF 40%,transparent);
  border-radius:11px;background:color-mix(in srgb,#4E9BFF 9%,transparent);
  font-size:11.5px;line-height:1.5;margin-top:9px}
@media (max-width:1400px){ .cgPag{grid-template-columns:minmax(0,1fr)} }
@media (max-width:1000px){ .cgBaixo{grid-template-columns:minmax(0,1fr)} }

/* ---- P518: Minha Performance (prefixo mp) ---- */
.mpTopo{display:flex;align-items:center;gap:14px;margin-bottom:13px;flex-wrap:wrap}
.mpTopo .tx{flex:1;min-width:230px}
.mpTopo h1{margin:0 0 3px;font-size:26px}
.mpTopo p{margin:0;font-size:13px;color:var(--t2)}
.mpFrase{padding:13px 16px;border:1px solid var(--br);border-radius:14px;background:var(--s2);
  display:flex;align-items:center;gap:11px;font-size:13.5px;max-width:330px;line-height:1.4}
.mpFrase em{font-style:normal;font-size:24px;color:var(--ouro);line-height:1;flex:none}
.mpMes{padding:9px 13px;border-radius:11px;border:1px solid var(--br);background:var(--s2);
  color:inherit;font-size:12.5px}
.mpTiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}
.mpTile{padding:12px 13px;border:1px solid var(--br);border-radius:14px;background:var(--s2)}
.mpTile .cab{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.mpTile .cab i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 20%,transparent);font-style:normal;font-size:13px;
  flex:none}
.mpTile .cab span{font-size:11.5px;color:var(--t2);line-height:1.25}
.mpTile b{display:block;font-size:23px;line-height:1.1;font-variant-numeric:tabular-nums}
.mpTile small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
.mpTile .bar{display:flex;align-items:center;gap:7px;margin-top:8px}
.mpTile .bar span{flex:1;height:7px;border-radius:999px;background:var(--s3);overflow:hidden}
.mpTile .bar span i{display:block;height:100%;border-radius:999px;background:var(--c)}
.mpTile .bar em{font-style:normal;font-size:11px;font-weight:700;
  font-variant-numeric:tabular-nums}
.mpDelta{display:block;font-size:11.5px;margin-top:4px;font-variant-numeric:tabular-nums}
.mpDelta.sobe{color:#3DD68C}
.mpDelta.desce{color:#E0575A}
.mpDelta.nada{color:var(--t3)}
.mpL3{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr) minmax(0,1fr);
  gap:12px;margin-bottom:12px}
.mpCard{padding:15px 16px;border:1px solid var(--br);border-radius:15px;background:var(--s2)}
.mpCard h3{margin:0 0 4px;font-size:15px;display:flex;align-items:center;gap:8px}
.mpCard h3 a,.mpCard h3 .sel{margin-left:auto;font-size:11.5px;font-weight:400;
  color:var(--t3);text-decoration:none}
.mpCard p.nota{margin:0 0 11px;font-size:11.5px;color:var(--t3);line-height:1.45}
.mpVazio{margin:7px 0 0;font-size:12.5px;color:var(--t3);line-height:1.5}
.mpFunil{display:flex;flex-direction:column;gap:7px}
.mpDeg{display:grid;grid-template-columns:minmax(0,1fr) 34px 42px;align-items:center;
  gap:8px}
.mpBarWrap{display:block;min-width:0}
.mpBar{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:9px;
  background:color-mix(in srgb,var(--c) 26%,var(--s3));border-left:3px solid var(--c);
  box-sizing:border-box;overflow:hidden}
.mpBar i{font-style:normal;font-size:13px;flex:none}
.mpBar span{flex:1;font-size:12.5px;min-width:0;line-height:1.3}
.mpQtd{font-variant-numeric:tabular-nums;font-size:15px;text-align:right}
.mpDeg em{font-style:normal;font-size:12px;color:var(--t3);text-align:right;
  font-variant-numeric:tabular-nums}
.mpSvg{width:100%;height:auto;display:block}
.mpLeg{display:flex;gap:15px;flex-wrap:wrap;font-size:11.5px;margin-bottom:8px}
.mpLeg span{display:flex;align-items:center;gap:6px}
.mpLeg i{width:9px;height:9px;border-radius:50%;background:var(--c);flex:none}
.mpNota{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:11px;
  background:var(--s3);font-size:12px;margin-top:10px;line-height:1.4}
.mpNota i{font-style:normal;font-size:15px;flex:none}
.mpTab{width:100%;border-collapse:collapse;font-size:12.5px}
.mpTab th{text-align:left;padding:7px 8px;font-size:10.5px;text-transform:uppercase;
  letter-spacing:.04em;color:var(--t3);border-bottom:1px solid var(--br)}
.mpTab td{padding:7px 8px;border-bottom:1px solid var(--br);
  font-variant-numeric:tabular-nums}
.mpTab tr:last-child td{border-bottom:0}
.mpTab td.nome{font-variant-numeric:normal}
.mpMini{display:block;height:7px;border-radius:999px;background:var(--s3);overflow:hidden;
  min-width:58px}
.mpMini i{display:block;height:100%;border-radius:999px;background:var(--c)}
.mpLinha{display:grid;grid-template-columns:112px 1fr 62px;align-items:center;gap:9px;
  margin-bottom:6px;font-size:12px}
.mpLinha span.tr{display:block;height:8px;border-radius:999px;background:var(--s3);
  overflow:hidden}
.mpLinha span.tr i{display:block;height:100%;border-radius:999px;background:var(--c)}
.mpLinha em{font-style:normal;color:var(--t3);text-align:right;
  font-variant-numeric:tabular-nums}
.mpDonut{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.mpDonutL{display:flex;flex-direction:column;gap:4px;font-size:12px;min-width:145px}
.mpDonutL span{display:flex;align-items:center;gap:7px}
.mpDonutL i{width:9px;height:9px;border-radius:3px;background:var(--c);flex:none}
.mpDonutL b{margin-left:auto;font-variant-numeric:tabular-nums}
.mpQual{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.mpQualI{padding:11px 10px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  border-top:3px solid var(--c)}
.mpQualI b{display:block;font-size:21px;font-variant-numeric:tabular-nums;line-height:1.1}
.mpQualI small{display:block;font-size:10.5px;color:var(--t3);margin-top:2px}
.mpComp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.mpCompI{padding:13px 12px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  text-align:center}
.mpCompI b{display:block;font-size:21px;font-variant-numeric:tabular-nums;line-height:1.1}
.mpCompI strong{display:block;font-size:12px;margin-top:4px;font-weight:600}
.mpCompI small{display:block;font-size:10.5px;color:var(--t3);margin-top:2px}
.mpL2{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px}
@media (max-width:1450px){ .mpTiles{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:1200px){ .mpL3,.mpL2{grid-template-columns:minmax(0,1fr)}
  .mpComp{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:680px){ .mpTiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mpQual{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* ---- P519: Materiais de Vendas (prefixo mv) ---- */
.mvPag{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.33fr);gap:12px}
.mvTopo{display:flex;align-items:center;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.mvTopo .tx{flex:1;min-width:230px}
.mvTopo h1{margin:0 0 3px;font-size:26px}
.mvTopo p{margin:0;font-size:13px;color:var(--t2)}
.mvFrase{padding:13px 16px;border:1px solid var(--br);border-radius:14px;background:var(--s2);
  display:flex;align-items:center;gap:11px;font-size:13px;max-width:310px;line-height:1.4}
.mvFrase em{font-style:normal;font-size:23px;color:var(--ouro);line-height:1;flex:none}
.mvAbas{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.mvAba{padding:8px 14px;border-radius:10px;border:1px solid var(--br);background:var(--s2);
  font-size:12.5px;text-decoration:none;color:var(--t2);white-space:nowrap}
.mvAba.on{background:var(--ouro);color:#1b1206;font-weight:700;border-color:transparent}
.mvCard{padding:15px 16px;border:1px solid var(--br);border-radius:15px;background:var(--s2);
  margin-bottom:12px}
.mvCard h3{margin:0 0 3px;font-size:15px;display:flex;align-items:center;gap:8px}
.mvCard h3 a{margin-left:auto;font-size:11.5px;font-weight:400;color:var(--t3);
  text-decoration:none}
.mvCard h3 a:hover{color:var(--ouro)}
.mvCard p.nota{margin:0 0 12px;font-size:11.5px;color:var(--t3);line-height:1.45}
.mvVazio{margin:7px 0 0;font-size:12.5px;color:var(--t3);line-height:1.55}
.mvDestaques{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.mvDest{border:1px solid var(--br);border-radius:13px;overflow:hidden;background:var(--s3);
  display:flex;flex-direction:column;text-decoration:none;color:inherit}
.mvDest:hover{border-color:var(--ouro)}
.mvCapa{height:112px;display:flex;align-items:flex-end;padding:11px;position:relative;
  background:linear-gradient(145deg,color-mix(in srgb,var(--c) 70%,#10141a),
    color-mix(in srgb,var(--c) 26%,#10141a))}
.mvCapa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mvCapa .veu{position:absolute;inset:0;background:linear-gradient(180deg,
  rgba(8,10,14,.15),rgba(8,10,14,.72))}
.mvCapa b{position:relative;font-size:13px;line-height:1.25;text-transform:uppercase;
  letter-spacing:.03em;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.mvSelo{position:absolute;top:9px;left:9px;z-index:3;padding:3px 9px;border-radius:999px;
  background:rgba(12,14,20,.78);font-size:10px;font-weight:700;color:#FFD166;
  display:flex;align-items:center;gap:4px;z-index:1}
.mvPe{display:flex;align-items:center;gap:9px;padding:10px 11px}
.mvPe i{font-style:normal;font-size:15px;flex:none}
.mvPe .tx{flex:1;min-width:0}
.mvPe .tx b{display:block;font-size:12px;font-weight:600;overflow-wrap:break-word}
.mvPe .tx small{display:block;font-size:10.5px;color:var(--t3)}
.mvPe em{font-style:normal;color:var(--t3);font-size:14px;flex:none}
.mvCats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.mvCat{padding:12px 13px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.mvCat:hover{border-color:var(--c)}
.mvCat i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 22%,transparent);font-style:normal;font-size:15px;
  flex:none}
.mvCat .tx{flex:1;min-width:0}
.mvCat .tx b{display:block;font-size:12.5px}
.mvCat .tx small{display:block;font-size:10.5px;color:var(--t3)}
.mvCat em{font-style:normal;color:var(--t3);font-size:14px}
.mvBaixo{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:12px}
.mvTab{width:100%;border-collapse:collapse;font-size:12.5px}
.mvTab th{text-align:left;padding:8px 9px;font-size:10.5px;text-transform:uppercase;
  letter-spacing:.04em;color:var(--t3);border-bottom:1px solid var(--br)}
.mvTab td{padding:8px 9px;border-bottom:1px solid var(--br);vertical-align:middle}
.mvTab tr:last-child td{border-bottom:0}
.mvNome{display:flex;align-items:center;gap:9px;min-width:0}
.mvNome i{font-style:normal;width:26px;height:26px;border-radius:8px;display:grid;
  place-items:center;background:color-mix(in srgb,var(--c) 20%,transparent);font-size:12px;
  flex:none}
.mvNome .tx{min-width:0}
.mvNome b{display:block;font-size:12.5px;font-weight:600}
.mvNome small{display:block;font-size:10.5px;color:var(--t3)}
.mvEtq{display:inline-block;padding:2px 9px;border-radius:999px;font-size:10.5px;
  font-weight:700;white-space:nowrap;
  background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);
  border:1px solid color-mix(in srgb,var(--c) 42%,transparent)}
.mvBt{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
  border-radius:8px;border:1px solid var(--br);color:var(--t3);text-decoration:none;
  font-size:13px}
.mvBt:hover{border-color:var(--ouro);color:var(--ouro)}
.mvLado{display:flex;flex-direction:column;gap:12px}
.mvBusca{display:flex;gap:7px}
.mvBusca input{flex:1;min-width:0;padding:9px 12px;border-radius:11px;
  border:1px solid var(--br);background:var(--s2);color:inherit;font-size:12.5px}
.mvBusca button{padding:9px 13px;border-radius:11px;border:0;background:var(--s3);
  color:inherit;font-size:12.5px;cursor:pointer}
.mvAtalho{display:flex;align-items:center;gap:10px;padding:9px 0;
  border-bottom:1px solid var(--br);text-decoration:none;color:inherit;font-size:12.5px}
.mvAtalho:last-of-type{border-bottom:0}
.mvAtalho i{font-style:normal;width:28px;height:28px;border-radius:9px;display:grid;
  place-items:center;background:color-mix(in srgb,var(--c) 20%,transparent);font-size:13px;
  flex:none}
.mvAtalho span{flex:1;min-width:0}
.mvAtalho em{font-style:normal;color:var(--t3);font-size:13px}
.mvDica{padding:14px 15px;border:1px solid color-mix(in srgb,#FFB92E 38%,transparent);
  border-radius:14px;background:color-mix(in srgb,#FFB92E 8%,transparent)}
.mvDica h3{margin:0 0 6px;font-size:14px;display:flex;align-items:center;gap:8px}
.mvDica p{margin:0;font-size:12.5px;line-height:1.5;color:var(--t2)}
.mvRank{display:flex;align-items:center;gap:10px;padding:8px 0;
  border-bottom:1px solid var(--br)}
.mvRank:last-of-type{border-bottom:0}
.mvRank b.pos{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;
  background:var(--s3);font-size:11px;flex:none;color:var(--t3)}
.mvRank:first-of-type b.pos{background:color-mix(in srgb,#FFD166 22%,transparent);
  color:#FFD166}
.mvRank .tx{flex:1;min-width:0}
.mvRank .tx b{display:block;font-size:12px;font-weight:600}
.mvRank .tx small{display:block;font-size:10.5px;color:var(--t3)}
.mvNovo{display:flex;align-items:center;gap:10px;padding:9px 0;
  border-bottom:1px solid var(--br);text-decoration:none;color:inherit}
.mvNovo:last-of-type{border-bottom:0}
.mvNovo .mini{width:46px;height:34px;border-radius:7px;flex:none;object-fit:cover;
  background:linear-gradient(145deg,color-mix(in srgb,var(--c) 60%,#10141a),
    color-mix(in srgb,var(--c) 22%,#10141a));display:grid;place-items:center;font-size:14px}
.mvNovo .tx{flex:1;min-width:0}
.mvNovo .tx b{display:block;font-size:12px;font-weight:600}
.mvNovo .tx small{display:block;font-size:10.5px;color:var(--t3)}
.mvNovo time{font-size:10.5px;color:var(--t3);white-space:nowrap}
@media (max-width:1400px){ .mvPag{grid-template-columns:minmax(0,1fr)}
  .mvDestaques{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mvCats{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:900px){ .mvBaixo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:620px){ .mvDestaques,.mvCats{grid-template-columns:minmax(0,1fr)} }

/* ---- P520: Materiais de Vendas, desenho corrigido ---- */
.mvTopCats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;
  margin-bottom:13px}
.mvTopCat{padding:13px;border:1px solid var(--br);border-radius:13px;background:var(--s2);
  text-decoration:none;color:inherit;display:block}
.mvTopCat:hover{border-color:var(--c)}
.mvTopCat.on{border-color:var(--c);background:var(--s3)}
.mvTopCat i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 22%,transparent);font-style:normal;font-size:15px;
  margin-bottom:9px}
.mvTopCat b{display:block;font-size:12.5px;margin-bottom:3px}
.mvTopCat small{display:block;font-size:10.5px;color:var(--t3);line-height:1.4}
.mvCapaG{height:138px;position:relative;display:flex;flex-direction:column;
  justify-content:flex-end;gap:7px;padding:11px;
  background:linear-gradient(140deg,color-mix(in srgb,var(--c) 72%,#0d1017),
    color-mix(in srgb,var(--c) 24%,#0d1017))}
.mvCapaG img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mvCapaG .veu{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,10,14,.1),rgba(8,10,14,.68))}
.mvCapaG .tit{position:relative;font-size:14px;line-height:1.22;font-weight:800;color:#fff;
  text-transform:uppercase;letter-spacing:.02em;text-shadow:0 1px 8px rgba(0,0,0,.55);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mvChips{position:relative;display:flex;gap:6px;z-index:2;flex-wrap:wrap}
.mvChip{padding:3px 8px;border-radius:7px;background:rgba(10,12,18,.8);font-size:10px;
  font-weight:700;display:inline-flex;align-items:center;gap:4px;color:#fff}
.mvChip.ext{background:rgba(10,12,18,.62);font-weight:600;color:#cfd6e0}
.mvCartao{border:1px solid var(--br);border-radius:13px;overflow:hidden;background:var(--s2);
  display:flex;flex-direction:column}
.mvCartao .corpo{padding:11px 12px;flex:1}
.mvCartao .corpo b{display:block;font-size:13px;margin-bottom:3px}
.mvCartao .corpo small{display:block;font-size:11px;color:var(--t3);line-height:1.45}
.mvAcao{display:flex;align-items:center;justify-content:center;gap:7px;margin:0 12px 12px;
  padding:9px;border-radius:9px;background:var(--s3);border:1px solid var(--br);
  text-decoration:none;color:inherit;font-size:12.5px;font-weight:600}
.mvAcao:hover{border-color:var(--ouro);color:var(--ouro)}
.mvSecoes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mvMini3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.mvMini2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.mvCapaP{height:100px;position:relative;display:flex;flex-direction:column;
  justify-content:flex-end;gap:6px;padding:9px;
  background:linear-gradient(140deg,color-mix(in srgb,var(--c) 68%,#0d1017),
    color-mix(in srgb,var(--c) 22%,#0d1017))}
.mvCapaP img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mvCapaP .veu{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,10,14,.08),rgba(8,10,14,.7))}
.mvCapaP .tit{position:relative;font-size:11px;line-height:1.25;font-weight:800;
  color:#fff;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.5);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mvCapaP .fala{position:relative;font-size:11.5px;line-height:1.35;font-weight:700;
  color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.55);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mvNomeP{display:block;padding:8px 2px 0;font-size:11.5px;font-weight:600}
.mvSubP{display:block;padding:1px 2px 0;font-size:10.5px;color:var(--t3);line-height:1.4}
.mvListaA{display:flex;flex-direction:column}
.mvItemA{display:flex;align-items:center;gap:10px;padding:9px 0;
  border-bottom:1px solid var(--br);text-decoration:none;color:inherit}
.mvItemA:last-child{border-bottom:0}
.mvItemA i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 20%,transparent);font-style:normal;font-size:13px;
  flex:none}
.mvItemA .tx{flex:1;min-width:0}
.mvItemA .tx b{display:block;font-size:12px;font-weight:600}
.mvItemA .tx small{display:block;font-size:10.5px;color:var(--t3)}
.mvItemA em{font-style:normal;color:var(--t3);font-size:14px}
.mvFogo{display:flex;align-items:center;gap:10px;padding:9px 0;
  border-bottom:1px solid var(--br);text-decoration:none;color:inherit}
.mvFogo:last-of-type{border-bottom:0}
.mvFogo b.pos{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;
  background:var(--s3);font-size:11px;flex:none;color:var(--t3)}
.mvFogo:first-of-type b.pos{background:color-mix(in srgb,#FF7A45 24%,transparent);
  color:#FF9B6B}
.mvFogo i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 20%,transparent);font-style:normal;font-size:12px;
  flex:none}
.mvFogo .tx{flex:1;min-width:0}
.mvFogo .tx b{display:block;font-size:12px;font-weight:600}
.mvFogo .tx small{display:block;font-size:10.5px;color:var(--t3)}
@media (max-width:1500px){ .mvTopCats{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:1150px){ .mvSecoes{grid-template-columns:minmax(0,1fr)} }
@media (max-width:640px){ .mvTopCats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mvMini3{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* ---- P521: Central de Ajuda do comercial (prefixo ca) ---- */
.caPag{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.36fr);gap:12px}
.caTopo{display:flex;align-items:center;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.caTopo .tx{flex:1;min-width:230px}
.caTopo h1{margin:0 0 3px;font-size:26px}
.caTopo p{margin:0;font-size:13px;color:var(--t2)}
.caFrase{padding:13px 16px;border:1px solid var(--br);border-radius:14px;background:var(--s2);
  display:flex;align-items:center;gap:11px;font-size:12.5px;max-width:340px;line-height:1.45}
.caFrase em{font-style:normal;font-size:23px;color:var(--ouro);line-height:1;flex:none}
.caPortas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;
  margin-bottom:13px}
.caPorta{padding:14px;border:1px solid var(--br);border-radius:14px;background:var(--s2);
  display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit}
.caPorta:hover{border-color:var(--c)}
.caPorta i{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 22%,transparent);font-style:normal;font-size:16px;
  flex:none}
.caPorta .tx{flex:1;min-width:0}
.caPorta .tx b{display:block;font-size:13px;margin-bottom:2px}
.caPorta .tx small{display:block;font-size:10.5px;color:var(--t3);line-height:1.4}
.caPorta em{font-style:normal;color:var(--t3);font-size:15px;flex:none}
.caCard{padding:15px 16px;border:1px solid var(--br);border-radius:15px;background:var(--s2);
  margin-bottom:12px}
.caCard h3{margin:0 0 4px;font-size:15px;display:flex;align-items:center;gap:8px}
.caCard h3 a,.caCard h3 .n{margin-left:auto;font-size:11.5px;font-weight:400;
  color:var(--t3);text-decoration:none}
.caCard p.nota{margin:0 0 12px;font-size:11.5px;color:var(--t3);line-height:1.45}
.caVazio{margin:7px 0 0;font-size:12.5px;color:var(--t3);line-height:1.55}
.caTemas{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.caTema{padding:14px 11px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  text-align:center;text-decoration:none;color:inherit;display:block}
.caTema:hover{border-color:var(--ouro)}
.caTema i{font-style:normal;font-size:19px;display:block;margin-bottom:8px}
.caTema b{display:block;font-size:11.5px;line-height:1.35;font-weight:600}
.caTema small{display:block;font-size:10px;color:var(--t3);margin-top:3px}
.caDuo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.caBusca{display:flex;gap:7px;margin-bottom:11px}
.caBusca input{flex:1;min-width:0;padding:9px 12px;border-radius:10px;
  border:1px solid var(--br);background:var(--s3);color:inherit;font-size:12.5px}
.caBusca button{padding:9px 14px;border-radius:10px;border:0;background:var(--s3);
  color:inherit;font-size:12.5px;cursor:pointer}
.caFaq{border-bottom:1px solid var(--br)}
.caFaq:last-of-type{border-bottom:0}
.caFaq summary{padding:11px 2px;cursor:pointer;font-size:12.5px;list-style:none;
  display:flex;align-items:center;gap:10px}
.caFaq summary::-webkit-details-marker{display:none}
.caFaq summary::after{content:"⌄";margin-left:auto;color:var(--t3);font-size:15px;
  line-height:1}
.caFaq[open] summary::after{content:"⌃"}
.caFaq[open] summary{color:var(--ouro)}
.caFaq p{margin:0 2px 12px;font-size:12px;color:var(--t2);line-height:1.6}
.caVideo{display:flex;align-items:center;gap:11px;padding:9px 0;
  border-bottom:1px solid var(--br);text-decoration:none;color:inherit}
.caVideo:last-of-type{border-bottom:0}
.caThumb{width:72px;height:48px;border-radius:8px;flex:none;position:relative;
  object-fit:cover;background:linear-gradient(140deg,#3a2b6b,#1a1f2e);display:grid;
  place-items:center;font-size:16px}
.caDur{position:absolute;right:4px;bottom:4px;padding:1px 5px;border-radius:5px;
  background:rgba(8,10,14,.82);font-size:9.5px;font-weight:700;color:#fff}
.caVideo .tx{flex:1;min-width:0}
.caVideo .tx b{display:block;font-size:12.5px;font-weight:600;line-height:1.3}
.caVideo .tx small{display:block;font-size:11px;color:var(--t3);margin-top:2px;
  line-height:1.4}
.caLado{display:flex;flex-direction:column;gap:12px}
.caOnline{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;
  padding:3px 10px;border-radius:999px;margin-left:auto}
.caOnline.on{background:color-mix(in srgb,#3DD68C 16%,transparent);color:#3DD68C}
.caOnline.off{background:var(--s3);color:var(--t3)}
.caOnline i{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.caCanal{display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:12px;
  border:1px solid var(--br);background:var(--s3);text-decoration:none;color:inherit;
  margin-bottom:9px}
.caCanal:last-of-type{margin-bottom:0}
.caCanal:hover{border-color:var(--c)}
.caCanal.forte{background:var(--ouro);color:#1b1206;border-color:transparent}
.caCanal.forte small{color:#5a4210}
.caCanal i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 22%,transparent);font-style:normal;font-size:15px;
  flex:none}
.caCanal.forte i{background:rgba(27,18,6,.16)}
.caCanal .tx{flex:1;min-width:0}
.caCanal .tx b{display:block;font-size:12.5px}
.caCanal .tx small{display:block;font-size:10.5px;color:var(--t3);margin-top:1px}
.caOnbBarra{display:block;height:8px;border-radius:999px;background:var(--s3);
  overflow:hidden;margin-bottom:11px}
.caOnbBarra i{display:block;height:100%;border-radius:999px;background:var(--ouro)}
.caPasso{display:flex;align-items:flex-start;gap:10px;padding:7px 0;font-size:12.5px}
.caPasso i{width:18px;height:18px;border-radius:5px;display:grid;place-items:center;
  font-style:normal;font-size:11px;flex:none;margin-top:1px;border:1px solid var(--br);
  color:var(--t3)}
.caPasso.ok i{background:#3DD68C;border-color:#3DD68C;color:#0d1017}
.caPasso .tx{flex:1;min-width:0}
.caPasso.ok .tx b{opacity:.65}
.caPasso .tx b{display:block;font-weight:600}
.caPasso .tx small{display:block;font-size:10.5px;color:var(--t3);margin-top:1px}
.caFim{padding:15px 16px;border:1px solid var(--br);border-radius:15px;
  background:linear-gradient(145deg,color-mix(in srgb,#9B66FF 20%,var(--s2)),var(--s2))}
.caFim b{display:block;font-size:14px;margin-bottom:5px}
.caFim p{margin:0;font-size:12px;color:var(--t2);line-height:1.5}
@media (max-width:1400px){ .caPag{grid-template-columns:minmax(0,1fr)}
  .caTemas{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:1050px){ .caPortas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .caDuo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:620px){ .caTemas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .caPortas{grid-template-columns:minmax(0,1fr)} }

/* ---- P522: Performance de Anúncios (prefixo an) ---- */
.anTopo{display:flex;align-items:center;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.anTopo .tx{flex:1;min-width:240px}
.anTopo h1{margin:0 0 3px;font-size:26px}
.anTopo p{margin:0;font-size:13px;color:var(--t2)}
.anPeriodo{display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:11px;
  border:1px solid var(--br);background:var(--s2);font-size:12.5px}
.anPeriodo input{padding:5px 8px;border-radius:8px;border:1px solid var(--br);
  background:var(--s3);color:inherit;font-size:12px}
.anPeriodo button{padding:6px 12px;border-radius:8px;border:0;background:var(--ouro);
  color:#1b1206;font-weight:700;font-size:12px;cursor:pointer}
.anBt{padding:9px 14px;border-radius:11px;border:1px solid var(--br);background:var(--s2);
  color:inherit;text-decoration:none;font-size:12.5px;font-weight:600;white-space:nowrap}
.anBt:hover{border-color:var(--ouro);color:var(--ouro)}
.anKpis{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px;margin-bottom:12px}
.anKpi{padding:12px 13px;border:1px solid var(--br);border-radius:13px;background:var(--s2)}
.anKpi .cab{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.anKpi .cab i{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 20%,transparent);font-style:normal;font-size:13px;
  flex:none}
.anKpi .cab span{font-size:11px;color:var(--t2);line-height:1.25}
.anKpi b{display:block;font-size:20px;line-height:1.15;font-variant-numeric:tabular-nums}
.anKpi small{display:block;font-size:10.5px;color:var(--t3);margin-top:3px;line-height:1.35}
.anL3{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr) minmax(0,.95fr)
  minmax(0,1fr);gap:11px;margin-bottom:12px}
.anCard{padding:15px 16px;border:1px solid var(--br);border-radius:15px;background:var(--s2)}
.anCard h3{margin:0 0 4px;font-size:14.5px;display:flex;align-items:center;gap:8px}
.anCard h3 a,.anCard h3 .n{margin-left:auto;font-size:11.5px;font-weight:400;
  color:var(--t3);text-decoration:none}
.anCard p.nota{margin:0 0 11px;font-size:11.5px;color:var(--t3);line-height:1.45}
.anVazio{margin:7px 0 0;font-size:12.5px;color:var(--t3);line-height:1.55}
.anSvg{width:100%;height:auto;display:block}
.anLeg{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;margin-bottom:8px}
.anLeg span{display:flex;align-items:center;gap:6px}
.anLeg i{width:9px;height:9px;border-radius:50%;background:var(--c);flex:none}
.anDonut{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.anDonutL{display:flex;flex-direction:column;gap:4px;font-size:11.5px;min-width:135px}
.anDonutL span{display:flex;align-items:center;gap:7px}
.anDonutL i{width:9px;height:9px;border-radius:3px;background:var(--c);flex:none}
.anDonutL b{margin-left:auto;font-variant-numeric:tabular-nums}
.anFunil{display:flex;flex-direction:column;gap:6px}
.anDeg{display:grid;grid-template-columns:minmax(0,1fr) 62px 46px;align-items:center;
  gap:8px;font-size:12px}
.anDegB{position:relative;display:block;padding:8px 11px;border-radius:8px;
  background:var(--s3);border-left:3px solid var(--c);box-sizing:border-box;
  overflow:hidden;min-width:0}
.anDegB i{position:absolute;inset:0 auto 0 0;display:block;
  background:color-mix(in srgb,var(--c) 30%,transparent)}
.anDegB b{position:relative;font-weight:600;font-size:12px}
.anDeg em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums}
.anDeg strong{font-size:11.5px;text-align:right;font-variant-numeric:tabular-nums;
  color:var(--t3)}
.anSaude{display:flex;align-items:flex-start;gap:10px;padding:9px 0;
  border-bottom:1px solid var(--br)}
.anSaude:last-of-type{border-bottom:0}
.anSaude .pt{width:9px;height:9px;border-radius:50%;background:var(--c);flex:none;
  margin-top:4px}
.anSaude .tx{flex:1;min-width:0}
.anSaude .tx b{display:block;font-size:12.5px}
.anSaude .tx small{display:block;font-size:10.5px;color:var(--t3);line-height:1.4;
  margin-top:1px}
.anSelo{padding:3px 10px;border-radius:999px;font-size:10.5px;font-weight:700;
  white-space:nowrap;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c);
  border:1px solid color-mix(in srgb,var(--c) 42%,transparent);flex:none}
.anWrap{overflow-x:auto;border:1px solid var(--br);border-radius:14px;background:var(--s2);
  margin-bottom:12px}
.anTab{width:100%;border-collapse:collapse;font-size:12px;min-width:1000px}
.anTab th{text-align:left;padding:8px 10px;font-size:10px;text-transform:uppercase;
  letter-spacing:.04em;color:var(--t3);border-bottom:1px solid var(--br);white-space:nowrap}
.anTab td{padding:8px 10px;border-bottom:1px solid var(--br);
  font-variant-numeric:tabular-nums;white-space:nowrap}
.anTab tr:last-child td{border-bottom:0}
.anTab td.nome{font-variant-numeric:normal;white-space:normal;min-width:170px}
.anTab td.nome b{display:block;font-size:12px}
.anTab td.nome small{display:block;font-size:10.5px;color:var(--t3)}
.anBaixo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:12px}
.anPerda{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.anPerdaI{padding:12px 13px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  border-top:3px solid #E0575A}
.anPerdaI b{display:block;font-size:12.5px;margin-bottom:4px}
.anPerdaI small{display:block;font-size:11px;color:var(--t3);line-height:1.5}
.anAviso{padding:14px 16px;border:1px solid color-mix(in srgb,#4E9BFF 40%,transparent);
  border-radius:14px;background:color-mix(in srgb,#4E9BFF 8%,transparent);
  margin-bottom:12px;font-size:12.5px;line-height:1.6}
.anAviso b{display:block;margin-bottom:4px;font-size:13.5px}
.anImp{display:grid;gap:9px}
.anQtd{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;
  background:var(--s3);font-size:11.5px;font-weight:600;vertical-align:middle}
.anCamp{display:grid;grid-template-columns:minmax(120px,1.1fr) 150px minmax(130px,1fr)
  auto auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--br)}
.anCamp:last-of-type{border-bottom:0}
/* P526: contrato — closer e aluno. Prefixo jz. */
.jzPassos{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.jzPasso{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11.5px;
  color:var(--t3);min-width:64px}
.jzPasso i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  font-style:normal;font-size:13px;font-weight:800;background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.55)}
.jzAluno .jzPasso{color:rgba(255,255,255,.5)}
.jzAluno .jzPasso.atual{color:#E8F1F8}
.jzAluno .jzTraco{background:rgba(255,255,255,.14)}
.jzPasso.atual{color:var(--t1)}
.jzPasso.atual i{background:#E6A23C;color:#1b1206}
.jzPasso.feito i{background:rgba(230,162,60,.28);color:#E6A23C}
.jzTraco{flex:1;min-width:18px;height:1px;background:var(--br);margin-bottom:18px}

.jzGrade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:760px){ .jzGrade{grid-template-columns:minmax(0,1fr)} }
.jzCheio{grid-column:1/-1}
.jzCampo{display:grid;gap:5px;font-size:11.5px;color:var(--t3)}
.jzCampo input,.jzCampo select{padding:10px 12px;border-radius:10px;
  border:1px solid var(--br);background:var(--s3);color:inherit;font-size:13px;
  font-family:inherit;box-sizing:border-box;width:100%}
.jzCampo.ruim input,.jzCampo.ruim select{border-color:#E0575A}
.jzCampo .erro{color:#E0575A;font-size:11px}

.jzPrev{background:var(--s2);border:1px solid var(--br);border-radius:18px;overflow:hidden}
.jzPrevCab{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;
  padding:14px 16px;border-bottom:1px solid var(--br)}
.jzPrevCab h3{margin:0;font-size:14.5px}
.jzFolhaMini{background:#fff;color:#111;max-height:640px;overflow:auto;padding:26px 30px;
  font-family:Georgia,'Times New Roman',serif;font-size:12.5px;line-height:1.75;
  white-space:pre-wrap;overflow-wrap:break-word}
.jzFolhaMini{white-space:normal}
.jzFolhaMini .corpo{white-space:pre-wrap;overflow-wrap:break-word}
.jzFolhaMini h4{margin:0 0 3px;text-align:center;font-size:14px;font-family:inherit}
.jzFolhaMini .num{text-align:center;font-size:11px;color:#666;margin-bottom:18px;
  font-family:system-ui,sans-serif}
.jzVazio{padding:30px 24px;font-size:12.5px;color:var(--t3);line-height:1.6;text-align:center}

.jzMulta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;padding:13px 15px;
  border-radius:12px;background:color-mix(in srgb,var(--ouro) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--ouro) 35%,transparent);font-size:12.5px;
  line-height:1.6}
.jzMulta i{font-style:normal;font-size:15px}
.jzMulta ul{margin:6px 0;padding-left:18px}

.jzAluno{min-height:100vh;background:#05131C;color:#E8F1F8}
.jzTopoA{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:20px;
  align-items:center;padding:16px 26px;border-bottom:1px solid rgba(255,255,255,.07)}
.jzCorpoA{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:18px;
  padding:22px 26px 40px;align-items:start}
@media (max-width:1040px){ .jzCorpoA{grid-template-columns:minmax(0,1fr)} }
.jzCorpoA h1{margin:0 0 5px;font-size:30px;line-height:1.2}
.jzCorpoA .sub{margin:0 0 18px;font-size:13.5px;opacity:.82;line-height:1.6}
.jzCartaoA{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);
  border-radius:18px;padding:20px}
.jzCartaoA h2{margin:0 0 14px;font-size:18px}
.jzResA{display:grid;gap:14px}
.jzResI{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:start}
.jzResI i{font-style:normal;font-size:15px;opacity:.85;margin-top:1px}
.jzResI span{display:block;font-size:11px;opacity:.6}
.jzResI b{display:block;font-size:13.5px;margin-top:1px}
.jzLer{background:#fff;color:#111;border-radius:14px;max-height:560px;overflow:auto;
  padding:30px 34px;font-family:Georgia,'Times New Roman',serif;font-size:13.5px;
  line-height:1.8;white-space:pre-wrap;overflow-wrap:break-word}
.jzLer{white-space:normal}
.jzLer .corpo{white-space:pre-wrap;overflow-wrap:break-word}
.jzLer h4{margin:0 0 3px;text-align:center;font-size:15px;font-family:inherit}
.jzLer .num{text-align:center;font-size:11.5px;color:#666;margin-bottom:22px;
  font-family:system-ui,sans-serif}
.jzAceite{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:start;
  margin:16px 0;font-size:13px;line-height:1.55;cursor:pointer}
.jzAceite input{width:20px;height:20px;margin:0;flex:0 0 auto}
.jzBts{display:flex;gap:11px;flex-wrap:wrap;align-items:center}
.jzBt{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 24px;
  border-radius:12px;border:0;background:var(--ouro,#E6A23C);color:#1b1206;font-size:15px;
  font-weight:800;cursor:pointer;text-decoration:none;font-family:inherit}
.jzBt:hover{filter:brightness(1.07)}
.jzBt.fraco{background:transparent;border:1px solid rgba(255,255,255,.2);color:#E8F1F8}
.jzBt.fraco:hover{background:rgba(255,255,255,.06);filter:none}
.jzBt[disabled]{opacity:.45;cursor:not-allowed}
.jzSeg{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:start;
  padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.09)}
.jzSeg b{display:block;font-size:13.5px;margin-bottom:4px}
.jzSeg small{display:block;font-size:11.5px;opacity:.72;line-height:1.55}
.jzSeg ul{margin:6px 0 0;padding-left:16px;font-size:11.5px;opacity:.72;line-height:1.7}
.jzOk{width:66px;height:66px;border-radius:50%;background:rgba(61,214,140,.16);color:#3DD68C;
  display:grid;place-items:center;font-size:31px;margin:0 auto 16px}
.jzProva{display:grid;gap:7px;margin-top:14px;font-size:11.5px;opacity:.78;line-height:1.6}
.jzProva code{font-family:ui-monospace,monospace;font-size:10.5px;word-break:break-all;
  opacity:.75}

/* P525: o checkout customizado, visto pela closer. Prefixo kx (ck e ct ja estavam em uso). */
.kxTopo{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) minmax(0,320px);
  gap:16px;align-items:start;margin-bottom:14px}
@media (max-width:1240px){ .kxTopo{grid-template-columns:auto minmax(0,1fr)} }
.kxCard{background:var(--s2);border:1px solid var(--br);border-radius:16px;padding:16px 18px}
.kxCard h3{margin:0 0 4px;font-size:14.5px}
.kxCard .nota,.kxSec .nota,.kxBox .nota,.kxRes .nota{margin:0 0 12px;font-size:11.5px;
  color:var(--t3);line-height:1.5}
.kxBox .nota{margin:9px 0 0}
.kxFoto{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;
  background:var(--s3);font-size:30px;font-weight:700}
.kxId h1{margin:0 0 3px;font-size:23px;line-height:1.2}
.kxId .linha{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--t2);
  margin-top:6px}
.kxId .linha a{color:inherit;text-decoration:none}
.kxId .linha a:hover{text-decoration:underline}
.kxTemp{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;
  font-size:11.5px;font-weight:700;color:var(--c);border:1px solid var(--c);
  background:color-mix(in srgb,var(--c) 14%,transparent)}
.kxTemp small{font-weight:400;opacity:.8}
.kxObs{background:var(--s3);border-radius:12px;padding:12px 14px;font-size:12.5px;
  line-height:1.6;white-space:pre-wrap;overflow-wrap:break-word;min-height:60px}
.kxMeta{display:grid;gap:7px;font-size:12px;margin-top:10px}
.kxMeta span{color:var(--t3)}

.kxSec{background:var(--s2);border:1px solid var(--br);border-radius:18px;
  padding:18px 20px;margin-bottom:12px}
.kxSecCab{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;
  align-items:center;margin-bottom:16px}
.kxSecN{width:30px;height:30px;border-radius:50%;background:var(--ouro);color:#1b1206;
  display:grid;place-items:center;font-size:14px;font-weight:800}
.kxSecCab h2{margin:0;font-size:17px}
.kxSecCab p{margin:2px 0 0;font-size:12px;color:var(--t3)}

.kxPlanos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
@media (max-width:1100px){ .kxPlanos{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:620px){ .kxPlanos{grid-template-columns:minmax(0,1fr)} }
.kxPlano{display:block;text-align:left;background:var(--s3);border:1px solid var(--br);
  border-radius:14px;padding:15px 14px;cursor:pointer;color:inherit;font-family:inherit;
  width:100%}
.kxPlano:hover{border-color:color-mix(in srgb,var(--c) 60%,var(--br))}
.kxPlano.on{border-color:var(--ouro);box-shadow:0 0 0 1px var(--ouro)}
.kxPlano .ico{font-size:24px;line-height:1;margin-bottom:10px;display:block}
.kxPlano b{display:block;font-size:16px;line-height:1.25}
.kxPlano b span{display:block;color:var(--c)}
.kxPlano small{display:block;font-size:11.5px;color:var(--t3);line-height:1.45;margin-top:6px}
.kxPlano em{display:block;font-style:normal;font-size:12px;margin-top:9px;
  font-variant-numeric:tabular-nums}

.kxLinha{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1.3fr) minmax(0,1fr);
  gap:12px;margin-top:16px;align-items:start}
@media (max-width:1100px){ .kxLinha{grid-template-columns:minmax(0,1fr)} }
.kxBox{background:var(--s3);border:1px solid var(--br);border-radius:14px;padding:14px}
.kxBox > b{display:block;font-size:12.5px;margin-bottom:10px}
.kxBox select,.kxBox input[type="text"]{width:100%;padding:10px 12px;border-radius:10px;
  border:1px solid var(--br);background:var(--s2);color:inherit;font-size:13px;
  font-family:inherit;box-sizing:border-box}
.kxOpt{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;
  padding:10px;border-radius:11px;cursor:pointer;margin-bottom:6px;
  border:1px solid transparent}
.kxOpt:last-child{margin-bottom:0}
.kxOpt:hover{background:var(--s2)}
.kxOpt.on{background:var(--s2);border-color:var(--ouro)}
.kxOpt input{margin-top:2px;width:auto}
.kxOpt b{display:block;font-size:12.5px;font-weight:600}
.kxOpt small{display:block;font-size:11px;color:var(--t3);line-height:1.45;margin-top:2px}
.kxSw{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;
  margin-bottom:10px}
.kxSw b{display:block;font-size:12.5px}
.kxSw small{display:block;font-size:11px;color:var(--t3);line-height:1.45;margin-top:2px}
.kxBt{width:46px;height:26px;border-radius:999px;border:0;cursor:pointer;flex:0 0 auto;
  background:var(--s2);position:relative;padding:0}
.kxBt i{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;
  background:var(--t3);transition:left .16s,background .16s}
.kxBt.on{background:var(--ouro)}
.kxBt.on i{left:23px;background:#1b1206}
.kxVal{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;
  background:var(--s2);border:1px solid var(--br);border-radius:10px;padding:0 12px}
.kxVal span{font-size:13px;color:var(--t3)}
.kxVal input{border:0;background:0;color:inherit;font-size:15px;padding:11px 0;width:100%;
  font-family:inherit;font-variant-numeric:tabular-nums}
.kxVal input:focus{outline:none}

.kxDupla{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:760px){ .kxDupla{grid-template-columns:minmax(0,1fr)} }
.kxTri{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr) minmax(0,280px);
  gap:14px;align-items:start}
@media (max-width:1100px){ .kxTri{grid-template-columns:minmax(0,1fr)} }
.kxArea{width:100%;min-height:84px;padding:10px 12px;border-radius:11px;
  border:1px solid var(--br);background:var(--s3);color:inherit;font-size:12.5px;
  font-family:inherit;box-sizing:border-box;resize:vertical}

.kxLado{position:sticky;top:14px;display:grid;gap:12px}
.kxRes{background:var(--s2);border:1px solid var(--br);border-radius:18px;padding:18px 20px}
.kxRes h2{margin:0 0 14px;font-size:18px}
.kxResP{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;
  padding-bottom:14px;border-bottom:1px solid var(--br)}
.kxResP .ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  font-size:21px;background:color-mix(in srgb,var(--c) 20%,transparent)}
.kxResP b{font-size:16px}
.kxItens{display:grid;gap:12px;padding:14px 0;border-bottom:1px solid var(--br)}
.kxItem{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:start}
.kxItem i{font-style:normal;font-size:15px;opacity:.8;margin-top:1px}
.kxItem span{display:block;font-size:11px;color:var(--t3)}
.kxItem b{display:block;font-size:13px;font-weight:600;margin-top:1px;line-height:1.4}
.kxTotal{padding:14px 0 0}
.kxTotal span{font-size:12px;color:var(--t3)}
.kxTotal b{display:block;font-size:31px;font-weight:800;color:var(--ouro);line-height:1.15;
  margin-top:2px}
.kxTotal em{display:block;font-style:normal;font-size:12.5px;color:var(--t2);margin-top:4px}
.kxSelo{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:4px 11px;
  border-radius:999px;font-size:11.5px;font-weight:700;color:var(--c);
  border:1px solid var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}
.kxAviso{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;margin-top:12px;
  padding:11px 12px;border-radius:11px;background:var(--s3);font-size:11.5px;
  line-height:1.5;color:var(--t2)}
.kxAcao{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
  margin-top:12px;padding:13px;border-radius:12px;border:0;background:var(--ouro);
  color:#1b1206;font-size:14.5px;font-weight:800;cursor:pointer;text-decoration:none;
  font-family:inherit}
.kxAcao:hover{filter:brightness(1.06)}
.kxAcao.fraco{background:transparent;border:1px solid var(--br);color:inherit}
.kxAcao.fraco:hover{background:var(--s3);filter:none}
.kxAcao[disabled]{opacity:.45;cursor:not-allowed}

.kxTab{width:100%;border-collapse:collapse;font-size:12.5px}
.kxTab th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;
  color:var(--t3);font-weight:600;padding:0 10px 9px 0;border-bottom:1px solid var(--br);
  white-space:nowrap}
.kxTab td{padding:11px 10px 11px 0;border-bottom:1px solid var(--br);vertical-align:middle}
.kxTab tr:last-child td{border-bottom:0}
.kxWrap{overflow-x:auto}



/* P524 (mockup dela): escolha do programa. Prefixo pz (proposta/venda) -- pv ja estava em uso. */
body:has(.pzTela) .wrap{max-width:none;width:100%;margin:0;padding:0}
body:has(.pzTela){background:#04121B}
.pzTela{min-height:100vh;background:#04121B;color:#E8F1F8}
.pzTopo{display:grid;grid-template-columns:auto 1fr auto auto;gap:22px;align-items:center;
  padding:16px 26px;border-bottom:1px solid rgba(255,255,255,.07)}
.pzMarca b{font-size:27px;font-weight:800;letter-spacing:-.5px;display:block;line-height:1}
.pzMarca b i{color:#E6A23C;font-style:normal}
.pzMarca small{font-size:9.5px;letter-spacing:.22em;opacity:.65;display:block;margin-top:3px}
.pzLema{text-align:center;font-size:11.5px;letter-spacing:.2em;opacity:.8;line-height:1.7}
.pzLema u{display:block;width:44px;height:2px;background:#E6A23C;margin:6px auto 0;
  border-radius:2px}
.pzFrase{font-size:10.5px;letter-spacing:.13em;line-height:1.7;opacity:.75;
  border-left:1px solid rgba(255,255,255,.12);padding-left:18px;text-align:right}
.pzEu{display:flex;align-items:center;gap:10px;font-size:13px}
.pzEu i{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);
  display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:700}

.pzPassos{display:flex;align-items:center;gap:10px;padding:16px 26px;flex-wrap:wrap}
.pzPasso{display:flex;align-items:center;gap:9px;font-size:13px;opacity:.5}
.pzPasso.atual,.pzPasso.feito{opacity:1}
.pzPasso i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  font-style:normal;font-size:12.5px;font-weight:700;background:rgba(255,255,255,.08)}
.pzPasso.atual i{background:#E6A23C;color:#14100a}
.pzPasso.feito i{background:rgba(230,162,60,.25);color:#E6A23C}
.pzTraco{flex:1;min-width:16px;height:1px;background:rgba(255,255,255,.14)}

.pzCorpo{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:18px;
  padding:0 26px 30px;align-items:start}
@media (max-width:1080px){ .pzCorpo{grid-template-columns:minmax(0,1fr)} }

.pzHero{background:linear-gradient(135deg,#0A1E2B,#071722);border:1px solid rgba(255,255,255,.07);
  border-radius:20px;padding:26px 28px;margin-bottom:16px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start}
.pzHero > .tag,.pzHero > h1,.pzHero > p{grid-column:1}
.pzHero .pzInclui{grid-column:1/-1}
.pzHero .tag{font-size:10.5px;letter-spacing:.26em;color:#E6A23C;font-weight:700}
.pzHero h1{margin:10px 0 12px;font-size:34px;line-height:1.18;max-width:17ch}
.pzHero h1 b{color:#E6A23C}
.pzHero p{margin:0;font-size:14px;line-height:1.65;opacity:.85;max-width:56ch}
.pzSelo{grid-column:2;grid-row:1/4;align-self:center;max-width:210px;text-align:center;
  font-size:17px;line-height:1.45;font-style:italic;opacity:.92}
.pzSelo u{display:block;width:80px;height:2px;background:#E6A23C;margin:9px auto 0;
  border-radius:2px}
@media (max-width:880px){ .pzSelo{display:none} .pzHero h1{font-size:26px} }

.pzInclui{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);
  border-radius:16px;padding:16px 18px;margin-top:20px}
.pzInclui .rot{font-size:10.5px;letter-spacing:.2em;color:#7FB2D8;font-weight:700;
  margin-bottom:13px}
.pzInclui ul{display:flex;gap:22px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.pzInclui li{display:flex;align-items:center;gap:8px;font-size:11.5px;line-height:1.4;
  max-width:170px;opacity:.9}
.pzInclui li em{font-style:normal;font-size:16px}

.pzPlanos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media (max-width:1400px){ .pzPlanos{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:620px){ .pzPlanos{grid-template-columns:minmax(0,1fr)} }
.pzPlano{position:relative;display:flex;flex-direction:column;
  background:rgba(255,255,255,.028);border:1px solid rgba(255,255,255,.09);
  border-radius:18px;padding:20px 18px}
.pzPlano.on{border-color:#E6A23C;box-shadow:0 0 0 1px #E6A23C,0 10px 40px rgba(230,162,60,.16)}
.pzPlano .fita{position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  background:#E6A23C;color:#14100a;font-size:10px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;padding:4px 13px;border-radius:999px;white-space:nowrap}
.pzPlano .ico{font-size:28px;line-height:1;margin-bottom:14px}
.pzPlano h3{margin:0;font-size:21px;line-height:1.2;font-weight:800}
.pzPlano h3 span{display:block;color:var(--c)}
.pzPlano .sub{margin:8px 0 0;font-size:12.5px;line-height:1.5;opacity:.75;
  padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}
.pzBens{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px;flex:1}
.pzBens li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;
  font-size:12.5px;line-height:1.4}
.pzBens li i{width:17px;height:17px;border-radius:50%;background:var(--c);color:#0b1016;
  display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:900;
  margin-top:1px}
.pzPreco{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.pzPreco .dur{font-size:12px;opacity:.72}
.pzPreco .par{font-size:14px;opacity:.9;margin-top:7px}
.pzPreco .val{font-size:31px;font-weight:800;line-height:1.1}
.pzPreco .tot{font-size:12.5px;opacity:.72;margin-top:4px}
.pzBt{display:block;width:100%;margin-top:15px;padding:11px;border-radius:11px;
  text-align:center;font-size:13.5px;font-weight:700;cursor:pointer;
  background:transparent;color:#E8F1F8;border:1px solid var(--c);
  text-decoration:none;font-family:inherit}
.pzBt:hover{background:rgba(255,255,255,.05)}
.pzBt.on{background:#E6A23C;border-color:#E6A23C;color:#14100a}

.pzLado{position:sticky;top:16px;display:grid;gap:14px}
.pzCard{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);
  border-radius:18px;padding:20px}
.pzCard h2{margin:0 0 14px;font-size:19px;display:flex;align-items:center;
  justify-content:space-between;gap:10px}
.pzCard h2 a{font-size:12px;font-weight:500;opacity:.8;color:inherit;text-decoration:none}
.pzCard h2 a:hover{text-decoration:underline}
.pzEsc{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:center;
  padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}
.pzEsc .ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  font-size:22px;background:color-mix(in srgb,var(--c) 20%,transparent)}
.pzEsc b{display:block;font-size:16.5px}
.pzEsc small{display:block;font-size:12px;opacity:.72;margin-top:2px}
.pzVal{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.pzVal b{font-size:19px;font-weight:800;display:block}
.pzVal small{font-size:13px;opacity:.8}
.pzLista{list-style:none;margin:13px 0 0;padding:0;display:grid;gap:9px}
.pzLista li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;
  font-size:12.5px;line-height:1.4}
.pzLista li i{width:17px;height:17px;border-radius:50%;background:#E6A23C;color:#14100a;
  display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:900;
  margin-top:1px}
.pzAdd{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;
  align-items:center;padding:12px 0}
.pzAdd .ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  font-size:17px;background:rgba(255,255,255,.07)}
.pzAdd b{display:block;font-size:13.5px}
.pzAdd small{display:block;font-size:11.5px;opacity:.7;line-height:1.4;margin-top:2px}
.pzAdd .val{font-size:11.5px;opacity:.85;text-align:right;white-space:nowrap}
.pzAdd .val b{font-size:12.5px;display:block}
.pzSwitch{width:44px;height:25px;border-radius:999px;border:0;cursor:pointer;
  background:rgba(255,255,255,.16);position:relative;padding:0;flex:0 0 auto}
.pzSwitch i{position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;
  background:#fff;transition:left .16s}
.pzSwitch.on{background:#E6A23C}
.pzSwitch.on i{left:22px}
.pzTotal b{display:block;font-size:34px;font-weight:800;color:#E6A23C;line-height:1.1}
.pzTotal span{font-size:13.5px;opacity:.85}
.pzNota{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;
  font-size:11.5px;line-height:1.5;opacity:.8;margin-top:13px}
.pzCTA{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
  margin-top:14px;padding:14px;border-radius:12px;border:0;background:#E6A23C;
  color:#14100a;font-size:15px;font-weight:800;cursor:pointer;text-decoration:none;
  font-family:inherit}
.pzCTA:hover{background:#F0B455}
.pzCTA.fraco{background:rgba(255,255,255,.1);color:#E8F1F8}
.pzSeg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:15px}
.pzSeg div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;
  font-size:10.5px;line-height:1.35;opacity:.7}

.pzEco{display:grid;grid-template-columns:minmax(0,1fr) repeat(4,minmax(0,1fr)) auto;
  gap:14px;align-items:start;padding:22px 26px 34px}
@media (max-width:1180px){ .pzEco{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:620px){ .pzEco{grid-template-columns:minmax(0,1fr)} }
.pzEcoT h3{margin:0 0 10px;font-size:13.5px;line-height:1.5;letter-spacing:.06em;
  text-transform:uppercase}
.pzEcoT h3 b{color:#7FB2D8}
.pzEcoT u{display:block;width:52px;height:2px;background:#E6A23C;margin:0 0 12px;
  border-radius:2px}
.pzEcoT p{margin:0;font-size:12.5px;line-height:1.6;opacity:.78}
.pzEcoC{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
  border-radius:15px;padding:16px;display:grid;gap:7px;align-content:start}
.pzEcoC i{font-style:normal;font-size:22px}
.pzEcoC b{font-size:14px}
.pzEcoC small{font-size:11.5px;line-height:1.5;opacity:.72}
.pzAssin{font-size:15px;font-style:italic;line-height:1.5;opacity:.9;max-width:200px}

.pzRev{display:grid;gap:12px}
.pzRevL{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;
  align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.pzRevL:last-child{border-bottom:0}
.pzRevL b{font-size:14px}
.pzRevL small{display:block;font-size:11.5px;opacity:.7}
.pzRevL .v{font-size:15px;font-weight:700;white-space:nowrap}
.pzFim{text-align:center;padding:30px 10px}
.pzFim .ok{width:64px;height:64px;border-radius:50%;background:rgba(61,214,140,.16);
  color:#3DD68C;display:grid;place-items:center;font-size:30px;margin:0 auto 16px}
.pzFim h2{margin:0 0 8px;font-size:24px}
.pzFim p{margin:0 auto;font-size:14px;line-height:1.65;opacity:.85;max-width:52ch}
.pzErro{background:rgba(224,87,90,.12);border:1px solid rgba(224,87,90,.4);
  border-radius:14px;padding:16px 18px;margin:20px 26px;font-size:13.5px;line-height:1.6}

/* a tela da closer */
.pzCloser{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px;
  align-items:start}
@media (max-width:1080px){ .pzCloser{grid-template-columns:minmax(0,1fr)} }
.pzLink{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}
.pzLink input{padding:10px 12px;border-radius:10px;border:1px solid var(--br);
  background:var(--s3);color:inherit;font-size:12.5px;font-family:inherit;min-width:0}
.pzLink button{padding:10px 16px;border-radius:10px;border:0;background:var(--ouro);
  color:#1b1206;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.pzEsco{display:grid;gap:8px;margin:10px 0}
.pzEsco label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;
  align-items:center;padding:9px 12px;border-radius:11px;background:var(--s3);
  font-size:12.5px;cursor:pointer}
.pzEsco label b{font-weight:600}
.pzEsco label span{opacity:.7;font-size:11.5px}
.pzEsco input{width:auto;margin:0}
.pzLog{display:grid;gap:2px}
.pzLogI{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;
  align-items:center;padding:8px 0;border-bottom:1px solid var(--br);font-size:12.5px}
.pzLogI:last-child{border-bottom:0}
.pzLogI small{opacity:.65;font-size:11px;white-space:nowrap}
.pzSit{padding:3px 11px;border-radius:999px;font-size:11px;font-weight:700;
  white-space:nowrap;color:var(--c);border:1px solid var(--c);
  background:color-mix(in srgb,var(--c) 14%,transparent)}
.pzTab{width:100%;border-collapse:collapse;font-size:12.5px}
.pzTab th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;
  color:var(--t3);font-weight:600;padding:0 10px 8px 0;border-bottom:1px solid var(--br)}
.pzTab td{padding:10px 10px 10px 0;border-bottom:1px solid var(--br);vertical-align:middle}
.pzTab tr:last-child td{border-bottom:0}
.crProp{display:inline-block;margin-top:6px;font-size:11px;color:var(--ouro);
  text-decoration:none;font-weight:600}
.crProp:hover{text-decoration:underline}

/* P523: a ficha do candidato no desenho dela. Prefixo rc. */
.rcTopo{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,320px) minmax(0,320px);
  gap:16px;align-items:center;background:var(--s2);border:1px solid var(--br);
  border-radius:18px;padding:16px 18px;margin-bottom:14px}
@media (max-width:1180px){ .rcTopo{grid-template-columns:auto minmax(0,1fr)} }
.rcFoto{width:112px;height:112px;border-radius:50%;object-fit:cover;border:2px solid var(--br)}
.rcFotoV{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;
  background:var(--s3);font-size:34px;font-weight:700}
.rcNome{margin:0 0 3px;font-size:26px;line-height:1.15}
.rcSub{margin:0 0 10px;font-size:13px;color:var(--t2)}
.rcCont{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--t2)}
.rcCont a{color:inherit;text-decoration:none}
.rcCont a:hover{text-decoration:underline}
.rcEtapa{background:var(--s3);border:1px solid var(--br);border-radius:14px;padding:12px 14px}
.rcEtapa .rot{font-size:11px;color:var(--t3);display:flex;align-items:center;gap:6px}
.rcEtapa b{display:block;font-size:14.5px;margin:3px 0 9px}
.rcBar{height:7px;border-radius:999px;background:var(--s2);overflow:hidden;
  display:flex;align-items:center}
.rcBar u{display:block;height:100%;border-radius:999px;background:var(--ouro)}
.rcEtapa .de{font-size:11px;color:var(--t3);margin-top:6px;display:block}
.rcReco{border-radius:14px;padding:13px 15px;border:1px solid var(--c);
  background:color-mix(in srgb,var(--c) 13%,transparent);display:grid;gap:5px}
.rcReco .rot{font-size:11px;color:var(--t3);display:flex;align-items:center;gap:6px}
.rcReco b{font-size:16px;line-height:1.25}
.rcReco small{font-size:11px;color:var(--t2);line-height:1.5;display:block}

.rcGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
  margin-bottom:12px;align-items:start}
@media (max-width:1180px){ .rcGrid{grid-template-columns:minmax(0,1fr)} }
.rcGrid .rhCard{margin:0}
.rcDonut{display:flex;align-items:center;gap:16px}
.rcDonut svg{width:128px;height:128px;flex:0 0 auto}
.rcDonut .txt{min-width:0}
.rcDonut .txt b{display:block;font-size:14.5px;margin-bottom:5px}
.rcDonut .txt span{font-size:12px;color:var(--t2);line-height:1.55}
.rcComp{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;
  align-items:center;font-size:12px;padding:6px 0;border-bottom:1px solid var(--br)}
.rcComp:last-child{border-bottom:0}
.rcComp i{font-style:normal;color:var(--t3);font-size:11px}
.rcComp em{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums}

.rcVaga{display:grid;gap:10px;font-size:12.5px}
.rcVagaL{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start}
.rcVagaL span{display:block;font-size:11px;color:var(--t3)}
.rcVagaL b{display:block;font-size:12.5px;font-weight:600}

.rcBarras{display:grid;gap:3px}
.rcLinha{display:grid;grid-template-columns:minmax(96px,1.1fr) minmax(0,1.5fr) auto;
  gap:10px;align-items:center;font-size:12.5px;padding:5px 0}
.rcLinha .n{min-width:0;overflow-wrap:break-word}
.rcLinha .b{height:9px;border-radius:999px;background:var(--s3);overflow:hidden}
.rcLinha .b u{display:block;height:100%;border-radius:999px;background:var(--c)}
.rcLinha .v{font-weight:700;font-variant-numeric:tabular-nums;min-width:38px;text-align:right}
.rcLinha .d{grid-column:1/-1;font-size:10.5px;color:var(--t3);margin:-2px 0 4px}

.rcPassos{display:grid;gap:10px}
.rcPasso{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:start}
.rcPasso i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  font-style:normal;font-size:12px;font-weight:700;background:var(--s3)}
.rcPasso.um i{background:var(--ouro);color:#1b1206}
.rcPasso b{display:block;font-size:12.5px}
.rcPasso small{display:block;font-size:11px;color:var(--t3);line-height:1.45}

.rcCheck{display:grid;gap:9px}
.rcCheckI{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;
  align-items:center;padding:10px 12px;border-radius:12px;background:var(--s3);
  border-left:3px solid var(--c)}
.rcCheckI b{display:block;font-size:12.5px}
.rcCheckI small{display:block;font-size:11px;color:var(--t3);line-height:1.45}
.rcCheckE{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;
  font-size:13px;background:color-mix(in srgb,var(--c) 22%,transparent)}
.rcCheckB{display:flex;gap:6px;align-items:center}
.rcCheckB button{padding:5px 11px;border-radius:8px;border:1px solid var(--br);
  background:var(--s2);color:inherit;font-size:11.5px;cursor:pointer;white-space:nowrap}
.rcCheckB button.sim:hover{background:#3DD68C;color:#0b0f14;border-color:#3DD68C}
.rcCheckB button.nao:hover{background:#E0575A;color:#fff;border-color:#E0575A}
.rcCheckB .selo{font-size:11px;font-weight:700;white-space:nowrap}
.rcForm{display:grid;gap:9px;margin-top:4px}
.rcForm label{font-size:11.5px;color:var(--t3);display:grid;gap:5px}
.rcForm input,.rcForm select,.rcForm textarea{padding:8px 10px;border-radius:10px;
  border:1px solid var(--br);background:var(--s3);color:inherit;font-size:12.5px;
  font-family:inherit;box-sizing:border-box;width:100%}
.rcForm textarea{min-height:76px;resize:vertical}
.rcForm button{justify-self:start;width:auto}
.rcMigalha{display:flex;align-items:center;gap:8px;font-size:12.5px;
  color:var(--t3);margin-bottom:12px;flex-wrap:wrap}
.rcMigalha a{color:var(--t2);text-decoration:none}
.rcMigalha a:hover{color:var(--t1);text-decoration:underline}
.rcMigalha b{color:var(--t1);font-weight:600}
.rcMigalha .volta{color:var(--ouro);font-weight:600}
.rcDupla{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
@media (max-width:640px){ .rcDupla{grid-template-columns:minmax(0,1fr)} }

/* P522 (mockup dela): FICHA DO ALUNO vista pelo professor. Prefixo ta. */
.taTopo{display:grid;grid-template-columns:auto minmax(0,1.3fr) minmax(0,1fr) auto;
  gap:18px;align-items:center;background:var(--s2);border:1px solid var(--br);
  border-radius:18px;padding:16px 18px;margin-bottom:14px}
.taFoto{width:104px;height:104px;border-radius:50%;object-fit:cover;
  border:2px solid var(--br)}
.taFotoV{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;
  background:var(--s3);font-size:30px;font-weight:700}
.taNome{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 4px}
.taNome h1{margin:0;font-size:25px;line-height:1.15}
.taOn{width:9px;height:9px;border-radius:50%;background:#3DD68C;flex:0 0 auto}
.taSelo{padding:3px 11px;border-radius:999px;font-size:11.5px;font-weight:700;
  border:1px solid transparent}
.taMail{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--t2);
  margin-bottom:9px;flex-wrap:wrap}
.taMail a{color:inherit;text-decoration:none}
.taMail a:hover{text-decoration:underline}
.taChips{display:flex;gap:7px;flex-wrap:wrap}
.taChip{padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:600;
  background:var(--s3);border:1px solid var(--br)}
.taObj{min-width:0}
.taObj blockquote{margin:0 0 6px;font-size:13.5px;line-height:1.55;font-style:italic;
  color:var(--t1)}
.taObj .taSemObj{font-size:12.5px;color:var(--t3);font-style:normal}
.taObjEd{font-size:11.5px;color:var(--ouro);background:0;border:0;padding:0;
  cursor:pointer;text-decoration:underline}
.taObjF{display:none;gap:6px;margin-top:6px}
.taObjF.on{display:flex}
.taObjF input{flex:1;min-width:0;padding:6px 9px;border-radius:8px;
  border:1px solid var(--br);background:var(--s3);color:inherit;font-size:12px}
.taObjF button{padding:6px 12px;border-radius:8px;border:0;background:var(--ouro);
  color:#1b1206;font-size:12px;font-weight:700;cursor:pointer}
.taMeta{display:grid;gap:10px;font-size:12px;min-width:0}
.taMetaL{display:flex;gap:8px;align-items:flex-start}
.taMetaL b{display:block;font-size:12.5px;font-weight:600;color:var(--t1)}
.taMetaL span{color:var(--t3);font-size:11px;display:block}

.taAbas{display:flex;gap:7px;overflow-x:auto;padding-bottom:3px;margin-bottom:14px;
  scrollbar-width:thin}
.taAba{padding:9px 17px;border-radius:11px;background:var(--s2);border:1px solid var(--br);
  color:var(--t2);text-decoration:none;font-size:13px;white-space:nowrap}
.taAba:hover{color:var(--t1)}
.taAba.on{background:#6C3BD1;border-color:#6C3BD1;color:#fff;font-weight:600}

.taKpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;
  margin-bottom:14px}
@media (max-width:1280px){ .taKpis{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:720px){ .taKpis{grid-template-columns:repeat(2,minmax(0,1fr))} }
.taKpi{background:var(--s2);border:1px solid var(--br);border-radius:15px;padding:13px 14px}
.taKpiT{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--t2);
  margin-bottom:10px}
.taKpiC{display:flex;align-items:center;gap:11px}
.taKpiN{font-size:22px;font-weight:700;line-height:1.1}
.taKpiD{font-size:10.5px;color:var(--t3);margin-top:2px;line-height:1.35}
.taKpiL{display:inline-block;margin-top:9px;font-size:11.5px;color:var(--ouro);
  text-decoration:none}
.taKpiL:hover{text-decoration:underline}
.taVazio{font-size:12px;color:var(--t3);line-height:1.5;margin:0}
.taAnel{width:56px;height:56px;flex:0 0 auto}
.taBarra{height:7px;border-radius:999px;background:var(--s3);overflow:hidden;
  margin-top:8px}
.taBarra i{display:block;height:100%;border-radius:999px;background:#9B66FF}

.taGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);
  gap:12px;margin-bottom:14px;align-items:start}
@media (max-width:1180px){ .taGrid{grid-template-columns:minmax(0,1fr)} }
.taGrid2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
@media (max-width:1180px){ .taGrid2{grid-template-columns:minmax(0,1fr)} }
.taCard{background:var(--s2);border:1px solid var(--br);border-radius:16px;padding:15px 16px}
.taCard h3{margin:0 0 3px;font-size:14.5px}
.taCard .nota{margin:0 0 12px;font-size:11.5px;color:var(--t3);line-height:1.5}
.taCabL{display:flex;align-items:center;justify-content:space-between;gap:10px}
.taVer{font-size:11.5px;color:var(--ouro);text-decoration:none;white-space:nowrap}
.taVer:hover{text-decoration:underline}

.taHab{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;
  align-items:center;padding:6px 0;font-size:12.5px}
.taHabN{white-space:nowrap}
.taHabB{position:relative;height:9px;border-radius:999px;background:var(--s3)}
.taHabB i{position:absolute;left:0;top:0;height:100%;border-radius:999px}
.taHabB i.ini{background:var(--s4,#33475b);opacity:.85}
.taHabB u{position:absolute;top:-3px;width:2px;height:15px;background:var(--t3);
  opacity:.7;border-radius:2px}
.taHabV{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap;
  text-align:right;min-width:62px}
.taHabV small{display:block;font-size:10px;font-weight:500;color:var(--t3)}
.taHabX{color:var(--t3);font-size:11.5px;font-style:italic}
.taLegH{display:flex;gap:14px;font-size:11px;color:var(--t3);margin-bottom:8px;
  flex-wrap:wrap}
.taLegH span{display:flex;align-items:center;gap:5px}
.taLegH i{width:9px;height:9px;border-radius:50%;background:var(--c)}

.taSvg{width:100%;height:auto;display:block}
.taAtiv{display:grid;gap:2px}
.taAtivI{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;
  align-items:center;padding:8px 0;border-bottom:1px solid var(--br)}
.taAtivI:last-child{border-bottom:0}
.taAtivE{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  font-size:14px;background:var(--s3)}
.taAtivT{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.taAtivS{font-size:10.5px;color:var(--t3)}
.taAtivN{font-size:12.5px;font-weight:700;white-space:nowrap;
  font-variant-numeric:tabular-nums}

.taAula{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;
  align-items:center;padding:9px 0;border-bottom:1px solid var(--br)}
.taAula:last-child{border-bottom:0}
.taAulaQ{border-left:3px solid #9B66FF;padding-left:9px;font-size:12px;white-space:nowrap}
.taAulaQ b{display:block;font-size:12.5px}
.taAulaT{font-size:12.5px;font-weight:600;min-width:0;overflow-wrap:break-word}
.taAulaT span{display:block;font-size:11px;color:var(--t3);font-weight:400}
.taFalta{color:#E0575A;font-weight:700;font-size:11.5px}
.taPres{color:#3DD68C;font-weight:700;font-size:11.5px}

.taAten{display:grid;gap:9px}
.taAtenI{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;
  padding:9px 11px;border-radius:11px;background:var(--s3);
  border-left:3px solid var(--c)}
.taAtenE{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;
  font-size:13px;background:color-mix(in srgb,var(--c) 22%,transparent)}
.taAtenI b{font-size:12.5px;display:block;margin-bottom:2px}
.taAtenI small{font-size:11px;color:var(--t3);line-height:1.45;display:block}
.taAtenN{background:var(--c);color:#0b0f14;border-radius:999px;padding:1px 9px;
  font-size:11px;font-weight:700}

.taSug{display:grid;gap:9px}
.taSugI{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;
  padding:9px 0;border-bottom:1px solid var(--br)}
.taSugI:last-child{border-bottom:0}
.taSugE{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;
  font-size:13px;background:var(--s3)}
.taSugI b{font-size:12.5px;display:block;margin-bottom:2px}
.taSugI small{font-size:11px;color:var(--t3);line-height:1.45;display:block}

.taNota{display:grid;gap:8px}
.taNotaI{background:var(--s3);border-radius:11px;padding:10px 12px}
.taNotaD{font-size:10.5px;color:var(--t3);margin-bottom:3px;
  display:flex;justify-content:space-between;gap:10px}
.taNotaT{font-size:12.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:break-word}
.taNotaF{display:grid;gap:8px;margin-bottom:12px}
.taNotaF textarea{width:100%;min-height:74px;padding:9px 11px;border-radius:11px;
  border:1px solid var(--br);background:var(--s3);color:inherit;font-size:12.5px;
  font-family:inherit;box-sizing:border-box;resize:vertical}
.taNotaF button{justify-self:start;padding:8px 18px;border-radius:10px;border:0;
  background:var(--ouro);color:#1b1206;font-size:12.5px;font-weight:700;cursor:pointer}

.taTab{width:100%;border-collapse:collapse;font-size:12.5px}
.taTab th{text-align:left;font-size:10.5px;text-transform:uppercase;
  letter-spacing:.05em;color:var(--t3);font-weight:600;padding:0 10px 8px 0;
  border-bottom:1px solid var(--br);white-space:nowrap}
.taTab td{padding:10px 10px 10px 0;border-bottom:1px solid var(--br);
  vertical-align:top}
.taTab tr:last-child td{border-bottom:0}
.taWrap{overflow-x:auto}
.taTag{padding:2px 9px;border-radius:999px;font-size:10.5px;font-weight:700;
  white-space:nowrap;background:var(--s3)}

.anCampCab{display:grid;grid-template-columns:minmax(120px,1.1fr) 150px minmax(130px,1fr)
  auto auto;gap:8px;align-items:center;padding:0 0 6px;font-size:10.5px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--t3);
  border-bottom:1px solid var(--br)}
.anCampCab i{font-style:normal}
@media (max-width:820px){ .anCampCab{display:none} }
.anCamp b{font-size:12.5px;min-width:0;overflow-wrap:break-word}
.anCamp select,.anCamp input[name="utm"]{padding:6px 9px;border-radius:8px;
  border:1px solid var(--br);background:var(--s3);color:inherit;font-size:12px;
  min-width:0;box-sizing:border-box}
.anCamp label{display:flex;align-items:center;gap:5px;font-size:11.5px;white-space:nowrap}
.anCamp label input{width:auto}
.anCamp button{padding:6px 13px;border-radius:8px;border:0;background:var(--s3);
  color:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.anCamp button:hover{background:var(--ouro);color:#1b1206}
@media (max-width:820px){ .anCamp{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }
.anImp textarea{width:100%;min-height:120px;padding:10px;border-radius:10px;
  border:1px solid var(--br);background:var(--s3);color:inherit;font-size:12px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;box-sizing:border-box}
@media (max-width:1550px){ .anKpis{grid-template-columns:repeat(4,minmax(0,1fr))}
  .anL3{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:1050px){ .anL3{grid-template-columns:minmax(0,1fr)}
  .anBaixo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:640px){ .anKpis{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:1250px){ .clTopo{grid-template-columns:minmax(0,1fr)}
  .clGrid{grid-template-columns:minmax(0,1fr)}
  .clEtapas{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:620px){ .clDupla{grid-template-columns:minmax(0,1fr)}
  .clEtapas{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* ---- P510: Qualidade das Aulas ---- */
.qaTopo{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.qaTopo .tx{flex:1;min-width:0}
.qaTopo h1{margin:0 0 3px;font-size:26px}
.qaTopo p{margin:0;font-size:13.5px;color:var(--t2)}
.qaIco{flex:0 0 auto;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  color:var(--c,#8FA3B8);background:color-mix(in srgb, var(--c,#8FA3B8) 15%, transparent);
  border:1px solid color-mix(in srgb, var(--c,#8FA3B8) 35%, transparent)}
.qaIco svg{width:20px;height:20px}
.qaTiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:13px}
.qaTile{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--br);
  border-radius:15px;background:var(--s2);min-width:0}
.qaTile b{display:block;font-size:23px;font-weight:800;line-height:1.1}
.qaTile strong{display:block;font-size:12.5px;font-weight:700}
.qaTile small{display:block;font-size:11px;color:var(--t3)}
.qaAvisoTopo{border:1px solid rgba(139,92,246,.4);background:rgba(139,92,246,.07);
  border-radius:15px;padding:15px 18px;margin-bottom:13px}
.qaAvisoTopo>b{display:block;font-size:13.5px;margin-bottom:7px;color:#9B66FF}
.qaAvisoTopo p{margin:0 0 6px;font-size:12.5px;line-height:1.55;color:var(--t2)}
.qaAvisoTopo p b{color:var(--t1)}
.qaNota{color:var(--t3)!important;font-size:11.5px!important}
.qaAbas{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.qaAba{padding:6px 13px;border-radius:999px;border:1px solid var(--br);background:var(--s2);
  color:var(--t2);font-size:12.5px;font-weight:700;text-decoration:none}
.qaAba.on{border-color:var(--ouro);color:var(--ouro);
  background:color-mix(in srgb, var(--ouro, #E6A23C) 12%, transparent)}
.qaCard{border:1px solid var(--br);border-left:3px solid var(--c,#8FA3B8);border-radius:14px;
  background:var(--s2);padding:15px 18px;margin-bottom:11px}
.qaCab{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px}
.qaGrav{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  color:var(--c,#8FA3B8)}
.qaTipo{font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;text-transform:uppercase;
  letter-spacing:.04em}
.qaTipo.m{color:#3DD68C;background:rgba(61,214,140,.13);border:1px solid rgba(61,214,140,.4)}
.qaTipo.j{color:#9B66FF;background:rgba(155,102,255,.13);border:1px solid rgba(155,102,255,.4)}
.qaQuando{margin-left:auto;font-size:11px;color:var(--t3)}
.qaCard>b{display:block;font-size:15px;line-height:1.35}
.qaAula{display:block;margin-top:2px;font-size:12px;color:var(--t3)}
.qaCard>p{margin:8px 0 0;font-size:13px;line-height:1.55;color:var(--t2)}
.qaAviso{border-left:2px solid #9B66FF;padding-left:11px;font-size:12px!important;
  color:var(--t3)!important}
.qaAviso b{color:var(--t1)}
.qaFalas{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding:10px 12px;
  border-radius:10px;background:var(--s3)}
.qaFalas span{font-size:11.5px;color:var(--t2);line-height:1.45;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.qaTempo{display:block;margin-top:7px;font-size:11.5px;color:var(--t3);
  font-variant-numeric:tabular-nums}
.qaObs{margin-top:9px!important;font-style:italic;color:var(--t3)!important;font-size:12px!important}
.qaBts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.qaForm{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex:1;min-width:260px;margin:0}
.qaForm input{flex:1;min-width:180px;height:34px;padding:0 11px;border-radius:9px;
  border:1px solid var(--br);background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px}
.qaBt{height:34px;padding:0 14px;border-radius:9px;border:0;font:inherit;font-size:12.5px;
  font-weight:750;cursor:pointer;white-space:nowrap}
.qaBt.sim{background:#3DD68C;color:#0B1F2A}
.qaBt.nao{background:transparent;border:1px solid var(--br);color:var(--t2)}
.qaBt2{font-size:12.5px;color:var(--ouro);text-decoration:none;white-space:nowrap}
.qaDestaque{box-shadow:0 0 0 2px var(--ouro, #E6A23C)}
.qaRevisao{margin-top:9px;padding:9px 12px;border-radius:10px;border:1px solid rgba(61,214,140,.35);
  background:rgba(61,214,140,.07)}
.qaRevisao b{display:block;font-size:12px;color:#3DD68C}
.qaRevisao p{margin:4px 0 0;font-size:12.5px;color:var(--t2);line-height:1.5}
/* Momentos positivos (tela da closer) */
.moAviso{border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.06)}
.moAviso>b{color:#3DD68C}
.moAut{font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;letter-spacing:.03em}
.moAut.sim{color:#3DD68C;background:rgba(61,214,140,.13);border:1px solid rgba(61,214,140,.4)}
.moAut.nao{color:#E0575A;background:rgba(224,87,90,.1);border:1px solid rgba(224,87,90,.4)}
.moFiltro{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.moFiltro select{height:34px;padding:0 10px;border-radius:9px;border:1px solid var(--br);
  background:var(--s2);color:var(--t1);font:inherit;font-size:12.5px;max-width:100%}
.moFiltro label{font-size:12.5px;color:var(--t2);display:flex;gap:6px;align-items:center}
.moUsei{display:flex;gap:8px;align-items:center;margin:0 0 0 auto}
.moUsado{font-size:12px;color:#3DD68C;font-weight:700}
@media (max-width:820px){ .qaTiles{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* ---- P508: Ler a aula ---- */
.laTopo{margin-bottom:14px}
.laVolta{font-size:12.5px;color:var(--t3);text-decoration:none}
.laVolta:hover{color:var(--ouro)}
.laTopo h1{margin:6px 0 3px;font-size:25px}
.laTopo p{margin:0 0 9px;font-size:13px;color:var(--t3)}
.laSelo{display:inline-flex;padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:800;
  color:var(--c,#8FA3B8);background:color-mix(in srgb, var(--c,#8FA3B8) 14%, transparent);
  border:1px solid color-mix(in srgb, var(--c,#8FA3B8) 40%, transparent)}
.laMotivo{display:block;margin-top:6px;font-size:12px;color:var(--t3)}
.laErro{border:1px solid rgba(224,87,90,.5);background:rgba(224,87,90,.1);border-radius:12px;
  padding:11px 14px;margin-bottom:12px;font-size:13px;color:#E0575A}
.laCard{border:1px solid var(--br);border-radius:15px;background:var(--s2);padding:16px 18px;
  margin-bottom:12px}
.laCard h2{margin:0 0 8px;font-size:16px}
.laCab2{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.laCab2 h2{margin:0}
.laNota{margin:8px 0 0;font-size:12px;color:var(--t3);line-height:1.55}
.laOk{margin:0;font-size:12.5px;color:#3DD68C}
.laAvisoData{margin:10px 0 0;padding:9px 12px;border-radius:10px;font-size:13px;line-height:1.5;color:#FFB92E;background:rgba(255,185,46,.10);border:1px solid rgba(255,185,46,.45)}
.laLinha{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:11px}
.laLinha input[type=file]{flex:1;min-width:200px;font-size:12.5px;color:var(--t2);width:auto}
.laLinha input[name=pergunta]{flex:1;min-width:230px;height:38px;padding:0 12px;border-radius:10px;
  border:1px solid var(--br);background:var(--s3);color:var(--t1);font:inherit;font-size:13px}
.laBt{display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:10px;
  border:0;background:var(--ouro);color:#0B1F2A;font:inherit;font-size:12.5px;font-weight:750;
  cursor:pointer;white-space:nowrap}
.laBt[disabled]{opacity:.45;cursor:not-allowed}
.laBt2{display:inline-flex;align-items:center;height:38px;padding:0 15px;border-radius:10px;
  border:1px solid var(--br);background:transparent;color:var(--t2);font:inherit;
  font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.laBt2:hover{border-color:var(--ouro);color:var(--ouro)}
.laBt2[disabled]{opacity:.45;cursor:not-allowed}
.laAchados{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:11px;
  margin-top:12px}
.laAchado{border:1px solid var(--br);border-left:3px solid var(--c,#8FA3B8);border-radius:12px;
  background:var(--s3);padding:12px 14px}
.laCab{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:7px}
.laCat{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;
  color:var(--c,#8FA3B8)}
.laTempo{font-size:11.5px;font-weight:750;color:var(--t2);font-variant-numeric:tabular-nums}
.laAchado b{display:block;font-size:13.5px;line-height:1.4}
.laAchado>small{display:block;margin-top:4px;font-size:11.5px;color:var(--t3);line-height:1.45}
.laFalas{display:flex;flex-direction:column;gap:4px;margin-top:9px;padding-top:9px;
  border-top:1px solid var(--br)}
.laFalas span{font-size:11.5px;color:var(--t2);line-height:1.45;font-family:ui-monospace,
  SFMono-Regular,Menlo,monospace}
.laTrecho{margin-top:9px;padding:9px 11px;border-radius:10px;background:var(--s3)}
/* a conversa */
/* O fio cresce com a pagina. Com max-height + overflow interno, o
   comeco da conversa ficava escondido atras de uma barra de rolagem
   dentro de uma pagina que ja rolava -- duas rolagens para ler uma
   coisa so. */
.laFio{display:flex;flex-direction:column;gap:10px;margin:14px 0;padding:2px}
.laMsg{display:flex;gap:9px;align-items:flex-start;max-width:86%}
.laMsg.eu{align-self:flex-end;justify-content:flex-end}
.laMsg.ia{align-self:flex-start}
.laQuem{flex:0 0 auto;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;
  font-size:10px;font-weight:800;color:#9B66FF;background:rgba(155,102,255,.15);
  border:1px solid rgba(155,102,255,.4)}
.laBalao{border:1px solid var(--br);border-radius:13px;padding:10px 13px;background:var(--s3);
  min-width:0}
.laMsg.eu .laBalao{background:color-mix(in srgb, var(--ouro, #E6A23C) 14%, transparent);
  border-color:color-mix(in srgb, var(--ouro, #E6A23C) 38%, transparent);
  border-bottom-right-radius:5px}
.laMsg.ia .laBalao{border-bottom-left-radius:5px}
.laBalao.vazio p{color:var(--t3);font-style:italic}
.laBalao p{margin:0;font-size:13px;line-height:1.55;color:var(--t1);white-space:pre-wrap}
.laHora{display:block;margin-top:6px;font-size:10px;color:var(--t3);text-align:right}
.laEscrever{display:flex;gap:9px;align-items:center;padding-top:12px;
  border-top:1px solid var(--br)}
.laEscrever input{flex:1;min-width:0;height:40px;padding:0 14px;border-radius:12px;
  border:1px solid var(--br);background:var(--s3);color:var(--t1);font:inherit;font-size:13px}
.laEscrever input:focus{outline:none;border-color:var(--ouro)}
.laVazio{margin:0;padding:18px 0;text-align:center;font-size:12.5px;color:var(--t3)}
@media (max-width:620px){ .laMsg{max-width:96%} }

/* ---- P507: Cortes das Aulas ---- */
.ctTopo{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.ctTopo .tx{flex:1;min-width:0}
.ctTopo h1{margin:0 0 3px;font-size:26px}
.ctTopo p{margin:0;font-size:13.5px;color:var(--t2)}
.ctIco{flex:0 0 auto;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  color:var(--c,#8FA3B8);background:color-mix(in srgb, var(--c,#8FA3B8) 15%, transparent);
  border:1px solid color-mix(in srgb, var(--c,#8FA3B8) 35%, transparent)}
.ctIco svg{width:19px;height:19px}
.ctIco.grande{width:48px;height:48px;border-radius:14px}
.ctIco.grande svg{width:24px;height:24px}
.ctAviso{border:1px solid rgba(255,185,46,.4);background:rgba(255,185,46,.07);
  border-radius:15px;padding:15px 18px;margin-bottom:14px}
.ctAviso>b{display:block;font-size:13.5px;margin-bottom:6px;color:#FFB92E}
.ctAviso p b{color:var(--t1)}
.ctAviso p{margin:0 0 7px;font-size:13px;line-height:1.55;color:var(--t2)}
.ctAviso p:last-child{margin-bottom:0}
.ctCard{border:1px solid var(--br);border-radius:15px;background:var(--s2);padding:16px 18px;
  margin-bottom:12px}
.ctCab{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.ctCab .tx{flex:1;min-width:200px}
.ctCab b{display:block;font-size:15px}
.ctCab small{display:block;font-size:12px;color:var(--t3);line-height:1.45}
.ctSelo{flex:0 0 auto;padding:5px 11px;border-radius:999px;font-size:11.5px;font-weight:800;
  color:var(--c,#8FA3B8);background:color-mix(in srgb, var(--c,#8FA3B8) 14%, transparent);
  border:1px solid color-mix(in srgb, var(--c,#8FA3B8) 40%, transparent);white-space:nowrap}
.ctMotivo{margin:11px 0 0;font-size:13px;line-height:1.5;color:var(--c,#8FA3B8)}
.ctNota{margin:7px 0 0;font-size:12px;color:var(--t3);line-height:1.5}
.ctItens{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px;
  padding-top:12px;border-top:1px solid var(--br)}
.ctIt{display:flex;align-items:baseline;gap:7px;font-size:12px;color:var(--t3)}
.ctIt i{font-style:normal;font-weight:800}
.ctIt.sim{color:var(--t1)}
.ctIt.sim i{color:#3DD68C}
.ctIt em{font-style:normal;font-size:10.5px;color:var(--t3);opacity:.85}
.ctBts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:13px}
.ctBt{display:inline-flex;align-items:center;height:36px;padding:0 15px;border-radius:10px;
  background:var(--ouro);color:#0B1F2A;font-size:12.5px;font-weight:750;text-decoration:none}
.ctBt2{font-size:12.5px;color:var(--ouro);text-decoration:none}
.ctTrava{font-size:12px;color:#E0575A;font-weight:700}
.ctIt em.bom{color:#3DD68C}
.ctFiltro{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.ctAba{padding:6px 13px;border-radius:999px;border:1px solid var(--br);background:var(--s2);
  color:var(--t2);font-size:12.5px;font-weight:700;text-decoration:none}
.ctAba.on{border-color:var(--ouro);color:var(--ouro);
  background:color-mix(in srgb, var(--ouro, #E6A23C) 12%, transparent)}
.ctForm{margin-top:13px;padding-top:13px;border-top:1px solid var(--br)}
.ctForm b{display:block;font-size:12.5px;margin-bottom:3px}
.ctForm p{margin:0 0 9px;font-size:11.5px;color:var(--t3);line-height:1.5}
.ctLinha{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.ctLinha select,.ctLinha input{height:36px;padding:0 10px;border-radius:10px;
  border:1px solid var(--br);background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px}
.ctLinha select{width:auto;flex:0 0 auto}
.ctLinha input{flex:1;min-width:190px}
/* "Antes e depois" (evolucaoVideo.js): o formulário da Social Mídia */
.adAviso ul{margin:6px 0 0;padding-left:18px}
.adAviso li{margin:3px 0;font-size:12.5px;line-height:1.5;color:var(--t2)}
.adErro{margin:0 0 12px;padding:11px 14px;border-radius:10px;font-size:13px;font-weight:700;color:#E0575A;
  border:1px solid rgba(224,87,90,.45);background:rgba(224,87,90,.1)}
.adEscolhe b,.adNovo > b{display:block;font-size:14px;margin-bottom:3px}
.adEscolhe p{margin:0 0 10px;font-size:12px;color:var(--t3)}
.adCab{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}
.adCab b{font-size:14px}
.adCab small{font-size:12px;color:var(--t3)}
.adCampos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 4px}
.adCampos label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--t2)}
.adCampos .adLargo{grid-column:1 / -1}
.adCampos input,.adCampos select{height:38px;padding:0 10px;border-radius:10px;border:1px solid var(--br);
  background:var(--s3);color:var(--t1);font:inherit;font-size:13px;font-weight:500;min-width:0}
.adVid{padding:11px 0;border-top:1px solid var(--br)}
.adVid.oculto .adVidTx{opacity:.55}
.adVidTopo{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.adVidTx{flex:1;min-width:180px}
.adVidTx b{display:block;font-size:13.5px}
.adVidTx small{font-size:11.5px;color:var(--t3)}
.adVidTx em{font-style:normal;color:#E0575A;font-weight:700}
.adVidBts{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.adVidBts form{margin:0}
.adLink{background:none;border:0;padding:0;font:inherit;font-size:12.5px;color:var(--t2);cursor:pointer}
.adLink:hover{color:var(--ouro)}
.adLink.perigo{color:#E0575A}
.adTipo{flex:0 0 auto;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;
  color:var(--c,#8FA3B8);border:1px solid color-mix(in srgb, var(--c,#8FA3B8) 45%, transparent);
  background:color-mix(in srgb, var(--c,#8FA3B8) 13%, transparent)}
.adTipo.t-antes{--c:#4E9BFF}
.adTipo.t-depois{--c:#3DD68C}
.adTipo.t-marco{--c:#FFB92E}
@media (max-width:760px){ .adCampos{grid-template-columns:1fr} .adVidBts{width:100%} }

/* Feed vertical (13/10/2026; feedTemas.js): a tela da equipe */
.fdFiltro{margin-bottom:12px}
.fdBarra{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px;padding:12px 14px;
  border:1px solid var(--br);border-radius:12px;background:var(--s2)}
.fdBarra small{font-size:11.5px;color:var(--t3)}
.fdGrade{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.fdCard,.fdPub{border:1px solid var(--br);border-radius:14px;background:var(--s2);overflow:hidden;
  display:flex;flex-direction:column}
.fdCapa{position:relative;display:block;width:100%;aspect-ratio:9/12;padding:0;border:0;background:#000;cursor:pointer}
.fdCapa img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92}
.fdPlay{position:absolute;inset:0;display:grid;place-items:center;font-size:34px;color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.6)}
.fdDur{position:absolute;right:8px;bottom:8px;padding:2px 7px;border-radius:6px;background:rgba(0,0,0,.75);
  color:#fff;font-size:11.5px;font-weight:700}
.fdFrame{width:100%;aspect-ratio:9/12;border:0;display:block;background:#000}
.fdInfo{padding:11px 12px 13px;display:flex;flex-direction:column;gap:6px}
.fdTit{font-size:13px;line-height:1.35}
.fdInfo small{font-size:11.5px;color:var(--t3)}
.fdInfo small a{color:var(--t2)}
.fdMarca{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;font-size:12px;color:var(--t2);cursor:pointer;width:auto}
.fdMarca input{width:16px;height:16px;flex:0 0 auto;margin:0;padding:0;accent-color:var(--ouro)}
.fdNivel{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--t2)}
.fdNivel select,.fdNum{height:32px;padding:0 8px;border-radius:9px;border:1px solid var(--br);
  background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px}
.ctLinha .fdNum,.fdNum{width:84px;flex:0 0 auto;min-width:0}
.fdBts{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}
.fdBts form{margin:0}
.fdCota{height:9px;border-radius:99px;background:var(--s3);overflow:hidden;margin:6px 0 2px}
.fdCota i{display:block;height:100%;background:var(--ouro)}
.fdTema{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--br)}
.fdTema.off .fdTemaTx{opacity:.55}
.fdTemaTx{flex:1;min-width:220px}
.fdTemaTx b{font-size:13.5px}
.fdTemaTx small{display:block;margin-top:3px;font-size:11.5px;color:var(--t3)}
.fdTemaTx em{font-style:normal;color:#E0575A;font-weight:700}
.fdTema button.ctBt2,form.fdTeto button.ctBt2{background:none;border:0;padding:0 4px;font:inherit;font-size:12.5px;
  font-weight:700;color:var(--ouro);cursor:pointer}
@media (max-width:620px){ .fdGrade{grid-template-columns:1fr 1fr} .fdTema .ctLinha{width:100%} }
.fdDen{font-style:normal;color:#E0575A;font-weight:700}
.fdPalavras{width:100%;min-height:150px;padding:10px 12px;border-radius:10px;border:1px solid var(--br);background:var(--s3);
  color:var(--t1);font:inherit;font-size:13px;line-height:1.5;resize:vertical}
.fdDenunciar{background:none;border:0;padding:0 2px;font:inherit;font-size:12px;color:var(--t3);cursor:pointer}
.fdDenunciar:hover{color:#E0575A}
.fdDenunciado{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:24px;text-align:center;
  background:rgba(0,0,0,.9);color:#fff;font-size:14px;font-weight:700;z-index:2}
/* Feed: os posts da escola (13/10/2026; feedPosts.js) */
.fdTelaPost{display:flex;align-items:center;justify-content:center}
.fpMeme{position:absolute;inset:0;background:#111;overflow:hidden}
.fpMeme img{width:100%;height:100%;object-fit:cover;display:block}
.fpMeme.semFoto{background:linear-gradient(160deg,#1d3a4a,#0b1f2a 60%,#3a2a0b)}
.fpMemeTx{position:absolute;left:6%;right:6%;text-align:center;color:#fff;font-family:Impact,"Arial Black",system-ui,sans-serif;
  font-size:clamp(18px,6.2cqw,30px);line-height:1.1;text-transform:uppercase;letter-spacing:.01em;
  text-shadow:2px 2px 0 #000,-2px 2px 0 #000,2px -2px 0 #000,-2px -2px 0 #000,0 3px 6px rgba(0,0,0,.6)}
.fpMemeTx.topo{top:5%}
.fpMemeTx.base{bottom:5%}
.fdTela{container-type:inline-size}
.fpCaixa{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:8% 8%;
  background:linear-gradient(165deg,#13303f 0%,#0b1f2a 55%,#1c1608 100%);color:#fff;overflow:auto}
.fpTipo{align-self:flex-start;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:800;
  background:color-mix(in srgb, var(--ouro) 16%, transparent);color:var(--ouro);border:1px solid color-mix(in srgb, var(--ouro) 45%, transparent)}
.fpGrande{margin:0;font-size:clamp(20px,7.5cqw,32px);font-weight:800;line-height:1.15}
.fpPergunta{margin:0;font-size:clamp(16px,5.6cqw,22px);font-weight:750;line-height:1.3}
.fpSig{margin:0;font-size:15px;color:#E8EEF2;line-height:1.45}
.fpEx{margin:6px 0 0;font-size:15px;font-style:italic;color:#fff;line-height:1.45}
.fpTrad{margin:0;font-size:13px;color:#A9B8C4;line-height:1.45}
.fpTexto{margin:0;font-size:14.5px;color:#E8EEF2;line-height:1.55}
.fpOps{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.fpOp{min-height:42px;padding:9px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);
  color:#fff;font:inherit;font-size:14px;font-weight:650;text-align:left;cursor:pointer}
.fpOp:disabled{cursor:default}
.fpOp.certa{border-color:#3DD68C;background:rgba(61,214,140,.18)}
.fpOp.errada{border-color:#E0575A;background:rgba(224,87,90,.18)}
.fpExpl{margin:4px 0 0;font-size:13px;color:#DCE6EC;line-height:1.5}
.fpExpl[hidden]{display:none}
.fpPrevia{position:relative;width:100%;aspect-ratio:9/16;height:auto}
.fpPrevia .fpCaixa{padding:7%}
.fpOpForm{display:flex;align-items:center;gap:8px;grid-column:1 / -1;font-size:12px;color:var(--t2)}
.fpOpForm input[type=radio]{width:16px;height:16px;flex:0 0 auto;margin:0;accent-color:#3DD68C}
.fpOpForm input[name^=opcao]{flex:1}
.adCampos textarea{min-height:70px;padding:9px 10px;border-radius:10px;border:1px solid var(--br);background:var(--s3);
  color:var(--t1);font:inherit;font-size:13px;resize:vertical}
.adCampos label small{font-weight:500;color:var(--t3)}
/* Feed vertical (13/10/2026; feedAluno.js): a tela do aluno */
/* Tamanho (14/10/2026, pedido da Tayla — o vídeo estava pequeno e com faixas
   pretas dos lados): no PC o player 9:16 ocupa a altura toda abaixo do topo,
   com a faixa do canal/botões AO LADO; no celular é tela cheia (como o
   Reels), sem o topo, e a faixa fica no espaço que sobra embaixo do vídeo —
   nunca por cima do player do YouTube. A caixa preta é do tamanho exato do
   vídeo (a conta usa o tamanho do slide: container-type:size). */
.fdAluno{width:100%;box-sizing:border-box;margin:0 auto;padding:0 20px}
.fdRolo{height:calc(100dvh - 100px);min-height:420px;margin:12px 0;overflow-y:auto;scroll-snap-type:y mandatory;
  outline:none;scrollbar-width:none}
.fdRolo::-webkit-scrollbar{display:none}
.fdSlide{height:100%;scroll-snap-align:start;scroll-snap-stop:always;container-type:size;
  display:flex;flex-direction:row;align-items:flex-end;justify-content:center;gap:18px}
.fdPalco{flex:0 0 auto;width:min(100cqh * 9 / 16, 100cqw - 318px);aspect-ratio:9/16;align-self:center;
  border-radius:16px;overflow:hidden;background:#000}
.fdTela{position:relative;width:100%;height:100%}
.fdTela .fdPoster,.fdTela .fdPlayer,.fdTela iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.fdTela .fdPlayer{z-index:0}
.fdTela .fdPoster{object-fit:cover;z-index:1}
.fdTela .fdPlayBt{position:absolute;inset:0;z-index:2;display:grid;place-items:center;border:0;padding:0;cursor:pointer;
  background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.35));color:#fff;font-size:56px;text-shadow:0 3px 14px rgba(0,0,0,.6)}
.fdSlide.tocando .fdPoster,.fdSlide.tocando .fdPlayBt{display:none}
.fdFora{position:absolute;inset:0;z-index:3;display:grid;place-items:center;padding:20px;text-align:center;
  background:rgba(0,0,0,.85);color:#fff;font-size:14px;font-weight:700}
.fdFora[hidden]{display:none}
.fdRodape{flex:0 0 300px;width:300px;padding:12px 14px 13px;background:var(--s2);border:1px solid var(--br);border-radius:14px}
.fdQuem{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;font-weight:700}
.fdQuem a{color:var(--t1);text-decoration:none}
.fdQuem a:hover{color:var(--ouro)}
.fdSelo{padding:3px 8px;border-radius:999px;font-size:10.5px;font-weight:800;letter-spacing:.02em}
.fdSelo.yt{background:rgba(255,0,0,.14);color:#FF5A5F;border:1px solid rgba(255,90,95,.4)}
.fdSelo.su{background:color-mix(in srgb, var(--ouro) 14%, transparent);color:var(--ouro);border:1px solid color-mix(in srgb, var(--ouro) 40%, transparent)}
.fdNv{margin-left:auto;font-size:11px;color:var(--t3);font-weight:700}
.fdTitulo{margin:5px 0 7px;font-size:12.5px;color:var(--t2);line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fdAcoes{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fdCurtir,.fdSom{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--br);background:var(--s3);
  color:var(--t2);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.fdCurtir.on{color:#FF5A7A;border-color:rgba(255,90,122,.5)}
.fdYt{margin-left:auto;font-size:12px;color:var(--ouro);text-decoration:none;font-weight:700}
.fdFim{justify-content:center;align-items:center;background:var(--s2)}
.fdFimTx{max-width:320px;text-align:center;padding:24px}
.fdFimTx b{font-size:17px}
.fdFimTx p{color:var(--t2);font-size:13px}
.fdFimTx .fdBts{justify-content:center}
.fdLegal{margin:10px 0 0;font-size:11px;color:var(--t3);line-height:1.45}
.fdFimTx .fdLegal{text-align:center;margin-top:18px}
.fdMenu{display:none}
/* PC (14/10/2026, pedido da Tayla): na tela do Feed a barra de cima some e o
   vídeo usa a altura TODA da janela; o botãozinho no canto (.fdTopoBt) mostra a
   barra de volta (busca, sino, perfil). O menu lateral fica. */
.fdTopoBt{display:none}
/* Feed personalizado (14/10/2026): botão "Meus interesses", quiz e etiquetas */
.fdInteresses{display:none}
/* O Feed é a aba SpeakUp Clips (14/10/2026): links discretos para o Feed da escola e os clips dos alunos */
.fdAluno{position:relative}
.fdLugar{position:absolute;top:14px;left:20px;z-index:5;display:flex;flex-direction:column;gap:6px}
.fdLugar a{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--br);
  background:color-mix(in srgb, var(--s2) 85%, transparent);color:var(--t2);font-size:12.5px;font-weight:700;text-decoration:none;opacity:.8}
.fdLugar a:hover{opacity:1;color:var(--t1);border-color:var(--ouro)}
.fdClipsAlunos{display:none}
@media (max-width:860px){ .fdLugar{display:none}
  .fdClipsAlunos{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 10px;border-radius:999px;
    border:1px solid var(--br);background:var(--s3);color:var(--t1);font-size:15px;text-decoration:none;flex:0 0 auto}
  .fdAcoes{gap:6px} .fdCurtir,.fdSom,.fdMenu,.fdComQuiz .fdInteresses{padding:0 9px} }
@media (max-width:430px){ .fdYtTx{display:none} }
.fdComQuiz .fdInteresses{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--br);
  background:var(--s3);color:var(--t2);font-size:12.5px;font-weight:700;text-decoration:none}
.fdComQuiz .fdInteresses:hover{color:var(--ouro);border-color:var(--ouro)}
.fdEtq{flex-basis:100%}
.fdEtq summary{cursor:pointer;font-size:12.5px;font-weight:700;color:var(--t2)}
.fdEtqGrupo{display:flex;flex-wrap:wrap;gap:4px 12px;margin:8px 0}
.fdEtqGrupo b{flex-basis:100%;font-size:11.5px;color:var(--t3)}
.fiLinha{display:grid;grid-template-columns:minmax(150px,240px) 1fr 70px;gap:10px;align-items:center;padding:5px 0;font-size:13px}
.fiBarra{height:9px;border-radius:99px;background:var(--s3);overflow:hidden}
.fiBarra i{display:block;height:100%;background:var(--ouro)}
.fiLinha small{color:var(--t3);text-align:right}
.fqPag{max-width:680px;margin:28px auto;padding:0 16px}
.fqCard{border:1px solid var(--br);border-radius:22px;background:var(--s2);padding:26px 24px 22px}
.fqTopo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.fqTopo h1{margin:0;font-size:24px}
.fqTopo p{margin:4px 0 0;color:var(--t2);font-size:13.5px}
.fqProg{height:8px;border-radius:99px;background:var(--s3);overflow:hidden;margin:4px 0 18px}
.fqProg i{display:block;height:100%;width:0;background:var(--ouro);transition:width .25s}
.fqPasso{border:0;margin:0 0 18px;padding:0;min-width:0}
.fqPasso legend{font-size:19px;font-weight:800;margin-bottom:4px;padding:0}
.fqPasso .fqDica{color:var(--t3);font-size:12.5px;margin:0 0 12px}
.fqOps{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.fqOp{position:relative;display:flex;align-items:center;gap:10px;min-height:58px;margin:0;min-width:0;padding:10px 14px;border-radius:16px;border:2px solid var(--br);
  background:var(--s3);cursor:pointer;font-size:14.5px;font-weight:700;color:var(--t1);transition:border-color .15s,transform .1s}
.fqOp:hover{border-color:color-mix(in srgb, var(--ouro) 55%, var(--br))}
.fqOp:active{transform:scale(.98)}
.fqOp input{position:absolute;opacity:0;pointer-events:none}
.fqOp .fqEmoji{font-size:26px;line-height:1;flex:0 0 auto}
.fqOp span:last-child{min-width:0;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.fqBts [hidden]{display:none!important}
.fqCard{box-sizing:border-box;width:100%}
.fqOp:has(input:checked){border-color:var(--ouro);background:color-mix(in srgb, var(--ouro) 14%, var(--s3))}
.fqOp:has(input:focus-visible){outline:2px solid var(--ouro);outline-offset:2px}
.fqBts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}
.fqBts .ctBt{height:46px;padding:0 22px;font-size:15px}
.fqBts .fqVolta{background:none;border:0;color:var(--t2);font:inherit;font-weight:700;cursor:pointer}
.fqPula{margin-left:auto;background:none;border:0;color:var(--t3);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline}
.js-fq .fqPasso{display:none}
.js-fq .fqPasso.on{display:block}
.js-fq .fqSoSemJs{display:none}
@media (max-width:620px){ .fqCard{padding:20px 14px} .fqOps{grid-template-columns:1fr 1fr;gap:8px} .fqOp{min-height:64px;font-size:13px;padding:8px 10px;gap:8px} .fqOp .fqEmoji{font-size:22px} }
@media (min-width:861px){
  .suApp:has(.fdRolo) .suTop{display:none}
  .fdRolo{height:100dvh;min-height:0;margin:0}
  .fdPalco{border-radius:0}
  .fdRodape{margin-bottom:16px}
  body.fdComTopo .suApp .suTop{display:flex}
  body.fdComTopo .fdRolo{height:calc(100dvh - 76px)}
  .fdTopoBt{display:inline-flex;align-items:center;gap:6px;position:fixed;top:14px;right:18px;z-index:40;height:34px;padding:0 12px;
    border-radius:999px;border:1px solid var(--br);background:color-mix(in srgb, var(--s2) 85%, transparent);color:var(--t2);
    font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;opacity:.75}
  .fdTopoBt:hover{opacity:1;color:var(--t1);border-color:var(--ouro)}
  body.fdComTopo .fdTopoBt{top:90px}
}
.fdLegal a{color:var(--t2)}
.fdVazio b{font-size:15px}
@media (max-width:860px){
  /* celular: sem o topo (o ☰ vai na faixa de baixo do vídeo), o rolo vai até o fim da tela */
  .suAluno:has(.fdRolo) .suApp .suTop{display:none}
  .fdAluno{padding:0}
  .fdRolo{height:calc(100dvh - env(safe-area-inset-bottom));min-height:0;margin:0;background:#000}
  .fdSlide{display:block;position:relative}
  /* o vídeo pega a largura toda; só encolhe se faltar altura para a faixa (82px) */
  .fdPalco{width:min(100cqw, (100cqh - 82px) * 9 / 16);margin:0 auto;border-radius:0}
  /* a faixa começa onde o vídeo termina: nunca fica por cima do player */
  .fdRodape{position:absolute;left:0;right:0;bottom:0;top:min(100cqh - 82px, 100cqw * 16 / 9);width:auto;
    display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:6px 12px 9px;
    background:#000;border:0;border-radius:0}
  .fdSlide[data-tipo="video"] .fdTitulo,.fdRodape .fdLegal,.fdTx{display:none}
  .fdSlide[data-tipo="post"] .fdRodape{top:auto}
  .fdQuem{flex-wrap:nowrap;min-width:0}
  .fdQuem a,.fdQuem > span:not(.fdSelo):not(.fdNv){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .fdAcoes{flex-wrap:nowrap;gap:8px}
  .fdCurtir,.fdSom,.fdMenu{height:34px;padding:0 11px;flex:0 0 auto}
  .fdDenunciar{flex:0 0 auto;font-size:15px}
  .fdMenu{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;border-radius:999px;border:1px solid var(--br);
    background:var(--s3);color:var(--t1);font-size:16px;cursor:pointer}
  .fdYt{white-space:nowrap}
  .fdFim{display:flex}
}

/* ---- P506: a Agenda da Escola em semana ---- */
.escTopo{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.escTopo .tx{flex:1;min-width:250px}
.escTopo h1{margin:0 0 3px;font-size:26px}
.escTopo p{margin:0;font-size:13.5px;color:var(--t2)}
.escIco{flex:0 0 auto;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  color:var(--c,#8FA3B8);background:color-mix(in srgb, var(--c,#8FA3B8) 15%, transparent);
  border:1px solid color-mix(in srgb, var(--c,#8FA3B8) 35%, transparent)}
.escIco svg{width:19px;height:19px}
.escIco.grande{width:48px;height:48px;border-radius:14px}
.escIco.grande svg{width:24px;height:24px}
.escNav{display:flex;align-items:center;gap:7px}
.escBt{display:inline-flex;align-items:center;height:34px;padding:0 13px;border-radius:10px;
  border:1px solid var(--br);background:var(--s2);color:var(--t1);font:inherit;font-size:12.5px;
  font-weight:700;text-decoration:none;cursor:pointer}
.escBt:hover{border-color:var(--ouro);color:var(--ouro)}
.escSeta{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;
  border:1px solid var(--br);background:var(--s2);color:var(--t1);text-decoration:none;font-size:15px}
.escRot{display:inline-flex;align-items:center;height:34px;padding:0 13px;border-radius:10px;
  border:1px solid var(--br);background:var(--s2);font-size:12.5px;font-weight:700}
.escFs{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.escF select{height:34px;padding:0 10px;border-radius:10px;border:1px solid var(--br);
  background:var(--s2);color:var(--t1);font:inherit;font-size:12.5px;width:auto}
.escTog{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--t2)}
.escTog input{width:auto;flex:0 0 auto;margin:0;padding:0}
.escLimpar{font-size:12px;color:var(--t3);text-decoration:none}
.escLimpar:hover{color:var(--ouro)}
.escGrade{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}
.escLado{display:flex;flex-direction:column;gap:12px}
.escSemana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.escDia{border:1px solid var(--br);border-radius:13px;background:var(--s2);overflow:hidden;
  display:flex;flex-direction:column;min-width:0}
.escDia.hoje{border-color:rgba(139,92,246,.6)}
.escCab{padding:9px 6px;text-align:center;border-bottom:1px solid var(--br);background:var(--s3)}
.escCab b{display:block;font-size:11.5px;font-weight:800}
.escCab small{display:block;font-size:10.5px;color:var(--t3)}
.escPilha{display:flex;flex-direction:column;gap:6px;padding:6px;flex:1;min-width:0}
.escAula{border-left:3px solid var(--c,#8FA3B8);border-radius:8px;padding:7px 8px;min-width:0;
  background:color-mix(in srgb, var(--c,#8FA3B8) 13%, transparent)}
.escAula.cancelada{opacity:.55;border-left-color:#8FA3B8;background:rgba(143,163,175,.10)}
.escAula.cancelada b{text-decoration:line-through}
.escH{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--t3);margin-bottom:3px}
.escCam{margin-left:auto;display:inline-flex;color:#4E9BFF}
.escCam svg{width:12px;height:12px}
.escAula b{display:block;font-size:11.5px;line-height:1.3;color:var(--t1)}
.escAula small{display:block;font-size:10.5px;color:var(--t3);line-height:1.35}
.escCanc{display:inline-block;margin-top:4px;font-size:9.5px;font-weight:800;color:#E0575A;
  text-transform:uppercase;letter-spacing:.04em}
.escMarca{margin-top:5px;width:100%;height:22px;border-radius:6px;border:1px dashed var(--br);
  background:transparent;color:var(--t3);font:inherit;font-size:9.5px;cursor:pointer}
.escMarca:hover{border-color:#4E9BFF;color:#4E9BFF}
.escAula form{margin:0}
.escVazio{margin:auto 0;padding:14px 4px;text-align:center;font-size:10.5px;color:var(--t3);
  line-height:1.4}
.escCard{border:1px solid var(--br);border-radius:15px;background:var(--s2);padding:14px 16px}
.escCab2{margin-bottom:10px}
.escCab2 b{font-size:14px}
.escNum{display:flex;align-items:center;gap:10px;padding:6px 0}
.escNum b{display:block;font-size:20px;font-weight:800;line-height:1.1}
.escNum small{display:block;font-size:11.5px;color:var(--t3)}
.escMud{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-top:1px solid var(--br)}
.escMud:first-of-type{border-top:0}
.escMud b{display:block;font-size:12.5px;color:#E0575A}
.escMud small{display:block;font-size:11px;color:var(--t3);line-height:1.4}
.escLeg{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;color:var(--t2)}
.escLeg i{flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:var(--c,#8FA3B8)}
.escNota{margin:10px 0 0;font-size:11px;color:var(--t3);line-height:1.5}
@media (max-width:1180px){ .escGrade{grid-template-columns:minmax(0,1fr)} }
@media (max-width:900px){ .escSemana{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (max-width:620px){ .escSemana{grid-template-columns:repeat(2,minmax(0,1fr))} }

.ecSemana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin-bottom:15px}
.ecDia{border:1px solid var(--br);border-radius:14px;background:var(--s2);overflow:hidden;
  display:flex;flex-direction:column;min-width:0}
.ecDia.hoje{border-color:rgba(139,92,246,.55);box-shadow:0 0 0 1px rgba(139,92,246,.2) inset}
.ecCab{padding:10px 8px;text-align:center;border-bottom:1px solid var(--br);background:var(--s3)}
.ecCab b{display:block;font-size:12px;font-weight:800;color:var(--t1)}
.ecCab small{display:block;font-size:10.5px;color:var(--t3);margin-top:1px}
.ecCab em{display:block;font-style:normal;font-size:10px;color:var(--t3);margin-top:3px;
  text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--br)}

/* A coluna do dia empilha TODAS as pecas marcadas nele. Antes so a
   primeira aparecia e o resto virava um "+1" cinza que nao levava a
   lugar nenhum. */
.ecPilha{display:flex;flex-direction:column;gap:8px;padding:8px;flex:1;min-width:0}
.ecPeca{display:flex;flex-direction:column;gap:6px;min-width:0}
.ecPeca .ecTag{margin-top:0;align-self:flex-start}
.ecPeca .ecCapa{display:block;width:100%;aspect-ratio:1/1;border-radius:10px;overflow:hidden;
  background:var(--s3);display:grid;place-items:center;font-size:26px;text-decoration:none}
.ecPeca .ecCapa img{width:100%;height:100%;object-fit:cover;display:block}
.ecHora{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:var(--t3)}
.ecHora svg{width:11px;height:11px}
.ecPeca .ecNome{font-size:11.5px;line-height:1.35;color:var(--t1);text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ecPeca .ecNome:hover{color:var(--ouro)}
.ecPeca .ecSt{align-self:flex-start}
.ecMais{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  min-height:62px;border:1px dashed var(--br);border-radius:10px;color:var(--t3);
  font-size:16px;text-decoration:none;padding:8px 4px;text-align:center}
.ecMais small{font-size:10px;line-height:1.2}
.ecMais:hover{border-color:var(--ouro);color:var(--ouro)}

/* filtros */
.ecFs{display:flex;flex-direction:column;gap:9px}
.ecF{display:flex;flex-direction:column;gap:3px}
.ecF small{font-size:10.5px;color:var(--t3);font-weight:700;letter-spacing:.03em;
  text-transform:uppercase}
.ecF select{width:100%;height:36px;padding:0 10px;border-radius:10px;border:1px solid var(--br);
  background:var(--s2);color:var(--t1);font:inherit;font-size:12.5px}
.ecLimpar{align-self:center;font-size:11.5px;color:var(--t3);text-decoration:none}
.ecLimpar:hover{color:var(--ouro)}

/* tarefas derivadas do estado real */
.ecTarefa{display:flex;align-items:flex-start;gap:9px;padding:9px 2px;text-decoration:none;
  border-top:1px solid var(--br)}
.ecTarefa:first-of-type{border-top:0}
.ecTarefa i{flex:0 0 auto;width:9px;height:9px;border-radius:3px;background:var(--c,#8FA3B8);
  margin-top:4px}
.ecTarefa span{min-width:0}
.ecTarefa b{display:block;font-size:12.5px;font-weight:700;color:var(--t1);line-height:1.35}
.ecTarefa small{display:block;font-size:11px;color:var(--t3);line-height:1.35}
.ecTarefa:hover b{color:var(--ouro)}
.ecTag{display:inline-flex;align-items:center;gap:5px;max-width:100%;margin-top:7px;padding:3px 8px;
  border-radius:8px;font-size:10px;font-weight:750;color:#fff;background:var(--c,#8FA3B8);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ecTag i{font-style:normal;font-size:10px}
.ecCorpo{padding:9px 8px 10px;display:flex;flex-direction:column;gap:7px;flex:1}
.ecCapa{display:block;width:100%;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#05070c;
  border:1px solid var(--br);display:flex;align-items:center;justify-content:center;font-size:22px;
  text-decoration:none;position:relative}
.ecCapa img{width:100%;height:100%;object-fit:cover}
.ecNome{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  font-size:11px;line-height:1.42;color:var(--t2);text-decoration:none}
.ecNome:hover{color:var(--ouro)}
.ecSt{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;max-width:100%;
  padding:4px 9px;border-radius:999px;font-size:10px;font-weight:750;color:var(--c,#8FA3B8);
  border:1px solid color-mix(in srgb, var(--c,#8FA3B8) 45%, transparent);
  background:color-mix(in srgb, var(--c,#8FA3B8) 13%, transparent);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ecPe{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:auto;
  padding-top:3px}
.ecPe small{font-size:11px;color:var(--t3);font-weight:650}
.ecVazio{display:flex;align-items:center;justify-content:center;flex:1;min-height:132px;padding:10px 6px;
  font-size:10.5px;color:var(--t3);text-align:center;line-height:1.5}

.ecBaixo{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:11px}
.ecCard{border:1px solid var(--br);border-radius:16px;background:var(--s2);padding:15px 16px}
.ecCab2{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}
.ecCab2 > b{font-size:14px;font-weight:800;color:var(--t1)}
.ecCab2 a{font-size:11.5px;color:var(--ouro);text-decoration:none;white-space:nowrap}
.ecPrazo{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--br)}
.ecPrazo:last-of-type{border-bottom:0}
.ecMini{width:42px;height:42px;flex:0 0 42px;border-radius:9px;overflow:hidden;background:#05070c;
  border:1px solid var(--br);display:flex;align-items:center;justify-content:center;font-size:15px}
.ecMini img{width:100%;height:100%;object-fit:cover}
.ecPrazo .t{flex:1;min-width:0}
.ecPrazo .t b{display:block;font-size:12px;font-weight:700;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.ecPrazo .t small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
.ecPrazo .t small.tarde{color:#E0575A;font-weight:750}
.ecPrazo .t small.hoje{color:#FFB92E;font-weight:750}
.ecBt{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;border:1px solid var(--br);
  border-radius:9px;background:var(--s3);color:var(--t1);font-size:11.5px;font-weight:750;
  text-decoration:none;white-space:nowrap}
.ecBt:hover{border-color:var(--ouro);color:var(--ouro)}
.ecBt svg{width:14px;height:14px}
.ecBt.roxo{border-color:transparent;background:linear-gradient(135deg,#8B5CF6,#6D3BE8);color:#fff}

.ecMsg{display:flex;gap:9px;margin-bottom:11px}
.ecMsg .foto{width:30px;height:30px;flex:0 0 30px;border-radius:50%;overflow:hidden;background:var(--s3);
  border:1px solid var(--br);display:flex;align-items:center;justify-content:center;font-size:11px;
  font-weight:800;color:var(--t2)}
.ecMsg .foto img{width:100%;height:100%;object-fit:cover}
.ecMsg .cx{flex:1;min-width:0}
.ecMsg .lin{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}
.ecMsg .lin b{font-size:11.5px;font-weight:750;color:var(--t1)}
.ecMsg .lin small{font-size:10.5px;color:var(--t3);white-space:nowrap}
.ecBalao{display:block;border:1px solid var(--br);border-radius:12px;border-top-left-radius:4px;
  background:var(--s3);padding:9px 11px;font-size:11.5px;color:var(--t2);line-height:1.5;
  text-decoration:none}
.ecBalao:hover{border-color:rgba(139,92,246,.5)}
.ecBalao em{display:block;font-style:normal;font-size:10px;color:var(--t3);margin-bottom:3px}
.ecMsg.eu .ecBalao{border-top-left-radius:12px;border-top-right-radius:4px;
  background:rgba(139,92,246,.1);border-color:rgba(139,92,246,.3)}

.ecGrade{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:11px;align-items:start}
.ecLado{display:flex;flex-direction:column;gap:11px}
.ecRosca{display:flex;align-items:center;gap:14px;margin-bottom:11px}
.ecRosca svg{width:82px;height:82px;flex:0 0 82px}
.ecRosca .n b{display:block;font-size:26px;font-weight:850;color:var(--t1);line-height:1}
.ecRosca .n small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.ecLeg{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:11.5px;color:var(--t2)}
.ecLeg i{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--c,#8FA3B8)}
.ecLeg b{font-weight:800;color:var(--t1);min-width:14px}
.ecFoco{border:1px solid rgba(139,92,246,.4);border-radius:16px;padding:15px 16px;
  background:linear-gradient(140deg,rgba(139,92,246,.2),rgba(109,59,232,.09))}
.ecFoco .tit{display:flex;align-items:center;gap:9px;margin-bottom:7px}
.ecFoco .tit em{font-style:normal;font-size:16px}
.ecFoco .tit b{font-size:13.5px;font-weight:800;color:var(--t1)}
.ecFoco p{margin:0;font-size:12px;color:var(--t2);line-height:1.55}
.ecLink{display:flex;align-items:center;gap:9px;padding:8px 0;font-size:12px;color:var(--t2);
  text-decoration:none;border-bottom:1px solid var(--br)}
.ecLink:last-of-type{border-bottom:0}
.ecLink:hover{color:var(--ouro)}
.ecLink svg{width:15px;height:15px;flex:0 0 15px;opacity:.75}
.ecLink span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ecNota{margin:9px 0 0;font-size:10.5px;color:var(--t3);line-height:1.55}
.ecNota b{font-weight:750;color:var(--t2)}
.ecRotina{display:flex;align-items:center;gap:9px;padding:7px 0;font-size:11.5px;color:var(--t2);
  border-bottom:1px solid var(--br)}
.ecRotina:last-of-type{border-bottom:0}
.ecRotina b{width:76px;flex:0 0 76px;font-weight:750;color:var(--t1)}
@media (max-width:1320px){ .ecGrade{grid-template-columns:minmax(0,1fr)} }
@media (max-width:1200px){
  .ecSemana{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ecBaixo{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){ .ecSemana{grid-template-columns:repeat(2,minmax(0,1fr))} }
/* P478 (ela: "todos serao por link do drive"). */
.eiTab{width:100%;border-collapse:collapse}
.eiTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:11px 5px;border-bottom:1px solid var(--br);white-space:nowrap}
.eiTab td{padding:10px 5px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2);
  vertical-align:middle}
.eiTab tr:last-child td{border-bottom:0}
.eiTh{width:88px;height:56px;border-radius:9px;overflow:hidden;background:#05070c;border:1px solid var(--br);
  display:flex;align-items:center;justify-content:center;font-size:19px;position:relative}
.eiTh img{width:100%;height:100%;object-fit:cover}
.eiTh em{position:absolute;right:5px;bottom:4px;font-style:normal;font-size:9.5px;font-weight:750;
  color:#fff;background:rgba(0,0,0,.7);border-radius:5px;padding:1px 5px}
.eiTit{display:block;max-width:180px;font-size:12px;color:var(--t1);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  text-decoration:none}
.eiTit:hover{color:var(--ouro)}
.eiVer{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border:1px solid var(--br);
  border-radius:10px;background:var(--s3);color:var(--t1);font-size:12px;font-weight:750;
  text-decoration:none;white-space:nowrap}
.eiVer:hover{border-color:var(--ouro);color:var(--ouro)}
.eiAtual{white-space:nowrap;font-size:11.5px;color:var(--t3)}
.eiEntrega{border:1px solid var(--br);border-radius:14px;background:var(--s3);padding:14px 15px;
  margin-top:11px}
.eiEntrega h4{margin:0 0 4px;font-size:13px;font-weight:800;color:var(--t1)}
.eiEntrega p{margin:0 0 11px;font-size:11.5px;color:var(--t3);line-height:1.55}
.eiEntrega .cx{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.eiEntrega input[type=url],.eiEntrega input[type=text]{flex:1 1 200px;min-width:0;height:42px;
  border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);font:inherit;
  font-size:13px;padding:0 12px;box-sizing:border-box}
.eiOu{display:flex;align-items:center;gap:11px;margin:13px 0;color:var(--t3);font-size:11px}
.eiOu::before,.eiOu::after{content:"";flex:1;height:1px;background:var(--br)}
.eiPlayer{border:1px solid var(--br);border-radius:13px;overflow:hidden;background:#05070c;
  margin-bottom:11px}
.eiPlayer iframe{display:block;width:100%;height:340px;border:0}
.eiLinkCx{display:flex;align-items:center;gap:10px;border:1px solid var(--br);border-radius:12px;
  background:var(--s3);padding:10px 12px;margin-bottom:11px}
.eiLinkCx > em{font-style:normal;font-size:16px;flex:0 0 20px}
.eiLinkCx .t{flex:1;min-width:0}
.eiLinkCx b{display:block;font-size:12px;font-weight:750;color:var(--t1)}
.eiLinkCx small{display:block;font-size:11px;color:var(--t3);margin-top:2px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.eiSemCapa{display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  font-size:19px;opacity:.5}
/* P477 (mockup dela): o Início da editora de vídeo. */
.eiTopo{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.eiOi{flex:1 1 320px;min-width:0}
.eiOi h1{margin:0;font-size:clamp(26px,3.2vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.eiOi p{margin:6px 0 0;font-size:13.5px;color:var(--t2)}
.eiHoje{display:flex;align-items:center;gap:11px;border:1px solid var(--br);border-radius:14px;
  background:var(--s1);padding:11px 15px}
.eiHoje svg{width:18px;height:18px;color:var(--t3);flex:0 0 18px}
.eiHoje small{display:block;font-size:11px;color:var(--t3)}
.eiHoje b{display:block;font-size:13px;font-weight:750;color:var(--t1);margin-top:2px;white-space:nowrap}
.eiFrase{flex:0 1 270px;border:1px solid rgba(139,92,246,.35);border-radius:14px;
  background:rgba(139,92,246,.1);padding:13px 16px;font-size:13px;color:var(--t1);line-height:1.5;
  font-weight:600}
.eiNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:13px;margin-bottom:16px}
.eiNum{display:flex;align-items:center;gap:14px;border:1px solid var(--br);border-radius:16px;
  background:var(--s1);padding:17px 18px;text-decoration:none;min-width:0}
.eiNum > i{font-style:normal;width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:21px;background:var(--c);border:1px solid var(--cb)}
.eiNum > span{min-width:0}
.eiNum b{display:block;font-size:27px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.eiNum strong{display:block;font-size:13px;font-weight:750;color:var(--t1);margin-top:6px}
.eiNum small{display:block;font-size:11.5px;color:var(--t3);margin-top:3px;line-height:1.4}
.eiNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:5px}
.eiNum .delta.baixo{color:#E0575A}
.eiNum .delta.neutra{color:var(--t3);font-weight:500}
.eiNum:hover{border-color:var(--ouro)}
.eiGrade{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.86fr);gap:14px;
  align-items:start;margin-bottom:14px}
.eiGrade2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;align-items:start}
.eiCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:15px 17px 17px}
.eiCab{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.eiCab b{flex:1;min-width:0;font-size:14.5px;font-weight:800;color:var(--t1)}
.eiCab a{font-size:11.5px;font-weight:750;color:var(--ouro);text-decoration:none;white-space:nowrap}
.eiTarefa{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--br);
  text-decoration:none}
.eiTarefa:last-of-type{border-bottom:0}
.eiMini{width:64px;height:48px;flex:0 0 64px;border-radius:10px;overflow:hidden;background:var(--s3);
  border:1px solid var(--br);display:flex;align-items:center;justify-content:center;font-size:19px;
  position:relative}
.eiMini img{width:100%;height:100%;object-fit:cover}
.eiTarefa .t{flex:1;min-width:0}
.eiTarefa .t b{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;color:var(--t1)}
.eiTarefa .t small{display:block;font-size:11.5px;color:var(--t3);margin-top:3px;line-height:1.4;
  overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.eiTarefa:hover .t b{color:var(--ouro)}
.eiChip{display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:9px;
  font-size:11.5px;font-weight:750;border:1px solid var(--c);color:var(--c);
  background:color-mix(in srgb,var(--c) 15%,transparent);white-space:nowrap;flex:0 0 auto}
.eiPrazo{flex:0 0 auto;text-align:right;white-space:nowrap}
.eiPrazo b{display:block;font-size:11.5px;font-weight:800;color:var(--t2)}
.eiPrazo small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
.eiPrazo.urgente b{color:#E0575A}
.eiPrazo.hoje b{color:#FFB92E}
.eiEdit{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--br)}
.eiEdit:last-of-type{border-bottom:0}
.eiEdit .capa{width:96px;height:72px;flex:0 0 96px;border-radius:11px;overflow:hidden;background:var(--s3);
  border:1px solid var(--br);display:flex;align-items:center;justify-content:center;font-size:22px}
.eiEdit .capa img{width:100%;height:100%;object-fit:cover}
.eiEdit .t{flex:1;min-width:0}
.eiEdit .t b{display:block;font-size:12.5px;font-weight:800;color:var(--t1)}
.eiEdit .t small{display:block;font-size:11.5px;color:var(--t3);margin-top:3px;line-height:1.45}
.eiEdit .bt{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;margin-top:9px;
  border:1px solid var(--br);border-radius:10px;background:var(--s3);color:var(--t1);font:inherit;
  font-size:12px;font-weight:750;text-decoration:none;cursor:pointer}
.eiEdit .bt:hover{border-color:var(--ouro);color:var(--ouro)}
.eiLinha{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--br);
  text-decoration:none}
.eiLinha:last-of-type{border-bottom:0}
.eiLinha .dia{flex:0 0 74px;font-size:11.5px;color:var(--t3);white-space:nowrap}
.eiLinha .dia b{color:var(--t2);font-weight:750}
.eiLinha .fm{width:24px;height:24px;flex:0 0 24px;border-radius:7px;display:flex;align-items:center;
  justify-content:center;font-size:12px;background:color-mix(in srgb,var(--c) 18%,transparent);
  border:1px solid var(--c)}
.eiLinha .nm{flex:1;min-width:0;font-size:12px;font-weight:700;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.eiLinha:hover .nm{color:var(--ouro)}
.eiSt{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:750;color:var(--c);
  white-space:nowrap}
.eiCards{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:13px}
.eiVideo{border:1px solid var(--br);border-radius:14px;background:var(--s3);overflow:hidden;
  text-decoration:none;display:block}
.eiVideo .capa{position:relative;aspect-ratio:16/10;background:#05070c;display:flex;align-items:center;
  justify-content:center;font-size:26px}
.eiVideo .capa img{width:100%;height:100%;object-fit:cover}
.eiVideo .capa em{position:absolute;right:7px;bottom:7px;font-style:normal;font-size:10.5px;
  font-weight:750;color:#fff;background:rgba(0,0,0,.66);border-radius:6px;padding:2px 6px}
.eiVideo .tx{padding:11px 12px 13px}
.eiVideo b{display:block;font-size:12.5px;font-weight:800;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.eiVideo small{display:block;font-size:11.5px;color:var(--t3);margin-top:3px;line-height:1.4;
  overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.eiVideo .pe{margin-top:9px}
.eiVideo:hover{border-color:var(--ouro)}
.eiNovo{border:1px dashed var(--br);border-radius:14px;background:none;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:7px;padding:22px 12px;text-decoration:none;min-height:150px}
.eiNovo em{font-style:normal;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;background:rgba(139,92,246,.18);color:#A78BFA;font-size:20px}
.eiNovo b{font-size:12.5px;font-weight:800;color:var(--t1)}
.eiNovo small{font-size:11.5px;color:var(--t3)}
.eiNovo:hover{border-color:#8B5CF6;border-style:solid}
.eiDica{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:12.5px;color:var(--t2);
  line-height:1.5}
.eiDica > i{font-style:normal;flex:0 0 18px;color:var(--t3);text-align:center;font-size:13px}
.eiChama{display:flex;align-items:center;gap:12px;border:0;border-radius:16px;padding:15px 17px;
  background:linear-gradient(135deg,#8B5CF6,#6228D7);color:#fff;text-decoration:none;margin-top:14px}
.eiChama > em{font-style:normal;width:36px;height:36px;flex:0 0 36px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;background:rgba(255,255,255,.18)}
.eiChama > em svg{width:17px;height:17px}
.eiChama .t{flex:1;min-width:0}
.eiChama b{display:block;font-size:13px;font-weight:800}
.eiChama small{display:block;font-size:11.5px;opacity:.85;margin-top:2px;line-height:1.4}
.eiChama .seta{font-size:16px;opacity:.8}
.eiVazio{padding:24px 6px;text-align:center;color:var(--t3);font-size:12.5px;line-height:1.65}
.eiVazio b{color:var(--t2)}
.eiAviso{margin:11px 0 0;font-size:11px;color:var(--t3);line-height:1.55}
.eiAviso b{color:var(--t2)}
.eiAviso a{color:var(--ouro);text-decoration:none}
.eiAlerta{display:flex;align-items:flex-start;gap:11px;border:1px solid rgba(224,87,90,.35);
  border-radius:14px;background:rgba(224,87,90,.07);padding:12px 15px;margin-bottom:16px}
.eiAlerta > em{font-style:normal;font-size:18px;flex:0 0 22px}
.eiAlerta b{display:block;font-size:13px;font-weight:800;color:var(--t1);margin-bottom:3px}
.eiAlerta p{margin:0;font-size:11.5px;color:var(--t3);line-height:1.55}
.eiArq{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--br)}
.eiArq:last-of-type{border-bottom:0}
.eiArq > i{font-style:normal;width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;font-size:15px;background:var(--s3);border:1px solid var(--br)}
.eiArq .t{flex:1;min-width:0}
.eiArq b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.eiArq small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
@media (max-width:1180px){ .eiGrade{grid-template-columns:1fr} .eiGrade2{grid-template-columns:1fr} }
/* P474 (mockup dela): a tela Conteúdo & Instagram. */
.igTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.igTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#fff;font-size:25px;
  background:linear-gradient(135deg,#F9CE34 0%,#EE2A7B 48%,#6228D7 100%);
  box-shadow:0 0 26px rgba(238,42,123,.3)}
.igTopoTxt{flex:1 1 300px;min-width:0}
.igTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.igTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.igBts{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.igBt{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:1px solid var(--br);
  border-radius:12px;background:var(--s1);color:var(--t1);font:inherit;font-size:13px;font-weight:750;
  text-decoration:none;cursor:pointer;white-space:nowrap}
.igBt svg{width:15px;height:15px;color:var(--t3)}
.igBt:hover{border-color:var(--ouro);color:var(--ouro)}
.igBt:hover svg{color:var(--ouro)}
.igBt.roxo{border:0;background:linear-gradient(135deg,#8B5CF6,#6228D7);color:#fff;font-weight:800}
.igBt.roxo svg{color:#fff}
.igNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(172px,1fr));gap:12px;margin-bottom:14px}
.igNum{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:14px;min-width:0}
.igNum > i{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;font-size:18px;background:var(--c);border:1px solid var(--cb)}
.igNum > span{min-width:0}
.igNum b{display:block;font-size:21px;font-weight:900;color:var(--t1);line-height:1.1;letter-spacing:-.02em}
.igNum small{display:block;font-size:12px;color:var(--t3);margin-top:4px;line-height:1.35}
.igNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:6px}
.igNum .delta.baixo{color:#E0575A}
.igNum .delta.neutra{color:var(--t3);font-weight:500}
.igNum .tr{display:block;height:5px;border-radius:99px;background:rgba(255,255,255,.08);margin-top:8px;
  overflow:hidden}
.igNum .tr i{display:block;height:100%;border-radius:99px;background:var(--c2,#8B5CF6)}
.igSemana{display:flex;align-items:stretch;gap:10px;border:1px solid var(--br);border-radius:16px;
  background:var(--s1);padding:13px 15px;margin-bottom:14px;flex-wrap:wrap}
.igSemanaTit{flex:0 0 150px;min-width:130px;display:flex;flex-direction:column;justify-content:center}
.igSemanaTit b{font-size:15px;font-weight:800;color:var(--t1)}
.igSemanaTit small{font-size:11.5px;color:var(--t3);margin-top:3px}
.igSemanaTit .navs{display:flex;gap:5px;margin-top:8px}
.igSemanaTit .navs a{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--br);border-radius:8px;background:var(--s3);color:var(--t2);font-size:12px;
  text-decoration:none}
.igSemanaTit .navs a:hover{border-color:var(--ouro);color:var(--ouro)}
.igDias{flex:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;min-width:420px}
/* celular (auditoria 17/10/2026): os 7 dias cabem na tela; antes a faixa forçava 420px */
@media (max-width:560px){.igSemana{padding:11px}.igDias{min-width:0;flex-basis:100%;gap:4px}}
.igDia{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 4px;border-radius:12px;
  border:1px solid var(--br);background:var(--s3);text-decoration:none;min-width:0}
.igDia.hoje{border-color:var(--ouro)}
.igDia > b{font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.04em;text-transform:uppercase}
.igDia > small{font-size:11px;color:var(--t3)}
.igDia .bola{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:11px;background:var(--s2);border:1px solid var(--br);color:var(--t3)}
.igDia .bola.tem{background:color-mix(in srgb,var(--c) 22%,transparent);border-color:var(--c);color:var(--c)}
.igDia span.rot{font-size:10.5px;color:var(--t2);text-align:center;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.igDia:hover{border-color:var(--ouro)}
.igDia:hover span.rot{color:var(--ouro)}
.igGrade{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:14px;align-items:start}
.igGrade.larga{grid-template-columns:minmax(0,1.34fr) minmax(0,1fr)}
.igCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:6px 14px 14px}
.igBarra{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:12px 0 0}
.igAba{display:inline-flex;align-items:center;height:34px;padding:0 13px;border:1px solid var(--br);
  border-radius:10px;background:var(--s1);color:var(--t2);font-size:12px;font-weight:700;
  text-decoration:none;white-space:nowrap}
.igAba:hover{color:var(--t1);border-color:var(--ouro)}
.igAba.on{background:linear-gradient(135deg,#8B5CF6,#6228D7);border-color:transparent;color:#fff}
.igFiltros{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:11px 0}
.igFiltros input,.igFiltros select{width:auto;flex:0 0 auto;height:34px;border:1px solid var(--br);
  border-radius:10px;background:var(--s3);color:var(--t1);font:inherit;font-size:12px;padding:0 10px;
  box-sizing:border-box}
.igFiltros input[name=busca]{flex:1 1 150px;min-width:130px}
.igFiltros button{width:auto;flex:0 0 auto;height:34px;padding:0 14px;border:1px solid var(--br);
  border-radius:10px;background:var(--s3);color:var(--t1);font:inherit;font-size:12px;font-weight:750;
  cursor:pointer;box-sizing:border-box}
.igFiltros button:hover{border-color:var(--ouro);color:var(--ouro)}
.igRolo{overflow-x:auto}
.igTab{width:100%;border-collapse:collapse}
.igTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:10px 3px;border-bottom:1px solid var(--br);white-space:nowrap}
.igTab td{padding:9px 3px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2);
  vertical-align:middle}
.igTab tr:last-child td{border-bottom:0}
.igTab tr.on td{background:rgba(139,92,246,.1)}
.igTab tr.on td:first-child{box-shadow:inset 3px 0 0 #8B5CF6}
.igData{display:block;white-space:nowrap;font-size:11px;color:var(--t3);text-decoration:none}
.igData b{display:block;font-weight:800;color:var(--t1);font-size:11.5px;margin-bottom:2px}
.igData:hover b{color:var(--ouro)}
.igForm{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:11.5px;
  font-weight:700;color:var(--t1);max-width:112px;overflow:hidden;text-overflow:ellipsis}
.igForm > i{font-style:normal;width:22px;height:22px;flex:0 0 22px;border-radius:7px;display:flex;
  align-items:center;justify-content:center;font-size:12px;
  background:color-mix(in srgb,var(--c) 18%,transparent);border:1px solid var(--c)}
.igTit{display:block;max-width:168px;font-size:12px;color:var(--t1);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.igTit.vazio{color:var(--t3);font-style:italic}
.igSt{display:inline-flex;align-items:center;gap:5px;height:25px;padding:0 8px;border-radius:8px;
  font-size:11px;font-weight:800;border:1px solid var(--c);color:var(--c);
  background:color-mix(in srgb,var(--c) 14%,transparent);white-space:nowrap}
.igQuem{display:flex;align-items:center;gap:8px;min-width:0}
.igQuem .foto{width:26px;height:26px;flex:0 0 26px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;color:var(--t2)}
.igQuem .foto img{width:100%;height:100%;object-fit:cover}
.igQuem b{display:block;font-size:11.5px;font-weight:700;color:var(--t1);max-width:62px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.igQuem small{display:block;font-size:10px;color:var(--t3)}
.igAcoes{display:flex;align-items:center;gap:4px;white-space:nowrap}
.igIco{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--br);border-radius:8px;background:var(--s3);color:var(--t2);cursor:pointer;
  text-decoration:none;padding:0}
.igIco svg{width:13px;height:13px}
.igIco:hover{border-color:var(--ouro);color:var(--ouro)}
.igMenu{position:relative}
.igMenu summary{list-style:none;width:28px;height:28px;display:flex;align-items:center;
  justify-content:center;border:1px solid var(--br);border-radius:8px;background:var(--s3);
  color:var(--t2);cursor:pointer;font-size:13px}
.igMenu summary::-webkit-details-marker{display:none}
.igMenu[open] summary{border-color:var(--ouro);color:var(--ouro)}
.igMenuCx{position:absolute;right:0;top:32px;z-index:40;min-width:214px;border:1px solid var(--br);
  border-radius:12px;background:var(--s2);box-shadow:0 18px 44px rgba(0,0,0,.5);padding:6px}
.igMenuCx a,.igMenuCx button{display:block;width:100%;text-align:left;padding:8px 10px;border:0;
  border-radius:8px;background:none;color:var(--t2);font:inherit;font-size:12.5px;cursor:pointer;
  text-decoration:none}
.igMenuCx a:hover,.igMenuCx button:hover{background:var(--s3);color:var(--t1)}
.igMenuCx button.perigo{color:#E0575A}
.igMenuCx form{margin:0}
.igMenuCx .sep{display:block;padding:7px 10px 3px;font-size:10px;font-weight:800;color:var(--t3);
  letter-spacing:.05em;text-transform:uppercase}
.igVazio{padding:28px 6px;text-align:center;color:var(--t3);font-size:12.5px;line-height:1.65}
.igVazio b{color:var(--t2)}
.igAviso{margin:11px 0 0;font-size:11px;color:var(--t3);line-height:1.55}
.igAviso b{color:var(--t2)}
.igAviso a{color:var(--ouro);text-decoration:none}
/* ---- o painel da direita ---- */
.igDet{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:15px 16px 16px}
.igDetTopo{display:flex;align-items:flex-start;gap:10px;margin-bottom:4px;flex-wrap:wrap}
.igDetTopo h2{flex:1;min-width:0;margin:0;font-size:16.5px;font-weight:800;color:var(--t1);
  line-height:1.35;letter-spacing:-.02em}
.igDetSub{margin:0 0 13px;font-size:12px;color:var(--t3)}
.igTabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.igTabs a{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:9px;
  background:var(--s3);color:var(--t2);font-size:12px;font-weight:700;text-decoration:none}
.igTabs a.on{background:linear-gradient(135deg,#8B5CF6,#6228D7);color:#fff}
.igTabs a:hover{color:var(--t1)}
.igTabs a.on:hover{color:#fff}
.igMidia{border:1px solid var(--br);border-radius:13px;background:#05070c;overflow:hidden;
  margin-bottom:11px}
.igMidia video,.igMidia img{display:block;width:100%;max-height:420px;object-fit:contain;background:#05070c}
.igMidia .semArq{padding:34px 16px;text-align:center;color:var(--t3);font-size:12.5px;line-height:1.6}
.igArq{display:flex;align-items:center;gap:10px;border:1px solid var(--br);border-radius:12px;
  background:var(--s3);padding:9px 11px;margin-bottom:11px}
.igArq > em{font-style:normal;font-size:16px;flex:0 0 20px}
.igArq .t{flex:1;min-width:0}
.igArq b{display:block;font-size:12px;font-weight:700;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.igArq small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
.igCampoTxt{width:100%;min-height:150px;resize:vertical;border:1px solid var(--br);border-radius:12px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:13px;line-height:1.6;padding:11px 13px;
  box-sizing:border-box}
.igChat{max-height:370px;overflow-y:auto;padding-right:3px;margin-bottom:11px}
.igMsg{display:flex;align-items:flex-start;gap:9px;margin-bottom:11px}
.igMsg .foto{width:28px;height:28px;flex:0 0 28px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;color:var(--t2)}
.igMsg .foto img{width:100%;height:100%;object-fit:cover}
.igMsg .cx{flex:1;min-width:0}
.igMsg .quem{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;flex-wrap:wrap}
.igMsg .quem b{font-size:11.5px;font-weight:800;color:var(--t1)}
.igMsg .quem small{font-size:10.5px;color:var(--t3);margin-left:auto;white-space:nowrap}
.igBalao{display:block;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  padding:9px 12px;font-size:12.5px;color:var(--t2);line-height:1.6;white-space:pre-wrap;
  overflow-wrap:anywhere}
.igMsg.meu .igBalao{background:rgba(139,92,246,.16);border-color:rgba(139,92,246,.4);color:var(--t1)}
.igEvento{display:flex;align-items:center;gap:9px;margin:9px 0;font-size:11px;color:var(--t3)}
.igEvento::before,.igEvento::after{content:"";flex:1;height:1px;background:var(--br)}
.igEvento span{white-space:nowrap}
.igAnexo{display:flex;align-items:center;gap:9px;margin-top:7px;padding:8px 10px;border-radius:10px;
  background:rgba(255,255,255,.06);text-decoration:none}
.igAnexo > em{font-style:normal;font-size:15px}
.igAnexo .t{flex:1;min-width:0}
.igAnexo b{display:block;font-size:12px;color:var(--t1);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.igAnexo small{display:block;font-size:10.5px;color:var(--t3);margin-top:1px}
.igAnexo:hover{background:rgba(255,255,255,.11)}
.igEscrever{display:flex;align-items:center;gap:7px}
.igEscrever input[type=text]{flex:1;min-width:0;height:40px;border:1px solid var(--br);border-radius:11px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;padding:0 12px;box-sizing:border-box}
.igClipe{width:40px;height:40px;flex:0 0 40px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--br);border-radius:11px;background:var(--s3);color:var(--t2);cursor:pointer}
.igClipe svg{width:16px;height:16px}
.igClipe input{display:none}
.igClipe:hover{border-color:var(--ouro);color:var(--ouro)}
.igEnviar{width:40px;height:40px;flex:0 0 40px;display:inline-flex;align-items:center;
  justify-content:center;border:0;border-radius:11px;color:#fff;cursor:pointer;
  background:linear-gradient(135deg,#8B5CF6,#6228D7)}
.igEnviar svg{width:16px;height:16px}
.igVersao{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--br)}
.igVersao:last-of-type{border-bottom:0}
.igVersao > i{font-style:normal;width:28px;height:28px;flex:0 0 28px;border-radius:9px;display:flex;
  align-items:center;justify-content:center;font-size:11px;font-weight:800;background:var(--s3);
  border:1px solid var(--br);color:var(--t2)}
.igVersao .t{flex:1;min-width:0}
.igVersao b{display:block;font-size:12px;font-weight:700;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.igVersao small{display:block;font-size:10.5px;color:var(--t3);margin-top:2px}
.igVersao .bts{display:flex;gap:5px}
.igDecide{display:flex;gap:10px;margin-top:13px;flex-wrap:wrap}
.igDecide > *{flex:1 1 170px}
.igGrande{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:46px;
  border-radius:12px;border:1px solid;font:inherit;font-size:13.5px;font-weight:800;cursor:pointer;
  text-decoration:none}
.igGrande svg{width:16px;height:16px}
.igGrande.sim{border-color:transparent;background:linear-gradient(145deg,#3DD68C,#12B76A);color:#042014}
.igGrande.nao{border-color:rgba(224,87,90,.5);background:rgba(224,87,90,.08);color:#E0575A}
.igGrande.roxo{border-color:transparent;background:linear-gradient(135deg,#8B5CF6,#6228D7);color:#fff}
.igCaixa{border:1px solid var(--br);border-radius:16px;background:var(--s2);padding:14px 16px 16px;
  margin-top:14px}
.igCaixa h3{margin:0 0 4px;font-size:14.5px;font-weight:800;color:var(--t1)}
.igCaixa > p{margin:0 0 12px;font-size:11.5px;color:var(--t3);line-height:1.55}
.igCampos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end}
.igCampo label{display:block;font-size:11px;font-weight:750;color:var(--t3);margin:0 0 5px;
  letter-spacing:.02em}
.igCampo input,.igCampo select,.igCampo textarea{width:100%;height:40px;border:1px solid var(--br);
  border-radius:11px;background:var(--s1);color:var(--t1);font:inherit;font-size:13px;padding:0 11px;
  box-sizing:border-box}
.igCampo textarea{height:78px;padding:10px 11px;resize:vertical;line-height:1.55}
.igCampo.largo{grid-column:1/-1}
.igRotina{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:10px}
.igRotina .d{border:1px solid var(--br);border-radius:12px;background:var(--s1);padding:10px 11px}
.igRotina .d b{display:block;font-size:11px;font-weight:800;color:var(--ouro);letter-spacing:.04em;
  text-transform:uppercase;margin-bottom:7px}
.igRotina select,.igRotina input{width:100%;height:34px;border:1px solid var(--br);border-radius:9px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:12px;padding:0 9px;box-sizing:border-box;
  margin-bottom:6px}
.igRotina input{margin-bottom:0}
.igFalta{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-top:1px solid var(--br);
  opacity:.8}
.igFalta:first-of-type{border-top:0}
.igSecao{margin:18px 0 10px;font-size:11.5px;font-weight:800;color:var(--ouro);letter-spacing:.04em;
  text-transform:uppercase}
.igPrazo{display:block;white-space:nowrap;font-size:11px;color:var(--t3)}
.igPrazo b{display:block;font-size:11.5px;font-weight:800;color:var(--t2);margin-bottom:2px}
.igPrazo.hoje b{color:#FFB92E}
.igPrazo.tarde b{color:#E0575A}
.igAtraso{display:flex;align-items:flex-start;gap:11px;border:1px solid rgba(224,87,90,.35);
  border-radius:14px;background:rgba(224,87,90,.07);padding:12px 14px;margin:-4px 0 14px}
.igAtraso > em{font-style:normal;font-size:18px;flex:0 0 22px}
.igAtraso b{display:block;font-size:12.5px;font-weight:800;color:var(--t1);margin-bottom:3px}
.igAtraso p{margin:0;font-size:11.5px;color:var(--t3);line-height:1.55}
.igBrief{margin-bottom:14px}
.igBrief > b{display:block;font-size:12.5px;font-weight:800;color:var(--t1);margin-bottom:5px}
.igBrief p{margin:0;font-size:12.5px;color:var(--t2);line-height:1.65;white-space:pre-wrap}
.igBrief ul{margin:0;padding-left:19px}
.igBrief li{font-size:12.5px;color:var(--t2);line-height:1.75}
.igExemplo{border:1px solid rgba(139,92,246,.35);border-radius:12px;background:rgba(139,92,246,.09);
  padding:11px 13px;margin-bottom:14px}
.igExemplo b{display:block;font-size:12px;font-weight:800;color:var(--t1);margin-bottom:5px}
.igExemplo p{margin:0;font-size:12.5px;color:var(--t2);line-height:1.65;font-style:italic}
.igEnviarCx{margin-top:13px}
.igPedido{border:1px solid rgba(224,87,90,.4);border-radius:12px;background:rgba(224,87,90,.08);
  padding:11px 13px;margin-bottom:11px}
.igPedido.roxo{border-color:rgba(139,92,246,.4);background:rgba(139,92,246,.09)}
.igPedido.verde{border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.08)}
.igPedido b{display:block;font-size:12.5px;font-weight:800;color:var(--t1);margin-bottom:4px}
.igPedido p{margin:0;font-size:11.5px;color:var(--t3);line-height:1.55}
.igSolta{display:flex;flex-direction:column;align-items:center;gap:7px;border:2px dashed var(--br);
  border-radius:14px;background:var(--s3);padding:24px 16px;cursor:pointer;text-align:center;
  transition:border-color .15s ease,background .15s ease}
.igSolta .ico{display:flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:50%;background:rgba(139,92,246,.18);color:#A78BFA;margin-bottom:2px}
.igSolta .ico svg{width:18px;height:18px}
.igSolta > b{font-size:13px;font-weight:800;color:var(--t1)}
.igSolta > small{font-size:11px;color:var(--t3);line-height:1.5}
.igSolta input{display:none}
.igSolta:hover,.igSolta.sobre{border-color:#8B5CF6;background:rgba(139,92,246,.07)}
.igSolta.cheio{border-style:solid;border-color:rgba(61,214,140,.5);background:rgba(61,214,140,.06)}
.igNotaEnvio{width:100%;height:40px;border:1px solid var(--br);border-radius:11px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:12.5px;padding:0 12px;box-sizing:border-box;margin:10px 0}
.igGrande:disabled{opacity:.45;cursor:not-allowed}
.igCampo .dica{display:block;font-size:10.5px;color:var(--t3);margin-top:5px;line-height:1.45}
.igPassos{margin:0;padding-left:20px}
.igPassos li{margin-bottom:11px;color:var(--t2)}
.igPassos > li > b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);margin-bottom:3px}
.igPassos li small{display:block;font-size:11.5px;color:var(--t3);line-height:1.55}
.igPassos li small b{display:inline;font-weight:750;color:var(--t2)}
.igPassos code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;
  background:var(--s3);padding:1px 5px;border-radius:5px;color:var(--t2)}
.igToken{border:1px solid rgba(255,185,46,.3);border-radius:12px;background:rgba(255,185,46,.06);
  padding:11px 13px;margin-bottom:12px}
.igToken.perto{border-color:rgba(224,87,90,.45);background:rgba(224,87,90,.08)}
.igToken b{display:block;font-size:12.5px;font-weight:800;color:var(--t1);margin-bottom:4px}
.igToken p{margin:0 0 9px;font-size:11.5px;color:var(--t3);line-height:1.55}
.igToken p b{display:inline;color:var(--t2)}
.igEsperando{border:1px solid rgba(139,92,246,.4);border-radius:12px;background:rgba(139,92,246,.08);
  padding:12px 14px;margin-top:13px}
.igEsperando b{display:block;font-size:12.5px;font-weight:800;color:var(--t1);margin-bottom:4px}
.igEsperando p{margin:0 0 10px;font-size:11.5px;color:var(--t3);line-height:1.55}
.igErroCx{margin-top:12px;border:1px solid rgba(224,87,90,.35);border-radius:11px;
  background:rgba(224,87,90,.08);padding:10px 12px}
.igErroCx b{display:block;font-size:11.5px;font-weight:800;color:#E0575A;margin-bottom:4px}
.igErroCx p{margin:0;font-size:11.5px;color:var(--t2);line-height:1.55;overflow-wrap:anywhere}
.igFalta > em{font-style:normal;font-size:14px;flex:0 0 18px;text-align:center}
.igFalta > span > b{display:block;font-size:12px;font-weight:700;color:var(--t2)}
.igFalta small{display:block;font-size:11px;color:var(--t3);margin-top:2px;line-height:1.45}
.igFalta small b{display:inline;font-weight:750;color:var(--t2);overflow-wrap:anywhere}
@media (max-width:1180px){ .igGrade,.igGrade.larga{grid-template-columns:minmax(0,1fr)} }
/* P473 (mockup dela): o que faltava na aba Mensagens do aluno. */
.mgDia{display:flex;align-items:center;gap:12px;margin:16px 0 10px;color:var(--t3);font-size:11.5px}
.mgDia::before,.mgDia::after{content:"";flex:1;height:1px;background:var(--br)}
.mgDia span{white-space:nowrap;text-transform:capitalize}
.mgVisto{margin-left:5px;font-style:normal;font-weight:700;opacity:.55}
.mgVisto.lido{color:#4E9BFF;opacity:1}
.mgDoc{display:flex;align-items:center;gap:10px;margin-top:6px;padding:8px 10px;border-radius:11px;
  background:rgba(255,255,255,.07);text-decoration:none;min-width:180px}
.mgDoc > em{font-style:normal;font-size:17px;flex:0 0 20px}
.mgDoc .t{min-width:0}
.mgDoc b{display:block;font-size:12.5px;font-weight:700;color:inherit;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;max-width:190px}
.mgDoc small{display:block;font-size:11px;opacity:.7;margin-top:2px}
.mgDoc:hover{background:rgba(255,255,255,.12)}
.mgLinha.apagado{opacity:.28}
.mgLinha.achado .mgBalao{outline:2px solid var(--ouro);outline-offset:2px}
.mgConv .dir .mudo{font-style:normal;font-size:11px;opacity:.75}
.mgConv .dir span.calma{background:var(--s3)!important;color:var(--t3)!important}
.mgIcoBt{width:38px;height:38px;flex:0 0 38px;display:inline-flex;align-items:center;
  justify-content:center;border:1px solid var(--br);border-radius:11px;background:var(--s3);
  color:var(--t2);cursor:pointer;font-size:16px;padding:0}
.mgIcoBt svg{width:17px;height:17px}
.mgIcoBt:hover{border-color:var(--ouro);color:var(--ouro)}
.mgEscrever{position:relative}
.mgEmojis{position:absolute;right:56px;bottom:52px;z-index:30;width:236px;display:grid;
  grid-template-columns:repeat(5,1fr);gap:3px;border:1px solid var(--br);border-radius:13px;
  background:var(--s2);box-shadow:0 18px 44px rgba(0,0,0,.5);padding:7px}
.mgEmojis button{height:36px;border:0;border-radius:9px;background:none;font-size:19px;cursor:pointer}
.mgEmojis button:hover{background:var(--s3)}
.mgEmojis[hidden],.mgGravando[hidden],.mgBuscaConv[hidden]{display:none}
.mgGravando{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:30;display:flex;
  align-items:center;gap:11px;border:1px solid rgba(224,87,90,.4);border-radius:13px;
  background:var(--s2);padding:10px 13px}
.mgGravando > i{width:10px;height:10px;border-radius:50%;background:#E0575A;font-style:normal;
  animation:mgPulsa 1.1s infinite}
@keyframes mgPulsa{0%,100%{opacity:1}50%{opacity:.25}}
.mgGravando span{flex:1;font-size:13px;font-weight:750;color:var(--t1);font-variant-numeric:tabular-nums}
.mgGravando button{height:34px;padding:0 13px;border:1px solid var(--br);border-radius:10px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.mgGravando button:hover{border-color:var(--ouro);color:var(--ouro)}
@media (prefers-reduced-motion:reduce){ .mgGravando > i{animation:none} }
.mgBio{margin:9px 0 0;font-size:12px;color:var(--t2);line-height:1.55;text-align:center}
.mgAcao{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:9px 11px;
  margin-bottom:6px;border:1px solid transparent;border-radius:10px;background:none;color:var(--t2);
  font:inherit;font-size:12.5px;font-weight:650;text-align:left;cursor:pointer;line-height:1.35}
.mgAcao svg{width:15px;height:15px;color:var(--t3);flex:0 0 15px}
.mgAcao:hover{background:var(--s3);color:var(--t1)}
.mgAcao.perigo{color:#E0575A}
.mgAcao.perigo svg{color:#E0575A}
.mgBuscaConv{display:block;margin:0 0 8px}
.mgBuscaConv input{width:100%;height:36px;border:1px solid var(--br);border-radius:10px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;padding:0 11px;
  box-sizing:border-box}
.mgBuscaConv small{display:block;font-size:11px;color:var(--t3);margin-top:5px}
.mgNota{margin:8px 0 0;font-size:11px;color:var(--t3);line-height:1.55}
.mgNota b{color:var(--t2)}
.mgNota a{color:var(--ouro);text-decoration:none}
/* P471 (mockup dela): a tela Nota Fiscal do admin. */
.nfTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.nfTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#C084FC,#8B3DF5);
  box-shadow:0 0 26px rgba(139,61,245,.3)}
.nfTopo > em svg{width:26px;height:26px}
.nfTopoTxt{flex:1 1 300px;min-width:0}
.nfTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.nfTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.nfBts{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.nfBt{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:1px solid var(--br);
  border-radius:12px;background:var(--s1);color:var(--t1);font:inherit;font-size:13px;font-weight:750;
  text-decoration:none;cursor:pointer;white-space:nowrap}
.nfBt svg{width:15px;height:15px;color:var(--t3)}
.nfBt:hover{border-color:var(--ouro);color:var(--ouro)}
.nfBt:hover svg{color:var(--ouro)}
.nfBt.ouro{border:0;background:linear-gradient(145deg,#FFC94F,#F0A11A);color:#241603;font-weight:800}
.nfBt.ouro svg{color:#241603}
.nfLei{display:flex;align-items:flex-start;gap:12px;border:1px solid rgba(255,185,46,.32);
  border-radius:15px;background:rgba(255,185,46,.07);padding:14px 16px;margin-bottom:16px}
.nfLei.ok{border-color:rgba(61,214,140,.32);background:rgba(61,214,140,.06)}
.nfLei > em{font-style:normal;font-size:19px;flex:0 0 22px}
.nfLei > span > b{display:block;font-size:13px;font-weight:800;color:var(--t1);margin-bottom:4px}
.nfLei p{margin:0;font-size:12px;color:var(--t2);line-height:1.6}
.nfLei p b{display:inline;font-weight:800;color:var(--t1)}
.nfLei a{color:var(--ouro);text-decoration:none}
.nfNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:12px;margin-bottom:16px}
.nfNum{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:14px;min-width:0}
.nfNum > i{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;font-size:18px;background:var(--c);border:1px solid var(--cb)}
.nfNum > span{min-width:0}
.nfNum b{display:block;font-size:19px;font-weight:900;color:var(--t1);line-height:1.2;
  letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nfNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.nfNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.nfNum .delta.baixo{color:#E0575A}
.nfNum .delta.neutra{color:var(--t3);font-weight:500}
.nfBarra{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:13px}
.nfAba{display:inline-flex;align-items:center;height:38px;padding:0 15px;border:1px solid var(--br);
  border-radius:11px;background:var(--s1);color:var(--t2);font-size:12.5px;font-weight:700;
  text-decoration:none;white-space:nowrap}
.nfAba:hover{color:var(--t1);border-color:var(--ouro)}
.nfAba.on{background:linear-gradient(145deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.nfFiltros{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 13px}
.nfFiltros input,.nfFiltros select{width:auto;flex:0 0 auto;height:38px;border:1px solid var(--br);
  border-radius:11px;background:var(--s1);color:var(--t1);font:inherit;font-size:12.5px;padding:0 11px;
  box-sizing:border-box}
.nfFiltros input[name=busca]{flex:1 1 170px;min-width:140px;max-width:280px}
.nfFiltros button{width:auto;flex:0 0 auto;height:38px;padding:0 16px;border:1px solid var(--br);
  border-radius:11px;background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;
  font-weight:750;cursor:pointer;box-sizing:border-box}
.nfFiltros button:hover{border-color:var(--ouro);color:var(--ouro)}
.nfFiltros .limpar{display:inline-flex;align-items:center;height:38px;padding:0 10px;font-size:12px;
  color:var(--t3);text-decoration:none}
.nfCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:6px 14px 14px}
.nfRolo{overflow-x:auto}
.nfTab{width:100%;border-collapse:collapse}
.nfTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:12px 4px 10px;border-bottom:1px solid var(--br);white-space:nowrap}
.nfTab td{padding:9px 4px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2);
  vertical-align:middle;white-space:nowrap}
.nfTab tr:last-child td{border-bottom:0}
.nfTab tr.on td{background:rgba(255,201,79,.06)}
.nfNo{font-size:12.5px;font-weight:800;color:var(--t1);font-variant-numeric:tabular-nums}
.nfNo small{display:block;font-size:10.5px;font-weight:600;color:var(--t3);margin-top:2px}
.nfQuem{display:flex;align-items:center;gap:9px;min-width:0;text-decoration:none}
.nfQuem .foto{width:27px;height:27px;flex:0 0 27px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--t2)}
.nfQuem .foto img{width:100%;height:100%;object-fit:cover}
.nfQuem span{font-size:12px;font-weight:700;color:var(--t1);max-width:92px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.nfQuem:hover span{color:var(--ouro)}
.nfProd{display:block;max-width:160px}
.nfProd b{display:block;font-size:12.5px;font-weight:700;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.nfProd small{display:block;font-size:11px;color:var(--t3);margin-top:2px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.nfVal{font-size:12.5px;font-weight:800;color:var(--t1);font-variant-numeric:tabular-nums}
.nfSt{display:inline-block;height:24px;line-height:22px;padding:0 10px;border-radius:8px;font-size:11px;
  font-weight:800;border:1px solid}
.nfSt.emitida{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.13)}
.nfSt.processando{color:#4E9BFF;border-color:rgba(78,155,255,.42);background:rgba(78,155,255,.13)}
.nfSt.aemitir{color:#FFB92E;border-color:rgba(255,185,46,.42);background:rgba(255,185,46,.13)}
.nfSt.erro{color:#E0575A;border-color:rgba(224,87,90,.42);background:rgba(224,87,90,.13)}
.nfSt.cancelada{color:#8FA3B8;border-color:rgba(143,163,184,.38);background:rgba(143,163,184,.12)}
.nfAcoes{display:flex;align-items:center;gap:4px;white-space:nowrap}
.nfIco{width:29px;height:29px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--br);border-radius:9px;background:var(--s3);color:var(--t2);cursor:pointer;
  text-decoration:none;padding:0}
.nfIco svg{width:14px;height:14px}
.nfIco:hover{border-color:var(--ouro);color:var(--ouro)}
.nfMenu{position:relative}
.nfMenu summary{list-style:none;width:29px;height:29px;display:flex;align-items:center;
  justify-content:center;border:1px solid var(--br);border-radius:9px;background:var(--s3);
  color:var(--t2);cursor:pointer;font-size:14px}
.nfMenu summary::-webkit-details-marker{display:none}
.nfMenu[open] summary{border-color:var(--ouro);color:var(--ouro)}
.nfMenuCx{position:absolute;right:0;top:34px;z-index:40;min-width:206px;border:1px solid var(--br);
  border-radius:12px;background:var(--s2);box-shadow:0 18px 44px rgba(0,0,0,.5);padding:6px}
.nfMenuCx a,.nfMenuCx button{display:block;width:100%;text-align:left;padding:8px 10px;border:0;
  border-radius:8px;background:none;color:var(--t2);font:inherit;font-size:12.5px;cursor:pointer;
  text-decoration:none}
.nfMenuCx a:hover,.nfMenuCx button:hover{background:var(--s3);color:var(--t1)}
.nfMenuCx button.perigo{color:#E0575A}
.nfMenuCx form{margin:0}
.nfPe{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 1px 2px;
  border-top:1px solid var(--br);margin-top:2px}
.nfPe .conta{font-size:12px;color:var(--t3);flex:1;min-width:150px}
.nfPag{display:flex;align-items:center;gap:5px}
.nfPag a,.nfPag span{min-width:31px;height:31px;display:inline-flex;align-items:center;
  justify-content:center;border:1px solid var(--br);border-radius:9px;background:var(--s1);
  color:var(--t2);font-size:12px;font-weight:700;text-decoration:none;padding:0 7px}
.nfPag a:hover{border-color:var(--ouro);color:var(--ouro)}
.nfPag a.on{background:linear-gradient(145deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.nfPag span.off{opacity:.34}
.nfPorPag{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--t3)}
.nfPorPag select{height:31px;width:auto;border:1px solid var(--br);border-radius:9px;background:var(--s1);
  color:var(--t1);font:inherit;font-size:12px;padding:0 7px}
.nfVazio{padding:30px 6px;text-align:center;color:var(--t3);font-size:13px;line-height:1.65}
.nfVazio b{color:var(--t2)}
.nfAviso{margin:11px 0 0;font-size:11px;color:var(--t3);line-height:1.55}
.nfAviso b{color:var(--t2)}
.nfAviso a{color:var(--ouro);text-decoration:none}
.nfLado{display:grid;gap:14px;align-content:start}
.nfLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:14px 16px 16px}
.nfLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:12px;flex-wrap:wrap}
.nfLadoCab svg{width:16px;height:16px;color:var(--ouro);flex:0 0 16px}
.nfLadoCab b{flex:1;min-width:0;font-size:13.5px;font-weight:800;color:var(--t1)}
.nfLadoCab a{font-size:11.5px;font-weight:750;color:var(--ouro);text-decoration:none;white-space:nowrap}
.nfChave{border:1px solid var(--br);border-radius:11px;background:var(--s3);padding:9px 11px;
  margin-bottom:12px}
.nfChave label{display:block;font-size:10.5px;font-weight:750;color:var(--t3);margin-bottom:4px;
  letter-spacing:.02em}
.nfChave code{display:block;font-size:11px;color:var(--t1);word-break:break-all;line-height:1.5;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.nfDado{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--br)}
.nfDado:last-of-type{border-bottom:0}
.nfDado > em{font-style:normal;font-size:13px;flex:0 0 18px;text-align:center;padding-top:1px}
.nfDado .t{flex:1;min-width:0}
.nfDado .t small{display:block;font-size:10.5px;color:var(--t3);letter-spacing:.02em}
.nfDado .t b{display:block;font-size:12.5px;font-weight:700;color:var(--t1);margin-top:2px;
  line-height:1.45;overflow-wrap:anywhere}
.nfFalta2{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--br);
  text-decoration:none}
.nfFalta2:last-of-type{border-bottom:0}
.nfFalta2 .t{flex:1;min-width:0}
.nfFalta2 .t b{display:block;font-size:12px;font-weight:700;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.nfFalta2 .t small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
.nfFalta2 .v{font-size:12px;font-weight:800;color:#3DD68C;white-space:nowrap}
.nfFalta2:hover .t b{color:var(--ouro)}
.nfRapida{display:flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 12px;
  margin-bottom:8px;border:1px solid var(--br);border-radius:11px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12.5px;font-weight:700;text-decoration:none;cursor:pointer;text-align:left}
.nfRapida svg{width:15px;height:15px;color:var(--t3);flex:0 0 15px}
.nfRapida:hover{border-color:var(--ouro);color:var(--ouro)}
.nfRapida:hover svg{color:var(--ouro)}
.nfRapida:last-child{margin-bottom:0}
.nfRapida{min-height:40px;height:auto;padding-top:9px;padding-bottom:9px;line-height:1.35}
.nfRapida.perigo{color:#E0575A}
.nfRapida.perigo svg{color:#E0575A}
.nfCaixa{border:1px solid var(--br);border-radius:16px;background:var(--s2);padding:14px 16px 16px;
  margin-bottom:14px}
.nfCaixa h3{margin:0 0 4px;font-size:14.5px;font-weight:800;color:var(--t1)}
.nfCaixa > p{margin:0 0 12px;font-size:11.5px;color:var(--t3);line-height:1.55}
.nfForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end}
.nfCampo label{display:block;font-size:11px;font-weight:750;color:var(--t3);margin:0 0 5px;
  letter-spacing:.02em}
.nfCampo input,.nfCampo select{width:100%;height:40px;border:1px solid var(--br);border-radius:11px;
  background:var(--s1);color:var(--t1);font:inherit;font-size:13px;padding:0 11px;box-sizing:border-box}
.nfCampo.largo{grid-column:1/-1}
.nfCampo .dica{display:block;font-size:10.5px;color:var(--t3);margin-top:5px;line-height:1.45}
.nfSecao{margin:18px 0 11px;font-size:11.5px;font-weight:800;color:var(--ouro);
  letter-spacing:.04em;text-transform:uppercase}
.nfSecao:first-of-type{margin-top:4px}
.nfErro{max-width:104px;margin-top:3px;font-size:10.5px;color:#E0575A;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.nfErroCx{margin-top:12px;border:1px solid rgba(224,87,90,.35);border-radius:11px;
  background:rgba(224,87,90,.08);padding:10px 12px}
.nfErroCx b{display:block;font-size:11.5px;font-weight:800;color:#E0575A;margin-bottom:4px}
.nfErroCx p{margin:0;font-size:11.5px;color:var(--t2);line-height:1.55;overflow-wrap:anywhere}
.nfCancelar summary{list-style:none}
.nfCancelar summary::-webkit-details-marker{display:none}
.nfFalta{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-top:1px solid var(--br);
  opacity:.78}
.nfFalta:first-of-type{border-top:0}
.nfFalta > em{font-style:normal;font-size:14px;flex:0 0 18px;text-align:center}
.nfFalta b{display:block;font-size:12px;font-weight:700;color:var(--t2)}
.nfFalta small{display:block;font-size:11px;color:var(--t3);margin-top:2px;line-height:1.45}
/* P470 (mockup dela): a tela Financeiro do admin. */
.fnTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.fnTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#042014;background:linear-gradient(145deg,#5BE79B,#12B76A);
  box-shadow:0 0 26px rgba(18,183,106,.32)}
.fnTopo > em svg{width:27px;height:27px}
.fnTopoTxt{flex:1 1 300px;min-width:0}
.fnTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.fnTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.fnNovo{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 19px;border:0;border-radius:12px;
  background:linear-gradient(145deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:13.5px;
  font-weight:800;text-decoration:none;cursor:pointer;white-space:nowrap}
.fnNovo svg{width:16px;height:16px}
.fnNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:12px;margin-bottom:16px}
.fnNum{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:14px 14px;min-width:0}
.fnNum > i{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;font-size:18px;background:var(--c);border:1px solid var(--cb)}
.fnNum > span{min-width:0}
.fnNum b{display:block;font-size:18px;font-weight:900;color:var(--t1);line-height:1.2;
  letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fnNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.fnNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.fnNum .delta.baixo{color:#E0575A}
.fnNum .delta.neutra{color:var(--t3);font-weight:500}
.fnGrade{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px;
  align-items:start;margin-bottom:14px}
.fnCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:14px 16px 16px}
.fnCab{display:flex;align-items:center;gap:9px;margin-bottom:13px;flex-wrap:wrap}
.fnCab svg{width:16px;height:16px;color:var(--ouro);flex:0 0 16px}
.fnCab b{flex:1;min-width:0;font-size:13.5px;font-weight:800;color:var(--t1)}
.fnCab a,.fnCab button.link{font-size:11.5px;font-weight:750;color:var(--ouro);text-decoration:none;
  white-space:nowrap;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.fnLeg{display:flex;flex-wrap:wrap;gap:13px}
.fnLeg span{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--t2)}
.fnLeg i{width:9px;height:9px;border-radius:3px;background:var(--c);font-style:normal}
.fnSvg{display:block;width:100%;height:auto;overflow:visible}
.fnDonut{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.fnDonut svg{width:142px;height:142px;flex:0 0 142px}
.fnDonutLeg{flex:1;min-width:128px}
.fnDonutLeg div{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;color:var(--t2)}
.fnDonutLeg i{width:9px;height:9px;border-radius:50%;background:var(--c);font-style:normal;flex:0 0 9px}
.fnDonutLeg span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fnDonutLeg b{font-size:12px;font-weight:800;color:var(--t1);white-space:nowrap}
.fnBarra{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:13px}
.fnAba{display:inline-flex;align-items:center;height:38px;padding:0 15px;border:1px solid var(--br);
  border-radius:11px;background:var(--s1);color:var(--t2);font-size:12.5px;font-weight:700;
  text-decoration:none;white-space:nowrap}
.fnAba:hover{color:var(--t1);border-color:var(--ouro)}
.fnAba.on{background:linear-gradient(145deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.fnFiltros{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 13px}
.fnFiltros input,.fnFiltros select{width:auto;flex:0 0 auto;height:38px;border:1px solid var(--br);
  border-radius:11px;background:var(--s1);color:var(--t1);font:inherit;font-size:12.5px;padding:0 11px;
  box-sizing:border-box}
.fnFiltros input[name=busca]{flex:1 1 170px;min-width:140px;max-width:280px}
.fnFiltros button{width:auto;flex:0 0 auto;height:38px;padding:0 16px;border:1px solid var(--br);
  border-radius:11px;background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;
  font-weight:750;cursor:pointer;box-sizing:border-box}
.fnFiltros button:hover{border-color:var(--ouro);color:var(--ouro)}
.fnFiltros .limpar{display:inline-flex;align-items:center;height:38px;padding:0 10px;font-size:12px;
  color:var(--t3);text-decoration:none}
.fnFiltros .limpar:hover{color:var(--ouro)}
.fnTabCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:6px 14px 14px}
.fnRolo{overflow-x:auto}
.fnTab{width:100%;border-collapse:collapse}
.fnTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:12px 4px 10px;border-bottom:1px solid var(--br);white-space:nowrap}
.fnTab td{padding:9px 4px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2);
  vertical-align:middle;white-space:nowrap}
.fnTab tr:last-child td{border-bottom:0}
.fnDesc{display:block;max-width:196px;min-width:0}
.fnDesc b{display:block;font-size:12.5px;font-weight:700;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.fnDesc small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
.fnQuem{display:flex;align-items:center;gap:9px;min-width:0;text-decoration:none}
.fnQuem .foto{width:27px;height:27px;flex:0 0 27px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--t2)}
.fnQuem .foto img{width:100%;height:100%;object-fit:cover}
.fnQuem span{font-size:12px;font-weight:700;color:var(--t1);max-width:92px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.fnQuem:hover span{color:var(--ouro)}
.fnVal{font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.fnVal.mais{color:#3DD68C}
.fnVal.menos{color:#E0575A}
.fnVal.aberto{color:var(--t2);font-weight:700}
.fnSt{display:inline-block;height:24px;line-height:22px;padding:0 10px;border-radius:8px;font-size:11px;
  font-weight:800;border:1px solid}
.fnSt.pago{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.13)}
.fnSt.pendente{color:#FFB92E;border-color:rgba(255,185,46,.42);background:rgba(255,185,46,.13)}
.fnSt.previsto{color:#8FA3B8;border-color:rgba(143,163,184,.45);background:rgba(143,163,184,.12);border-style:dashed}
.fnSt.atrasado{color:#E0575A;border-color:rgba(224,87,90,.42);background:rgba(224,87,90,.13)}
.fnSt.cancelado{color:#8FA3B8;border-color:rgba(143,163,184,.38);background:rgba(143,163,184,.12)}
.fnMet{display:inline-flex;align-items:center;gap:5px;height:23px;padding:0 7px;border-radius:8px;
  font-size:11px;font-weight:700;background:var(--s3);color:var(--t2);white-space:nowrap}
.fnAcoes{display:flex;align-items:center;gap:4px;white-space:nowrap}
.fnIco{width:29px;height:29px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--br);border-radius:9px;background:var(--s3);color:var(--t2);cursor:pointer;
  text-decoration:none;padding:0}
.fnIco svg{width:14px;height:14px}
.fnIco:hover{border-color:var(--ouro);color:var(--ouro)}
.fnMenu{position:relative}
.fnMenu summary{list-style:none;width:29px;height:29px;display:flex;align-items:center;
  justify-content:center;border:1px solid var(--br);border-radius:9px;background:var(--s3);
  color:var(--t2);cursor:pointer;font-size:14px}
.fnMenu summary::-webkit-details-marker{display:none}
.fnMenu[open] summary{border-color:var(--ouro);color:var(--ouro)}
.fnMenuCx{position:absolute;right:0;top:34px;z-index:40;min-width:210px;border:1px solid var(--br);
  border-radius:12px;background:var(--s2);box-shadow:0 18px 44px rgba(0,0,0,.5);padding:6px}
.fnMenuCx a,.fnMenuCx button{display:block;width:100%;text-align:left;padding:8px 10px;border:0;
  border-radius:8px;background:none;color:var(--t2);font:inherit;font-size:12.5px;cursor:pointer;
  text-decoration:none}
.fnMenuCx a:hover,.fnMenuCx button:hover{background:var(--s3);color:var(--t1)}
.fnMenuCx button.perigo{color:#E0575A}
.fnMenuCx form{margin:0}
.fnPe{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 1px 2px;
  border-top:1px solid var(--br);margin-top:2px}
.fnPe .conta{font-size:12px;color:var(--t3);flex:1;min-width:150px}
.fnPag{display:flex;align-items:center;gap:5px}
.fnPag a,.fnPag span{min-width:31px;height:31px;display:inline-flex;align-items:center;
  justify-content:center;border:1px solid var(--br);border-radius:9px;background:var(--s1);
  color:var(--t2);font-size:12px;font-weight:700;text-decoration:none;padding:0 7px}
.fnPag a:hover{border-color:var(--ouro);color:var(--ouro)}
.fnPag a.on{background:linear-gradient(145deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.fnPag span.off{opacity:.34}
.fnPorPag{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--t3)}
.fnPorPag select{height:31px;width:auto;border:1px solid var(--br);border-radius:9px;background:var(--s1);
  color:var(--t1);font:inherit;font-size:12px;padding:0 7px}
.fnVazio{padding:30px 6px;text-align:center;color:var(--t3);font-size:13px;line-height:1.65}
.fnVazio b{color:var(--t2)}
.fnAviso{margin:11px 0 0;font-size:11px;color:var(--t3);line-height:1.55}
.fnAviso b{color:var(--t2)}
.fnAviso a{color:var(--ouro);text-decoration:none}
.fnLado{display:grid;gap:14px;align-content:start}
.fnLinha{display:flex;align-items:center;gap:10px;padding:6px 0;text-decoration:none}
.fnLinha .nm{flex:0 0 86px;font-size:12px;color:var(--t2)}
.fnLinha .tr{flex:1;min-width:0;height:9px;border-radius:99px;background:rgba(255,255,255,.07);
  overflow:hidden}
.fnLinha .tr i{display:block;height:100%;border-radius:99px;background:var(--c)}
.fnLinha .n{font-size:12px;font-weight:800;color:var(--t1);width:40px;text-align:right}
.fnLinha:hover .nm{color:var(--ouro)}
.fnMeta{padding:9px 0;border-bottom:1px solid var(--br)}
.fnMeta:last-of-type{border-bottom:0}
.fnMeta .top{display:flex;align-items:baseline;gap:8px;margin-bottom:7px}
.fnMeta .top b{flex:1;min-width:0;font-size:12.5px;font-weight:700;color:var(--t1)}
.fnMeta .top span{font-size:12px;font-weight:800;color:var(--t2)}
.fnMeta .tr{height:9px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.fnMeta .tr i{display:block;height:100%;border-radius:99px;background:var(--c)}
.fnMeta small{display:block;font-size:11px;color:var(--t3);margin-top:6px}
.fnUlt{display:flex;align-items:center;gap:10px;padding:8px 0;text-decoration:none;
  border-bottom:1px solid var(--br)}
.fnUlt:last-of-type{border-bottom:0}
.fnUlt > i{font-style:normal;width:28px;height:28px;flex:0 0 28px;border-radius:9px;display:flex;
  align-items:center;justify-content:center;font-size:13px;background:color-mix(in srgb,var(--c) 16%,transparent);
  border:1px solid var(--c);color:var(--c);font-weight:900}
.fnUlt .t{flex:1;min-width:0}
.fnUlt .t b{display:block;font-size:12.5px;font-weight:800;color:var(--c)}
.fnUlt .t small{display:block;font-size:11px;color:var(--t3);margin-top:2px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.fnUlt .q{font-size:10.5px;color:var(--t3);white-space:nowrap}
.fnUlt:hover .t small{color:var(--t2)}
.fnRapida{display:flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 12px;
  margin-bottom:8px;border:1px solid var(--br);border-radius:11px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12.5px;font-weight:700;text-decoration:none;cursor:pointer;text-align:left}
.fnRapida svg{width:15px;height:15px;color:var(--t3);flex:0 0 15px}
.fnRapida:hover{border-color:var(--ouro);color:var(--ouro)}
.fnRapida:hover svg{color:var(--ouro)}
.fnRapida:last-child{margin-bottom:0}
.fnCaixa{border:1px solid var(--br);border-radius:16px;background:var(--s2);padding:14px 16px 16px;
  margin-bottom:14px}
.fnCaixa h3{margin:0 0 4px;font-size:14.5px;font-weight:800;color:var(--t1)}
.fnCaixa > p{margin:0 0 12px;font-size:11.5px;color:var(--t3);line-height:1.55}
.fnForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end}
.fnCampo label{display:block;font-size:11px;font-weight:750;color:var(--t3);margin:0 0 5px;
  letter-spacing:.02em}
.fnCampo input,.fnCampo select{width:100%;height:40px;border:1px solid var(--br);border-radius:11px;
  background:var(--s1);color:var(--t1);font:inherit;font-size:13px;padding:0 11px;box-sizing:border-box}
.fnCampo.largo{grid-column:1/-1}
.fnFalta{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-top:1px solid var(--br);
  opacity:.75}
.fnFalta:first-of-type{border-top:0}
.fnFalta > em{font-style:normal;font-size:14px;flex:0 0 18px;text-align:center}
.fnFalta b{display:block;font-size:12px;font-weight:700;color:var(--t2)}
.fnFalta small{display:block;font-size:11px;color:var(--t3);margin-top:2px;line-height:1.45}
@media (max-width:1100px){ .fnGrade{grid-template-columns:1fr} }
/* P469 (mockup dela): a tela Comunidade do admin. */
.cuTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.cuTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#A78BFA,#7C4DFF);
  box-shadow:0 0 26px rgba(124,77,255,.32)}
.cuTopo > em svg{width:27px;height:27px}
.cuTopoTxt{flex:1 1 300px;min-width:0}
.cuTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.cuTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.cuNovo{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 19px;border:0;border-radius:12px;
  background:linear-gradient(145deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:13.5px;
  font-weight:800;text-decoration:none;cursor:pointer}
.cuNovo svg{width:16px;height:16px}
.cuNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:13px;margin-bottom:16px}
.cuNum{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:15px 16px}
.cuNum > i{font-style:normal;width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:var(--c);border:1px solid var(--cb)}
.cuNum b{display:block;font-size:25px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.cuNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.cuNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.cuNum .delta.baixo{color:#E0575A}
.cuNum .delta.neutra{color:var(--t3);font-weight:500}
.cuBarra{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:13px}
.cuAba{display:inline-flex;align-items:center;height:38px;padding:0 15px;border:1px solid var(--br);
  border-radius:11px;background:var(--s1);color:var(--t2);font-size:12.5px;font-weight:700;
  text-decoration:none;white-space:nowrap}
.cuAba:hover{color:var(--t1);border-color:var(--ouro)}
.cuAba.on{background:linear-gradient(145deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.cuFiltros{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 13px}
.cuFiltros input,.cuFiltros select{width:auto;flex:0 0 auto;height:38px;border:1px solid var(--br);
  border-radius:11px;background:var(--s1);color:var(--t1);font:inherit;font-size:12.5px;padding:0 11px;
  box-sizing:border-box}
.cuFiltros input{width:236px;flex:1 1 180px;min-width:150px;max-width:300px}
.cuFiltros button{width:auto;flex:0 0 auto;height:38px;padding:0 16px;border:1px solid var(--br);
  border-radius:11px;background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;
  font-weight:750;cursor:pointer;box-sizing:border-box}
.cuFiltros button:hover{border-color:var(--ouro);color:var(--ouro)}
.cuFiltros .limpar{display:inline-flex;align-items:center;height:38px;padding:0 12px;
  font-size:12px;color:var(--t3);text-decoration:none}
.cuFiltros .limpar:hover{color:var(--ouro)}
.cuGrid{grid-template-columns:minmax(0,1fr) 308px}
.cuCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:6px 14px 14px}
.cuRolo{overflow-x:auto}
.cuTab{width:100%;border-collapse:collapse}
.cuTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:12px 5px 10px;border-bottom:1px solid var(--br);white-space:nowrap}
.cuTab td{padding:9px 5px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2);
  vertical-align:middle}
.cuTab tr:last-child td{border-bottom:0}
.cuTab td.nw,.cuTab th.nw{white-space:nowrap}
.cuPost{display:flex;align-items:center;gap:9px;min-width:0;max-width:224px;text-decoration:none}
.cuMini{width:38px;height:38px;flex:0 0 38px;border-radius:10px;overflow:hidden;background:var(--s3);
  border:1px solid var(--br);display:flex;align-items:center;justify-content:center;font-size:16px}
.cuMini img{width:100%;height:100%;object-fit:cover}
.cuPost .tx{min-width:0}
.cuPost b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.cuPost small{display:block;font-size:11px;color:var(--t3);margin-top:2px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.cuPost:hover b{color:var(--ouro)}
.cuQuem{display:flex;align-items:center;gap:9px;min-width:0;text-decoration:none}
.cuQuem .foto{width:28px;height:28px;flex:0 0 28px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--t2)}
.cuQuem .foto img{width:100%;height:100%;object-fit:cover}
.cuQuem b{display:block;font-size:12px;font-weight:700;color:var(--t1);max-width:88px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.cuQuem small{display:block;font-size:10.5px;color:var(--t3);margin-top:1px}
.cuQuem:hover b{color:var(--ouro)}
.cuTag{display:inline-block;height:23px;line-height:21px;padding:0 9px;border-radius:8px;font-size:11px;
  font-weight:750;border:1px solid var(--c);background:color-mix(in srgb,var(--c) 16%,transparent);
  color:var(--c);white-space:nowrap}
.cuForma{display:inline-flex;align-items:center;gap:5px;height:23px;padding:0 8px;border-radius:8px;
  font-size:11px;font-weight:700;background:var(--s3);color:var(--t2);white-space:nowrap}
.cuEng{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;color:var(--t2);white-space:nowrap}
.cuEng b{font-weight:750;color:var(--t1)}
.cuSt{display:inline-block;height:24px;line-height:22px;padding:0 10px;border-radius:8px;font-size:11px;
  font-weight:800;border:1px solid}
.cuSt.pub{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.13)}
.cuSt.den{color:#E0575A;border-color:rgba(224,87,90,.42);background:rgba(224,87,90,.13)}
.cuSt.ocu{color:#8FA3B8;border-color:rgba(143,163,184,.38);background:rgba(143,163,184,.12)}
.cuAcoes{display:flex;align-items:center;gap:4px;white-space:nowrap}
.cuIco{width:29px;height:29px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--br);border-radius:9px;background:var(--s3);color:var(--t2);cursor:pointer;
  text-decoration:none;padding:0}
.cuIco svg{width:14px;height:14px}
.cuIco:hover{border-color:var(--ouro);color:var(--ouro)}
.cuMenu{position:relative}
.cuMenu summary{list-style:none;width:29px;height:29px;display:flex;align-items:center;
  justify-content:center;border:1px solid var(--br);border-radius:9px;background:var(--s3);
  color:var(--t2);cursor:pointer;font-size:14px}
.cuMenu summary::-webkit-details-marker{display:none}
.cuMenu[open] summary{border-color:var(--ouro);color:var(--ouro)}
.cuMenuCx{position:absolute;right:0;top:34px;z-index:40;min-width:206px;border:1px solid var(--br);
  border-radius:12px;background:var(--s2);box-shadow:0 18px 44px rgba(0,0,0,.5);padding:6px}
.cuMenuCx a,.cuMenuCx button{display:block;width:100%;text-align:left;padding:8px 10px;border:0;
  border-radius:8px;background:none;color:var(--t2);font:inherit;font-size:12.5px;cursor:pointer;
  text-decoration:none}
.cuMenuCx a:hover,.cuMenuCx button:hover{background:var(--s3);color:var(--t1)}
.cuMenuCx button.perigo{color:#E0575A}
.cuMenuCx form{margin:0}
.cuPe{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 1px 2px;
  border-top:1px solid var(--br);margin-top:2px}
.cuPe .conta{font-size:12px;color:var(--t3);flex:1;min-width:150px}
.cuPag{display:flex;align-items:center;gap:5px}
.cuPag a,.cuPag span{min-width:31px;height:31px;display:inline-flex;align-items:center;
  justify-content:center;border:1px solid var(--br);border-radius:9px;background:var(--s1);
  color:var(--t2);font-size:12px;font-weight:700;text-decoration:none;padding:0 7px}
.cuPag a:hover{border-color:var(--ouro);color:var(--ouro)}
.cuPag a.on{background:linear-gradient(145deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.cuPag span.off{opacity:.34}
.cuPorPag{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--t3)}
.cuPorPag select{height:31px;border:1px solid var(--br);border-radius:9px;background:var(--s1);
  color:var(--t1);font:inherit;font-size:12px;padding:0 7px}
.cuVazio{padding:30px 6px;text-align:center;color:var(--t3);font-size:13px;line-height:1.65}
.cuVazio b{color:var(--t2)}
.cuLado{display:grid;gap:14px;align-content:start}
.cuLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:14px 16px 16px}
.cuLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.cuLadoCab svg{width:16px;height:16px;color:var(--ouro);flex:0 0 16px}
.cuLadoCab b{flex:1;min-width:0;font-size:13.5px;font-weight:800;color:var(--t1)}
.cuLadoCab a{font-size:11.5px;font-weight:750;color:var(--ouro);text-decoration:none;white-space:nowrap}
.cuCat{display:flex;align-items:center;gap:10px;padding:7px 0;text-decoration:none;border-bottom:1px solid var(--br)}
.cuCat:last-of-type{border-bottom:0}
.cuCat > i{font-style:normal;width:28px;height:28px;flex:0 0 28px;border-radius:9px;display:flex;
  align-items:center;justify-content:center;font-size:14px;background:color-mix(in srgb,var(--c) 16%,transparent);
  border:1px solid var(--c)}
.cuCat span{flex:1;min-width:0;font-size:12.5px;font-weight:700;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.cuCat b{font-size:12.5px;font-weight:800;color:var(--t2)}
.cuCat:hover span{color:var(--ouro)}
.cuAtiv{display:flex;align-items:flex-start;gap:10px;padding:8px 0;text-decoration:none;
  border-bottom:1px solid var(--br)}
.cuAtiv:last-of-type{border-bottom:0}
.cuAtiv .foto{width:30px;height:30px;flex:0 0 30px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--t2);
  position:relative}
.cuAtiv .foto img{width:100%;height:100%;object-fit:cover}
.cuAtiv .selo{position:absolute;right:-3px;bottom:-3px;width:15px;height:15px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:8px;background:var(--s2);
  border:1px solid var(--br)}
.cuAtiv .t{flex:1;min-width:0}
.cuAtiv .t b{display:block;font-size:12px;font-weight:700;color:var(--t1)}
.cuAtiv .t small{display:block;font-size:11px;color:var(--t3);margin-top:2px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.cuAtiv .q{font-size:10.5px;color:var(--t3);white-space:nowrap;padding-top:2px}
.cuRapida{display:flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 12px;
  margin-bottom:8px;border:1px solid var(--br);border-radius:11px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12.5px;font-weight:700;text-decoration:none;cursor:pointer;text-align:left}
.cuRapida svg{width:15px;height:15px;color:var(--t3);flex:0 0 15px}
.cuRapida:hover{border-color:var(--ouro);color:var(--ouro)}
.cuRapida:hover svg{color:var(--ouro)}
.cuRapida:last-child{margin-bottom:0}
.cuRapida.curta{width:auto;height:34px;margin:0;padding:0 11px;font-size:12px;white-space:nowrap}
.cuAviso{margin:11px 0 0;font-size:11px;color:var(--t3);line-height:1.55}
.cuAviso b{color:var(--t2)}
.cuAviso a{color:var(--ouro);text-decoration:none}
.cuCaixa{border:1px solid var(--br);border-radius:14px;background:var(--s2);padding:13px 15px 15px;
  margin-bottom:14px}
.cuCaixa h3{margin:0 0 4px;font-size:14px;font-weight:800;color:var(--t1)}
.cuCaixa p{margin:0 0 10px;font-size:11.5px;color:var(--t3);line-height:1.55}
.cuCaixa textarea{width:100%;min-height:78px;resize:vertical;border:1px solid var(--br);border-radius:11px;
  background:var(--s1);color:var(--t1);font:inherit;font-size:13px;padding:10px 12px;box-sizing:border-box}
.cuCaixa .pe{display:flex;align-items:center;gap:9px;margin-top:9px;flex-wrap:wrap}
.cuCaixa .pe select{width:auto;flex:0 0 auto;height:38px;padding:0 11px;border-radius:11px;
  border:1px solid var(--br);background:var(--s1);color:var(--t1);font:inherit;font-size:12.5px;
  box-sizing:border-box}
.cuFalta{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-top:1px solid var(--br);
  opacity:.75}
.cuFalta:first-of-type{border-top:0}
.cuFalta > em{font-style:normal;font-size:14px;flex:0 0 18px;text-align:center}
.cuFalta b{display:block;font-size:12px;font-weight:700;color:var(--t2)}
.cuFalta small{display:block;font-size:11px;color:var(--t3);margin-top:2px;line-height:1.45}
/* P468 (mockup dela): a tela Relatórios do admin. */
.rlTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.rlTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#241603;background:linear-gradient(145deg,#FFC94F,#F0A11A);
  box-shadow:0 0 26px rgba(240,161,26,.3)}
.rlTopo > em svg{width:27px;height:27px}
.rlTopoTxt{flex:1 1 300px;min-width:0}
.rlTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.rlTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.rlPeriodo{display:flex;align-items:center;gap:8px}
.rlPeriodo select{height:44px;border:1px solid var(--br);border-radius:12px;background:var(--s1);
  color:var(--t1);font:inherit;font-size:13px;padding:0 11px}
.rlBt{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 17px;border:1px solid var(--br);
  border-radius:12px;background:var(--s1);color:var(--t1);font:inherit;font-size:13px;font-weight:750;
  text-decoration:none;cursor:pointer}
.rlBt svg{width:15px;height:15px;color:var(--t3)}
.rlBt:hover{border-color:var(--ouro);color:var(--ouro)}
.rlNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:13px;margin-bottom:16px}
.rlNum{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:15px 16px}
.rlNum > i{font-style:normal;width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:var(--c);border:1px solid var(--cb)}
.rlNum b{display:block;font-size:25px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.rlNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.rlNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.rlNum .delta.baixo{color:#E0575A}
.rlNum .delta.neutra{color:var(--t3);font-weight:500}
.rlGrade{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px;
  align-items:start;margin-bottom:14px}
.rlGrade.larga{grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,.9fr)}
/* auditoria 17/10: nome de turma comprido alargava a coluna no celular */
.rlGrade>*,.rlGrade>*>*{min-width:0}
.rlCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:15px 17px 17px}
.rlCab{display:flex;align-items:baseline;gap:9px;margin-bottom:14px}
.rlCab b{flex:1;min-width:0;font-size:14.5px;font-weight:800;color:var(--t1)}
.rlCab small{font-size:11px;color:var(--t3);white-space:nowrap}
.rlCab a{font-size:11.5px;font-weight:750;color:var(--ouro);text-decoration:none;white-space:nowrap}
.rlSvg{display:block;width:100%;height:auto;overflow:visible}
.rlLeg{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.rlLeg span{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--t2)}
.rlLeg i{width:9px;height:9px;border-radius:3px;background:var(--c);font-style:normal}
.rlDonut{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.rlDonut svg{width:138px;height:138px;flex:0 0 138px}
.rlDonutLeg{flex:1;min-width:130px}
.rlDonutLeg div{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;color:var(--t2)}
.rlDonutLeg i{width:9px;height:9px;border-radius:50%;background:var(--c);font-style:normal;flex:0 0 9px}
.rlDonutLeg span{flex:1;min-width:0}
.rlDonutLeg b{font-size:12px;font-weight:800;color:var(--t1);white-space:nowrap}
.rlBarras{display:flex;align-items:flex-end;justify-content:space-around;gap:12px;height:150px;
  padding-top:22px}
.rlBarra{flex:1;max-width:76px;display:flex;flex-direction:column;align-items:center;height:100%;
  justify-content:flex-end}
.rlBarra b{font-size:14px;font-weight:800;color:var(--t1);margin-bottom:6px}
.rlBarra i{display:block;width:100%;border-radius:9px 9px 0 0;background:var(--c);font-style:normal}
.rlBarra small{display:block;font-size:11.5px;color:var(--t3);margin-top:8px}
.rlLinha{display:flex;align-items:center;gap:10px;padding:6px 0;text-decoration:none}
.rlLinha .nm{flex:0 0 92px;font-size:12px;color:var(--t2);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.rlLinha .tr{flex:1;min-width:0;height:9px;border-radius:99px;background:rgba(255,255,255,.07);
  overflow:hidden}
.rlLinha .tr i{display:block;height:100%;border-radius:99px;background:var(--c)}
.rlLinha .n{font-size:12px;font-weight:750;color:var(--t1);width:38px;text-align:right}
.rlLinha:hover .nm{color:var(--ouro)}
.rlTab{width:100%;border-collapse:collapse}
.rlTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:0 6px 9px;border-bottom:1px solid var(--br);white-space:nowrap}
.rlTab td{padding:8px 6px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2);
  white-space:nowrap}
.rlTab tr:last-child td{border-bottom:0}
.rlPos{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;
  border-radius:7px;background:var(--s3);color:var(--t3);font-size:11px;font-weight:800}
.rlPos.ouro{background:rgba(255,185,46,.16);color:#FFB92E}
.rlQuem{display:flex;align-items:center;gap:9px;min-width:0}
.rlQuem .foto{width:26px;height:26px;flex:0 0 26px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--t2)}
.rlQuem .foto img{width:100%;height:100%;object-fit:cover}
.rlQuem span{font-size:12px;font-weight:700;color:var(--t1);max-width:118px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.rlSelo{display:inline-block;height:22px;line-height:20px;padding:0 8px;border-radius:7px;font-size:10.5px;
  font-weight:800;border:1px solid}
.rlMiniBar{display:flex;align-items:center;gap:8px;min-width:112px}
.rlMiniBar .tr{flex:1;min-width:54px;height:7px;border-radius:99px;background:rgba(255,255,255,.07);
  overflow:hidden}
.rlMiniBar .tr i{display:block;height:100%;border-radius:99px;background:var(--c)}
.rlMiniBar b{font-size:12px;font-weight:750;color:var(--t1);width:34px;text-align:right}
.rlVazio{padding:22px 4px;color:var(--t3);font-size:12.5px;line-height:1.6}
.rlVazio b{color:var(--t2)}
.rlAcao{display:flex;align-items:center;gap:10px;width:100%;height:42px;padding:0 12px;margin-bottom:9px;
  border:1px solid var(--br);border-radius:11px;background:var(--s3);color:var(--t1);font:inherit;
  font-size:12.5px;font-weight:700;text-decoration:none;cursor:pointer;text-align:left}
.rlAcao svg{width:15px;height:15px;color:var(--t3);flex:0 0 15px}
.rlAcao:hover{border-color:var(--ouro);color:var(--ouro)}
.rlAcao:hover svg{color:var(--ouro)}
.rlAcao:last-child{margin-bottom:0}
.rlFalta{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-top:1px solid var(--br);
  opacity:.72}
.rlFalta:first-of-type{border-top:0}
.rlFaltas{display:grid;grid-template-columns:repeat(auto-fit,minmax(252px,1fr));gap:0 26px}
.rlFaltas .rlFalta{border-top:0;padding:4px 0}
.rlFalta > em{font-style:normal;font-size:14px;flex:0 0 18px;text-align:center}
.rlFalta b{display:block;font-size:12px;font-weight:700;color:var(--t2)}
.rlFalta small{display:block;font-size:11px;color:var(--t3);margin-top:2px;line-height:1.45}
@media (max-width:1180px){ .rlGrade.larga{grid-template-columns:minmax(0,1fr)} }
@media print{ .suSide,.suTop,.rlPeriodo,.rlBt,.rlAcao{display:none!important}
  .rlCard{break-inside:avoid} }
/* P467 (mockup dela): a caixa de entrada do WhatsApp. */
.waTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.waTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;font-size:26px;background:linear-gradient(145deg,#1FA855,#4AD07C);
  box-shadow:0 0 26px rgba(31,168,85,.3)}
.waTopoTxt{flex:1 1 300px;min-width:0}
.waTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.waTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.waBt{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:1px solid var(--br);
  border-radius:12px;background:var(--s1);color:var(--t1);font:inherit;font-size:13px;font-weight:750;
  text-decoration:none;cursor:pointer}
.waBt svg{width:15px;height:15px;color:var(--t3)}
.waBt:hover{border-color:var(--ouro);color:var(--ouro)}
.waEstado{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 15px;border-radius:12px;
  font-size:12.5px;font-weight:750;border:1px solid}
.waEstado i{width:9px;height:9px;border-radius:50%;background:currentColor;font-style:normal}
.waEstado.on{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.1)}
.waEstado.off{color:#E0575A;border-color:rgba(224,87,90,.4);background:rgba(224,87,90,.1)}
.waNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.waNum{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:14px 15px}
.waNum > i{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;font-size:17px;background:var(--c);border:1px solid var(--cb)}
.waNum b{display:block;font-size:22px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.waNum small{display:block;font-size:11.5px;color:var(--t3);margin-top:5px;line-height:1.35}
.waNum .delta{display:block;font-size:11px;font-weight:750;color:#3DD68C;margin-top:6px}
.waNum .delta.baixo{color:#E0575A}
.waNum .delta.neutra{color:var(--t3);font-weight:500}
.waAbas{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.waAba{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 13px;border:1px solid var(--br);
  border-radius:99px;background:var(--s1);color:var(--t2);font-size:12.5px;font-weight:750;
  text-decoration:none}
.waAba.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.waAba .pino{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;
  padding:0 5px;border-radius:99px;background:#E0575A;color:#fff;font-size:10.5px;font-weight:800}
.waCorpo{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr) 250px;gap:14px;align-items:start}
.waCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);overflow:hidden}
.waBuscaCx{padding:12px 13px;border-bottom:1px solid var(--br)}
.waBuscaCx input{width:100%;height:38px;border:1px solid var(--br);border-radius:10px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:12.5px;padding:0 11px}
.waLista{max-height:660px;overflow-y:auto}
.waIt{display:flex;align-items:center;gap:11px;padding:11px 13px;border-bottom:1px solid var(--br);
  text-decoration:none}
.waIt:last-child{border-bottom:0}
.waIt:hover{background:rgba(255,255,255,.02)}
.waIt.on{background:rgba(31,168,85,.09);box-shadow:inset 3px 0 0 #3DD68C}
.waIt .foto{position:relative;width:38px;height:38px;flex:0 0 38px;border-radius:50%;overflow:hidden;
  background:var(--s3);display:flex;align-items:center;justify-content:center;font-size:14px;
  font-weight:800;color:var(--t2)}
.waIt .foto img{width:100%;height:100%;object-fit:cover}
.waIt .t{flex:1;min-width:0}
.waIt b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.waIt small{display:block;font-size:11.5px;color:var(--t3);margin-top:3px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.waIt .dir{text-align:right;flex:0 0 auto}
.waIt .q{display:block;font-size:10.5px;color:var(--t3);white-space:nowrap}
.waIt .pino{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;
  padding:0 6px;margin-top:6px;border-radius:99px;background:#22C55E;color:#06210f;font-size:10.5px;
  font-weight:800}
.waVazio{padding:34px 20px;text-align:center;color:var(--t3);font-size:13px;line-height:1.7}
/* a conversa */
.waConv{display:flex;flex-direction:column;max-height:660px}
.waConvTopo{display:flex;align-items:center;gap:11px;padding:13px 15px;border-bottom:1px solid var(--br)}
.waConvTopo .foto{width:40px;height:40px;flex:0 0 40px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:var(--t2)}
.waConvTopo .foto img{width:100%;height:100%;object-fit:cover}
.waConvTopo .t{flex:1;min-width:0}
.waConvTopo b{display:block;font-size:15px;font-weight:800;color:var(--t1)}
.waConvTopo small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.waFio{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}
.waDia{align-self:center;font-size:10.5px;font-weight:750;color:var(--t3);background:var(--s3);
  border:1px solid var(--br);border-radius:99px;padding:4px 12px;margin:4px 0}
.waBalao{display:block;max-width:74%;border-radius:13px;padding:9px 12px;font-size:13px;
  line-height:1.5;color:var(--t1);background:var(--s3);border:1px solid var(--br);
  align-self:flex-start;text-align:left;white-space:pre-wrap;word-break:break-word}
.waBalao::after{content:"";display:block;clear:both}
.waBalao.nosso{align-self:flex-end;background:rgba(31,168,85,.16);border-color:rgba(61,214,140,.3)}
.waBalao .quem{display:block;font-size:10.5px;font-weight:800;color:#7CC4FF;margin-bottom:3px}
.waBalao .h{float:right;font-size:10px;color:var(--t3);margin:6px 0 -2px 10px}
.waBalao.erro{border-color:rgba(224,87,90,.5)}
.waBalao .falhou{display:block;font-size:10.5px;color:#E0575A;margin-top:4px}
.waResp{border-top:1px solid var(--br);padding:11px 14px 13px;display:flex;gap:9px;align-items:flex-end}
.waResp textarea{flex:1;min-width:0;height:44px;border:1px solid var(--br);border-radius:11px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:13px;padding:11px 12px;resize:vertical}
.waResp button{height:44px;padding:0 20px;border:0;border-radius:11px;
  background:linear-gradient(180deg,#4AD07C,#1FA855);color:#06210f;font:inherit;font-size:13px;
  font-weight:800;cursor:pointer}
.waResp button:disabled{opacity:.45;cursor:not-allowed}
/* o lado */
.waLado{display:flex;flex-direction:column;gap:14px}
.waLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:14px 16px}
.waLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.waLadoCab svg{width:15px;height:15px;color:var(--t3)}
.waLadoCab b{flex:1;min-width:0;font-size:13.5px;font-weight:800;color:var(--t1)}
.waLadoCab a{font-size:11.5px;font-weight:750;color:var(--ouro);text-decoration:none}
.waQuem{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.waQuem .foto{width:38px;height:38px;flex:0 0 38px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:var(--t2)}
.waQuem .foto img{width:100%;height:100%;object-fit:cover}
.waQuem b{display:block;font-size:13px;font-weight:750;color:var(--t1)}
.waQuem small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
.waDado{display:flex;align-items:flex-start;gap:9px;padding:6px 0;font-size:12px;color:var(--t2)}
.waDado em{font-style:normal;font-size:13px;flex:0 0 16px;text-align:center}
.waDado span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.waTags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.waTag{display:inline-block;height:24px;line-height:22px;padding:0 10px;border-radius:99px;font-size:11px;
  font-weight:750;border:1px solid var(--c);color:var(--c);background:color-mix(in srgb, var(--c) 14%, transparent)}
.waTagForm{display:flex;gap:7px}
.waTagForm input{flex:1;min-width:0;height:34px;border:1px solid var(--br);border-radius:9px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:12px;padding:0 9px}
.waTagForm button{height:34px;padding:0 12px;border:1px solid var(--br);border-radius:9px;
  background:var(--s3);color:var(--t2);font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.waTagForm button:hover{border-color:var(--ouro);color:var(--ouro)}
.waAcao{display:flex;align-items:center;gap:9px;width:100%;height:38px;padding:0 11px;margin-bottom:8px;
  border:1px solid var(--br);border-radius:10px;background:var(--s3);color:var(--t1);font:inherit;
  font-size:12.5px;font-weight:700;text-decoration:none;cursor:pointer;text-align:left}
.waAcao svg{width:15px;height:15px;color:var(--t3);flex:0 0 15px}
.waAcao:hover{border-color:var(--ouro);color:var(--ouro)}
.waAcao:last-child{margin-bottom:0}
.waSetup{border:1px dashed rgba(255,185,46,.45);border-radius:14px;background:rgba(255,185,46,.06);
  padding:15px 17px;margin-bottom:16px}
.waSetup > b{display:block;font-size:13.5px;font-weight:800;color:#FFB92E;margin-bottom:5px}
.waSetup p b{color:var(--t1)}
.waSetup p{margin:0;font-size:12.5px;color:var(--t2);line-height:1.6}
.waSetup code{background:var(--s3);border:1px solid var(--br);border-radius:6px;padding:1px 6px;
  font-size:11.5px;color:var(--t1)}
.waSetup form{margin-top:11px}
.waSetup button{height:38px;padding:0 16px;border:0;border-radius:10px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
@media (max-width:1300px){ .waCorpo{grid-template-columns:minmax(0,290px) minmax(0,1fr)}
  .waLado{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap}
  .waLado > *{flex:1 1 250px} }
@media (max-width:900px){ .waCorpo{grid-template-columns:minmax(0,1fr)} }
/* P466 (mockup dela): a tela IA & Automações do admin. */
.auTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.auTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#8B5CF6,#C4A0FF);
  box-shadow:0 0 26px rgba(139,92,246,.3)}
.auTopo > em svg{width:27px;height:27px}
.auTopoTxt{flex:1 1 320px;min-width:0}
.auTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.auTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.auBt{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 18px;border:1px solid var(--br);
  border-radius:13px;background:var(--s1);color:var(--t1);font:inherit;font-size:13.5px;font-weight:750;
  text-decoration:none;cursor:pointer}
.auBt svg{width:16px;height:16px;color:var(--t3)}
.auBt:hover{border-color:var(--ouro);color:var(--ouro)}
.auNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-bottom:16px}
.auNum{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:15px 16px}
.auNum > i{font-style:normal;width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:var(--c);border:1px solid var(--cb)}
.auNum b{display:block;font-size:25px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.auNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.auNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.auNum .delta.baixo{color:#E0575A}
.auNum .delta.neutra{color:var(--t3);font-weight:500}
.auBarra{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.auAba{display:inline-flex;align-items:center;height:38px;padding:0 14px;border:1px solid var(--br);
  border-radius:99px;background:var(--s1);color:var(--t2);font-size:12.5px;font-weight:750;
  text-decoration:none}
.auAba.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.auCorpo{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:16px;align-items:start}
.auCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:4px 0 14px}
.auRolo{overflow-x:auto}
.auTab{width:100%;border-collapse:collapse;min-width:820px}
.auTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:14px 8px 11px;border-bottom:1px solid var(--br);white-space:nowrap}
.auTab td{padding:11px 8px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2);
  white-space:nowrap;vertical-align:middle}
.auTab tr:last-child td{border-bottom:0}
.auTab tr:hover td{background:rgba(255,255,255,.018)}
.auQual{display:flex;align-items:center;gap:11px;min-width:0}
.auQual > em{font-style:normal;width:36px;height:36px;flex:0 0 36px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;background:var(--c);font-size:16px}
.auQual b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);max-width:198px;overflow:hidden;
  text-overflow:ellipsis}
.auQual small{display:block;font-size:11px;color:var(--t3);margin-top:2px;max-width:198px;overflow:hidden;
  text-overflow:ellipsis}
.auChip{display:inline-block;height:26px;line-height:24px;padding:0 10px;border-radius:8px;font-size:11px;
  font-weight:750;border:1px solid;white-space:nowrap}
.auGat{font-size:11.5px;color:var(--t2);max-width:180px;white-space:normal;line-height:1.4;display:block}
.auRes b{display:block;font-size:12px;font-weight:750;color:var(--t1)}
.auRes small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
.auErro{color:#E0575A;font-size:11px;display:block;margin-top:3px;max-width:180px;white-space:normal}
.auSw{position:relative;flex:0 0 46px;width:46px;height:26px;cursor:pointer;display:inline-block;
  vertical-align:middle}
.auSw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.auSw i{position:absolute;inset:0;border-radius:99px;background:rgba(255,255,255,.12);
  transition:background .15s;pointer-events:none}
.auSw i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;
  background:#fff;transition:transform .15s}
.auSw input:checked + i{background:#22C55E}
.auSw input:checked + i::after{transform:translateX(20px)}
.auPausa{display:inline-block;font-size:10.5px;color:#FFB92E;margin-top:4px;white-space:normal;
  max-width:120px;line-height:1.35}
.auAviso{font-size:11.5px;color:var(--t3);line-height:1.55;padding:13px 16px 0}
.auAviso b{color:var(--t2)}
/* lado */
.auLado{display:flex;flex-direction:column;gap:14px}
.auLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:15px 17px}
.auLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.auLadoCab svg{width:15px;height:15px;color:var(--t3)}
.auLadoCab b{flex:1;min-width:0;font-size:13.5px;font-weight:800;color:var(--t1)}
.auLadoCab a{font-size:11.5px;font-weight:750;color:var(--ouro);text-decoration:none}
.auStatus{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:800;color:var(--t1);
  margin-bottom:8px}
.auStatus i{width:10px;height:10px;border-radius:50%;background:var(--c);font-style:normal;
  box-shadow:0 0 0 4px color-mix(in srgb, var(--c) 22%, transparent)}
.auStatusTxt{margin:0;font-size:11.5px;color:var(--t3);line-height:1.55}
.auAtiv{display:flex;align-items:flex-start;gap:10px;padding:7px 0}
.auAtiv > em{font-style:normal;width:28px;height:28px;flex:0 0 28px;border-radius:9px;display:flex;
  align-items:center;justify-content:center;background:var(--c);font-size:13px}
.auAtiv .t{flex:1;min-width:0}
.auAtiv b{display:block;font-size:11.5px;font-weight:750;color:var(--t1);line-height:1.4}
.auAtiv small{display:block;font-size:10.5px;color:var(--t3);margin-top:2px}
.auFalta{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-top:1px solid var(--br);
  opacity:.72}
.auFalta:first-of-type{border-top:0}
.auFalta > em{font-style:normal;font-size:14px;flex:0 0 18px;text-align:center}
.auFalta b{display:block;font-size:12px;font-weight:700;color:var(--t2)}
.auFalta small{display:block;font-size:11px;color:var(--t3);margin-top:2px;line-height:1.45}
@media (max-width:1180px){ .auCorpo{grid-template-columns:minmax(0,1fr)} }
/* P465 (mockup dela): a tela Configurações do admin. */
.cfTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.cfTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#241603;background:linear-gradient(145deg,#FFC94F,#F0A11A);
  box-shadow:0 0 26px rgba(240,161,26,.3)}
.cfTopo > em svg{width:27px;height:27px}
.cfTopoTxt{flex:1 1 320px;min-width:0}
.cfTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.cfTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.cfSalvar{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 22px;border:0;border-radius:13px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:14px;font-weight:800;
  cursor:pointer}
.cfAbas{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.cfAba{display:inline-flex;align-items:center;height:38px;padding:0 15px;border:1px solid var(--br);
  border-radius:99px;background:var(--s1);color:var(--t2);font-size:12.5px;font-weight:750;
  text-decoration:none}
.cfAba.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.cfGrade{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px;align-items:start}
.cfCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:16px 18px 18px}
.cfCab{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.cfCab > em{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;font-size:18px;background:var(--c);border:1px solid var(--cb)}
.cfCab .t{flex:1;min-width:0}
.cfCab b{display:block;font-size:15px;font-weight:800;color:var(--t1)}
.cfCab small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.cfCampo{display:block;margin-bottom:12px}
.cfCampo > span{display:block;font-size:11px;font-weight:750;color:var(--t3);margin-bottom:5px}
.cfCampo input,.cfCampo select,.cfCampo textarea{width:100%;height:40px;border:1px solid var(--br);
  border-radius:10px;background:var(--s3);color:var(--t1);font:inherit;font-size:13px;padding:0 11px}
.cfCampo textarea{height:70px;padding:9px 11px;resize:vertical}
.cfCampo small{display:block;font-size:11px;color:var(--t3);margin-top:5px;line-height:1.5}
.cfDuas{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.cfLinha{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--br)}
.cfLinha:first-of-type{border-top:0}
.cfLinha > em{font-style:normal;font-size:16px;flex:0 0 20px;text-align:center}
.cfLinha .t{flex:1;min-width:0}
.cfLinha b{display:block;font-size:13px;font-weight:750;color:var(--t1)}
.cfLinha small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px;line-height:1.45}
.cfLinha .num{width:78px;flex:0 0 78px;height:38px;border:1px solid var(--br);border-radius:9px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:13px;padding:0 10px;text-align:center}
/* 06/10/2026: caixinha e campo soltos na linha (Checkout, Mensalidades pelo
   WhatsApp, Privacidade...) herdavam o width:100% de todo input e espremiam
   o texto ao lado (uma palavra por linha). Só aparência. */
.cfLinha > input[type="checkbox"]{width:22px;height:22px;flex:0 0 22px;padding:0;margin:0;accent-color:#22C55E;cursor:pointer}
.cfLinha > input[type="text"],.cfLinha > select{flex:0 1 auto;max-width:55%}
@media (max-width:560px){
  .cfLinha{flex-wrap:wrap}
  .cfLinha > input[type="text"],.cfLinha > select{flex:1 1 auto;max-width:calc(100% - 32px);width:calc(100% - 32px) !important;margin-left:32px}
}
/* o interruptor */
.cfSw{position:relative;flex:0 0 46px;width:46px;height:26px;cursor:pointer}
.cfSw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.cfSw i{position:absolute;inset:0;border-radius:99px;background:rgba(255,255,255,.12);
  transition:background .15s;pointer-events:none}
.cfSw i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;
  background:#fff;transition:transform .15s}
.cfSw input:checked + i{background:#22C55E}
.cfSw input:checked + i::after{transform:translateX(20px)}
.cfSw input:focus-visible + i{outline:2px solid var(--ouro);outline-offset:2px}
/* link de item (as setinhas do mockup) */
.cfIt{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--br);
  text-decoration:none}
.cfIt:first-of-type{border-top:0}
.cfIt > em{font-style:normal;font-size:16px;flex:0 0 20px;text-align:center}
.cfIt .t{flex:1;min-width:0}
.cfIt b{display:block;font-size:13px;font-weight:750;color:var(--t1)}
.cfIt small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.cfIt .seta{color:var(--t3);font-size:15px}
.cfIt:hover b{color:var(--ouro)}
.cfIt:hover .seta{color:var(--ouro)}
.cfLigado{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:750;border-radius:99px;
  padding:4px 10px;border:1px solid;white-space:nowrap}
.cfLigado.on{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.1)}
.cfLigado.off{color:#8FA3B8;border-color:var(--br);background:rgba(143,163,184,.1)}
.cfNota{margin:13px 0 0;padding:11px 13px;border-radius:11px;border:1px dashed var(--br);
  background:rgba(255,255,255,.02);font-size:11.5px;color:var(--t3);line-height:1.55}
.cfNota b{color:var(--t2)}
.cfFalta{display:flex;align-items:flex-start;gap:11px;padding:10px 0;border-top:1px solid var(--br);
  opacity:.72}
.cfFalta:first-of-type{border-top:0}
.cfFalta > em{font-style:normal;font-size:15px;flex:0 0 20px;text-align:center}
.cfFalta b{display:block;font-size:12.5px;font-weight:700;color:var(--t2)}
.cfFalta small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px;line-height:1.45}
.cfMarca{display:flex;align-items:center;justify-content:center;height:92px;border:1px solid var(--br);
  border-radius:12px;background:var(--s3);font-size:22px;font-weight:800;color:var(--t1);
  letter-spacing:-.03em}
.cfMarca b{color:var(--ouro)}
/* P464 (mockup dela): a tela Suporte do admin. */
.skTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.skTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#8B5CF6,#C4A0FF);
  box-shadow:0 0 26px rgba(139,92,246,.3)}
.skTopo > em svg{width:27px;height:27px}
.skTopoTxt{flex:1 1 300px;min-width:0}
.skTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.skTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.skBt{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 18px;border:1px solid var(--br);
  border-radius:13px;background:var(--s1);color:var(--t1);font:inherit;font-size:13.5px;font-weight:750;
  text-decoration:none;cursor:pointer}
.skBt svg{width:16px;height:16px;color:var(--t3)}
.skBt:hover{border-color:var(--ouro);color:var(--ouro)}
.skBt.ouro{border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font-weight:800}
.skBt.ouro svg{color:#241603}
.skNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-bottom:16px}
.skNum{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:15px 16px}
.skNum > i{font-style:normal;width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:var(--c);border:1px solid var(--cb)}
.skNum b{display:block;font-size:25px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.skNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.skNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.skNum .delta.baixo{color:#E0575A}
.skNum .delta.neutra{color:var(--t3);font-weight:500}
.skBarra{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.skAba{display:inline-flex;align-items:center;height:38px;padding:0 13px;border:1px solid var(--br);
  border-radius:11px;background:var(--s1);color:var(--t2);font-size:12.5px;font-weight:750;
  text-decoration:none}
.skAba.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.skBusca{display:flex;gap:8px;margin-left:auto}
.skBusca input{height:38px;border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 12px;min-width:170px}
.skBusca select{height:38px;border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 8px}
.skBusca button{height:38px;padding:0 14px;border:0;border-radius:11px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
/* tres colunas: a fila, a conversa e o lado */
.skCorpo{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr) 230px;gap:14px;align-items:start}
.skCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);overflow:hidden}
.skFila{max-height:760px;overflow-y:auto}
.skFilaCab{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px;padding:12px 14px 10px;
  border-bottom:1px solid var(--br);font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em}
.skIt{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px;padding:11px 14px;
  border-bottom:1px solid var(--br);text-decoration:none;align-items:center}
.skIt:last-child{border-bottom:0}
.skIt:hover{background:rgba(255,255,255,.02)}
.skIt.on{background:rgba(78,155,255,.1);box-shadow:inset 3px 0 0 var(--ouro)}
.skItQuem{display:flex;align-items:center;gap:10px;min-width:0}
.skItQuem .foto{width:32px;height:32px;flex:0 0 32px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--t2)}
.skItQuem .foto img{width:100%;height:100%;object-fit:cover}
.skItQuem .t{min-width:0}
.skItQuem b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.skItQuem small{display:block;font-size:11px;color:var(--t3);margin-top:2px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.skItDir{text-align:right;min-width:0}
.skItDir .q{display:block;font-size:10.5px;color:var(--t3);margin-top:5px;white-space:nowrap}
.skSelo{display:inline-block;height:22px;line-height:20px;padding:0 8px;border-radius:7px;font-size:10px;
  font-weight:750;border:1px solid;white-space:nowrap}
.skSelo.aberto{color:#7CC4FF;border-color:rgba(78,155,255,.35);background:rgba(78,155,255,.12)}
.skSelo.andamento{color:#FFB92E;border-color:rgba(255,185,46,.4);background:rgba(255,185,46,.12)}
.skSelo.aguardando{color:#C08BFF;border-color:rgba(192,139,255,.4);background:rgba(192,139,255,.12)}
.skSelo.resolvido{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.12)}
.skSelo.fechado{color:#8FA3B8;border-color:var(--br);background:rgba(143,163,184,.1)}
.skPri{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:750;white-space:nowrap}
.skPri i{width:7px;height:7px;border-radius:50%;background:currentColor;font-style:normal}
.skPri.alta{color:#E0575A}
.skPri.media{color:#FFB92E}
.skPri.baixa{color:#3DD68C}
.skFilaPe{padding:12px 14px;font-size:11.5px;color:var(--t3);border-top:1px solid var(--br)}
/* a conversa */
.skConv{display:flex;flex-direction:column;max-height:760px}
.skConvTopo{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--br)}
.skConvTopo .foto{width:40px;height:40px;flex:0 0 40px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:var(--t2)}
.skConvTopo .foto img{width:100%;height:100%;object-fit:cover}
.skConvTopo .t{flex:1;min-width:0}
.skConvTopo b{display:block;font-size:15px;font-weight:800;color:var(--t1)}
.skConvTopo small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.skNumero{font-size:12px;color:var(--t3);font-weight:750}
.skFio{flex:1;min-height:0;overflow-y:auto;padding:16px}
.skAssunto{display:flex;align-items:flex-start;gap:12px;margin-bottom:6px}
.skAssunto h2{flex:1;min-width:0;margin:0;font-size:17px;font-weight:800;color:var(--t1);letter-spacing:-.01em}
.skMsg{display:flex;gap:11px;padding:14px 0;border-top:1px solid var(--br)}
.skMsg:first-of-type{border-top:0;padding-top:4px}
.skMsg .foto{width:34px;height:34px;flex:0 0 34px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--t2)}
.skMsg .foto img{width:100%;height:100%;object-fit:cover}
.skMsg .c{flex:1;min-width:0}
.skMsgCab{display:flex;align-items:baseline;gap:9px;margin-bottom:5px}
.skMsgCab b{font-size:13px;font-weight:800;color:var(--t1)}
.skMsgCab .q{margin-left:auto;font-size:11px;color:var(--t3);white-space:nowrap}
.skMsgTxt{font-size:13px;color:var(--t2);line-height:1.6;white-space:pre-wrap;word-break:break-word}
.skMsg.interna .c{border-left:3px solid #FFB92E;padding-left:11px}
.skMsg.interna .skMsgCab b{color:#FFB92E}
.skAnexo{display:inline-flex;align-items:center;gap:8px;margin-top:9px;padding:8px 11px;border-radius:10px;
  border:1px solid var(--br);background:var(--s3);color:var(--t2);font-size:12px;font-weight:700;
  text-decoration:none;max-width:100%}
.skAnexo:hover{border-color:var(--ouro);color:var(--ouro)}
.skAnexo img{display:block;max-width:260px;max-height:190px;border-radius:9px;margin-top:9px;
  border:1px solid var(--br)}
.skResp{border-top:1px solid var(--br);padding:12px 16px 14px}
.skAbas{display:flex;gap:16px;margin-bottom:10px}
.skAbas label{font-size:12.5px;font-weight:750;color:var(--t3);cursor:pointer;padding-bottom:6px;
  border-bottom:2px solid transparent}
.skAbas input{display:none}
.skAbas input:checked + label{color:var(--t1);border-bottom-color:var(--ouro)}
.skResp textarea{width:100%;height:86px;border:1px solid var(--br);border-radius:11px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:13px;padding:10px 12px;resize:vertical}
.skRespPe{display:flex;align-items:center;gap:10px;margin-top:10px}
.skRespPe .arq{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 12px;border-radius:10px;
  border:1px solid var(--br);background:var(--s3);color:var(--t3);font-size:12px;font-weight:700;cursor:pointer}
.skRespPe .arq:hover{border-color:var(--ouro);color:var(--ouro)}
.skRespPe .arq input{display:none}
.skRespPe .interna{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--t3);
  cursor:pointer}
.skRespPe .interna input{width:15px;height:15px;accent-color:#FFB92E}
.skEnviar{margin-left:auto;height:40px;padding:0 22px;border:0;border-radius:11px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:13px;
  font-weight:800;cursor:pointer}
.skVazio{padding:46px 24px;text-align:center;color:var(--t3);font-size:13.5px;line-height:1.7}
/* o lado */
.skLado{display:flex;flex-direction:column;gap:14px}
.skLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:14px 16px}
.skLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.skLadoCab svg{width:15px;height:15px;color:var(--t3)}
.skLadoCab b{flex:1;min-width:0;font-size:13.5px;font-weight:800;color:var(--t1)}
.skQuem{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.skQuem .foto{width:36px;height:36px;flex:0 0 36px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--t2)}
.skQuem .foto img{width:100%;height:100%;object-fit:cover}
.skQuem b{font-size:13px;font-weight:750;color:var(--t1)}
.skDado{display:flex;align-items:flex-start;gap:9px;padding:6px 0;font-size:12px;color:var(--t2)}
.skDado em{font-style:normal;font-size:13px;flex:0 0 16px;text-align:center}
.skDado span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.skDado small{display:block;font-size:10.5px;color:var(--t3);margin-bottom:1px}
.skVerPerfil{display:flex;align-items:center;justify-content:center;height:38px;margin-top:11px;
  border:1px solid var(--br);border-radius:10px;background:var(--s3);color:var(--t1);font-size:12.5px;
  font-weight:750;text-decoration:none}
.skVerPerfil:hover{border-color:var(--ouro);color:var(--ouro)}
.skCampo{display:block;margin-bottom:9px}
.skCampo span{display:block;font-size:10.5px;font-weight:750;color:var(--t3);margin-bottom:4px}
.skCampo select{width:100%;height:36px;border:1px solid var(--br);border-radius:9px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:12.5px;padding:0 8px}
.skSalvar{width:100%;height:38px;border:0;border-radius:10px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
.skAcao{display:flex;align-items:center;gap:9px;width:100%;height:40px;padding:0 11px;margin-bottom:8px;
  border:1px solid var(--br);border-radius:10px;background:var(--s3);color:var(--t1);font:inherit;
  font-size:12.5px;font-weight:700;text-decoration:none;cursor:pointer;text-align:left}
.skAcao svg{width:15px;height:15px;color:var(--t3);flex:0 0 15px}
.skAcao:hover{border-color:var(--ouro);color:var(--ouro)}
.skAcao:hover svg{color:var(--ouro)}
.skAcao.perigo{color:#E0575A}
.skAcao.perigo:hover{border-color:#E0575A;color:#E0575A}
.skAcao:last-child{margin-bottom:0}
@media (max-width:1300px){ .skCorpo{grid-template-columns:minmax(0,300px) minmax(0,1fr)}
  .skLado{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap}
  .skLado > *{flex:1 1 240px} }
@media (max-width:900px){ .skCorpo{grid-template-columns:minmax(0,1fr)} }
/* P463 (mockup dela): a tela Nivelamento do admin. */
.nlTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.nlTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#E8449B,#FF8AC4);
  box-shadow:0 0 26px rgba(232,68,155,.3)}
.nlTopo > em svg{width:27px;height:27px}
.nlTopoTxt{flex:1 1 320px;min-width:0}
.nlTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.nlTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.nlNovo{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 20px;border:0;border-radius:13px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:14px;font-weight:800;
  text-decoration:none;cursor:pointer}
.nlNovo svg{width:17px;height:17px}
.nlNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-bottom:16px}
.nlNum{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:15px 16px}
.nlNum > i{font-style:normal;width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:var(--c);border:1px solid var(--cb)}
.nlNum b{display:block;font-size:25px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.nlNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.nlNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.nlNum .delta.baixo{color:#E0575A}
.nlNum .delta.neutra{color:var(--t3);font-weight:500}
.nlBarra{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.nlAba{display:inline-flex;align-items:center;height:40px;padding:0 15px;border:1px solid var(--br);
  border-radius:12px;background:var(--s1);color:var(--t2);font-size:13px;font-weight:750;text-decoration:none}
.nlAba.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.nlBusca{display:flex;gap:8px;margin-left:auto}
.nlBusca input{height:40px;border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 12px;min-width:190px}
.nlBusca select{height:40px;border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 9px}
.nlBusca button{height:40px;padding:0 16px;border:0;border-radius:11px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
.nlVista{display:inline-flex;border:1px solid var(--br);border-radius:12px;background:var(--s1);overflow:hidden}
.nlVista a{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px;color:var(--t3);
  font-size:12.5px;font-weight:750;text-decoration:none}
.nlVista a svg{width:15px;height:15px}
.nlVista a.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603}
.nlCorpo{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start}
.nlCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:4px 0 14px}
.nlRolo{overflow-x:auto}
.nlTab{width:100%;border-collapse:collapse;min-width:900px}
.nlTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:14px 6px 11px;border-bottom:1px solid var(--br);white-space:nowrap}
.nlTab th a{color:inherit;text-decoration:none}
.nlTab th a:hover{color:var(--ouro)}
.nlTab th i{font-style:normal;opacity:.45;margin-left:4px;font-size:10px}
.nlTab th.on i{opacity:1;color:var(--ouro)}
.nlTab td{padding:9px 6px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2);white-space:nowrap}
.nlTab tr:last-child td{border-bottom:0}
.nlTab tr:hover td{background:rgba(255,255,255,.018)}
.nlQuem{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none}
.nlQuem .foto{width:32px;height:32px;flex:0 0 32px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--t2)}
.nlQuem .foto img{width:100%;height:100%;object-fit:cover}
.nlQuem > span:last-child{font-size:12.5px;font-weight:750;color:var(--t1);max-width:100px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.nlMail{font-size:11.5px;color:var(--t3);max-width:112px;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;display:inline-block;vertical-align:middle}
.nlNota{font-size:12.5px;font-weight:800;color:var(--n)}
.nlNivel{display:inline-block;height:26px;line-height:24px;padding:0 11px;border-radius:8px;font-size:11px;
  font-weight:800;border:1px solid;text-align:center}
.nlStatus{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 11px;
  border-radius:99px;font-size:11px;font-weight:750;border:1px solid;white-space:nowrap}
.nlStatus.concluido{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.1)}
.nlStatus.andamento{color:#7CC4FF;border-color:rgba(78,155,255,.35);background:rgba(78,155,255,.12)}
.nlStatus.naoiniciado{color:#8FA3B8;border-color:var(--br);background:rgba(143,163,184,.1)}
.nlStatus.revisar{color:#FFB92E;border-color:rgba(255,185,46,.4);background:rgba(255,185,46,.12)}
.nlAcoes{display:flex;align-items:center;gap:6px}
.nlIco{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--br);color:var(--t3);text-decoration:none;background:var(--s3)}
.nlIco svg{width:15px;height:15px}
.nlIco:hover{border-color:var(--ouro);color:var(--ouro)}
.nlMenu{position:relative}
.nlMenu > summary{list-style:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;color:var(--t3);cursor:pointer;font-size:15px;font-weight:800;border:1px solid var(--br);
  background:var(--s3)}
.nlMenu > summary::-webkit-details-marker{display:none}
.nlMenu > summary:hover{border-color:var(--ouro);color:var(--ouro)}
.nlMenuCx{position:absolute;right:0;top:36px;z-index:9;min-width:250px;border:1px solid var(--br);
  border-radius:12px;background:var(--s2);padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.5);white-space:normal}
.nlMenuCx a{display:flex;align-items:center;height:36px;padding:0 11px;border-radius:9px;color:var(--t1);
  font-size:12.5px;font-weight:700;text-decoration:none}
.nlMenuCx a:hover{background:var(--s3);color:var(--ouro)}
.nlMenuCx form{margin:8px 0 0;border-top:1px solid var(--br);padding-top:10px}
.nlMenuCx button{width:100%;height:38px;border:0;border-radius:9px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
.nlPe{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px 2px}
.nlPe .conta{flex:1;min-width:150px;font-size:12px;color:var(--t3)}
.nlPag{display:flex;align-items:center;gap:6px}
.nlPag a,.nlPag span{min-width:32px;height:32px;padding:0 9px;border-radius:9px;border:1px solid var(--br);
  display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:750;
  color:var(--t2);text-decoration:none;background:var(--s3)}
.nlPag a.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.nlPag .off{opacity:.35}
.nlPorPag{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t3)}
.nlPorPag select{height:34px;border:1px solid var(--br);border-radius:9px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 8px}
.nlAviso{font-size:11.5px;color:var(--t3);line-height:1.5;padding:12px 16px 0}
.nlVazio{padding:26px 18px;text-align:center;color:var(--t3);font-size:13.5px;line-height:1.6}
/* relatorio */
.nlRel{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.nlRelCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:16px 18px}
.nlRelCard h3{margin:0 0 13px;font-size:14px;font-weight:800;color:var(--t1)}
.nlRelCard p.sub{margin:-8px 0 13px;font-size:11.5px;color:var(--t3);line-height:1.5}
/* lado */
.nlLado{display:flex;flex-direction:column;gap:14px}
.nlLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:15px 17px}
.nlLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.nlLadoCab svg{width:16px;height:16px;color:var(--t3)}
.nlLadoCab b{flex:1;min-width:0;font-size:14px;font-weight:800;color:var(--t1)}
.nlLadoCab a{font-size:11.5px;font-weight:750;color:var(--ouro);text-decoration:none}
.nlBarrinha{display:flex;align-items:center;gap:9px;padding:5px 0;text-decoration:none}
.nlBarrinha .nm{flex:0 0 36px;font-size:12px;font-weight:750;color:var(--t2)}
.nlBarrinha .tr{flex:1;min-width:0;height:8px;border-radius:99px;background:rgba(255,255,255,.07);
  overflow:hidden}
.nlBarrinha .tr i{display:block;height:100%;border-radius:99px;background:var(--c)}
.nlBarrinha .n{font-size:12px;font-weight:750;color:var(--t1);width:38px;text-align:right}
.nlBarrinha:hover .nm{color:var(--ouro)}
.nlRosca{display:flex;justify-content:center;padding:4px 0 12px}
.nlRosca svg{width:150px;height:150px}
.nlLegenda{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:12.5px;color:var(--t2)}
.nlLegenda i{width:9px;height:9px;border-radius:50%;background:var(--c);font-style:normal;flex:0 0 9px}
.nlLegenda span{flex:1;min-width:0}
.nlLegenda b{font-size:12.5px;font-weight:800;color:var(--t1)}
.nlUlt{display:flex;align-items:center;gap:10px;padding:7px 0;text-decoration:none}
.nlUlt .foto{width:30px;height:30px;flex:0 0 30px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;color:var(--t2)}
.nlUlt .foto img{width:100%;height:100%;object-fit:cover}
.nlUlt .t{flex:1;min-width:0}
.nlUlt b{display:block;font-size:12px;font-weight:750;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.nlUlt small{display:block;font-size:11px;color:var(--t3);margin-top:1px}
.nlUlt .q{font-size:11px;color:var(--t3);white-space:nowrap}
.nlUlt:hover b{color:var(--ouro)}
.nlRapida{display:flex;align-items:center;gap:10px;height:44px;padding:0 13px;border:1px solid var(--br);
  border-radius:11px;background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;font-weight:700;
  text-decoration:none;cursor:pointer;width:100%;margin-bottom:9px;text-align:left}
.nlRapida svg{width:16px;height:16px;color:var(--t3);flex:0 0 16px}
.nlRapida:hover{border-color:var(--ouro);color:var(--ouro)}
.nlRapida:hover svg{color:var(--ouro)}
.nlRapida:last-child{margin-bottom:0}
@media (max-width:1180px){ .nlCorpo{grid-template-columns:minmax(0,1fr)} }
/* P462 (mockup dela): a tela Provas do admin. */
.pxTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.pxTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#7C3AED,#B48BFF);
  box-shadow:0 0 26px rgba(124,58,237,.3)}
.pxTopo > em svg{width:27px;height:27px}
.pxTopoTxt{flex:1 1 320px;min-width:0}
.pxTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.pxTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.pxNova{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 20px;border:0;border-radius:13px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:14px;font-weight:800;
  text-decoration:none;cursor:pointer}
.pxNova svg{width:17px;height:17px}
.pxNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-bottom:16px}
.pxNum{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:15px 16px}
.pxNum > i{font-style:normal;width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:var(--c);border:1px solid var(--cb)}
.pxNum b{display:block;font-size:25px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.pxNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.pxNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.pxNum .delta.baixo{color:#E0575A}
.pxNum .delta.neutra{color:var(--t3);font-weight:500}
.pxBarra{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.pxAba{display:inline-flex;align-items:center;height:40px;padding:0 14px;border:1px solid var(--br);
  border-radius:12px;background:var(--s1);color:var(--t2);font-size:13px;font-weight:750;text-decoration:none}
.pxAba.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.pxBusca{display:flex;gap:8px;margin-left:auto}
.pxBusca input{height:40px;border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 12px;min-width:190px}
.pxBusca select{height:40px;border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 9px}
.pxBusca button{height:40px;padding:0 16px;border:0;border-radius:11px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
.pxCorpo{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start}
.pxCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:4px 0 14px}
.pxRolo{overflow-x:auto}
.pxTab{width:100%;border-collapse:collapse;min-width:900px}
.pxTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:14px 6px 11px;border-bottom:1px solid var(--br);white-space:nowrap}
.pxTab th a{color:inherit;text-decoration:none}
.pxTab th a:hover{color:var(--ouro)}
.pxTab th i{font-style:normal;opacity:.45;margin-left:4px;font-size:10px}
.pxTab th.on i{opacity:1;color:var(--ouro)}
.pxTab td{padding:9px 6px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2);white-space:nowrap}
.pxTab tr:last-child td{border-bottom:0}
.pxTab tr:hover td{background:rgba(255,255,255,.018)}
.pxQual{display:flex;align-items:center;gap:11px;min-width:0;text-decoration:none}
.pxQual > em{font-style:normal;width:36px;height:36px;flex:0 0 36px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;background:var(--c);font-size:17px}
.pxQual b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);max-width:106px;overflow:hidden;
  text-overflow:ellipsis}
.pxQual small{display:block;font-size:11px;color:var(--t3);margin-top:2px;max-width:106px;overflow:hidden;
  text-overflow:ellipsis}
.pxChip{display:inline-block;height:26px;line-height:24px;padding:0 10px;border-radius:8px;font-size:11px;
  font-weight:750;border:1px solid;white-space:nowrap;text-align:center}
.pxChip.cat{max-width:92px;overflow:hidden;text-overflow:ellipsis}
.pxNota{font-size:12.5px;font-weight:800;color:var(--n)}
.pxStatus{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 11px;
  border-radius:99px;font-size:11px;font-weight:750;border:1px solid;white-space:nowrap}
.pxStatus.ativa{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.1)}
.pxStatus.agendada{color:#7CC4FF;border-color:rgba(78,155,255,.35);background:rgba(78,155,255,.12)}
.pxStatus.rascunho{color:#FFB92E;border-color:rgba(255,185,46,.4);background:rgba(255,185,46,.12)}
.pxStatus.arquivada{color:#8FA3B8;border-color:var(--br);background:rgba(143,163,184,.1)}
.pxAcoes{display:flex;align-items:center;gap:6px}
.pxIco{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--br);color:var(--t3);text-decoration:none;background:var(--s3)}
.pxIco svg{width:15px;height:15px}
.pxIco:hover{border-color:var(--ouro);color:var(--ouro)}
.pxMenu{position:relative}
.pxMenu > summary{list-style:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;color:var(--t3);cursor:pointer;font-size:15px;font-weight:800;border:1px solid var(--br);
  background:var(--s3)}
.pxMenu > summary::-webkit-details-marker{display:none}
.pxMenu > summary:hover{border-color:var(--ouro);color:var(--ouro)}
.pxMenuCx{position:absolute;right:0;top:36px;z-index:9;min-width:280px;border:1px solid var(--br);
  border-radius:12px;background:var(--s2);padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.5);white-space:normal}
.pxMenuCx a{display:flex;align-items:center;height:36px;padding:0 11px;border-radius:9px;color:var(--t1);
  font-size:12.5px;font-weight:700;text-decoration:none}
.pxMenuCx a:hover{background:var(--s3);color:var(--ouro)}
.pxMenuCx form{margin:8px 0 0;border-top:1px solid var(--br);padding-top:10px}
.pxMenuCx label{display:block;font-size:11px;font-weight:750;color:var(--t3);margin:0 0 5px}
.pxMenuCx input,.pxMenuCx select{width:100%;height:38px;border:1px solid var(--br);border-radius:9px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;padding:0 10px;margin-bottom:9px}
.pxMenuCx button{width:100%;height:38px;border:0;border-radius:9px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
.pxPe{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px 2px}
.pxPe .conta{flex:1;min-width:150px;font-size:12px;color:var(--t3)}
.pxPag{display:flex;align-items:center;gap:6px}
.pxPag a,.pxPag span{min-width:32px;height:32px;padding:0 9px;border-radius:9px;border:1px solid var(--br);
  display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:750;
  color:var(--t2);text-decoration:none;background:var(--s3)}
.pxPag a.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.pxPag .off{opacity:.35}
.pxPorPag{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t3)}
.pxPorPag select{height:34px;border:1px solid var(--br);border-radius:9px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 8px}
.pxAviso{font-size:11.5px;color:var(--t3);line-height:1.5;padding:12px 16px 0}
.pxVazio{padding:26px 18px;text-align:center;color:var(--t3);font-size:13.5px;line-height:1.6}
/* lado */
.pxLado{display:flex;flex-direction:column;gap:14px}
.pxLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:15px 17px}
.pxLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.pxLadoCab svg{width:16px;height:16px;color:var(--t3)}
.pxLadoCab b{flex:1;min-width:0;font-size:14px;font-weight:800;color:var(--t1)}
.pxLadoCab a{font-size:11.5px;font-weight:750;color:var(--ouro);text-decoration:none}
.pxBarrinha{display:flex;align-items:center;gap:9px;padding:5px 0}
.pxBarrinha .nm{flex:0 0 34px;font-size:12px;font-weight:750;color:var(--t2)}
.pxBarrinha .tr{flex:1;min-width:0;height:8px;border-radius:99px;background:rgba(255,255,255,.07);
  overflow:hidden}
.pxBarrinha .tr i{display:block;height:100%;border-radius:99px;background:var(--c)}
.pxBarrinha .n{font-size:12px;font-weight:750;color:var(--t1);width:34px;text-align:right}
.pxCat{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:12.5px;color:var(--t2);
  text-decoration:none}
.pxCat em{font-style:normal;width:22px;height:22px;flex:0 0 22px;border-radius:7px;display:flex;
  align-items:center;justify-content:center;background:var(--c);font-size:11px}
.pxCat span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pxCat b{font-size:12.5px;font-weight:800;color:var(--t1)}
.pxCat:hover span{color:var(--ouro)}
.pxProx{display:flex;align-items:center;gap:11px;padding:7px 0;text-decoration:none}
.pxProx > em{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:10px;display:flex;
  flex-direction:column;align-items:center;justify-content:center;background:var(--s3);
  border:1px solid var(--br);line-height:1}
.pxProx > em b{font-size:14px;font-weight:900;color:var(--t1)}
.pxProx > em i{font-style:normal;font-size:8.5px;font-weight:800;color:var(--t3);letter-spacing:.04em;
  margin-top:2px}
.pxProx .t{flex:1;min-width:0}
.pxProx .t b{display:block;font-size:12px;font-weight:750;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.pxProx .t small{display:block;font-size:11px;color:var(--t3);margin-top:1px}
.pxProx:hover .t b{color:var(--ouro)}
.pxRapida{display:flex;align-items:center;gap:10px;height:44px;padding:0 13px;border:1px solid var(--br);
  border-radius:11px;background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;font-weight:700;
  text-decoration:none;cursor:pointer;width:100%;margin-bottom:9px;text-align:left}
.pxRapida svg{width:16px;height:16px;color:var(--t3);flex:0 0 16px}
.pxRapida:hover{border-color:var(--ouro);color:var(--ouro)}
.pxRapida:hover svg{color:var(--ouro)}
.pxRapida:last-child{margin-bottom:0}
@media (max-width:1180px){ .pxCorpo{grid-template-columns:minmax(0,1fr)} }
/* P461 (mockup dela): a tela Materiais do admin. */
.mxTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.mxTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#2E6BE0,#7CA8FF);
  box-shadow:0 0 26px rgba(46,107,224,.3)}
.mxTopo > em svg{width:27px;height:27px}
.mxTopoTxt{flex:1 1 320px;min-width:0}
.mxTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.mxTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.mxNovo{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 20px;border:0;border-radius:13px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:14px;font-weight:800;
  text-decoration:none;cursor:pointer}
.mxNovo svg{width:17px;height:17px}
.mxNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-bottom:16px}
.mxNum{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:15px 16px}
.mxNum > i{font-style:normal;width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:var(--c);border:1px solid var(--cb)}
.mxNum b{display:block;font-size:25px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.mxNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.mxNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.mxNum .delta.baixo{color:#E0575A}
.mxNum .delta.neutra{color:var(--t3);font-weight:500}
.mxBarra{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.mxAba{display:inline-flex;align-items:center;height:40px;padding:0 14px;border:1px solid var(--br);
  border-radius:12px;background:var(--s1);color:var(--t2);font-size:13px;font-weight:750;text-decoration:none}
.mxAba.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.mxBusca{display:flex;gap:8px;margin-left:auto}
.mxBusca input{height:40px;border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 12px;min-width:190px}
.mxBusca select{height:40px;border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 9px}
.mxBusca button{height:40px;padding:0 16px;border:0;border-radius:11px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
.mxCorpo{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start}
.mxCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:4px 0 14px}
.mxRolo{overflow-x:auto}
.mxTab{width:100%;border-collapse:collapse;min-width:920px}
.mxTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:14px 6px 11px;border-bottom:1px solid var(--br);white-space:nowrap}
.mxTab th a{color:inherit;text-decoration:none}
.mxTab th a:hover{color:var(--ouro)}
.mxTab th i{font-style:normal;opacity:.45;margin-left:4px;font-size:10px}
.mxTab th.on i{opacity:1;color:var(--ouro)}
.mxTab td{padding:9px 6px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2);white-space:nowrap}
.mxTab tr:last-child td{border-bottom:0}
.mxTab tr:hover td{background:rgba(255,255,255,.018)}
.mxQual{display:flex;align-items:center;gap:11px;min-width:0;text-decoration:none}
.mxQual > em{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:9px;display:flex;
  align-items:center;justify-content:center;background:var(--c);font-size:20px;overflow:hidden}
.mxQual > em img{width:100%;height:100%;object-fit:cover}
.mxQual b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);max-width:116px;overflow:hidden;
  text-overflow:ellipsis}
.mxQual small{display:block;font-size:11px;color:var(--t3);margin-top:2px;max-width:116px;overflow:hidden;
  text-overflow:ellipsis}
.mxChip{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 10px;
  border-radius:8px;font-size:11px;font-weight:750;border:1px solid;white-space:nowrap}
.mxChip.cat{max-width:108px;overflow:hidden;text-overflow:ellipsis;display:inline-block;
  line-height:24px;text-align:center}
.mxForm{display:flex;align-items:center;gap:5px}
.mxForm span{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--t2)}
.mxForm em{font-style:normal;font-size:12px}
.mxForm .mais{font-size:10.5px;color:var(--t3);font-weight:750}
.mxAutor{display:flex;align-items:center;gap:8px}
.mxAutor .foto{width:26px;height:26px;flex:0 0 26px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;color:var(--t2)}
.mxAutor .foto img{width:100%;height:100%;object-fit:cover}
.mxAutor span:last-child{font-size:12px;color:var(--t2);max-width:78px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.mxStatus{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 11px;
  border-radius:99px;font-size:11px;font-weight:750;border:1px solid;white-space:nowrap}
.mxStatus.publicado{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.1)}
.mxStatus.agendado{color:#7CC4FF;border-color:rgba(78,155,255,.35);background:rgba(78,155,255,.12)}
.mxStatus.rascunho{color:#FFB92E;border-color:rgba(255,185,46,.4);background:rgba(255,185,46,.12)}
.mxAlcance b{display:block;font-size:12px;font-weight:750;color:var(--t1)}
.mxAlcance small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
.mxAcoes{display:flex;align-items:center;gap:6px}
.mxIco{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--br);color:var(--t3);text-decoration:none;background:var(--s3)}
.mxIco svg{width:15px;height:15px}
.mxIco:hover{border-color:var(--ouro);color:var(--ouro)}
.mxMenu{position:relative}
.mxMenu > summary{list-style:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;color:var(--t3);cursor:pointer;font-size:15px;font-weight:800;border:1px solid var(--br);
  background:var(--s3)}
.mxMenu > summary::-webkit-details-marker{display:none}
.mxMenu > summary:hover{border-color:var(--ouro);color:var(--ouro)}
.mxMenuCx{position:absolute;right:0;top:36px;z-index:9;min-width:280px;border:1px solid var(--br);
  border-radius:12px;background:var(--s2);padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.5);white-space:normal}
.mxMenuCx a{display:flex;align-items:center;height:36px;padding:0 11px;border-radius:9px;color:var(--t1);
  font-size:12.5px;font-weight:700;text-decoration:none}
.mxMenuCx a:hover{background:var(--s3);color:var(--ouro)}
.mxMenuCx form{margin:8px 0 0;border-top:1px solid var(--br);padding-top:10px}
.mxMenuCx label{display:block;font-size:11px;font-weight:750;color:var(--t3);margin:0 0 5px}
.mxMenuCx select{width:100%;height:38px;border:1px solid var(--br);border-radius:9px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:12.5px;padding:0 10px;margin-bottom:9px}
.mxMenuCx button{width:100%;height:38px;border:0;border-radius:9px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
.mxPe{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px 2px}
.mxPe .conta{flex:1;min-width:150px;font-size:12px;color:var(--t3)}
.mxPag{display:flex;align-items:center;gap:6px}
.mxPag a,.mxPag span{min-width:32px;height:32px;padding:0 9px;border-radius:9px;border:1px solid var(--br);
  display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:750;
  color:var(--t2);text-decoration:none;background:var(--s3)}
.mxPag a.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.mxPag .off{opacity:.35}
.mxPorPag{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t3)}
.mxPorPag select{height:34px;border:1px solid var(--br);border-radius:9px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 8px}
.mxAviso{font-size:11.5px;color:var(--t3);line-height:1.5;padding:12px 16px 0}
.mxVazio{padding:26px 18px;text-align:center;color:var(--t3);font-size:13.5px;line-height:1.6}
/* lado */
.mxLado{display:flex;flex-direction:column;gap:14px}
.mxLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:15px 17px}
.mxLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.mxLadoCab svg{width:16px;height:16px;color:var(--t3)}
.mxLadoCab b{flex:1;min-width:0;font-size:14px;font-weight:800;color:var(--t1)}
.mxLadoCab a{font-size:11.5px;font-weight:750;color:var(--ouro);text-decoration:none}
.mxBarrinha{display:flex;align-items:center;gap:9px;padding:5px 0;text-decoration:none}
.mxBarrinha .nm{flex:0 0 66px;font-size:12px;color:var(--t2);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.mxBarrinha .tr{flex:1;min-width:0;height:8px;border-radius:99px;background:rgba(255,255,255,.07);
  overflow:hidden}
.mxBarrinha .tr i{display:block;height:100%;border-radius:99px;background:var(--c)}
.mxBarrinha .n{font-size:12px;font-weight:750;color:var(--t1);width:34px;text-align:right}
.mxBarrinha:hover .nm{color:var(--ouro)}
.mxCat{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:12.5px;color:var(--t2);
  text-decoration:none}
.mxCat em{font-style:normal;width:22px;height:22px;flex:0 0 22px;border-radius:7px;display:flex;
  align-items:center;justify-content:center;background:var(--c);font-size:11px}
.mxCat span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mxCat b{font-size:12.5px;font-weight:800;color:var(--t1)}
.mxCat:hover span{color:var(--ouro)}
.mxRapida{display:flex;align-items:center;gap:10px;height:44px;padding:0 13px;border:1px solid var(--br);
  border-radius:11px;background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;font-weight:700;
  text-decoration:none;cursor:pointer;width:100%;margin-bottom:9px;text-align:left}
.mxRapida svg{width:16px;height:16px;color:var(--t3);flex:0 0 16px}
.mxRapida:hover{border-color:var(--ouro);color:var(--ouro)}
.mxRapida:hover svg{color:var(--ouro)}
.mxRapida:last-child{margin-bottom:0}
@media (max-width:1180px){ .mxCorpo{grid-template-columns:minmax(0,1fr)} }
/* P460 (mockup dela): a tela Homeworks do admin. */
.hkTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.hkTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#22C48A,#5FE0A8);
  box-shadow:0 0 26px rgba(61,214,140,.3)}
.hkTopo > em svg{width:27px;height:27px}
.hkTopoTxt{flex:1 1 320px;min-width:0}
.hkTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.hkTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.hkNovo{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 20px;border:0;border-radius:13px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:14px;font-weight:800;
  text-decoration:none;cursor:pointer}
.hkNovo svg{width:17px;height:17px}
.hkNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-bottom:16px}
.hkNum{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:15px 16px}
.hkNum > i{font-style:normal;width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:var(--c);border:1px solid var(--cb)}
.hkNum b{display:block;font-size:25px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.hkNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.hkNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.hkNum .delta.baixo{color:#E0575A}
.hkNum .delta.neutra{color:var(--t3);font-weight:500}
.hkBarra{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.hkAba{display:inline-flex;align-items:center;height:40px;padding:0 15px;border:1px solid var(--br);
  border-radius:12px;background:var(--s1);color:var(--t2);font-size:13px;font-weight:750;text-decoration:none}
.hkAba.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.hkBusca{display:flex;gap:8px;margin-left:auto}
.hkBusca input{height:40px;border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 12px;min-width:200px}
.hkBusca select{height:40px;border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 9px}
.hkBusca button{height:40px;padding:0 16px;border:0;border-radius:11px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
.hkVista{display:inline-flex;border:1px solid var(--br);border-radius:12px;background:var(--s1);overflow:hidden}
.hkVista a{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px;color:var(--t3);
  font-size:12.5px;font-weight:750;text-decoration:none}
.hkVista a svg{width:15px;height:15px}
.hkVista a.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603}
.hkCorpo{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start}
.hkCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:4px 0 14px}
.hkRolo{overflow-x:auto}
.hkTab{width:100%;border-collapse:collapse;min-width:900px}
.hkTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:14px 6px 11px;border-bottom:1px solid var(--br);white-space:nowrap}
.hkTab th a{color:inherit;text-decoration:none}
.hkTab th a:hover{color:var(--ouro)}
.hkTab th i{font-style:normal;opacity:.45;margin-left:4px;font-size:10px}
.hkTab th.on i{opacity:1;color:var(--ouro)}
.hkTab td{padding:9px 6px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2);white-space:nowrap}
.hkTab tr:last-child td{border-bottom:0}
.hkTab tr:hover td{background:rgba(255,255,255,.018)}
.hkQual{display:flex;align-items:center;gap:11px;min-width:0;text-decoration:none}
.hkQual > em{font-style:normal;width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;background:var(--c);font-size:16px}
.hkQual b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);max-width:122px;overflow:hidden;
  text-overflow:ellipsis}
.hkQual small{display:block;font-size:11px;color:var(--t3);margin-top:2px;max-width:122px;overflow:hidden;
  text-overflow:ellipsis}
.hkTurma b{display:block;font-size:12px;font-weight:750;color:var(--t1);max-width:96px;overflow:hidden;
  text-overflow:ellipsis}
.hkTurma small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
.hkChip{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 10px;
  border-radius:8px;font-size:11px;font-weight:750;border:1px solid;white-space:nowrap}
.hkProf{display:flex;align-items:center;gap:9px}
.hkProf .foto{width:28px;height:28px;flex:0 0 28px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--t2)}
.hkProf .foto img{width:100%;height:100%;object-fit:cover}
.hkProf span:last-child{font-size:12px;color:var(--t2);max-width:78px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.hkEnt{display:flex;align-items:center;gap:8px;min-width:116px}
.hkEnt .q{font-size:12px;font-weight:750;color:var(--t1);width:44px}
.hkEnt .tr{flex:1;min-width:52px;height:8px;border-radius:99px;background:rgba(255,255,255,.07);
  overflow:hidden}
.hkEnt .tr i{display:block;height:100%;border-radius:99px;background:var(--c)}
.hkStatus{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 11px;
  border-radius:99px;font-size:11px;font-weight:750;border:1px solid;white-space:nowrap}
.hkStatus.ativo{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.1)}
.hkStatus.agendado{color:#7CC4FF;border-color:rgba(78,155,255,.35);background:rgba(78,155,255,.12)}
.hkStatus.encerrado{color:#8FA3B8;border-color:var(--br);background:rgba(143,163,184,.1)}
.hkAcoes{display:flex;align-items:center;gap:6px}
.hkIco{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--br);color:var(--t3);text-decoration:none;background:var(--s3)}
.hkIco svg{width:15px;height:15px}
.hkIco:hover{border-color:var(--ouro);color:var(--ouro)}
.hkMenu{position:relative}
.hkMenu > summary{list-style:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;color:var(--t3);cursor:pointer;font-size:15px;font-weight:800;border:1px solid var(--br);
  background:var(--s3)}
.hkMenu > summary::-webkit-details-marker{display:none}
.hkMenu > summary:hover{border-color:var(--ouro);color:var(--ouro)}
.hkMenuCx{position:absolute;right:0;top:36px;z-index:9;min-width:270px;border:1px solid var(--br);
  border-radius:12px;background:var(--s2);padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.5);white-space:normal}
.hkMenuCx a{display:flex;align-items:center;height:36px;padding:0 11px;border-radius:9px;color:var(--t1);
  font-size:12.5px;font-weight:700;text-decoration:none}
.hkMenuCx a:hover{background:var(--s3);color:var(--ouro)}
.hkMenuCx form{margin:8px 0 0;border-top:1px solid var(--br);padding-top:10px}
.hkMenuCx label{display:block;font-size:11px;font-weight:750;color:var(--t3);margin:0 0 5px}
.hkMenuCx select{width:100%;height:38px;border:1px solid var(--br);border-radius:9px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:12.5px;padding:0 10px;margin-bottom:9px}
.hkMenuCx button{width:100%;height:38px;border:0;border-radius:9px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
.hkPe{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px 2px}
.hkPe .conta{flex:1;min-width:150px;font-size:12px;color:var(--t3)}
.hkPag{display:flex;align-items:center;gap:6px}
.hkPag a,.hkPag span{min-width:32px;height:32px;padding:0 9px;border-radius:9px;border:1px solid var(--br);
  display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:750;
  color:var(--t2);text-decoration:none;background:var(--s3)}
.hkPag a.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.hkPag .off{opacity:.35}
.hkPorPag{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t3)}
.hkPorPag select{height:34px;border:1px solid var(--br);border-radius:9px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 8px}
.hkAviso{font-size:11.5px;color:var(--t3);line-height:1.5;padding:12px 16px 0}
.hkVazio{padding:26px 18px;text-align:center;color:var(--t3);font-size:13.5px;line-height:1.6}
/* vista de calendario */
.hkMesGrade{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:14px}
.hkMesGrade > i{font-style:normal;font-size:10.5px;font-weight:800;color:var(--t3);text-align:center;
  padding-bottom:3px}
.hkDia{border:1px solid var(--br);border-radius:11px;background:var(--s2);padding:7px 8px;min-height:92px;
  display:flex;flex-direction:column;gap:4px}
.hkDia.fora{opacity:.35}
.hkDia.hoje{border-color:var(--ouro)}
.hkDia > b{font-size:11.5px;font-weight:800;color:var(--t2)}
.hkDia.hoje > b{color:var(--ouro)}
.hkChipDia{display:block;font-size:10px;font-weight:750;border-radius:7px;padding:3px 5px;color:#fff;
  background:var(--c);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hkMaisDia{font-size:10.5px;color:var(--t3)}
/* lado */
.hkLado{display:flex;flex-direction:column;gap:14px}
.hkLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:15px 17px}
.hkLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.hkLadoCab svg{width:16px;height:16px;color:var(--t3)}
.hkLadoCab b{flex:1;min-width:0;font-size:14px;font-weight:800;color:var(--t1)}
.hkLadoCab a{font-size:11.5px;font-weight:750;color:var(--ouro);text-decoration:none}
.hkBarrinha{display:flex;align-items:center;gap:9px;padding:5px 0}
.hkBarrinha .nm{flex:0 0 74px;font-size:12px;color:var(--t2);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.hkBarrinha .tr{flex:1;min-width:0;height:8px;border-radius:99px;background:rgba(255,255,255,.07);
  overflow:hidden}
.hkBarrinha .tr i{display:block;height:100%;border-radius:99px;background:var(--c)}
.hkBarrinha .n{font-size:12px;font-weight:750;color:var(--t1);width:36px;text-align:right}
.hkTipo{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:12.5px;color:var(--t2);
  text-decoration:none}
.hkTipo em{font-style:normal;width:22px;height:22px;flex:0 0 22px;border-radius:7px;display:flex;
  align-items:center;justify-content:center;background:var(--c);font-size:11px}
.hkTipo span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hkTipo b{font-size:12.5px;font-weight:800;color:var(--t1)}
.hkTipo:hover span{color:var(--ouro)}
.hkAtiv{display:flex;align-items:flex-start;gap:10px;padding:7px 0}
.hkAtiv > em{font-style:normal;width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:flex;
  align-items:center;justify-content:center;background:var(--c);font-size:14px}
.hkAtiv .t{flex:1;min-width:0}
.hkAtiv b{display:block;font-size:12px;font-weight:750;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.hkAtiv small{display:block;font-size:11px;color:var(--t3);margin-top:1px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.hkAtiv .q{display:block;font-size:10.5px;color:var(--t3);margin-top:2px}
.hkRapida{display:flex;align-items:center;gap:10px;height:44px;padding:0 13px;border:1px solid var(--br);
  border-radius:11px;background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;font-weight:700;
  text-decoration:none;cursor:pointer;width:100%;margin-bottom:9px;text-align:left}
.hkRapida svg{width:16px;height:16px;color:var(--t3);flex:0 0 16px}
.hkRapida:hover{border-color:var(--ouro);color:var(--ouro)}
.hkRapida:hover svg{color:var(--ouro)}
.hkRapida:last-child{margin-bottom:0}
@media (max-width:1180px){ .hkCorpo{grid-template-columns:minmax(0,1fr)} }
/* P459 (mockup dela): a tela Planos de Estudo do admin. */
.pnTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.pnTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#4E6BFF,#8AA4FF);
  box-shadow:0 0 26px rgba(78,107,255,.3)}
.pnTopo > em svg{width:27px;height:27px}
.pnTopoTxt{flex:1 1 320px;min-width:0}
.pnTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.pnTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.pnNovo{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 20px;border:0;border-radius:13px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:14px;font-weight:800;
  text-decoration:none;cursor:pointer}
.pnNovo svg{width:17px;height:17px}
.pnNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-bottom:16px}
.pnNum{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:15px 16px}
.pnNum > i{font-style:normal;width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:var(--c);border:1px solid var(--cb)}
.pnNum b{display:block;font-size:25px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.pnNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.pnNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.pnNum .delta.baixo{color:#E0575A}
.pnNum .delta.neutra{color:var(--t3);font-weight:500}
.pnBarra{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.pnAba{display:inline-flex;align-items:center;height:40px;padding:0 14px;border:1px solid var(--br);
  border-radius:12px;background:var(--s1);color:var(--t2);font-size:13px;font-weight:750;text-decoration:none}
.pnAba.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.pnBusca{display:flex;gap:8px;margin-left:auto}
.pnBusca input{height:40px;border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 12px;min-width:200px}
.pnBusca select{height:40px;border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 9px}
.pnBusca button{height:40px;padding:0 16px;border:0;border-radius:11px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
.pnCorpo{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start}
.pnCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:4px 0 14px}
.pnRolo{overflow-x:auto}
.pnTab{width:100%;border-collapse:collapse;min-width:900px}
.pnTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:14px 6px 11px;border-bottom:1px solid var(--br);white-space:nowrap}
.pnTab th a{color:inherit;text-decoration:none}
.pnTab th a:hover{color:var(--ouro)}
.pnTab th i{font-style:normal;opacity:.45;margin-left:4px;font-size:10px}
.pnTab th.on i{opacity:1;color:var(--ouro)}
.pnTab td{padding:9px 6px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2);white-space:nowrap}
.pnTab tr:last-child td{border-bottom:0}
.pnTab tr:hover td{background:rgba(255,255,255,.018)}
.pnQual{display:flex;align-items:center;gap:11px;min-width:0;text-decoration:none}
.pnQual > em{font-style:normal;width:36px;height:36px;flex:0 0 36px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;background:var(--c);font-size:17px;overflow:hidden}
.pnQual > em img{width:100%;height:100%;object-fit:cover}
.pnQual b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);max-width:158px;overflow:hidden;
  text-overflow:ellipsis}
.pnQual small{display:block;font-size:11px;color:var(--t3);margin-top:2px;max-width:158px;overflow:hidden;
  text-overflow:ellipsis}
.pnNivel{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;padding:0 8px;
  border-radius:8px;font-size:11px;font-weight:800;border:1px solid}
.pnCat{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--t2)}
.pnCat i{width:7px;height:7px;border-radius:50%;background:var(--c);font-style:normal;flex:0 0 7px}
.pnProg{display:flex;align-items:center;gap:9px;min-width:150px}
.pnProg .tr{flex:1;min-width:64px;height:8px;border-radius:99px;background:rgba(255,255,255,.07);
  overflow:hidden}
.pnProg .tr i{display:block;height:100%;border-radius:99px;background:var(--c)}
.pnProg .n{font-size:12px;font-weight:750;color:var(--t1);width:32px;text-align:right}
.pnStatus{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 12px;
  border-radius:99px;font-size:11px;font-weight:750;border:1px solid;white-space:nowrap}
.pnStatus.ativo{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.1)}
.pnStatus.arquivado{color:#8FA3B8;border-color:var(--br);background:rgba(143,163,184,.1)}
.pnAcoes{display:flex;align-items:center;gap:6px}
.pnIco{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--br);color:var(--t3);text-decoration:none;background:var(--s3)}
.pnIco svg{width:15px;height:15px}
.pnIco:hover{border-color:var(--ouro);color:var(--ouro)}
.pnMenu{position:relative}
.pnMenu > summary{list-style:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;color:var(--t3);cursor:pointer;font-size:15px;font-weight:800;border:1px solid var(--br);
  background:var(--s3)}
.pnMenu > summary::-webkit-details-marker{display:none}
.pnMenu > summary:hover{border-color:var(--ouro);color:var(--ouro)}
.pnMenuCx{position:absolute;right:0;top:36px;z-index:9;min-width:280px;border:1px solid var(--br);
  border-radius:12px;background:var(--s2);padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.5);white-space:normal}
.pnMenuCx a{display:flex;align-items:center;height:36px;padding:0 11px;border-radius:9px;color:var(--t1);
  font-size:12.5px;font-weight:700;text-decoration:none}
.pnMenuCx a:hover{background:var(--s3);color:var(--ouro)}
.pnMenuCx form{margin:8px 0 0;border-top:1px solid var(--br);padding-top:10px}
.pnMenuCx label{display:block;font-size:11px;font-weight:750;color:var(--t3);margin:0 0 5px}
.pnMenuCx input,.pnMenuCx select{width:100%;height:38px;border:1px solid var(--br);border-radius:9px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;padding:0 10px;margin-bottom:9px}
.pnMenuCx button{width:100%;height:38px;border:0;border-radius:9px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
.pnMenuCx .neutro{background:var(--s3);color:var(--t2);border:1px solid var(--br)}
.pnPe{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px 2px}
.pnPe .conta{flex:1;min-width:150px;font-size:12px;color:var(--t3)}
.pnPag{display:flex;align-items:center;gap:6px}
.pnPag a,.pnPag span{min-width:32px;height:32px;padding:0 9px;border-radius:9px;border:1px solid var(--br);
  display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:750;
  color:var(--t2);text-decoration:none;background:var(--s3)}
.pnPag a.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.pnPag .off{opacity:.35}
.pnPorPag{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t3)}
.pnPorPag select{height:34px;border:1px solid var(--br);border-radius:9px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 8px}
.pnAviso{font-size:11.5px;color:var(--t3);line-height:1.5;padding:12px 16px 0}
.pnVazio{padding:26px 18px;text-align:center;color:var(--t3);font-size:13.5px;line-height:1.6}
/* lado */
.pnLado{display:flex;flex-direction:column;gap:14px}
.pnLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:15px 17px}
.pnLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.pnLadoCab svg{width:16px;height:16px;color:var(--t3)}
.pnLadoCab b{flex:1;min-width:0;font-size:14px;font-weight:800;color:var(--t1)}
.pnLadoCab a{font-size:11.5px;font-weight:750;color:var(--ouro);text-decoration:none}
.pnBarrinha{display:flex;align-items:center;gap:10px;padding:5px 0}
.pnBarrinha .nm{flex:0 0 36px;font-size:12px;font-weight:750;color:var(--t2)}
.pnBarrinha .tr{flex:1;min-width:0;height:8px;border-radius:99px;background:rgba(255,255,255,.07);
  overflow:hidden}
.pnBarrinha .tr i{display:block;height:100%;border-radius:99px;background:var(--c)}
.pnBarrinha .n{font-size:12px;font-weight:750;color:var(--t1);width:36px;text-align:right}
.pnCatLinha{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:12.5px;color:var(--t2);
  text-decoration:none}
.pnCatLinha i{width:9px;height:9px;border-radius:50%;background:var(--c);font-style:normal;flex:0 0 9px}
.pnCatLinha span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pnCatLinha b{font-size:12.5px;font-weight:800;color:var(--t1)}
.pnCatLinha:hover span{color:var(--ouro)}
.pnTop{display:flex;align-items:center;gap:10px;padding:6px 0;text-decoration:none}
.pnTop > i{font-style:normal;width:22px;height:22px;flex:0 0 22px;border-radius:7px;display:flex;
  align-items:center;justify-content:center;font-size:11px;font-weight:800;background:var(--s3);color:var(--t3)}
.pnTop > em{font-style:normal;width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:flex;
  align-items:center;justify-content:center;background:var(--c);font-size:14px;overflow:hidden}
.pnTop > em img{width:100%;height:100%;object-fit:cover}
.pnTop .t{flex:1;min-width:0}
.pnTop b{display:block;font-size:12px;font-weight:750;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.pnTop small{display:block;font-size:11px;color:var(--t3);margin-top:1px}
.pnTop:hover b{color:var(--ouro)}
.pnRapida{display:flex;align-items:center;gap:10px;height:44px;padding:0 13px;border:1px solid var(--br);
  border-radius:11px;background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;font-weight:700;
  text-decoration:none;cursor:pointer;width:100%;margin-bottom:9px;text-align:left}
.pnRapida svg{width:16px;height:16px;color:var(--t3);flex:0 0 16px}
.pnRapida:hover{border-color:var(--ouro);color:var(--ouro)}
.pnRapida:hover svg{color:var(--ouro)}
.pnDup[hidden]{display:none}
.pnDup select{width:100%;height:38px;border:1px solid var(--br);border-radius:10px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:12.5px;padding:0 9px;margin-bottom:9px}
.pnDup button{width:100%;height:40px;border:0;border-radius:10px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer;margin-bottom:9px}
.pnCampo{display:block;margin-bottom:10px}
.pnCampo span{display:block;font-size:11px;font-weight:750;color:var(--t3);margin-bottom:5px}
.pnCampo select,.pnCampo input{width:100%;height:38px;border:1px solid var(--br);border-radius:10px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;padding:0 9px}
@media (max-width:1180px){ .pnCorpo{grid-template-columns:minmax(0,1fr)} }
/* P458 (mockup dela): a tela Aulas VIP do admin. */
.vpTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.vpTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#A855F7,#D8A5FF);
  box-shadow:0 0 26px rgba(168,85,247,.3)}
.vpTopo > em svg{width:27px;height:27px}
.vpTopoTxt{flex:1 1 320px;min-width:0}
.vpTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.vpTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.vpNova{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 20px;border:0;border-radius:13px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:14px;font-weight:800;
  text-decoration:none;cursor:pointer}
.vpNova svg{width:17px;height:17px}
.vpNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-bottom:16px}
.vpNum{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:15px 16px}
.vpNum > i{font-style:normal;width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:var(--c);border:1px solid var(--cb)}
.vpNum b{display:block;font-size:25px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.vpNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.vpNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.vpNum .delta.baixo{color:#E0575A}
.vpNum .delta.neutra{color:var(--t3);font-weight:500}
.vpBarra{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.vpAba{display:inline-flex;align-items:center;height:40px;padding:0 13px;border:1px solid var(--br);
  border-radius:12px;background:var(--s1);color:var(--t2);font-size:13px;font-weight:750;text-decoration:none}
.vpAba.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.vpBusca{display:flex;gap:8px;margin-left:auto}
.vpBusca input{height:40px;border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 12px;min-width:190px}
.vpBusca button{height:40px;padding:0 16px;border:0;border-radius:11px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
.vpVista{display:inline-flex;border:1px solid var(--br);border-radius:12px;background:var(--s1);overflow:hidden}
.vpVista a{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px;color:var(--t3);
  font-size:12.5px;font-weight:750;text-decoration:none}
.vpVista a svg{width:15px;height:15px}
.vpVista a.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603}
.vpCorpo{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start}
.vpCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:4px 0 14px}
.vpRolo{overflow-x:auto}
.vpTab{width:100%;border-collapse:collapse;min-width:880px}
.vpTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:14px 6px 11px;border-bottom:1px solid var(--br);white-space:nowrap}
.vpTab th a{color:inherit;text-decoration:none}
.vpTab th a:hover{color:var(--ouro)}
.vpTab th i{font-style:normal;opacity:.45;margin-left:4px;font-size:10px}
.vpTab th.on i{opacity:1;color:var(--ouro)}
.vpTab td{padding:9px 6px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2);white-space:nowrap}
.vpTab tr:last-child td{border-bottom:0}
.vpTab tr:hover td{background:rgba(255,255,255,.018)}
.vpQuando b{display:block;font-size:12px;font-weight:750;color:var(--t1)}
.vpQuando small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.vpQuem{display:flex;align-items:center;gap:9px;min-width:0;text-decoration:none}
.vpQuem .foto{width:30px;height:30px;flex:0 0 30px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--t2)}
.vpQuem .foto img{width:100%;height:100%;object-fit:cover}
.vpQuem > span:last-child{font-size:12.5px;font-weight:750;color:var(--t1);max-width:114px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.vpQuem.prof > span:last-child{font-weight:500;color:var(--t2);max-width:94px}
.vpNivel{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;padding:0 8px;
  border-radius:8px;font-size:11px;font-weight:800;border:1px solid}
.vpTipo{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--t2);max-width:132px}
.vpTipo em{font-style:normal;font-size:13px}
.vpTipo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vpStatus{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 12px;
  border-radius:99px;font-size:11px;font-weight:750;border:1px solid;white-space:nowrap}
.vpStatus.agendada{color:#7CC4FF;border-color:rgba(78,155,255,.35);background:rgba(78,155,255,.12)}
.vpStatus.andamento{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.12)}
.vpStatus.concluida{color:#8FA3B8;border-color:var(--br);background:rgba(143,163,184,.1)}
.vpStatus.cancelada{color:#E0575A;border-color:rgba(224,87,90,.4);background:rgba(224,87,90,.1)}
.vpSala{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 11px;border-radius:9px;
  border:1px solid var(--br);background:var(--s3);color:var(--t2);font-size:11.5px;font-weight:700;
  text-decoration:none;white-space:nowrap}
.vpSala em{font-style:normal;font-size:12px}
.vpSala:hover{border-color:var(--ouro);color:var(--ouro)}
.vpSala.agora{border-color:rgba(61,214,140,.5);background:rgba(61,214,140,.14);color:#3DD68C}
.vpAcoes{display:flex;align-items:center;gap:6px}
.vpIco{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--br);color:var(--t3);text-decoration:none;background:var(--s3)}
.vpIco svg{width:15px;height:15px}
.vpIco:hover{border-color:var(--ouro);color:var(--ouro)}
.vpMenu{position:relative}
.vpMenu > summary{list-style:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;color:var(--t3);cursor:pointer;font-size:15px;font-weight:800;border:1px solid var(--br);
  background:var(--s3)}
.vpMenu > summary::-webkit-details-marker{display:none}
.vpMenu > summary:hover{border-color:var(--ouro);color:var(--ouro)}
.vpMenuCx{position:absolute;right:0;top:36px;z-index:9;min-width:250px;border:1px solid var(--br);
  border-radius:12px;background:var(--s2);padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.5);white-space:normal}
.vpMenuCx a{display:flex;align-items:center;height:36px;padding:0 11px;border-radius:9px;color:var(--t1);
  font-size:12.5px;font-weight:700;text-decoration:none}
.vpMenuCx a:hover{background:var(--s3);color:var(--ouro)}
.vpMenuCx form{margin:8px 0 0;border-top:1px solid var(--br);padding-top:10px}
.vpMenuCx button{width:100%;height:38px;border:1px solid var(--br);border-radius:9px;background:var(--s3);
  color:var(--t2);font:inherit;font-size:12.5px;font-weight:750;cursor:pointer}
.vpMenuCx button:hover{border-color:#E0575A;color:#E0575A}
.vpPe{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px 2px}
.vpPe .conta{flex:1;min-width:150px;font-size:12px;color:var(--t3)}
.vpPag{display:flex;align-items:center;gap:6px}
.vpPag a,.vpPag span{min-width:32px;height:32px;padding:0 9px;border-radius:9px;border:1px solid var(--br);
  display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:750;
  color:var(--t2);text-decoration:none;background:var(--s3)}
.vpPag a.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.vpPag .off{opacity:.35}
.vpPorPag{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t3)}
.vpPorPag select{height:34px;border:1px solid var(--br);border-radius:9px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 8px}
.vpAviso{font-size:11.5px;color:var(--t3);line-height:1.5;padding:12px 16px 0}
.vpVazio{padding:26px 18px;text-align:center;color:var(--t3);font-size:13.5px;line-height:1.6}
/* vista de calendario */
.vpMesGrade{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:14px}
.vpMesGrade > i{font-style:normal;font-size:10.5px;font-weight:800;color:var(--t3);text-align:center;
  padding-bottom:3px}
.vpDia{border:1px solid var(--br);border-radius:11px;background:var(--s2);padding:7px 8px;min-height:92px;
  display:flex;flex-direction:column;gap:4px}
.vpDia.fora{opacity:.35}
.vpDia.hoje{border-color:var(--ouro)}
.vpDia > b{font-size:11.5px;font-weight:800;color:var(--t2)}
.vpDia.hoje > b{color:var(--ouro)}
.vpChip{display:block;font-size:10px;font-weight:750;border-radius:7px;padding:3px 5px;color:#fff;
  background:var(--c);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vpMaisDia{font-size:10.5px;color:var(--t3)}
/* lado */
.vpLado{display:flex;flex-direction:column;gap:14px}
.vpLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:15px 17px}
.vpLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.vpLadoCab svg{width:16px;height:16px;color:var(--t3)}
.vpLadoCab b{flex:1;min-width:0;font-size:14px;font-weight:800;color:var(--t1)}
.vpLadoCab a{font-size:11.5px;font-weight:750;color:var(--ouro);text-decoration:none}
.vpMesTopo{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.vpMesTopo b{font-size:12.5px;font-weight:800;color:var(--t1)}
.vpMesTopo a{width:26px;height:26px;border-radius:8px;border:1px solid var(--br);display:flex;
  align-items:center;justify-content:center;color:var(--t2);text-decoration:none;font-size:13px}
.vpMini{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.vpMini i{font-style:normal;font-size:9.5px;font-weight:800;color:var(--t3);padding:2px 0}
.vpMini a{height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:11.5px;
  color:var(--t2);text-decoration:none}
.vpMini a.tem{background:rgba(168,85,247,.2);color:#D8A5FF;font-weight:750}
.vpMini a.hoje{background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font-weight:800}
.vpProx{display:flex;align-items:center;gap:10px;padding:7px 0 7px 10px;border-left:3px solid var(--c)}
.vpProx + .vpProx{margin-top:6px}
.vpProx .h{flex:0 0 40px;font-size:12px;font-weight:800;color:var(--t1)}
.vpProx .foto{width:28px;height:28px;flex:0 0 28px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--t2)}
.vpProx .foto img{width:100%;height:100%;object-fit:cover}
.vpProx .t{flex:1;min-width:0}
.vpProx b{display:block;font-size:12px;font-weight:750;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.vpProx small{display:block;font-size:11px;color:var(--t3);margin-top:1px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.vpVerTudo{display:inline-block;margin-top:11px;font-size:12px;font-weight:750;color:var(--ouro);
  text-decoration:none}
.vpRapida{display:flex;align-items:center;gap:10px;height:44px;padding:0 13px;border:1px solid var(--br);
  border-radius:11px;background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;font-weight:700;
  text-decoration:none;cursor:pointer;width:100%;margin-bottom:9px;text-align:left}
.vpRapida svg{width:16px;height:16px;color:var(--t3);flex:0 0 16px}
.vpRapida:hover{border-color:var(--ouro);color:var(--ouro)}
.vpRapida:hover svg{color:var(--ouro)}
.vpRapida:last-child{margin-bottom:0}
.vpCampo{display:block;margin-bottom:10px}
.vpCampo span{display:block;font-size:11px;font-weight:750;color:var(--t3);margin-bottom:5px}
.vpCampo select,.vpCampo input{width:100%;height:38px;border:1px solid var(--br);border-radius:10px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;padding:0 9px}
@media (max-width:1180px){ .vpCorpo{grid-template-columns:minmax(0,1fr)} }
/* P457 (mockup dela): a tela Turmas do admin. */
.gtTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.gtTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#8B5CF6,#C08BFF);
  box-shadow:0 0 26px rgba(155,102,255,.3)}
.gtTopo > em svg{width:27px;height:27px}
.gtTopoTxt{flex:1 1 320px;min-width:0}
.gtTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.gtTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.gtNova{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 20px;border:0;border-radius:13px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:14px;font-weight:800;
  text-decoration:none;cursor:pointer}
.gtNova svg{width:17px;height:17px}
.gtNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-bottom:16px}
.gtNum{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:15px 16px}
.gtNum > i{font-style:normal;width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:var(--c);border:1px solid var(--cb)}
.gtNum b{display:block;font-size:25px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.gtNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.gtNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.gtNum .delta.baixo{color:#E0575A}
.gtNum .delta.neutra{color:var(--t3);font-weight:500}
.gtBarra{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.gtAba{display:inline-flex;align-items:center;height:40px;padding:0 17px;border:1px solid var(--br);
  border-radius:12px;background:var(--s1);color:var(--t2);font-size:13px;font-weight:750;text-decoration:none}
.gtAba.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.gtBusca{display:flex;gap:8px;margin-left:auto}
.gtBusca input{height:40px;border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 12px;min-width:210px}
.gtBusca button{height:40px;padding:0 16px;border:0;border-radius:11px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
.gtVista{display:inline-flex;border:1px solid var(--br);border-radius:12px;background:var(--s1);overflow:hidden}
.gtVista a{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px;color:var(--t3);
  font-size:12.5px;font-weight:750;text-decoration:none}
.gtVista a svg{width:15px;height:15px}
.gtVista a.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603}
.gtCorpo{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start}
.gtCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:4px 0 14px}
.gtRolo{overflow-x:auto}
.gtTab{width:100%;border-collapse:collapse;min-width:900px}
.gtTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:14px 6px 11px;border-bottom:1px solid var(--br);white-space:nowrap}
.gtTab th a{color:inherit;text-decoration:none}
.gtTab th a:hover{color:var(--ouro)}
.gtTab th i{font-style:normal;opacity:.45;margin-left:4px;font-size:10px}
.gtTab th.on i{opacity:1;color:var(--ouro)}
.gtTab td{padding:10px 6px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2);white-space:nowrap}
.gtTab tr:last-child td{border-bottom:0}
.gtTab tr:hover td{background:rgba(255,255,255,.018)}
.gtQual{display:flex;align-items:center;gap:11px;min-width:0}
.gtQual > em{font-style:normal;width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:var(--c);font-size:15px}
.gtQual > em svg{width:17px;height:17px}
.gtQual b{display:block;font-size:12.5px;font-weight:750;color:var(--t1)}
.gtQual small{display:block;font-size:11px;color:var(--t3);margin-top:2px;max-width:116px;overflow:hidden;
  text-overflow:ellipsis}
.gtQual b{max-width:116px;overflow:hidden;text-overflow:ellipsis}
.gtNivel{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;padding:0 8px;
  border-radius:8px;font-size:11px;font-weight:800;border:1px solid}
.gtProf{display:flex;align-items:center;gap:9px}
.gtProf .foto{width:28px;height:28px;flex:0 0 28px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--t2)}
.gtProf .foto img{width:100%;height:100%;object-fit:cover}
.gtProf span:last-child{font-size:12px;color:var(--t2);max-width:96px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.gtDuas b{display:block;font-size:12px;font-weight:750;color:var(--t1)}
.gtDuas small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.gtVagas{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;
  border-radius:7px;font-size:11.5px;font-weight:800;color:#3DD68C;background:rgba(61,214,140,.12)}
.gtVagas.cheia{color:var(--t3);background:rgba(255,255,255,.05)}
.gtStatus{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:750;border-radius:99px;
  padding:5px 9px;border:1px solid;white-space:nowrap}
.gtStatus i{width:6px;height:6px;border-radius:50%;background:currentColor;font-style:normal}
.gtStatus.andamento{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.1)}
.gtStatus.proxima{color:#4E9BFF;border-color:rgba(78,155,255,.4);background:rgba(78,155,255,.1)}
.gtStatus.encerrada{color:#8FA3B8;border-color:var(--br);background:rgba(143,163,184,.1)}
.gtAcoes{display:flex;align-items:center;gap:6px}
.gtIco{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--br);color:var(--t3);text-decoration:none;background:var(--s3)}
.gtIco svg{width:15px;height:15px}
.gtIco:hover{border-color:var(--ouro);color:var(--ouro)}
.gtMenu{position:relative}
.gtMenu > summary{list-style:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;color:var(--t3);cursor:pointer;font-size:15px;font-weight:800;border:1px solid var(--br);
  background:var(--s3)}
.gtMenu > summary::-webkit-details-marker{display:none}
.gtMenu > summary:hover{border-color:var(--ouro);color:var(--ouro)}
.gtMenuCx{position:absolute;right:0;top:36px;z-index:9;min-width:280px;border:1px solid var(--br);
  border-radius:12px;background:var(--s2);padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.5);white-space:normal}
.gtMenuCx a{display:flex;align-items:center;height:36px;padding:0 11px;border-radius:9px;color:var(--t1);
  font-size:12.5px;font-weight:700;text-decoration:none}
.gtMenuCx a:hover{background:var(--s3);color:var(--ouro)}
.gtMenuCx form{margin:8px 0 0;border-top:1px solid var(--br);padding-top:10px}
.gtMenuCx label{display:block;font-size:11px;font-weight:750;color:var(--t3);margin:0 0 5px}
.gtMenuCx input,.gtMenuCx select{width:100%;height:38px;border:1px solid var(--br);border-radius:9px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;padding:0 10px;margin-bottom:9px}
.gtMenuCx button{width:100%;height:38px;border:0;border-radius:9px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:12.5px;
  font-weight:800;cursor:pointer}
.gtPe{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px 2px}
.gtPe .conta{flex:1;min-width:150px;font-size:12px;color:var(--t3)}
.gtPag{display:flex;align-items:center;gap:6px}
.gtPag a,.gtPag span{min-width:32px;height:32px;padding:0 9px;border-radius:9px;border:1px solid var(--br);
  display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:750;
  color:var(--t2);text-decoration:none;background:var(--s3)}
.gtPag a.on{background:linear-gradient(180deg,#FFC94F,#F0A11A);border-color:transparent;color:#241603}
.gtPag .off{opacity:.35}
.gtPorPag{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t3)}
.gtPorPag select{height:34px;border:1px solid var(--br);border-radius:9px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 8px}
.gtAviso{font-size:11.5px;color:var(--t3);line-height:1.5;padding:12px 16px 0}
.gtVazio{padding:26px 18px;text-align:center;color:var(--t3);font-size:13.5px;line-height:1.6}
/* vista de calendario */
.gtMesGrade{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:14px}
.gtMesGrade > i{font-style:normal;font-size:10.5px;font-weight:800;color:var(--t3);text-align:center;
  padding-bottom:3px}
.gtDia{border:1px solid var(--br);border-radius:11px;background:var(--s2);padding:7px 8px;min-height:92px;
  display:flex;flex-direction:column;gap:4px}
.gtDia.fora{opacity:.35}
.gtDia.hoje{border-color:var(--ouro)}
.gtDia > b{font-size:11.5px;font-weight:800;color:var(--t2)}
.gtDia.hoje > b{color:var(--ouro)}
.gtChipAula{display:block;font-size:10px;font-weight:750;border-radius:7px;padding:3px 5px;color:#fff;
  background:var(--c);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gtMaisDia{font-size:10.5px;color:var(--t3)}
/* lado */
.gtLado{display:flex;flex-direction:column;gap:14px}
.gtLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:15px 17px}
.gtLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.gtLadoCab svg{width:16px;height:16px;color:var(--t3)}
.gtLadoCab b{flex:1;min-width:0;font-size:14px;font-weight:800;color:var(--t1)}
.gtLadoCab a{font-size:11.5px;font-weight:750;color:var(--ouro);text-decoration:none}
.gtMesTopo{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.gtMesTopo b{font-size:12.5px;font-weight:800;color:var(--t1)}
.gtMesTopo a{width:26px;height:26px;border-radius:8px;border:1px solid var(--br);display:flex;
  align-items:center;justify-content:center;color:var(--t2);text-decoration:none;font-size:13px}
.gtMini{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.gtMini i{font-style:normal;font-size:9.5px;font-weight:800;color:var(--t3);padding:2px 0}
.gtMini a{height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:11.5px;
  color:var(--t2);text-decoration:none}
.gtMini a.tem{background:rgba(78,155,255,.16);color:#7CC4FF;font-weight:750}
.gtMini a.hoje{background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font-weight:800}
.gtCampo{display:block;margin-bottom:10px}
.gtCampo span{display:block;font-size:11px;font-weight:750;color:var(--t3);margin-bottom:5px}
.gtCampo select{width:100%;height:38px;border:1px solid var(--br);border-radius:10px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:12.5px;padding:0 9px}
.gtLimpar{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:40px;
  border:1px solid var(--br);border-radius:11px;background:var(--s3);color:var(--t2);font:inherit;
  font-size:12.5px;font-weight:750;text-decoration:none;cursor:pointer}
.gtLimpar:hover{border-color:var(--ouro);color:var(--ouro)}
.gtLimpar svg{width:15px;height:15px}
.gtBarrinha{display:flex;align-items:center;gap:10px;padding:5px 0}
.gtBarrinha .nm{flex:0 0 34px;font-size:12px;font-weight:750;color:var(--t2)}
.gtBarrinha .tr{flex:1;min-width:0;height:8px;border-radius:99px;background:rgba(255,255,255,.07);
  overflow:hidden}
.gtBarrinha .tr i{display:block;height:100%;border-radius:99px;background:var(--c)}
.gtBarrinha .n{font-size:12px;font-weight:750;color:var(--t1);width:18px;text-align:right}
.gtExportar{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:46px;
  border:1px solid var(--br);border-radius:13px;background:var(--s1);color:var(--t1);font:inherit;
  font-size:13px;font-weight:750;text-decoration:none}
.gtExportar svg{width:16px;height:16px;color:var(--t3)}
.gtExportar:hover{border-color:var(--ouro);color:var(--ouro)}
.gtExportar:hover svg{color:var(--ouro)}
@media (max-width:1180px){ .gtCorpo{grid-template-columns:minmax(0,1fr)} }
/* P456 (mockup dela): a tela Professores do admin. */
.apTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.apTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#3D8BFF,#7CC4FF);
  box-shadow:0 0 26px rgba(78,155,255,.3)}
.apTopo > em svg{width:27px;height:27px}
.apTopoTxt{flex:1 1 340px;min-width:0}
.apTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.apTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.apNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-bottom:16px}
.apNum{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:15px 16px}
.apNum > i{font-style:normal;width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:var(--c);border:1px solid var(--cb)}
.apNum b{display:block;font-size:25px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.apNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.apNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.apNum .delta.baixo{color:#E0575A}
.apCorpo{display:grid;grid-template-columns:minmax(0,1fr) 262px;gap:16px;align-items:start}
.apCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:4px 0 14px}
.apRolo{overflow-x:auto}
.apTab{width:100%;border-collapse:collapse;min-width:830px}
.apTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:14px 7px 11px;border-bottom:1px solid var(--br);white-space:nowrap}
.apTab th a{color:inherit;text-decoration:none}
.apTab th a:hover{color:var(--ouro)}
.apTab th i{font-style:normal;opacity:.45;margin-left:4px;font-size:10px}
.apTab th.on i{opacity:1;color:var(--ouro)}
.apTab td{padding:11px 7px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2)}
.apTab tr:last-child td{border-bottom:0}
.apTab tr:hover td{background:rgba(255,255,255,.018)}
.apQuem{display:flex;align-items:center;gap:11px;min-width:0}
.apQuem .foto{width:34px;height:34px;flex:0 0 34px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--t2)}
.apQuem .foto img{width:100%;height:100%;object-fit:cover}
.apQuem > span:last-child{min-width:0}
.apQuem b{display:block;font-size:13px;font-weight:750;color:var(--t1);white-space:nowrap}
.apQuem small{display:block;font-size:11px;color:var(--t3);margin-top:2px;max-width:150px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.apEsp{display:flex;gap:6px;flex-wrap:wrap;max-width:210px}
.apChip{font-size:10.5px;font-weight:750;border-radius:8px;padding:4px 9px;border:1px solid;white-space:nowrap}
.apDuas{white-space:nowrap}
.apDuas b{display:block;font-size:12.5px;font-weight:750;color:var(--t1)}
.apDuas small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.apNota{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:750;color:var(--t1);
  white-space:nowrap}
.apNota em{font-style:normal;color:#FFB92E}
.apNota span{color:var(--t3);font-weight:500}
.apStatus{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:750;border-radius:99px;
  padding:5px 11px;border:1px solid;white-space:nowrap}
.apStatus i{width:6px;height:6px;border-radius:50%;background:currentColor;font-style:normal}
.apStatus.ativo{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.1)}
.apStatus.ferias{color:#FFB92E;border-color:rgba(255,185,46,.4);background:rgba(255,185,46,.1)}
.apStatus.inativo{color:#8FA3B8;border-color:var(--br);background:rgba(143,163,184,.1)}
.apAcoes{display:flex;align-items:center;gap:6px}
.apIco{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--br);color:var(--t3);text-decoration:none;background:var(--s3)}
.apIco svg{width:15px;height:15px}
.apIco:hover{border-color:var(--ouro);color:var(--ouro)}
.apMenu{position:relative}
.apMenu > summary{list-style:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;color:var(--t3);cursor:pointer;font-size:15px;font-weight:800;border:1px solid var(--br);
  background:var(--s3)}
.apMenu > summary::-webkit-details-marker{display:none}
.apMenu > summary:hover{border-color:var(--ouro);color:var(--ouro)}
.apMenuCx{position:absolute;right:0;top:36px;z-index:9;min-width:290px;border:1px solid var(--br);
  border-radius:12px;background:var(--s2);padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.apMenuCx a{display:flex;align-items:center;height:36px;padding:0 11px;border-radius:9px;color:var(--t1);
  font-size:12.5px;font-weight:700;text-decoration:none}
.apMenuCx a:hover{background:var(--s3);color:var(--ouro)}
.apMenuCx form{margin:8px 0 0;border-top:1px solid var(--br);padding-top:10px}
.apMenuCx label{display:block;font-size:11px;font-weight:750;color:var(--t3);margin:0 0 5px}
.apMenuCx input,.apMenuCx select{width:100%;height:38px;border:1px solid var(--br);border-radius:9px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;padding:0 10px;margin-bottom:9px}
.apMenuCx button{width:100%;height:38px;border:0;border-radius:9px;background:linear-gradient(180deg,#FFC94F,#F0A11A);
  color:#241603;font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}
.apPe{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px 2px}
.apPe .conta{flex:1;min-width:150px;font-size:12px;color:var(--t3)}
.apPorPag{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t3)}
.apPorPag select{height:34px;border:1px solid var(--br);border-radius:9px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 8px}
/* lado */
.apLado{display:flex;flex-direction:column;gap:14px}
.apLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:15px 17px}
.apLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.apLadoCab svg{width:16px;height:16px;color:var(--t3)}
.apLadoCab b{flex:1;min-width:0;font-size:14px;font-weight:800;color:var(--t1)}
.apBarra{display:flex;align-items:center;gap:10px;padding:5px 0}
.apBarra .nm{flex:0 0 96px;font-size:12px;color:var(--t2);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.apBarra .tr{flex:1;min-width:0;height:8px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.apBarra .tr i{display:block;height:100%;border-radius:99px;background:var(--c)}
.apBarra .n{font-size:12px;font-weight:750;color:var(--t1);width:18px;text-align:right}
.apAula{display:flex;gap:11px;padding:8px 0;border-left:3px solid var(--c);padding-left:11px}
.apAula + .apAula{margin-top:7px}
.apAula .h{flex:0 0 46px;font-size:12.5px;font-weight:800;color:var(--t1)}
.apAula .t{flex:1;min-width:0}
.apAula b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.apAula small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.apVerTudo{display:inline-block;margin-top:11px;font-size:12px;font-weight:750;color:var(--ouro);
  text-decoration:none}
.apRapida{display:flex;align-items:center;gap:10px;height:44px;padding:0 13px;border:1px solid var(--br);
  border-radius:11px;background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;font-weight:700;
  text-decoration:none;cursor:pointer;width:100%;margin-bottom:9px}
.apRapida svg{width:16px;height:16px;color:var(--t3);flex:0 0 16px}
.apRapida:hover{border-color:var(--ouro);color:var(--ouro)}
.apRapida:hover svg{color:var(--ouro)}
.apCom[hidden]{display:none}
.apCom textarea{width:100%;height:76px;border:1px solid var(--br);border-radius:10px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:12.5px;padding:9px 11px;resize:vertical;margin-bottom:9px}
.apEnviar{width:100%;height:40px;border:0;border-radius:10px;background:linear-gradient(180deg,#FFC94F,#F0A11A);
  color:#241603;font:inherit;font-size:12.5px;font-weight:800;cursor:pointer;margin-bottom:9px}
.apVazio{padding:26px 18px;text-align:center;color:var(--t3);font-size:13.5px;line-height:1.6}
.apAviso{font-size:11.5px;color:var(--t3);line-height:1.5;padding:12px 16px 0}
@media (max-width:1180px){ .apCorpo{grid-template-columns:minmax(0,1fr)} }
/* P455 (mockup dela): a tela Alunos do admin. */
.aaTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.aaTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#3D8BFF,#7CC4FF);
  box-shadow:0 0 26px rgba(78,155,255,.3)}
.aaTopo > em svg{width:27px;height:27px}
.aaTopoTxt{flex:1 1 320px;min-width:0}
.aaTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.aaTopoTxt p{margin:5px 0 0;font-size:13.5px;color:var(--t2)}
.aaNovo{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:46px;padding:0 22px;
  border-radius:12px;border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;
  font-family:inherit;font-size:13.5px;font-weight:800;cursor:pointer;text-decoration:none;
  box-shadow:0 0 22px rgba(255,184,46,.24)}
.aaNovo svg{width:17px;height:17px}
/* numeros */
.aaNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-bottom:16px}
.aaNum{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:15px 16px}
.aaNum > i{font-style:normal;width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:var(--c);border:1px solid var(--cb)}
.aaNum b{display:block;font-size:25px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.aaNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.aaNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.aaNum .delta.baixo{color:#E0575A}
/* corpo */
.aaCorpo{display:grid;grid-template-columns:minmax(0,1fr) 262px;gap:16px;align-items:start}
.aaAbas{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.aaAba{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 17px;border-radius:11px;
  border:1px solid var(--br);background:var(--s1);color:var(--t3);font-size:12.5px;font-weight:750;
  text-decoration:none}
.aaAba:hover{color:var(--t1)}
.aaAba.on{border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font-weight:800}
.aaAba i{width:8px;height:8px;border-radius:50%;background:#E0575A;font-style:normal}
.aaCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:4px 0 14px}
.aaRolo{overflow-x:auto}
.aaTab{width:100%;border-collapse:collapse;min-width:830px}
.aaTab th{text-align:left;font-size:10.5px;font-weight:800;color:var(--t3);letter-spacing:.02em;
  padding:14px 7px 11px;border-bottom:1px solid var(--br);white-space:nowrap}
.aaTab th a{color:inherit;text-decoration:none}
.aaTab th a:hover{color:var(--ouro)}
.aaTab th i{font-style:normal;opacity:.45;margin-left:4px;font-size:10px}
.aaTab th.on i{opacity:1;color:var(--ouro)}
.aaTab td{padding:11px 7px;border-bottom:1px solid var(--br);font-size:12px;color:var(--t2);white-space:nowrap}
.aaTab tr:last-child td{border-bottom:0}
.aaTab tr:hover td{background:rgba(255,255,255,.018)}
.aaChk{width:16px;height:16px;accent-color:var(--ouro);cursor:pointer}
.aaQuem{display:flex;align-items:center;gap:11px;min-width:0}
.aaQuem .foto{width:34px;height:34px;flex:0 0 34px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--t2)}
.aaQuem .foto img{width:100%;height:100%;object-fit:cover}
.aaQuem > span:last-child{min-width:0}
.aaQuem b{display:block;font-size:13px;font-weight:750;color:var(--t1);white-space:nowrap}
.aaQuem small{display:block;font-size:11px;color:var(--t3);margin-top:2px;max-width:150px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.aaNivel{font-size:11px;font-weight:800;color:var(--t1);border:1px solid var(--br);border-radius:7px;
  padding:3px 9px}
.aaPlano{display:flex;align-items:center;gap:8px;min-width:112px}
.aaPlano .barra{flex:1;height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.aaPlano .barra i{display:block;height:100%;border-radius:99px;background:var(--c)}
.aaPlano span{font-size:12px;font-weight:750;color:var(--t2);width:34px;text-align:right}
.aaStatus{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:750;border-radius:99px;
  padding:5px 11px;border:1px solid;white-space:nowrap}
.aaStatus i{width:6px;height:6px;border-radius:50%;background:currentColor;font-style:normal}
.aaStatus.ativo{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.1)}
.aaStatus.risco{color:#E0575A;border-color:rgba(224,87,90,.45);background:rgba(224,87,90,.12)}
.aaStatus.inativo{color:#8FA3B8;border-color:var(--br);background:rgba(143,163,184,.1)}
.aaStatus.novo{color:#7CC4FF;border-color:rgba(78,155,255,.45);background:rgba(78,155,255,.12)}
.aaAcoes{display:flex;align-items:center;gap:6px}
.aaIco{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--br);color:var(--t3);text-decoration:none;background:var(--s3)}
.aaIco svg{width:15px;height:15px}
.aaIco:hover{border-color:var(--ouro);color:var(--ouro)}
.aaMenu{position:relative}
.aaMenu > summary{list-style:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;color:var(--t3);cursor:pointer;font-size:15px;font-weight:800;border:1px solid var(--br);
  background:var(--s3)}
.aaMenu > summary::-webkit-details-marker{display:none}
.aaMenu > summary:hover{border-color:var(--ouro);color:var(--ouro)}
.aaMenuCx{position:absolute;right:0;top:36px;z-index:9;min-width:200px;border:1px solid var(--br);
  border-radius:12px;background:var(--s2);padding:6px;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.aaMenuCx a,.aaMenuCx button{display:flex;align-items:center;width:100%;height:36px;padding:0 11px;border:0;
  border-radius:9px;background:transparent;color:var(--t1);font:inherit;font-size:12.5px;font-weight:700;
  text-decoration:none;cursor:pointer;text-align:left}
.aaMenuCx a:hover,.aaMenuCx button:hover{background:var(--s3);color:var(--ouro)}
.aaMenuCx form{margin:0}
.aaPe{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px 2px}
.aaPe .conta{flex:1;min-width:150px;font-size:12px;color:var(--t3)}
.aaPorPag{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t3)}
.aaPorPag select{height:34px;border:1px solid var(--br);border-radius:9px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 8px}
/* lado */
.aaLado{display:flex;flex-direction:column;gap:14px}
.aaLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:15px 17px}
.aaLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.aaLadoCab svg{width:16px;height:16px;color:var(--t3)}
.aaLadoCab b{flex:1;min-width:0;font-size:14px;font-weight:800;color:var(--t1)}
.aaCampo{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.aaCampo > span{flex:0 0 66px;font-size:12px;color:var(--t3)}
.aaCampo select,.aaCampo input{flex:1;min-width:0;height:40px;border:1px solid var(--br);border-radius:10px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;padding:0 10px}
.aaLimpar{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:42px;
  border:1px solid var(--br);border-radius:11px;color:var(--t1);font-size:12.5px;font-weight:750;
  text-decoration:none;background:var(--s3);margin-top:4px}
.aaLimpar:hover{border-color:var(--ouro);color:var(--ouro)}
.aaAplicar{width:100%;height:42px;border:0;border-radius:11px;background:linear-gradient(180deg,#FFC94F,#F0A11A);
  color:#241603;font:inherit;font-size:12.5px;font-weight:800;cursor:pointer;margin-top:4px}
.aaResumo{display:flex;align-items:center;gap:11px;padding:8px 0}
.aaResumo + .aaResumo{border-top:1px solid var(--br)}
.aaResumo em{font-style:normal;width:32px;height:32px;flex:0 0 32px;border-radius:9px;display:flex;
  align-items:center;justify-content:center;font-size:14px;background:var(--c);border:1px solid var(--cb)}
.aaResumo b{font-size:17px;font-weight:800;color:var(--t1);min-width:40px}
.aaResumo span{flex:1;min-width:0;font-size:12px;color:var(--t3);line-height:1.35}
.aaLote{display:flex;flex-direction:column;gap:9px}
.aaLoteBt{display:flex;align-items:center;justify-content:center;gap:9px;height:42px;border:1px solid var(--br);
  border-radius:11px;background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;font-weight:750;
  cursor:pointer;text-decoration:none;width:100%}
.aaLoteBt svg{width:15px;height:15px;color:var(--t3)}
.aaLoteBt:hover{border-color:var(--ouro);color:var(--ouro)}
.aaLoteBt:hover svg{color:var(--ouro)}
.aaLoteBt:disabled{opacity:.45;cursor:not-allowed}
.aaLoteN{font-size:11.5px;color:var(--t3);text-align:center;margin:0 0 10px}
.aaMsg[hidden]{display:none}
.aaMsg textarea{width:100%;height:72px;border:1px solid var(--br);border-radius:10px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:12.5px;padding:9px 11px;resize:vertical;margin-bottom:9px}
.aaVazio{padding:26px 18px;text-align:center;color:var(--t3);font-size:13.5px;line-height:1.6}
.aaAviso{font-size:11.5px;color:var(--t3);line-height:1.5;padding:12px 16px 0}
@media (max-width:1180px){ .aaCorpo{grid-template-columns:minmax(0,1fr)} }
/* P454 (mockup dela): o painel da escola (admin). */
.adTopo{position:relative;display:flex;align-items:center;gap:18px;flex-wrap:wrap;border-radius:18px;
  overflow:hidden;border:1px solid var(--br);padding:22px 26px;padding-right:34%;min-height:150px;
  margin-bottom:16px;background:linear-gradient(120deg,#0A1219,#0C1A24)}
.adTopo > img{position:absolute;right:0;top:0;width:52%;height:100%;object-fit:cover}
.adTopo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#08131B 0%,#08131B 40%,rgba(8,19,27,.92) 54%,rgba(8,19,27,.3) 78%,rgba(8,19,27,.05) 100%)}
.adTopoTxt{position:relative;z-index:2;flex:1 1 360px;min-width:0}
.adTopoTxt h1{margin:0;font-size:clamp(28px,3.2vw,40px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.adTopoTxt p{margin:8px 0 0;font-size:14px;color:var(--t2)}
.adFrase{position:relative;z-index:2;flex:0 1 210px;min-width:180px}
.adFrase p{margin:0;font-family:Georgia,serif;font-style:italic;font-size:16.5px;line-height:1.35;color:#fff}
.adFrase i{display:block;width:32px;height:3px;border-radius:2px;background:var(--ouro);margin-top:11px}
/* cartoes do topo */
.adNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-bottom:16px}
.adNum{display:flex;align-items:flex-start;gap:13px;border:1px solid var(--br);border-radius:15px;
  background:var(--s1);padding:16px 17px}
.adNum > i{font-style:normal;width:46px;height:46px;flex:0 0 46px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:20px;background:var(--c);border:1px solid var(--cb)}
.adNum .t{min-width:0}
.adNum b{display:block;font-size:27px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.025em}
.adNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.adNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:8px}
.adNum .delta.baixo{color:#E0575A}
.adNum a{display:inline-block;font-size:12px;font-weight:750;color:var(--t2);text-decoration:none;margin-top:8px;
  border-bottom:1px solid var(--br)}
.adNum a:hover{color:var(--ouro);border-color:var(--ouro)}
.adNum .ponto{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--t2);margin-top:8px}
.adNum .ponto i{width:7px;height:7px;border-radius:50%;background:#3DD68C;font-style:normal}
/* duas colunas */
.adDuas{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;margin-bottom:16px;
  align-items:start}
.adTres{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:16px;
  align-items:start}
.adCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:17px 19px}
.adCab{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-bottom:15px}
.adCab > em{font-style:normal;width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;font-size:16px;background:var(--s3);border:1px solid var(--br)}
.adCab > b{flex:1;min-width:0;font-size:18px;font-weight:800;color:var(--t1);letter-spacing:-.02em}
.adCab .pino{font-size:11.5px;font-weight:800;border-radius:99px;padding:3px 10px;
  border:1px solid rgba(224,87,90,.5);color:#E0575A;background:rgba(224,87,90,.13)}
.adCab a{font-size:12.5px;font-weight:750;color:var(--t2);text-decoration:none;white-space:nowrap}
.adCab a:hover{color:var(--ouro)}
.adCab select{height:36px;border:1px solid var(--br);border-radius:10px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12px;padding:0 10px}
/* atencao */
.adAtencao{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:12px}
.adAlerta{display:block;border:1px solid var(--br);border-radius:13px;background:var(--s2);padding:13px 14px;
  text-decoration:none;color:inherit}
.adAlerta:hover{border-color:var(--ouro)}
.adAlerta > span{display:flex;align-items:flex-start;gap:11px}
.adAlerta em{font-style:normal;width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;font-size:16px;background:var(--s3);border:1px solid var(--br)}
.adAlerta b{display:block;font-size:14px;font-weight:800;color:var(--t1);line-height:1.3}
.adAlerta small{display:block;font-size:12px;color:var(--t3);margin-top:9px}
/* saude */
.adSaude{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;text-align:center}
.adAnel .val{font-size:15px;font-weight:800;fill:var(--t1)}
.adSaude > div > small{display:block;font-size:12px;color:var(--t3);margin-top:8px;line-height:1.35}
.adSaude > div > span{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.adSaude > div > span.baixo{color:#E0575A}
/* relogio */
.adRel{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.adRelTxt{flex:1;min-width:150px;display:flex;flex-direction:column;gap:11px}
.adRelIt{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--t2)}
.adRelIt i{width:11px;height:11px;flex:0 0 11px;border-radius:50%;background:var(--c);font-style:normal}
.adRelIt b{color:var(--t1);font-weight:800;min-width:26px}
.adRelAnel{position:relative;width:150px;flex:0 0 150px;text-align:center}
.adRelAnel .no{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center}
.adRelAnel .no b{font-size:22px;font-weight:900;color:var(--t1);line-height:1.1}
.adRelAnel .no small{font-size:11.5px;color:var(--t3);line-height:1.3}
/* agenda de hoje */
.adHora{display:grid;grid-template-columns:58px minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:10px;
  align-items:center;padding:9px 0;font-size:13px;color:var(--t2)}
.adHora + .adHora{border-top:1px solid var(--br)}
.adHora b{font-size:13.5px;font-weight:800;color:var(--t1)}
.adHora span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adTotal{margin-top:13px;padding-top:12px;border-top:1px solid var(--br);font-size:14px;font-weight:800;
  color:var(--t1)}
/* comunidade */
.adCom{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:14px;align-items:start}
.adComIt{display:flex;align-items:center;gap:12px;padding:8px 0}
.adComIt + .adComIt{border-top:1px solid var(--br)}
.adComIt em{font-style:normal;width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;font-size:15px;background:var(--c);border:1px solid var(--cb)}
.adComIt b{font-size:16px;font-weight:800;color:var(--t1);min-width:44px}
.adComIt span{flex:1;min-width:0;font-size:12px;color:var(--t3);line-height:1.35}
.adComArte{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--br);aspect-ratio:1/1.05}
.adComArte img{width:100%;height:100%;object-fit:cover}
.adComArte span{position:absolute;left:12px;right:12px;bottom:12px;font-family:Georgia,serif;font-style:italic;
  font-size:13px;color:#fff;line-height:1.35;text-shadow:0 2px 12px rgba(0,0,0,.8)}
/* risco */
.adRisco{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 0}
.adRisco + .adRisco{border-top:1px solid var(--br)}
.adRisco .foto{width:40px;height:40px;flex:0 0 40px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--t2)}
.adRisco .foto img{width:100%;height:100%;object-fit:cover}
.adRiscoTxt{flex:1 1 180px;min-width:0}
.adRiscoTxt b{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:750;color:var(--t1)}
.adRiscoTxt b i{width:7px;height:7px;border-radius:50%;background:#E0575A;font-style:normal}
.adRiscoTxt small{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--t3);
  margin-top:6px}
.adTag{font-size:10.5px;font-weight:800;border:1px solid var(--br);border-radius:7px;padding:3px 8px;
  color:var(--t2)}
.adQuando{font-size:11.5px;color:var(--t3);text-align:right}
.adVerBt{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;
  border-radius:10px;border:1px solid var(--ouro);color:var(--ouro);font-size:12.5px;font-weight:750;
  text-decoration:none;white-space:nowrap}
.adVerBt:hover{background:rgba(255,184,46,.1)}
/* listas simples */
.adLinha{display:flex;align-items:center;gap:12px;padding:9px 0}
.adLinha + .adLinha{border-top:1px solid var(--br)}
.adLinha em{font-style:normal;width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:flex;
  align-items:center;justify-content:center;font-size:14px;background:var(--s3);border:1px solid var(--br)}
.adLinha b{font-size:15px;font-weight:800;color:var(--t1);min-width:34px}
.adLinha span{flex:1;min-width:0;font-size:12.5px;color:var(--t2)}
.adVazio{font-size:12.5px;color:var(--t3);line-height:1.6;padding:6px 0}
@media (max-width:1100px){ .adDuas{grid-template-columns:1fr} .adCom{grid-template-columns:1fr} }
@media (max-width:760px){ .adTopo{padding-right:26px} .adTopo > img{width:100%;opacity:.22}
  .adHora{grid-template-columns:52px 1fr} }
/* P453 (mockup dela): a Comunidade vista pelo professor. */
.cpNums{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cpNum{border:1px solid var(--br);border-radius:12px;background:var(--s3);padding:12px 13px}
.cpNum b{display:block;font-size:21px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.cpNum small{display:block;font-size:11.5px;color:var(--t3);margin-top:5px}
.cpNum.verde b{color:#3DD68C}
.cpCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:15px 17px}
.cpCab{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.cpCab svg{width:17px;height:17px;color:var(--t3)}
.cpCab b{flex:1;min-width:0;font-size:14.5px;font-weight:800;color:var(--t1)}
.cpCab a{flex:0 0 auto;font-size:11.5px;font-weight:750;color:var(--ouro);text-decoration:none;white-space:nowrap}
.cpDesafio p{margin:0;font-size:13px;font-weight:750;color:var(--t1)}
.cpDesafio small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px;line-height:1.45}
.cpBarra{height:9px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin:13px 0 8px}
.cpBarra i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#FFB92E,#FFC94F)}
.cpBarraTxt{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--t3)}
.cpBarraTxt b{color:var(--t1);font-weight:800;font-size:13px}
.cpRank{display:flex;align-items:center;gap:11px;padding:8px 0}
.cpRank + .cpRank{border-top:1px solid var(--br)}
.cpPos{width:26px;height:26px;flex:0 0 26px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;background:var(--s3);color:var(--t3);border:1px solid var(--br)}
.cpPos.p1{background:#FFB92E;color:#241603;border-color:#FFB92E}
.cpPos.p2{background:#C9D3DC;color:#20313D;border-color:#C9D3DC}
.cpPos.p3{background:#D08B4F;color:#241603;border-color:#D08B4F}
.cpFoto{width:32px;height:32px;flex:0 0 32px;border-radius:50%;overflow:hidden;background:var(--s3);display:flex;
  align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--t2)}
.cpFoto img{width:100%;height:100%;object-fit:cover}
.cpRank .nm{flex:1;min-width:0;font-size:13px;font-weight:700;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.cpRank .xp{font-size:12.5px;font-weight:750;color:var(--t2);white-space:nowrap}
.cpAtiv{display:flex;align-items:center;gap:11px;padding:8px 0}
.cpAtiv + .cpAtiv{border-top:1px solid var(--br)}
.cpAtiv .t{flex:1;min-width:0}
.cpAtiv b{display:block;font-size:12.5px;font-weight:700;color:var(--t1);line-height:1.35}
.cpAtiv small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.cpMissao{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:20px 19px}
.cpMissao em{font-style:normal;font-size:26px}
.cpMissao b{display:block;font-size:19px;font-weight:800;color:var(--t1);line-height:1.3;margin-top:10px;
  letter-spacing:-.02em}
.cpMissao i{display:block;width:34px;height:3px;border-radius:2px;background:var(--ouro);margin-top:12px}
.cpVazio{font-size:12.5px;color:var(--t3);line-height:1.6;padding:6px 0}
/* P452 (mockup dela): a tela Feedback do professor. */
.fpTopo{position:relative;display:flex;align-items:center;gap:18px;flex-wrap:wrap;border-radius:18px;
  overflow:hidden;border:1px solid var(--br);padding:20px 24px;padding-right:24%;min-height:150px;
  margin-bottom:16px;background:linear-gradient(120deg,#0A1219,#0C1A24)}
.fpTopo > img{position:absolute;right:0;top:0;width:56%;height:100%;object-fit:cover}
.fpTopo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#08131B 0%,#08131B 44%,rgba(8,19,27,.92) 58%,rgba(8,19,27,.35) 80%,rgba(8,19,27,.05) 100%)}
.fpTopo > em{position:relative;z-index:2;font-style:normal;width:58px;height:58px;flex:0 0 58px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:#241603;
  background:linear-gradient(145deg,#FFC94F,#F0A11A);box-shadow:0 0 24px rgba(255,184,46,.3)}
.fpTopo > em svg{width:27px;height:27px}
.fpTopoTxt{position:relative;z-index:2;flex:1 1 320px;min-width:0}
.fpTopoTxt h1{margin:0;font-size:clamp(27px,3.1vw,38px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.fpTopoTxt .lema{display:block;font-size:16px;font-weight:700;color:var(--t2);margin-top:4px}
.fpTopoTxt p{margin:11px 0 0;font-size:13.5px;color:var(--t2);line-height:1.6;max-width:520px}
.fpFrase{position:relative;z-index:2;flex:0 1 200px;min-width:170px}
.fpFrase p{margin:0;font-family:Georgia,serif;font-style:italic;font-size:15.5px;line-height:1.35;color:#fff}
.fpFrase i{display:block;width:30px;height:3px;border-radius:2px;background:var(--ouro);margin-top:10px}
/* abas */
.fpAbas{display:flex;gap:10px;flex-wrap:wrap;border:1px solid var(--br);border-radius:14px;background:var(--s1);
  padding:9px;margin-bottom:16px}
.fpAba{display:inline-flex;align-items:center;gap:9px;height:42px;padding:0 18px;border-radius:11px;
  border:1px solid transparent;color:var(--t3);font-size:13px;font-weight:750;text-decoration:none}
.fpAba svg{width:16px;height:16px}
.fpAba:hover{color:var(--t1)}
.fpAba.on{border-color:var(--ouro);color:var(--ouro);background:rgba(255,184,46,.1)}
/* corpo */
.fpCorpo{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:16px;align-items:start}
.fpCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:17px 19px}
.fpCab{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.fpCab > em{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#3D8BFF,#7CC4FF);
  box-shadow:0 0 18px rgba(78,155,255,.3)}
.fpCab > em svg{width:19px;height:19px}
.fpCabTxt{flex:1 1 240px;min-width:0}
.fpCabTxt h2{margin:0;font-size:19px;font-weight:800;color:var(--t1);letter-spacing:-.02em}
.fpCabTxt p{margin:4px 0 0;font-size:12.5px;color:var(--t3)}
.fpCab select{height:40px;border:1px solid var(--br);border-radius:11px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 11px}
/* numeros */
.fpNums{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px;margin-bottom:18px}
.fpNum{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:14px;
  background:var(--s2);padding:15px 16px}
.fpNum > i{font-style:normal;width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:var(--c);border:1px solid var(--cb)}
.fpNum b{display:block;font-size:26px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.fpNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px;line-height:1.35}
.fpNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:8px}
.fpNum .delta.baixo{color:#E0575A}
.fpNum .delta em{font-style:normal;display:block;font-size:11px;font-weight:500;color:var(--t3);margin-top:2px}
/* lista de feedbacks */
.fpFb{display:flex;gap:13px;border:1px solid var(--br);border-radius:14px;background:var(--s2);
  padding:14px 16px;margin-bottom:11px}
.fpFb > .foto{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;background:var(--s3);border:1px solid var(--br);color:var(--t3)}
.fpFb > .foto svg{width:20px;height:20px}
.fpFbTxt{flex:1;min-width:0}
.fpFbTopo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fpFbTopo b{font-size:13.5px;font-weight:750;color:var(--t1)}
.fpFbTopo .quando{margin-left:auto;font-size:12px;color:var(--t3);white-space:nowrap}
.fpEstrelas{display:block;font-size:14px;letter-spacing:2px;color:#FFB92E;margin-top:5px}
.fpEstrelas i{font-style:normal;color:rgba(255,255,255,.18)}
.fpFbTxt p{margin:7px 0 0;font-size:13.5px;color:var(--t2);line-height:1.5;white-space:pre-wrap}
.fpSemana{display:inline-block;margin-top:9px;font-size:10.5px;font-weight:800;border-radius:7px;padding:4px 9px;
  border:1px solid var(--br);color:var(--t3);background:var(--s3)}
/* lado */
.fpLado{display:flex;flex-direction:column;gap:14px}
.fpDarCab{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fpDarCab > em{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:rgba(255,185,46,.12);
  border:1px solid rgba(255,185,46,.3)}
.fpDarCab .t{flex:1 1 200px;min-width:0}
.fpDarCab b{display:block;font-size:16px;font-weight:800;color:var(--t1);letter-spacing:-.015em}
.fpDarCab small{display:block;font-size:12.5px;color:var(--t3);margin-top:3px}
.fpDarBt{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;
  border-radius:11px;border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;
  font-size:12.5px;font-weight:800;cursor:pointer;white-space:nowrap}
.fpDarBt svg{width:15px;height:15px}
.fpForm[hidden]{display:none}
.fpCampo{display:block;margin-bottom:12px}
.fpCampo > span{display:block;font-size:11.5px;font-weight:750;color:var(--t3);margin-bottom:6px}
.fpCampo select,.fpCampo textarea{width:100%;border:1px solid var(--br);border-radius:11px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:13.5px}
.fpCampo select{height:44px;padding:0 13px}
.fpCampo textarea{height:104px;padding:10px 13px;resize:vertical;line-height:1.5}
.fpEnviar{width:100%;height:44px;border:0;border-radius:11px;background:linear-gradient(180deg,#FFC94F,#F0A11A);
  color:#241603;font:inherit;font-size:13.5px;font-weight:800;cursor:pointer}
.fpEnv{display:flex;gap:12px;padding:12px 0}
.fpEnv + .fpEnv{border-top:1px solid var(--br)}
.fpEnv > em{font-style:normal;width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;font-size:18px;background:var(--s3);border:1px solid var(--br)}
.fpEnvTxt{flex:1;min-width:0}
.fpEnvTopo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fpEnvTopo b{font-size:13.5px;font-weight:750;color:var(--t1)}
.fpEnvTopo small{font-size:12px;color:var(--t3)}
.fpEnvTxt p{margin:6px 0 0;font-size:13px;color:var(--t2);line-height:1.5;white-space:pre-wrap}
.fpSelo{margin-left:auto;font-size:11px;font-weight:800;border-radius:99px;padding:4px 11px;
  border:1px solid rgba(61,214,140,.4);color:#3DD68C;background:rgba(61,214,140,.1);white-space:nowrap}
.fpSelo.lida{border-color:rgba(78,155,255,.4);color:#7CC4FF;background:rgba(78,155,255,.1)}
.fpResp{margin-top:9px;border-left:3px solid var(--ouro);padding-left:11px}
.fpResp b{display:block;font-size:11.5px;font-weight:800;color:var(--t3)}
.fpResp p{margin:4px 0 0;font-size:12.5px;color:var(--t2);line-height:1.5}
.fpEvo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.fpEvoIt{text-align:center}
.fpEvoIt em{font-style:normal;width:52px;height:52px;margin:0 auto 10px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:22px;background:rgba(255,185,46,.12);
  border:1px solid rgba(255,185,46,.3)}
.fpEvoIt span{display:block;font-size:12.5px;font-weight:700;color:var(--t2);line-height:1.35}
.fpCitar{margin-top:16px;border-top:1px solid var(--br);padding-top:14px;font-family:Georgia,serif;
  font-style:italic;font-size:14px;color:var(--t2);line-height:1.5}
.fpVazio{border:1px dashed var(--br);border-radius:14px;padding:26px;text-align:center;color:var(--t3);
  font-size:13.5px;line-height:1.6}
@media (max-width:1280px){ .fpCorpo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:760px){ .fpTopo{padding-right:24px} .fpTopo > img{width:100%;opacity:.22}
  .fpEvo{grid-template-columns:1fr} }
/* P451 (mockup dela): Treinamentos dos Professores. */
.trTopo{position:relative;display:flex;align-items:center;gap:18px;flex-wrap:wrap;border-radius:18px;
  overflow:hidden;border:1px solid var(--br);padding:22px 24px;padding-right:38%;min-height:186px;
  margin-bottom:16px;background:linear-gradient(120deg,#0A1219,#0C1A24)}
.trTopo > img{position:absolute;right:0;top:0;width:58%;height:100%;object-fit:cover}
.trTopo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#08131B 0%,#08131B 36%,rgba(8,19,27,.9) 48%,rgba(8,19,27,.3) 70%,rgba(8,19,27,.05) 100%)}
.trTopo > em{position:relative;z-index:2;font-style:normal;width:62px;height:62px;flex:0 0 62px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:#FFB92E;background:rgba(255,185,46,.14);
  border:1px solid rgba(255,185,46,.35);font-size:28px}
.trTopoTxt{position:relative;z-index:2;flex:1 1 380px;min-width:0}
.trTopoTxt h1{margin:0;font-size:clamp(27px,3.1vw,38px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.trTopoTxt .lema{display:block;font-size:17px;font-weight:700;color:var(--ouro);margin-top:5px}
.trTopoTxt p{margin:11px 0 0;font-size:13.5px;color:var(--t2);line-height:1.6;max-width:520px}
/* abas */
.trAbas{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}
.trAba{display:inline-flex;align-items:center;height:42px;padding:0 18px;border-radius:12px;border:1px solid var(--br);
  background:var(--s1);color:var(--t3);font-size:13px;font-weight:750;text-decoration:none}
.trAba:hover{color:var(--t1)}
.trAba.on{border-color:var(--ouro);color:var(--ouro);background:rgba(255,184,46,.1)}
/* corpo */
.trCorpo{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.trSecCab{display:flex;align-items:center;gap:11px;margin-bottom:13px}
.trSecCab em{font-style:normal;width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;background:var(--ouro);color:#241603}
.trSecCab em svg{width:16px;height:16px}
.trSecCab b{flex:1;min-width:0;font-size:19px;font-weight:800;color:var(--t1);letter-spacing:-.02em}
.trSecCab a{font-size:12.5px;font-weight:750;color:var(--t2);text-decoration:none;white-space:nowrap}
.trSecCab a:hover{color:var(--ouro)}
.trSecCab select{height:40px;border:1px solid var(--br);border-radius:11px;background:var(--s1);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 11px}
/* destaques */
.trDest{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-bottom:24px}
.trCard{position:relative;border:1px solid var(--br);border-radius:15px;background:var(--s1);overflow:hidden;
  display:flex;flex-direction:column}
.trCapa{position:relative;aspect-ratio:16/9;background:var(--s3);overflow:hidden}
.trCapa img{width:100%;height:100%;object-fit:cover}
.trCapa .vazio{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:34px;
  background:linear-gradient(135deg,#132434,#0C1A24)}
.trDur{position:absolute;right:10px;bottom:10px;font-size:11.5px;font-weight:800;color:#fff;
  background:rgba(4,10,16,.78);border-radius:8px;padding:4px 9px}
.trCardTxt{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.trCardTxt b{display:block;font-size:15.5px;font-weight:800;color:var(--t1);letter-spacing:-.01em}
.trCardTxt p{margin:6px 0 0;font-size:12.5px;color:var(--t3);line-height:1.45}
.trChips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.trChip{font-size:10.5px;font-weight:800;border-radius:8px;padding:4px 10px;border:1px solid var(--br);
  color:var(--t2);background:var(--s3)}
.trChip.cat{border-color:rgba(255,185,46,.4);color:#FFB92E;background:rgba(255,185,46,.1)}
.trChip.ok{border-color:rgba(61,214,140,.45);color:#3DD68C;background:rgba(61,214,140,.12)}
.trPlay{margin-left:auto;width:40px;height:40px;flex:0 0 40px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;text-decoration:none}
.trPlay svg{width:20px;height:20px}
.trPlay.linha{background:transparent;border:1px solid var(--br);color:var(--t2);width:36px;height:36px;flex:0 0 36px}
.trPlay.linha:hover{border-color:var(--ouro);color:var(--ouro)}
/* lista */
.trLista{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:13px}
.trItem{display:flex;gap:13px;border:1px solid var(--br);border-radius:14px;background:var(--s1);padding:12px}
.trThumb{position:relative;width:96px;flex:0 0 96px;aspect-ratio:16/11;border-radius:10px;overflow:hidden;
  background:var(--s3)}
.trThumb img{width:100%;height:100%;object-fit:cover}
.trThumb .vazio{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:22px;
  background:linear-gradient(135deg,#132434,#0C1A24)}
.trThumb .d{position:absolute;left:6px;bottom:6px;font-size:10px;font-weight:800;color:#fff;
  background:rgba(4,10,16,.78);border-radius:6px;padding:2px 6px}
.trItemTxt{flex:1;min-width:0;display:flex;flex-direction:column}
.trItemTxt b{display:block;font-size:13.5px;font-weight:750;color:var(--t1);line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.trItemTxt small{display:block;font-size:12px;color:var(--t3);margin-top:3px;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.trItemTxt .trChips{margin-top:auto;padding-top:10px}
/* lado */
.trLado{display:flex;flex-direction:column;gap:14px}
.trLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:16px 18px}
.trLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.trLadoCab svg{width:17px;height:17px;color:var(--t3)}
.trLadoCab b{flex:1;min-width:0;font-size:15px;font-weight:800;color:var(--t1)}
.trProg{display:flex;align-items:center;gap:15px}
.trProg .val{font-size:16px;font-weight:800;fill:var(--t1)}
.trProg b{display:block;font-size:17px;font-weight:800;color:var(--t1)}
.trProg small{display:block;font-size:12.5px;color:var(--t3);margin-top:3px;line-height:1.4}
.trProg a{display:inline-block;font-size:12px;font-weight:750;color:var(--t2);text-decoration:none;margin-top:8px;
  border-bottom:1px solid var(--br)}
.trProg a:hover{color:var(--ouro);border-color:var(--ouro)}
.trVivo{display:flex;align-items:center;gap:12px;padding:10px 0;flex-wrap:wrap}
.trVivo + .trVivo{border-top:1px solid var(--br)}
.trData{width:44px;flex:0 0 44px;text-align:center;border:1px solid var(--br);border-radius:10px;padding:6px 0;
  background:var(--s3)}
.trData b{display:block;font-size:16px;font-weight:900;color:var(--t1);line-height:1}
.trData small{display:block;font-size:9.5px;font-weight:800;color:var(--t3);margin-top:2px;letter-spacing:.06em}
.trVivoTxt{flex:1 1 130px;min-width:0}
.trVivoTxt b{display:block;font-size:12.5px;font-weight:750;color:var(--t1);line-height:1.3}
.trVivoTxt small{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--t3);margin-top:4px;
  white-space:nowrap}
.trVivoTxt small svg{width:12px;height:12px}
.trVivo > form{margin:0;flex:1 1 100%}
.trVivo > form .trBtVivo,.trVivo > a.trBtVivo{width:100%}
.trBtVivo{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 15px;
  border-radius:10px;border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;
  font-size:12px;font-weight:800;cursor:pointer;text-decoration:none;white-space:nowrap}
.trBtVivo.ghost{background:transparent;border:1px solid var(--br);color:var(--t1);font-weight:750}
.trBtVivo.ghost.on{border-color:var(--ouro);color:var(--ouro)}
.trBtVivo.ghost:hover{border-color:var(--ouro);color:var(--ouro)}
.trArq{display:flex;align-items:center;gap:12px;padding:10px 0;color:inherit;text-decoration:none}
.trArq + .trArq{border-top:1px solid var(--br)}
.trArq > em{font-style:normal;width:34px;height:34px;flex:0 0 34px;border-radius:9px;display:flex;
  align-items:center;justify-content:center;background:var(--s3);border:1px solid var(--br);font-size:15px}
.trArq .t{flex:1;min-width:0}
.trArq b{display:block;font-size:13px;font-weight:750;color:var(--t1);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.trArq small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.trArq svg{width:16px;height:16px;color:var(--t3)}
.trArq:hover b{color:var(--ouro)}
.trAjuda{display:flex;align-items:flex-start;gap:12px}
.trAjuda em{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;font-size:18px;background:rgba(255,185,46,.12);
  border:1px solid rgba(255,185,46,.3);color:#FFB92E}
.trAjuda b{display:block;font-size:14px;font-weight:800;color:var(--t1)}
.trAjuda small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px;line-height:1.5}
.trAjuda .bt{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;
  border-radius:11px;border:1px solid var(--ouro);color:var(--ouro);font-size:12.5px;font-weight:750;
  text-decoration:none;margin-top:11px}
.trVazio{border:1px dashed var(--br);border-radius:14px;padding:26px;text-align:center;color:var(--t3);
  font-size:13.5px;line-height:1.6}
/* detalhe */
.trVideo{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--br);
  background:#000;margin-bottom:16px}
.trVideo iframe,.trVideo video{width:100%;height:100%;border:0;display:block}
.trCampo{display:block;margin-bottom:12px}
.trCampo > span{display:block;font-size:11.5px;font-weight:750;color:var(--t3);margin-bottom:6px}
.trCampo input,.trCampo select,.trCampo textarea{width:100%;height:44px;border:1px solid var(--br);
  border-radius:11px;background:var(--s3);color:var(--t1);font:inherit;font-size:13.5px;padding:0 13px}
.trCampo textarea{height:80px;padding:10px 13px;resize:vertical}
.trLinha{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.trEnviar{height:46px;padding:0 24px;border:0;border-radius:11px;background:linear-gradient(180deg,#FFC94F,#F0A11A);
  color:#241603;font:inherit;font-size:13.5px;font-weight:800;cursor:pointer}
@media (max-width:1180px){ .trCorpo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:760px){ .trTopo{padding-right:24px} .trTopo > img{width:100%;opacity:.22} }
/* Guia do Professor — 8 etapas (guiaEtapasPage). */
.guCol{display:flex;flex-direction:column;gap:14px;min-width:0}
.guEtapa{scroll-margin-top:90px}
.guCab{display:flex;align-items:center;gap:13px;margin-bottom:12px}
.guNum{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:17px;font-weight:900;color:#241603;background:linear-gradient(180deg,#FFC94F,#F0A11A)}
.guTit{flex:1;min-width:0}
.guTit small{display:block;font-size:11px;font-weight:800;color:var(--ouro);letter-spacing:.06em;text-transform:uppercase}
.guTit b{display:block;font-size:17px;font-weight:800;color:var(--t1);letter-spacing:-.01em;line-height:1.3}
.guSub{margin:14px 0 6px;font-size:12px;font-weight:800;color:var(--t3);letter-spacing:.05em;text-transform:uppercase}
.guLista{margin:0;padding-left:20px;font-size:14px;color:var(--t2);line-height:1.6}
.guLista li + li{margin-top:4px}
.guFatos{margin-top:12px;display:flex;flex-direction:column;gap:4px}
.guLinha{margin:0;font-size:14px;color:var(--t2);line-height:1.55}
.guLinha b{color:var(--t1)}
.guAviso{margin:12px 0 0;padding:10px 13px;border-radius:11px;border:1px solid rgba(255,185,46,.4);
  background:rgba(255,185,46,.1);color:var(--t1);font-size:13.5px;font-weight:700;line-height:1.5}
.guBts{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.guBt{height:42px;padding:0 18px;font-size:13px;gap:8px}
.guBt svg{width:16px;height:16px}
.guIndice{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin-top:16px}
.guIndice a{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--br);border-radius:11px;
  background:var(--s3);color:var(--t2);font-size:12.5px;font-weight:700;text-decoration:none;line-height:1.3}
.guIndice a:hover{border-color:var(--ouro);color:var(--ouro)}
.guIndice span{width:24px;height:24px;flex:0 0 24px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:11.5px;font-weight:900;color:#241603;background:var(--ouro)}
.guFim{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0}
.guFim > span{flex:1 1 220px;min-width:0}
.guFim b{display:block;font-size:15px;font-weight:800;color:var(--t1)}
.guFim small{display:block;font-size:12.5px;color:var(--t3);margin-top:3px}
.trLado .guLista{font-size:13px;padding-left:18px}
@media (max-width:760px){ .guBt{flex:1 1 100%} .guIndice{grid-template-columns:1fr} }
/* Código de Imagem (codigoImagemPage / codigoImagemAdminPage / checklistAntesDaAula). */
.ciCapa h1{margin:4px 0 0;font-size:24px;font-weight:800;color:var(--t1);letter-spacing:-.02em;line-height:1.25}
.ciCapa p{margin:10px 0 0;font-size:14px;color:var(--t2);line-height:1.6}
.ciOlho{display:block;font-size:11px;font-weight:800;color:var(--ouro);letter-spacing:.06em;text-transform:uppercase}
.ciBoasVindas{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;padding:15px 18px;border-radius:14px;
  border:1px solid rgba(255,185,46,.45);background:rgba(255,185,46,.1);color:var(--t1);font-size:14px;line-height:1.55}
.ciBoasVindas b:first-child{font-size:15.5px}
.ciSecao{scroll-margin-top:90px}
.ciSelo{margin-left:auto;padding:3px 9px;border-radius:999px;border:1px solid rgba(255,185,46,.45);color:var(--ouro);
  font-size:11px;font-weight:800;white-space:nowrap}
.ciCorpo{font-size:14px;color:var(--t2);line-height:1.65}
.ciCorpo p{margin:0 0 10px}
.ciCorpo b{color:var(--t1)}
.ciSub{margin:14px 0 6px;font-size:12px;font-weight:800;color:var(--t3);letter-spacing:.05em;text-transform:uppercase}
.ciLista{margin:0 0 10px;padding-left:20px}
.ciLista li + li{margin-top:4px}
.ciTabelaRolo{overflow-x:auto;margin:4px 0 12px}
.ciTabela{width:100%;border-collapse:collapse;font-size:13.5px;min-width:420px}
.ciTabela th{text-align:left;padding:9px 10px;color:var(--ouro);font-size:11.5px;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;border-bottom:1px solid var(--br)}
.ciTabela td{padding:9px 10px;border-bottom:1px solid var(--br);color:var(--t2)}
.ciTabela td:first-child{color:var(--t1);font-weight:700}
.ciBts{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.ciFoto{display:block;width:100%;max-width:360px;border-radius:14px;margin:0 0 12px;border:1px solid var(--br)}
.ciFotoVazia{display:block;margin:0 0 12px;padding:22px 16px;border:1.5px dashed var(--br);border-radius:14px;
  text-align:center;color:var(--t3);font-size:13px;text-decoration:none}
.ciFotoVazia:hover{border-color:var(--ouro);color:var(--ouro)}
.ciFundoImg{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;border:1px solid var(--br);background:var(--s3)}
.ciBaixar{width:100%;margin-top:12px}
.ciPassos{margin:0;padding-left:20px;font-size:13px;color:var(--t2);line-height:1.6}
.ciPassos li + li{margin-top:6px}
.ciPassos b{color:var(--t1)}
.ciMiudo{margin:10px 0 0;font-size:12.5px;color:var(--t3);line-height:1.55}
.ciMiudo code{padding:1px 5px;border-radius:5px;background:var(--s3);color:var(--t1);font-size:12px}
.ciCheck{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.ciCheck li{position:relative;padding-left:26px;font-size:13px;color:var(--t2);line-height:1.5}
.ciCheck li::before{content:"✓";position:absolute;left:0;top:0;width:18px;height:18px;border-radius:5px;
  border:1px solid var(--ouro);color:var(--ouro);font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center}
.ciFeito b{color:#3DD68C}
.ciAdmin{margin-top:14px}
.ciConta{margin-left:auto;font-size:12.5px;font-weight:800;color:var(--ouro)}
.ciOk{color:#3DD68C;font-weight:700}
.ciFalta{color:#E0575A;font-weight:700}
.ciAntigo{color:var(--ouro);font-weight:700}
.ciTexto{width:100%;box-sizing:border-box;margin-top:10px;padding:12px 13px;border:1px solid var(--br);border-radius:11px;
  background:var(--s3);color:var(--t1);font:13px/1.55 ui-monospace,Consolas,monospace;resize:vertical}
.ciRot{display:block;margin-top:16px;font-size:13px;font-weight:800;color:var(--t1)}
.ciRot small{font-weight:600;color:var(--t3)}
.ciMarca{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:13px;color:var(--t2);cursor:pointer}
.ciMarca input{margin-top:3px;accent-color:var(--ouro)}
.ciMarca b{display:block;color:var(--t1)}
.ciMarca small{display:block;color:var(--t3);margin-top:2px}
.ciEnvio{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
.ciEnvio input[type=file]{flex:1 1 220px;min-width:0;color:var(--t2);font-size:13px}
.ciAdmin .ciFundoImg{max-width:520px}
/* janela do checklist */
.ckDlg{border:0;padding:0;background:transparent;max-width:min(460px,calc(100vw - 32px));width:100%;color:var(--t1)}
.ckDlg::backdrop{background:rgba(2,10,15,.72)}
.ckCaixa{margin:0;padding:20px 20px 18px;border:1px solid var(--br);border-radius:18px;background:var(--s1,#0B1F2A);
  box-shadow:0 24px 60px rgba(0,0,0,.45)}
.ckTopo{display:flex;align-items:center;gap:12px}
.ckIco{width:40px;height:40px;flex:0 0 40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:18px;background:linear-gradient(180deg,#FFC94F,#F0A11A)}
.ckTit{flex:1;min-width:0}
.ckTit small{display:block;font-size:11px;font-weight:800;color:var(--ouro);letter-spacing:.06em;text-transform:uppercase}
.ckTit b{display:block;font-size:17px;font-weight:800}
.ckFecha{width:34px;height:34px;border:1px solid var(--br);border-radius:50%;background:transparent;color:var(--t2);cursor:pointer;font-size:14px}
.ckNota{margin:12px 0 10px;font-size:13px;color:var(--t3);line-height:1.5}
.ckItens{display:flex;flex-direction:column;gap:6px;max-height:min(46vh,380px);overflow-y:auto}
.ckItem{display:flex;gap:11px;align-items:flex-start;padding:9px 11px;border:1px solid var(--br);border-radius:11px;
  font-size:13.5px;color:var(--t2);line-height:1.45;cursor:pointer}
.ckItem input{width:18px;height:18px;flex:0 0 18px;margin:1px 0 0;accent-color:#F0A11A}
.ckItem:has(input:checked){border-color:rgba(255,185,46,.55);color:var(--t1)}
.ckPronto{margin:12px 0 0;font-size:13.5px;font-weight:800;color:#3DD68C;text-align:center}
.ckBts{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.ckEntrar,.ckSo{display:flex;align-items:center;justify-content:center;height:46px;border:0;border-radius:11px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:14px;font-weight:800;
  text-decoration:none;cursor:pointer}
.ckEntrar[hidden],.ckSo[hidden]{display:none}
.ckCodigo{text-align:center;font-size:12.5px;color:var(--t3);text-decoration:underline}
/* link da reunião da closer */
.clAbrir{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:8px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}
.clAbrir.ghost{background:transparent;border:1px solid var(--br);color:var(--t2)}
@media (max-width:760px){ .ciCapa h1{font-size:20px} .ciBts .guBt{flex:1 1 100%} }
/* P450 (mockup dela): Material da Escola do professor. */
.meTopo{position:relative;display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px;
  border-radius:18px;overflow:hidden;padding:20px 22px;padding-right:26%;min-height:116px;border:1px solid var(--br)}
.meTopo > img{position:absolute;right:0;top:0;width:58%;height:100%;object-fit:cover}
.meTopo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#06131C 0%,#06131C 40%,rgba(6,19,28,.95) 56%,rgba(6,19,28,.8) 72%,rgba(6,19,28,.24) 90%,rgba(6,19,28,.06) 100%)}
.meTopo > em{position:relative;z-index:2;font-style:normal;width:52px;height:52px;flex:0 0 52px;border-radius:15px;
  display:flex;align-items:center;justify-content:center;color:#241603;
  background:linear-gradient(145deg,#FFC94F,#F0A11A);box-shadow:0 0 24px rgba(255,184,46,.3)}
.meTopo > em svg{width:26px;height:26px}
.meTopoTxt{position:relative;z-index:2;flex:1 1 280px;min-width:0}
.meTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.meTopoTxt p{margin:6px 0 0;font-size:13.5px;color:var(--t2)}
.meFrase{position:relative;z-index:2;flex:0 1 240px;min-width:190px}
.meFrase p{margin:0;font-family:Georgia,serif;font-style:italic;font-size:15.5px;line-height:1.35;color:#fff}
.meFrase i{display:block;width:30px;height:3px;border-radius:2px;background:var(--ouro);margin-top:10px}
/* abas */
.meBarra{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.meAba{display:inline-flex;align-items:center;height:42px;padding:0 18px;border-radius:12px;border:1px solid var(--br);
  background:var(--s1);color:var(--t3);font-size:13px;font-weight:750;text-decoration:none}
.meAba:hover{color:var(--t1)}
.meAba.on{border-color:var(--ouro);color:var(--ouro);background:rgba(255,184,46,.1)}
.meFavBt{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;gap:9px;height:44px;
  padding:0 20px;border-radius:12px;border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;
  font-family:inherit;font-size:13.5px;font-weight:800;cursor:pointer;text-decoration:none;
  box-shadow:0 0 22px rgba(255,184,46,.24)}
.meFavBt svg{width:17px;height:17px}
/* filtros */
.meFiltros{display:flex;gap:11px;flex-wrap:wrap;align-items:flex-end;border:1px solid var(--br);border-radius:14px;
  background:var(--s1);padding:14px 16px;margin-bottom:16px}
.meBusca{position:relative;flex:1 1 300px;min-width:220px}
.meBusca svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--t3)}
.meBusca input{width:100%;height:44px;border:1px solid var(--br);border-radius:11px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:13px;padding:0 12px 0 34px}
.meSel{flex:0 1 160px;min-width:130px}
.meSel span{display:block;font-size:11px;font-weight:750;color:var(--t3);margin-bottom:5px}
.meSel select{width:100%;height:44px;border:1px solid var(--br);border-radius:11px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:13px;padding:0 11px}
.meLimpar{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 16px;
  border-radius:11px;border:1px solid var(--br);background:var(--s3);color:var(--t1);font:inherit;
  font-size:12.5px;font-weight:750;text-decoration:none}
.meLimpar svg{width:15px;height:15px;color:var(--t3)}
.meLimpar:hover{border-color:var(--ouro);color:var(--ouro)}
.meAplicar{height:44px;padding:0 20px;border:0;border-radius:11px;background:linear-gradient(180deg,#FFC94F,#F0A11A);
  color:#241603;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
/* corpo */
.meCorpo{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:16px;align-items:start}
.meSecao{margin-bottom:22px}
.meSecCab{display:flex;align-items:center;gap:11px;margin-bottom:13px}
.meSecCab em{font-style:normal;font-size:19px}
.meSecCab b{flex:1;min-width:0;font-size:19px;font-weight:800;color:var(--t1);letter-spacing:-.02em}
.meSecCab a{font-size:12.5px;font-weight:750;color:var(--t2);text-decoration:none;white-space:nowrap}
.meSecCab a:hover{color:var(--ouro)}
.meGrade{display:grid;grid-template-columns:repeat(auto-fill,minmax(144px,1fr));gap:12px}
.meCard{position:relative;border:1px solid var(--br);border-radius:14px;background:var(--s1);padding:11px}
.meCard:hover{border-color:var(--t3)}
.meCapa{width:100%;aspect-ratio:3/3.9;border-radius:10px;overflow:hidden;background:var(--s3);display:flex;
  align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.07);margin-bottom:10px}
.meCapa img{width:100%;height:100%;object-fit:cover}
.meCapa span{font-size:34px}
.meCard b{display:block;font-size:13px;font-weight:800;color:var(--t1);line-height:1.25}
.meCard small{display:block;font-size:12.5px;color:var(--t3);margin-top:3px;line-height:1.35;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meNivel{display:inline-block;margin-top:9px;font-size:10.5px;font-weight:800;border-radius:7px;padding:4px 9px;
  border:1px solid var(--br);color:var(--t2);background:var(--s3)}
.meFav{position:absolute;right:11px;top:11px;z-index:2}
.meFav button{width:28px;height:28px;border:0;border-radius:9px;background:rgba(6,19,28,.72);color:var(--t3);
  font:inherit;font-size:14px;cursor:pointer;line-height:1}
.meFav button:hover{color:var(--ouro)}
.meFav button.on{color:#FFB92E}
.meMenu{position:absolute;right:11px;bottom:11px}
.meMenu > summary{list-style:none;width:26px;height:26px;border-radius:8px;display:flex;align-items:center;
  justify-content:center;color:var(--t3);cursor:pointer;font-size:16px;font-weight:800}
.meMenu > summary::-webkit-details-marker{display:none}
.meMenu > summary:hover{background:var(--s3);color:var(--t1)}
.meMenuCx{position:absolute;right:0;bottom:30px;z-index:9;min-width:190px;border:1px solid var(--br);
  border-radius:12px;background:var(--s2);padding:6px;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.meMenuCx a,.meMenuCx button{display:flex;align-items:center;width:100%;height:36px;padding:0 11px;border:0;
  border-radius:9px;background:transparent;color:var(--t1);font:inherit;font-size:12.5px;font-weight:700;
  text-decoration:none;cursor:pointer;text-align:left}
.meMenuCx a:hover,.meMenuCx button:hover{background:var(--s3);color:var(--ouro)}
.meMenuCx form{margin:0}
/* linhas de audio/video */
.meLinhas{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:13px}
.meLinha{position:relative;display:flex;align-items:center;gap:13px;border:1px solid var(--br);border-radius:14px;
  background:var(--s1);padding:13px 15px}
.meLinha > .ico{width:46px;height:46px;flex:0 0 46px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:19px;background:var(--s3);border:1px solid var(--br)}
.meLinhaTxt{flex:1;min-width:0;padding-right:26px}
.meLinhaTxt b{display:block;font-size:13.5px;font-weight:750;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.meLinhaTxt small{display:block;font-size:12.5px;color:var(--t3);margin-top:2px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.meLinha .meNivel{margin-top:7px}
.meLinha audio{width:100%;max-width:230px;height:34px;margin-top:8px}
/* lado */
.meLado{display:flex;flex-direction:column;gap:14px}
.meLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:16px 18px}
.meLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.meLadoCab svg{width:17px;height:17px;color:#FFB92E}
.meLadoCab b{flex:1;min-width:0;font-size:14.5px;font-weight:800;color:var(--t1)}
.meLadoCab a{flex:0 0 auto;font-size:11.5px;font-weight:700;color:var(--t3);text-decoration:none;
  border-bottom:1px solid var(--br);white-space:nowrap}
.meLadoCab a:hover{color:var(--ouro);border-color:var(--ouro)}
.meFavIt{display:flex;align-items:center;gap:11px;padding:9px 0}
.meFavIt + .meFavIt{border-top:1px solid var(--br)}
.meFavIt .mini{width:38px;height:44px;flex:0 0 38px;border-radius:8px;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:17px;border:1px solid var(--br)}
.meFavIt .mini img{width:100%;height:100%;object-fit:cover}
.meFavIt .t{flex:1;min-width:0}
.meFavIt b{display:block;font-size:13px;font-weight:750;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.meFavIt small{display:block;font-size:12px;color:var(--t3);margin-top:2px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.meFavIt form{margin:0}
.meFavIt button{width:26px;height:26px;border:0;border-radius:8px;background:transparent;color:var(--t3);
  font:inherit;font-size:14px;cursor:pointer}
.meFavIt button:hover{color:#E0575A}
.meCitar{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:17px 19px}
.meCitar p{margin:0;font-family:Georgia,serif;font-style:italic;font-size:15px;color:var(--t1);line-height:1.45}
.meCitar i{display:block;width:30px;height:3px;border-radius:2px;background:var(--ouro);margin-top:11px}
.mePedir{display:flex;align-items:flex-start;gap:12px}
.mePedir em{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;font-size:18px;background:rgba(255,185,46,.12);
  border:1px solid rgba(255,185,46,.3);color:#FFB92E}
.mePedir b{display:block;font-size:14px;font-weight:800;color:var(--t1)}
.mePedir small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px;line-height:1.5}
.mePedir textarea{width:100%;height:78px;border:1px solid var(--br);border-radius:11px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:12.5px;padding:9px 11px;resize:vertical;margin-top:10px}
.mePedir .bt{width:100%;height:42px;border:1px solid var(--ouro);border-radius:11px;background:transparent;
  color:var(--ouro);font:inherit;font-size:12.5px;font-weight:750;cursor:pointer;margin-top:9px}
.meVazio{border:1px dashed var(--br);border-radius:14px;padding:24px;text-align:center;color:var(--t3);
  font-size:13.5px;line-height:1.6}
@media (max-width:1180px){ .meCorpo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:760px){ .meTopo{padding-right:22px} .meTopo > img{width:100%;opacity:.28} }
/* P449 (mockup dela): a pagina do ebook, com a lista de homeworks. */
.ebMigalha{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:13px;color:var(--t3);margin-bottom:12px}
.ebMigalha a{color:var(--t2);text-decoration:none;font-weight:700}
.ebMigalha a:hover{color:var(--ouro)}
.ebMigalha b{color:var(--t1);font-weight:750}
.ebTopo{position:relative;display:flex;align-items:center;gap:22px;flex-wrap:wrap;border-radius:18px;
  overflow:hidden;border:1px solid var(--br);padding:20px 24px;min-height:190px;margin-bottom:16px;
  background:linear-gradient(120deg,#0A1219,#0C1A24)}
.ebTopo > img.fundo{position:absolute;right:0;top:0;width:62%;height:100%;object-fit:cover}
.ebTopo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#08131B 0%,#08131B 34%,rgba(8,19,27,.92) 48%,rgba(8,19,27,.45) 72%,rgba(8,19,27,.12) 100%)}
.ebCapa{position:relative;z-index:2;width:150px;flex:0 0 150px;aspect-ratio:3/4.1;border-radius:11px;
  overflow:hidden;border:1px solid rgba(255,255,255,.14);background:var(--s3);display:flex;align-items:center;
  justify-content:center;box-shadow:0 14px 34px rgba(0,0,0,.5)}
.ebCapa img{width:100%;height:100%;object-fit:cover}
.ebCapa span{font-size:40px;font-weight:900;color:var(--t3)}
.ebTxt{position:relative;z-index:2;flex:1 1 320px;min-width:0}
.ebTxt h1{margin:0;font-size:clamp(28px,3.2vw,40px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.ebTxt .sub{display:block;font-size:18px;font-weight:600;color:var(--t2);margin-top:4px}
.ebNivel{display:inline-block;margin-top:10px;font-size:11.5px;font-weight:800;border-radius:8px;padding:5px 12px;
  border:1px solid rgba(78,155,255,.45);color:#7CC4FF;background:rgba(78,155,255,.14)}
.ebTxt p{margin:12px 0 0;font-size:13.5px;color:var(--t2);line-height:1.6;max-width:480px}
.ebFrase{position:relative;z-index:2;flex:0 1 220px;min-width:180px;align-self:flex-start;padding-top:6px}
.ebFrase p{margin:0;font-family:Georgia,serif;font-style:italic;font-size:16px;line-height:1.35;color:#fff}
.ebFrase i{display:block;width:30px;height:3px;border-radius:2px;background:var(--ouro);margin-top:10px}
/* abas */
.ebAbas{display:flex;gap:10px;flex-wrap:wrap;border:1px solid var(--br);border-radius:14px;background:var(--s1);
  padding:10px;margin-bottom:16px}
.ebAba{display:inline-flex;align-items:center;gap:9px;height:42px;padding:0 18px;border-radius:11px;
  border:1px solid transparent;color:var(--t3);font-size:13px;font-weight:750;text-decoration:none}
.ebAba svg{width:16px;height:16px}
.ebAba:hover{color:var(--t1)}
.ebAba.on{border-color:var(--ouro);color:var(--ouro);background:rgba(255,184,46,.1)}
/* corpo */
.ebCorpo{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.ebCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:17px 19px}
.ebCab{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.ebCab > em{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#3D8BFF,#7CC4FF);
  box-shadow:0 0 18px rgba(78,155,255,.3)}
.ebCab > em svg{width:19px;height:19px}
.ebCabTxt{flex:1 1 220px;min-width:0}
.ebCabTxt h2{margin:0;font-size:19px;font-weight:800;color:var(--t1);letter-spacing:-.02em}
.ebCabTxt p{margin:4px 0 0;font-size:12.5px;color:var(--t3)}
.ebTudo{display:flex;align-items:center;gap:9px;border:1px solid var(--br);border-radius:11px;background:var(--s3);
  padding:0 14px;height:42px;font-size:12.5px;font-weight:750;color:var(--t2);cursor:pointer}
.ebTudo input{width:17px;height:17px;accent-color:var(--ouro);cursor:pointer}
/* lista */
.ebItem{display:flex;align-items:center;gap:14px;border:1px solid var(--br);border-radius:13px;background:var(--s2);
  padding:12px 14px;margin-bottom:10px}
.ebItem .chk{width:17px;height:17px;accent-color:var(--ouro);cursor:pointer;flex:0 0 17px}
.ebItem > .ico{width:46px;height:46px;flex:0 0 46px;border-radius:12px;display:flex;align-items:center;
  justify-content:center;font-size:20px;background:var(--s3);border:1px solid var(--br)}
.ebItemTxt{flex:1;min-width:0}
.ebItemTxt b{display:block;font-size:14.5px;font-weight:750;color:var(--t1)}
.ebItemTxt small{display:block;font-size:12.5px;color:var(--t3);margin-top:3px;line-height:1.4}
.ebItemTxt .selo{display:inline-flex;align-items:center;gap:6px;margin-top:7px;font-size:10.5px;font-weight:800;
  border-radius:99px;padding:3px 9px;border:1px solid rgba(61,214,140,.45);color:#3DD68C;
  background:rgba(61,214,140,.12)}
.ebItemTxt .selo.ag{border-color:rgba(230,162,60,.45);color:#E6A23C;background:rgba(230,162,60,.12)}
.ebTipo{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--t3);margin-left:8px}
.ebTipo svg{width:13px;height:13px}
.ebLiberar{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 20px;
  border-radius:11px;border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;
  font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap}
.ebLiberar svg{width:15px;height:15px}
.ebMenu{position:relative}
.ebMenu > summary{list-style:none;width:30px;height:30px;border-radius:8px;display:flex;align-items:center;
  justify-content:center;color:var(--t3);cursor:pointer;font-size:17px;font-weight:800}
.ebMenu > summary::-webkit-details-marker{display:none}
.ebMenu > summary:hover{background:var(--s3);color:var(--t1)}
.ebMenuCx{position:absolute;right:0;top:34px;z-index:9;min-width:190px;border:1px solid var(--br);border-radius:12px;
  background:var(--s2);padding:6px;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.ebMenuCx a,.ebMenuCx button{display:flex;align-items:center;width:100%;height:36px;padding:0 11px;border:0;
  border-radius:9px;background:transparent;color:var(--t1);font:inherit;font-size:12.5px;font-weight:700;
  text-decoration:none;cursor:pointer;text-align:left}
.ebMenuCx a:hover,.ebMenuCx button:hover{background:var(--s3);color:var(--ouro)}
.ebMenuCx form{margin:0}
/* lado */
.ebLado{display:flex;flex-direction:column;gap:14px}
.ebProg{display:flex;align-items:center;gap:16px}
.ebProg .anel{width:96px;flex:0 0 96px}
.ebProg .val{font-size:17px;font-weight:800;fill:var(--t1)}
.ebProg p{margin:0;font-size:13px;color:var(--t2);line-height:1.5}
.ebAjuda{display:flex;align-items:flex-start;gap:12px}
.ebAjuda em{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;font-size:18px;background:rgba(255,185,46,.12);
  border:1px solid rgba(255,185,46,.3);color:#FFB92E}
.ebAjuda b{display:block;font-size:14px;font-weight:800;color:var(--t1)}
.ebAjuda small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px;line-height:1.5}
.ebAjuda .bt{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;
  border-radius:11px;border:1px solid var(--ouro);color:var(--ouro);font-size:12.5px;font-weight:750;
  text-decoration:none;margin-top:11px}
.ebCitar{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:17px 19px}
.ebCitar p{margin:0;font-family:Georgia,serif;font-style:italic;font-size:15px;color:var(--t1);line-height:1.45}
.ebCitar i{display:block;width:30px;height:3px;border-radius:2px;background:var(--ouro);margin-top:11px}
/* formularios */
.ebCampo{display:block;margin-bottom:12px}
.ebCampo > span{display:block;font-size:11.5px;font-weight:750;color:var(--t3);margin-bottom:6px}
.ebCampo input,.ebCampo select,.ebCampo textarea{width:100%;height:44px;border:1px solid var(--br);
  border-radius:11px;background:var(--s3);color:var(--t1);font:inherit;font-size:13.5px;padding:0 13px}
.ebCampo textarea{height:90px;padding:10px 13px;resize:vertical;line-height:1.5}
.ebLinha{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.ebEnviar{height:46px;padding:0 24px;border:0;border-radius:11px;background:linear-gradient(180deg,#FFC94F,#F0A11A);
  color:#241603;font:inherit;font-size:13.5px;font-weight:800;cursor:pointer}
.ebVazio{border:1px dashed var(--br);border-radius:14px;padding:24px;text-align:center;color:var(--t3);
  font-size:13.5px;line-height:1.6}
.ebRec{display:flex;align-items:center;gap:13px;border:1px solid var(--br);border-radius:12px;background:var(--s2);
  padding:12px 14px;margin-bottom:9px;color:inherit;text-decoration:none}
.ebRec em{font-style:normal;font-size:19px}
.ebRec b{flex:1;min-width:0;font-size:13.5px;font-weight:750;color:var(--t1)}
.ebRec small{font-size:11.5px;color:var(--t3)}
.ebRec:hover{border-color:var(--ouro)}
/* modal */
.ebModal{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:20px;
  background:rgba(4,10,16,.72)}
.ebModal[open]{display:flex}
.ebModalCx{width:min(720px,100%);max-height:90vh;overflow:auto;border:1px solid var(--br);border-radius:18px;
  background:var(--s1);padding:22px 24px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.ebModalCab{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}
.ebModalCab > em{font-style:normal;width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;color:#241603;background:linear-gradient(145deg,#FFC94F,#F0A11A)}
.ebModalCab > em svg{width:24px;height:24px}
.ebModalCab .t{flex:1;min-width:0}
.ebModalCab h3{margin:0;font-size:21px;font-weight:800;color:var(--t1);letter-spacing:-.02em}
.ebModalCab .t b{display:block;font-size:15px;font-weight:750;color:var(--t1);margin-top:5px}
.ebModalCab .t small{display:block;font-size:12.5px;color:var(--t3);margin-top:3px}
.ebFechar{width:34px;height:34px;flex:0 0 34px;border:0;border-radius:10px;background:var(--s3);color:var(--t2);
  font:inherit;font-size:17px;cursor:pointer}
.ebFechar:hover{background:var(--s2);color:var(--t1)}
.ebEnunciado{display:flex;gap:12px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  padding:13px 15px;margin-bottom:18px}
.ebEnunciado svg{width:17px;height:17px;color:var(--t3);flex:0 0 17px;margin-top:2px}
.ebEnunciado p{margin:0;font-size:13.5px;color:var(--t1);line-height:1.5}
.ebEnunciado p small{display:block;font-size:12px;color:var(--t3);margin-top:5px}
.ebPasso{display:flex;align-items:flex-start;gap:11px;margin-bottom:12px}
.ebPasso > i{font-style:normal;width:26px;height:26px;flex:0 0 26px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;background:var(--ouro);color:#241603;font-size:12.5px;font-weight:800}
.ebPasso .t{flex:1;min-width:0}
.ebPasso b{display:block;font-size:14.5px;font-weight:800;color:var(--t1)}
.ebPasso small{display:block;font-size:12.5px;color:var(--t3);margin-top:3px;line-height:1.45}
.ebTudoP{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--t2);cursor:pointer;
  white-space:nowrap}
.ebTudoP input{width:16px;height:16px;accent-color:var(--ouro);cursor:pointer}
.ebTurmas{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}
.ebTurma{display:flex;align-items:center;gap:11px;border:1px solid var(--br);border-radius:12px;background:var(--s3);
  padding:11px 13px;cursor:pointer}
.ebTurma input{width:18px;height:18px;accent-color:var(--ouro);cursor:pointer;flex:0 0 18px}
.ebTurma svg{width:17px;height:17px;color:var(--t3)}
.ebTurma .t{flex:1;min-width:0}
.ebTurma b{display:block;font-size:13px;font-weight:750;color:var(--t1);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.ebTurma small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.ebTurma:has(input:checked){border-color:var(--ouro);background:rgba(255,184,46,.08)}
.ebBuscaAl{position:relative;margin-bottom:10px}
.ebBuscaAl svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--t3)}
.ebBuscaAl input{width:100%;height:42px;border:1px solid var(--br);border-radius:11px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:13px;padding:0 12px 0 34px}
.ebAlunos{max-height:210px;overflow:auto;border:1px solid var(--br);border-radius:12px}
.ebAl{display:flex;align-items:center;gap:11px;padding:9px 12px;border-bottom:1px solid var(--br);cursor:pointer}
.ebAl:last-child{border-bottom:0}
.ebAl input{width:17px;height:17px;accent-color:var(--ouro);cursor:pointer;flex:0 0 17px}
.ebAl .foto{width:30px;height:30px;flex:0 0 30px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--t2)}
.ebAl .foto img{width:100%;height:100%;object-fit:cover}
.ebAl .nm{flex:1 1 130px;min-width:0;font-size:13px;font-weight:700;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.ebAl .nv{font-size:10.5px;font-weight:800;color:var(--t2);border:1px solid var(--br);border-radius:6px;
  padding:2px 7px}
.ebAl .ml{flex:1 1 150px;min-width:0;font-size:12px;color:var(--t3);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.ebAl .tm{font-size:12px;color:var(--t3);white-space:nowrap}
.ebAl[hidden]{display:none!important}
.ebModalPe{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.ebAgendar{display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 16px;border-radius:11px;
  border:1px solid var(--br);background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;font-weight:750;
  cursor:pointer}
.ebAgendar svg{width:16px;height:16px;color:var(--t3)}
.ebAgendar:hover{border-color:var(--ouro);color:var(--ouro)}
.ebQuando{margin-left:auto}
.ebQuando[hidden]{display:none}
.ebCancelar{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 22px;
  border-radius:11px;border:1px solid var(--br);background:transparent;color:var(--t1);font:inherit;
  font-size:13px;font-weight:750;cursor:pointer}
.ebOk{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:46px;padding:0 24px;
  border-radius:11px;border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;
  font-size:13.5px;font-weight:800;cursor:pointer}
.ebOk svg{width:16px;height:16px}
@media (max-width:1180px){ .ebCorpo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:760px){ .ebTurmas{grid-template-columns:1fr} .ebTopo > img.fundo{width:100%;opacity:.25} }
/* P448 (mockup dela): o assistente "Atribuir Homework". */
.ahVoltar{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--t2);
  text-decoration:none;margin-bottom:12px}
.ahVoltar:hover{color:var(--ouro)}
.ahTopo{position:relative;display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px;
  border-radius:18px;overflow:hidden;padding:20px 22px;padding-right:26%;min-height:116px;border:1px solid var(--br)}
.ahTopo > img{position:absolute;right:0;top:0;width:58%;height:100%;object-fit:cover}
.ahTopo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#06131C 0%,#06131C 33%,rgba(6,19,28,.95) 50%,rgba(6,19,28,.78) 66%,rgba(6,19,28,.2) 88%,rgba(6,19,28,.05) 100%)}
.ahTopo > em{position:relative;z-index:2;font-style:normal;width:52px;height:52px;flex:0 0 52px;border-radius:15px;
  display:flex;align-items:center;justify-content:center;color:#241603;
  background:linear-gradient(145deg,#FFC94F,#F0A11A);box-shadow:0 0 24px rgba(255,184,46,.3)}
.ahTopo > em svg{width:26px;height:26px}
.ahTopoTxt{position:relative;z-index:2;flex:1 1 280px;min-width:0}
.ahTopoTxt h1{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.ahTopoTxt p{margin:6px 0 0;font-size:13.5px;color:var(--t2)}
.ahFrase{position:relative;z-index:2;flex:0 1 230px;min-width:180px}
.ahFrase p{margin:0;font-family:Georgia,serif;font-style:italic;font-size:15.5px;line-height:1.35;color:#fff}
.ahFrase i{display:block;width:30px;height:3px;border-radius:2px;background:var(--ouro);margin-top:10px}
/* trilha dos passos */
.ahPassos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border:1px solid var(--br);
  border-radius:14px;background:var(--s1);padding:14px 16px;margin-bottom:16px}
.ahPasso{display:flex;align-items:center;gap:11px;border:0;background:transparent;font:inherit;text-align:left;
  cursor:pointer;padding:0;color:var(--t3)}
.ahPasso i{font-style:normal;width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;border:1px solid var(--br);background:var(--s3);font-size:13px;
  font-weight:800;color:var(--t3)}
.ahPasso span{font-size:13px;font-weight:750}
.ahPasso.on i{background:var(--ouro);border-color:var(--ouro);color:#241603}
.ahPasso.on span{color:var(--ouro)}
.ahPasso.ok i{background:rgba(61,214,140,.18);border-color:rgba(61,214,140,.5);color:#3DD68C}
.ahPasso.ok span{color:var(--t2)}
/* etapa */
.ahEtapa[hidden]{display:none}
.ahCab{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.ahCab > em{font-style:normal;font-size:22px}
.ahCabTxt{flex:1 1 240px;min-width:0}
.ahCabTxt h2{margin:0;font-size:21px;font-weight:800;color:var(--t1);letter-spacing:-.02em}
.ahCabTxt p{margin:4px 0 0;font-size:13px;color:var(--t3)}
.ahBusca{position:relative;flex:0 1 280px;min-width:200px}
.ahBusca svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--t3)}
.ahBusca input{width:100%;height:44px;border:1px solid var(--br);border-radius:11px;background:var(--s1);
  color:var(--t1);font:inherit;font-size:13px;padding:0 12px 0 34px}
/* grade dos ebooks */
.ahEbooks{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:14px}
.ahEbook{position:relative;display:block;border:1px solid var(--br);border-radius:14px;background:var(--s1);
  padding:14px;cursor:pointer}
.ahEbook input{position:absolute;opacity:0;width:0;height:0;margin:0}
.ahEbook .marca{position:absolute;right:12px;top:12px;width:20px;height:20px;border-radius:50%;
  border:2px solid var(--br);background:var(--s3)}
.ahEbook:has(input:checked){border-color:var(--ouro);box-shadow:0 0 0 1px var(--ouro) inset}
.ahEbook:has(input:checked) .marca{border-color:var(--ouro);background:var(--ouro);
  box-shadow:inset 0 0 0 3px var(--s1)}
.ahEbook:hover{border-color:var(--t3)}
.ahCapa{width:100%;max-width:108px;aspect-ratio:3/4.1;border-radius:9px;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;margin:2px auto 12px;
  border:1px solid rgba(255,255,255,.08)}
.ahCapa img{width:100%;height:100%;object-fit:cover}
.ahCapa span{font-size:24px;font-weight:900;color:var(--t3)}
.ahEbook b{display:block;font-size:13.5px;font-weight:800;color:var(--t1)}
.ahEbook small{display:block;font-size:12.5px;color:var(--t3);margin-top:3px;line-height:1.35}
.ahNivel{display:inline-block;margin-top:9px;font-size:10.5px;font-weight:800;border-radius:7px;padding:4px 9px;
  border:1px solid var(--br);color:var(--t2);background:var(--s3)}
.ahEbook[hidden]{display:none!important}
/* formularios */
.ahCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:18px 20px}
.ahLinha{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.ahCampo{display:block;margin-bottom:14px}
.ahCampo > span{display:block;font-size:11.5px;font-weight:750;color:var(--t3);margin-bottom:6px}
.ahCampo input,.ahCampo select,.ahCampo textarea{width:100%;height:44px;border:1px solid var(--br);
  border-radius:11px;background:var(--s3);color:var(--t1);font:inherit;font-size:13.5px;padding:0 13px}
.ahCampo textarea{height:130px;padding:11px 13px;resize:vertical;line-height:1.55}
.ahTipos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ahTipo{position:relative;display:flex;align-items:center;gap:10px;border:1px solid var(--br);border-radius:12px;
  background:var(--s3);padding:13px;cursor:pointer}
.ahTipo input{position:absolute;opacity:0;width:0;height:0}
.ahTipo svg{width:18px;height:18px;color:var(--t3)}
.ahTipo b{font-size:13px;font-weight:750;color:var(--t1)}
.ahTipo:has(input:checked){border-color:var(--ouro);background:rgba(255,184,46,.1)}
.ahTipo:has(input:checked) svg,.ahTipo:has(input:checked) b{color:var(--ouro)}
/* alunos */
.ahTurma{border:1px solid var(--br);border-radius:14px;background:var(--s1);margin-bottom:12px;overflow:hidden}
.ahTurmaCab{display:flex;align-items:center;gap:11px;padding:13px 16px;background:var(--s2);
  border-bottom:1px solid var(--br)}
.ahTurmaCab svg{width:16px;height:16px;color:var(--t3)}
.ahTurmaCab b{flex:1;min-width:0;font-size:14px;font-weight:800;color:var(--t1)}
.ahTurmaCab small{font-size:11.5px;color:var(--t3)}
.ahTudo{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:750;color:var(--t2);cursor:pointer}
.ahTudo input{width:16px;height:16px;accent-color:var(--ouro);cursor:pointer}
.ahAlunos{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;padding:12px 16px}
.ahAluno{display:flex;align-items:center;gap:10px;border:1px solid var(--br);border-radius:11px;background:var(--s3);
  padding:9px 11px;cursor:pointer}
.ahAluno input{width:16px;height:16px;accent-color:var(--ouro);cursor:pointer;flex:0 0 16px}
.ahAluno .foto{width:30px;height:30px;flex:0 0 30px;border-radius:50%;overflow:hidden;background:var(--s1);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--t2)}
.ahAluno .foto img{width:100%;height:100%;object-fit:cover}
.ahAluno span{flex:1;min-width:0;font-size:12.5px;font-weight:700;color:var(--t1);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.ahAluno u{font-size:10.5px;font-weight:800;color:var(--t3);text-decoration:none}
.ahAluno:has(input:checked){border-color:var(--ouro);background:rgba(255,184,46,.08)}
/* revisao */
.ahRev{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.ahRevIt{border:1px solid var(--br);border-radius:13px;background:var(--s3);padding:14px 16px}
.ahRevIt b{display:block;font-size:11.5px;font-weight:800;color:var(--t3);margin-bottom:6px}
.ahRevIt span{display:block;font-size:13.5px;color:var(--t1);line-height:1.5;white-space:pre-wrap}
/* rodape */
.ahPe{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}
.ahAviso{flex:1;min-width:200px;display:flex;align-items:center;gap:12px;border:1px solid var(--br);
  border-radius:13px;background:var(--s1);padding:13px 16px}
.ahAviso em{font-style:normal;width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;background:rgba(255,185,46,.14);color:#FFB92E;font-size:15px}
.ahAviso p{margin:0;font-size:12.5px;color:var(--t2);line-height:1.45}
.ahAviso p b{display:block;color:var(--t1);font-size:13px;margin-bottom:2px}
.ahBts{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ahGhost{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 20px;border-radius:12px;
  border:1px solid var(--br);background:var(--s3);color:var(--t1);font:inherit;font-size:13.5px;font-weight:750;
  cursor:pointer;text-decoration:none}
.ahGhost:hover{border-color:var(--ouro);color:var(--ouro)}
.ahGhost[hidden],.ahOuro[hidden]{display:none!important}
.ahOuro{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:48px;padding:0 30px;
  border-radius:12px;border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;
  font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 0 22px rgba(255,184,46,.24)}
.ahOuro:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.ahNota{width:100%;text-align:right;font-size:12px;color:var(--t3);margin:8px 0 0}
.ahVazio{border:1px dashed var(--br);border-radius:14px;padding:24px;text-align:center;color:var(--t3);
  font-size:13.5px;line-height:1.6}
@media (max-width:860px){ .ahPassos{grid-template-columns:1fr 1fr} .ahTipos{grid-template-columns:1fr}
  .ahTopo{padding-right:22px} .ahTopo > img{width:100%;opacity:.28} }
/* P447 (mockup dela): a tela Homeworks do professor. */
.hqTopo{position:relative;display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px;
  border-radius:18px;overflow:hidden;padding:20px 22px;padding-right:26%;min-height:118px;border:1px solid var(--br)}
.hqTopo > img{position:absolute;right:0;top:0;width:60%;height:100%;object-fit:cover}
.hqTopo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#06131C 0%,#06131C 33%,rgba(6,19,28,.95) 50%,rgba(6,19,28,.78) 66%,rgba(6,19,28,.2) 88%,rgba(6,19,28,.05) 100%)}
.hqTopo > em{position:relative;z-index:2;font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;color:#241603;
  background:linear-gradient(145deg,#FFC94F,#F0A11A);box-shadow:0 0 26px rgba(255,184,46,.3)}
.hqTopo > em svg{width:27px;height:27px}
.hqTopoTxt{position:relative;z-index:2;flex:1 1 280px;min-width:0}
.hqTopoTxt h1{margin:0;font-size:clamp(28px,3.2vw,38px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.hqTopoTxt p{margin:6px 0 0;font-size:13.5px;color:var(--t2)}
.hqFrase{position:relative;z-index:2;flex:0 1 240px;min-width:190px}
.hqFrase p{margin:0;font-family:Georgia,serif;font-style:italic;font-size:16px;line-height:1.35;color:#fff}
.hqFrase i{display:block;width:30px;height:3px;border-radius:2px;background:var(--ouro);margin-top:10px}
/* barra */
.hqBarra{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:16px}
.hqAba{display:inline-flex;align-items:center;height:42px;padding:0 20px;border-radius:12px;border:1px solid var(--br);
  background:var(--s1);color:var(--t3);font-size:13px;font-weight:750;text-decoration:none}
.hqAba:hover{color:var(--t1)}
.hqAba.on{border-color:var(--ouro);color:var(--ouro);background:rgba(255,184,46,.1)}
.hqAddBt{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;gap:9px;height:44px;
  text-decoration:none;
  padding:0 20px;border-radius:12px;border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;
  font-family:inherit;font-size:13.5px;font-weight:800;cursor:pointer;box-shadow:0 0 22px rgba(255,184,46,.24)}
.hqAddBt svg{width:17px;height:17px}
/* corpo */
.hqCorpo{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:16px;align-items:start}
.hqCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:4px 0 14px}
.hqRolo{overflow-x:auto}
.hqTab{width:100%;border-collapse:collapse;min-width:830px}
.hqTab th{text-align:left;font-size:11px;font-weight:800;color:var(--t3);letter-spacing:.03em;
  padding:14px 8px 11px;border-bottom:1px solid var(--br);white-space:nowrap}
.hqTab td{padding:13px 8px;border-bottom:1px solid var(--br);font-size:12.5px;color:var(--t2);vertical-align:top}
.hqTab tr:last-child td{border-bottom:0}
.hqQuem{display:flex;flex-direction:column;align-items:center;gap:6px;width:74px}
.hqQuem .foto{width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--s3);display:flex;
  align-items:center;justify-content:center;font-size:15px;font-weight:800;color:var(--t2)}
.hqQuem .foto img{width:100%;height:100%;object-fit:cover}
.hqQuem b{font-size:12.5px;font-weight:750;color:var(--t1);text-align:center;line-height:1.25}
.hqQuem small{font-size:10.5px;font-weight:800;color:var(--t2);border:1px solid var(--br);border-radius:6px;
  padding:2px 7px}
.hqAtiv{min-width:200px;max-width:260px}
.hqAtiv b{display:block;font-size:14px;font-weight:800;color:var(--t1)}
.hqAtiv p{margin:4px 0 0;font-size:12.5px;color:var(--t3);line-height:1.45}
.hqEntrega{margin-top:10px}
.hqEntrega audio{width:100%;max-width:200px;height:34px;border-radius:10px;display:block}
.hqEntrega video{width:100%;max-width:170px;border-radius:10px;display:block}
.hqEntrega .texto{border:1px solid var(--br);border-radius:10px;background:var(--s3);padding:10px 12px;
  font-size:12.5px;color:var(--t2);line-height:1.5;max-height:130px;overflow:auto;white-space:pre-wrap}
.hqArq{display:flex;align-items:center;gap:9px;border:1px solid var(--br);border-radius:10px;
  background:var(--s3);padding:9px 12px;color:var(--t1);font-size:12.5px;font-weight:700;text-decoration:none;
  max-width:200px}
.hqArq svg{width:15px;height:15px;color:var(--t3);flex:0 0 15px}
.hqArq span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hqArq:hover{border-color:var(--ouro);color:var(--ouro)}
.hqTipo{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--t2);white-space:nowrap}
.hqTipo svg{width:15px;height:15px;color:var(--t3)}
.hqTurma{display:inline-flex;align-items:flex-start;gap:6px;font-size:12px;color:#7CC4FF;line-height:1.3}
.hqTurma.vip{color:#FFB92E}
.hqTurma svg{width:15px;height:15px}
.hqStatus{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:750;border-radius:99px;
  padding:6px 10px;border:1px solid;line-height:1.25}
.hqStatus svg{width:13px;height:13px}
.hqStatus.pend{color:#E0575A;border-color:rgba(224,87,90,.45);background:rgba(224,87,90,.12)}
.hqStatus.atras{color:#E6A23C;border-color:rgba(230,162,60,.45);background:rgba(230,162,60,.12)}
.hqStatus.ok{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.1)}
.hqCorrigir{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 13px;
  border-radius:10px;border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;
  font-size:12.5px;font-weight:800;cursor:pointer;white-space:nowrap;text-decoration:none}
.hqMenu{position:relative;display:inline-block;vertical-align:middle;margin-left:6px}
.hqMenu > summary{list-style:none;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;
  justify-content:center;color:var(--t3);cursor:pointer;font-size:16px;font-weight:800}
.hqMenu > summary::-webkit-details-marker{display:none}
.hqMenu > summary:hover{background:var(--s3);color:var(--t1)}
.hqMenuCx{position:absolute;right:0;top:32px;z-index:9;min-width:190px;border:1px solid var(--br);border-radius:12px;
  background:var(--s2);padding:6px;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.hqMenuCx a{display:flex;align-items:center;height:36px;padding:0 11px;border-radius:9px;color:var(--t1);
  font-size:12.5px;font-weight:700;text-decoration:none}
.hqMenuCx a:hover{background:var(--s3);color:var(--ouro)}
.hqFb{margin-top:10px;border:1px solid var(--br);border-radius:11px;background:var(--s3);padding:11px 12px}
.hqFb > b{display:block;font-size:11.5px;font-weight:800;color:var(--t3);margin-bottom:6px}
.hqFb p{margin:0;font-size:12.5px;color:var(--t2);line-height:1.5;white-space:pre-wrap}
.hqFbForm textarea{width:100%;min-height:78px;border:1px solid var(--br);border-radius:10px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:12.5px;padding:9px 11px;resize:vertical;margin-bottom:9px}
.hqFbForm{margin-top:10px}
.hqPe{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px 2px}
.hqPe .conta{flex:1;min-width:150px;font-size:12px;color:var(--t3);text-align:right}
.hqLote{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:10px;
  border:1px solid var(--br);background:var(--s3);color:var(--t1);font:inherit;font-size:12.5px;font-weight:750;
  cursor:pointer}
.hqLote:hover{border-color:var(--ouro);color:var(--ouro)}
.hqChk{width:17px;height:17px;accent-color:var(--ouro);cursor:pointer}
/* lado */
.hqLado{display:flex;flex-direction:column;gap:14px}
.hqLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:16px 18px}
.hqLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.hqLadoCab svg{width:17px;height:17px;color:var(--t3)}
.hqLadoCab b{flex:1;min-width:0;font-size:14.5px;font-weight:800;color:var(--t1)}
.hqLadoCab a{flex:0 0 auto;font-size:11.5px;font-weight:700;color:var(--t3);text-decoration:none;
  border-bottom:1px solid var(--br);white-space:nowrap}
.hqLadoCab a:hover{color:var(--ouro);border-color:var(--ouro)}
.hqNums{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hqNum{display:flex;align-items:center;gap:10px;border:1px solid var(--br);border-radius:12px;padding:11px 12px}
.hqNum i{font-style:normal;width:26px;height:26px;flex:0 0 26px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;color:#fff;background:var(--c)}
.hqNum i svg{width:14px;height:14px}
.hqNum b{display:block;font-size:19px;font-weight:900;color:var(--t1);line-height:1}
.hqNum small{display:block;font-size:11px;color:var(--t3);margin-top:3px}
.hqCampo{display:block;margin-bottom:12px}
.hqCampo > span{display:block;font-size:11.5px;font-weight:750;color:var(--t3);margin-bottom:6px}
.hqCampo input,.hqCampo select,.hqCampo textarea{width:100%;height:42px;border:1px solid var(--br);
  border-radius:10px;background:var(--s3);color:var(--t1);font:inherit;font-size:13px;padding:0 12px}
.hqCampo textarea{height:86px;padding:9px 12px;resize:vertical}
.hqEnviar{width:100%;height:44px;border:0;border-radius:11px;background:linear-gradient(180deg,#FFC94F,#F0A11A);
  color:#241603;font:inherit;font-size:13.5px;font-weight:800;cursor:pointer}
.hqDica{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:16px;
  background:var(--s1);padding:16px 18px}
.hqDica em{font-style:normal;width:42px;height:42px;flex:0 0 42px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;font-size:19px;background:rgba(255,185,46,.12);
  border:1px solid rgba(255,185,46,.3)}
.hqDica b{display:block;font-size:14px;font-weight:800;color:var(--t1)}
.hqDica small{display:block;font-size:12.5px;color:var(--t3);margin-top:6px;line-height:1.5}
.hqVazio{padding:26px 18px;text-align:center;color:var(--t3);font-size:13.5px;line-height:1.6}
.hqAddCx[hidden]{display:none}
@media (max-width:1180px){ .hqCorpo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:980px){ .hqTopo > img{width:100%;opacity:.28} .hqTopo{padding-right:22px} }
.viTopo{position:relative;display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px;
  border-radius:18px;overflow:hidden;padding:20px 22px;padding-right:26%;min-height:120px;border:1px solid var(--br)}
.viTopo > img{position:absolute;right:0;top:0;width:62%;height:100%;object-fit:cover}
.viTopo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#06131C 0%,#06131C 33%,rgba(6,19,28,.95) 50%,rgba(6,19,28,.8) 66%,rgba(6,19,28,.2) 88%,rgba(6,19,28,.05) 100%)}
.viTopo > em{position:relative;z-index:2;font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;color:#241603;
  background:linear-gradient(145deg,#FFC94F,#F0A11A);box-shadow:0 0 26px rgba(255,184,46,.32)}
.viTopo > em svg{width:28px;height:28px}
.viTopoTxt{position:relative;z-index:2;flex:1 1 300px;min-width:0}
.viTopoTxt h1{margin:0;font-size:clamp(28px,3.2vw,38px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.viTopoTxt p{margin:6px 0 0;font-size:13.5px;color:var(--t2)}
.viFrase{position:relative;z-index:2;flex:0 1 260px;min-width:200px}
.viFrase p{margin:0;font-family:Georgia,serif;font-style:italic;font-size:16px;line-height:1.35;color:#fff}
.viFrase i{display:block;width:30px;height:3px;border-radius:2px;background:var(--ouro);margin-top:10px}
/* barra de abas */
.viBarra{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:16px}
.viAba{display:inline-flex;align-items:center;height:42px;padding:0 20px;border-radius:12px;border:1px solid var(--br);
  background:var(--s1);color:var(--t3);font-size:13px;font-weight:750;text-decoration:none}
.viAba:hover{color:var(--t1)}
.viAba.on{border-color:var(--ouro);color:var(--ouro);background:rgba(255,184,46,.1)}
.viAddBt{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;gap:9px;height:44px;
  padding:0 20px;border-radius:12px;border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;
  font-family:inherit;font-size:13.5px;font-weight:800;cursor:pointer;box-shadow:0 0 22px rgba(255,184,46,.24)}
.viAddBt svg{width:17px;height:17px}
/* corpo */
.viCorpo{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:16px;align-items:start}
.viCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:16px 18px;margin-bottom:14px}
.viCard.off{opacity:.62}
.viLinha{display:grid;grid-template-columns:auto minmax(0,1.5fr) auto minmax(190px,1fr) auto auto;gap:14px;
  align-items:center}
.viFoto{width:82px;height:82px;flex:0 0 82px;border-radius:14px;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:27px;font-weight:800;color:var(--t2)}
.viFoto img{width:100%;height:100%;object-fit:cover}
.viQuem{min-width:0}
.viQuem .nome{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.viQuem h2{margin:0;font-size:19px;font-weight:800;color:var(--t1);letter-spacing:-.02em}
.viNivel{font-size:11.5px;font-weight:800;color:var(--t1);border:1px solid var(--br);border-radius:8px;padding:3px 10px}
.viQuem .mail{display:block;font-size:12.5px;color:var(--t3);margin-top:3px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.viQuem small{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--t2);margin-top:9px}
.viQuem small svg{width:14px;height:14px;color:var(--t3);flex:0 0 14px}
.viQuem small b{font-weight:750;color:var(--t3)}
.viAnel{text-align:center;width:120px;flex:0 0 120px}
.viAnel svg{display:block;margin:0 auto}
.viAnel .val{font-size:15px;font-weight:800;fill:var(--t1)}
.viAnel > b{display:block;font-size:11.5px;font-weight:700;color:var(--t3);margin-top:6px;line-height:1.3}
.viAnel > a{display:inline-block;font-size:11.5px;font-weight:750;color:var(--t2);text-decoration:none;
  margin-top:5px;border-bottom:1px solid var(--br)}
.viAnel > a:hover{color:var(--ouro);border-color:var(--ouro)}
.viProx{min-width:0}
.viProx > b{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--t3)}
.viProx > b svg{width:13px;height:13px}
.viProx .q{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:750;color:var(--t1);margin-top:6px;
  white-space:nowrap}
.viProx .q svg{width:15px;height:15px;color:var(--t3);flex:0 0 15px}
.viProx .sala{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--t2);margin-top:7px}
.viProx .sala i{width:8px;height:8px;border-radius:50%;background:#3DD68C;flex:0 0 8px}
.viBts{display:flex;flex-direction:column;gap:9px;min-width:158px}
.viBt{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:42px;padding:0 16px;
  border-radius:11px;border:1px solid var(--br);background:var(--s3);color:var(--t1);font-size:12.5px;
  font-weight:700;text-decoration:none;white-space:nowrap}
.viBt svg{width:15px;height:15px;color:var(--t3)}
.viBt:hover{border-color:var(--ouro);color:var(--ouro)}
.viBt:hover svg{color:var(--ouro)}
.viBt.ouro{border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font-weight:800}
.viBt.ouro svg{color:#241603}
.viBt.ouro:hover{color:#241603}
.viBt.off{opacity:.45;pointer-events:none}
.viMenu{position:relative}
.viMenu > summary{list-style:none;width:30px;height:30px;border-radius:8px;display:flex;align-items:center;
  justify-content:center;color:var(--t3);cursor:pointer;font-size:17px;font-weight:800}
.viMenu > summary::-webkit-details-marker{display:none}
.viMenu > summary:hover{background:var(--s3);color:var(--t1)}
.viMenuCx{position:absolute;right:0;top:34px;z-index:9;min-width:200px;border:1px solid var(--br);border-radius:12px;
  background:var(--s2);padding:6px;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.viMenuCx a,.viMenuCx button{display:flex;align-items:center;width:100%;height:36px;padding:0 11px;border:0;
  border-radius:9px;background:transparent;color:var(--t1);font:inherit;font-size:12.5px;font-weight:700;
  text-decoration:none;cursor:pointer;text-align:left}
.viMenuCx a:hover,.viMenuCx button:hover{background:var(--s3);color:var(--ouro)}
.viMenuCx form{margin:0}
/* lado */
.viLado{display:flex;flex-direction:column;gap:14px}
.viLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:16px 18px}
.viLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.viLadoCab svg{width:17px;height:17px;color:var(--t3)}
.viLadoCab b{flex:1;min-width:0;font-size:14.5px;font-weight:800;color:var(--t1)}
.viResumo{display:flex;flex-direction:column;gap:11px}
.viResumoIt{display:flex;align-items:center;gap:11px}
.viResumoIt i{font-style:normal;width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:var(--c);font-size:14px}
.viResumoIt i svg{width:15px;height:15px}
.viResumoIt span{font-size:13px;color:var(--t2)}
.viResumoIt span b{color:var(--t1);font-weight:800}
.viLinks{display:flex;flex-direction:column;gap:8px}
.viLink{display:flex;align-items:center;gap:10px;height:42px;padding:0 13px;border:1px solid var(--br);
  border-radius:11px;color:var(--t1);font-size:12.5px;font-weight:700;text-decoration:none;background:var(--s3)}
.viLink svg{width:16px;height:16px;color:var(--t3);flex:0 0 16px}
.viLink:hover{border-color:var(--ouro);color:var(--ouro)}
.viLink:hover svg{color:var(--ouro)}
.viMot{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:16px;
  background:var(--s1);padding:16px 18px}
.viMot em{font-style:normal;width:42px;height:42px;flex:0 0 42px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;color:#FFB92E;background:rgba(255,185,46,.12);
  border:1px solid rgba(255,185,46,.3)}
.viMot em svg{width:20px;height:20px}
.viMot b{display:block;font-size:14px;font-weight:800;color:var(--t1);line-height:1.35}
.viMot small{display:block;font-size:12.5px;color:var(--t3);margin-top:6px;line-height:1.5}
.viCriaCx[hidden]{display:none}
.viCampo{display:block;margin-bottom:12px}
.viCampo > span{display:block;font-size:11.5px;font-weight:750;color:var(--t3);margin-bottom:6px}
.viCampo input,.viCampo select{width:100%;height:42px;border:1px solid var(--br);border-radius:10px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:13px;padding:0 12px}
.viEnviar{width:100%;height:44px;border:0;border-radius:11px;background:linear-gradient(180deg,#FFC94F,#F0A11A);
  color:#241603;font:inherit;font-size:13.5px;font-weight:800;cursor:pointer}
.viVazio{border:1px dashed var(--br);border-radius:16px;padding:28px 22px;text-align:center;color:var(--t3);
  font-size:13.5px;line-height:1.6}
@media (max-width:1180px){ .viCorpo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:980px){ .viLinha{grid-template-columns:auto minmax(0,1fr) auto;gap:14px}
  .viProx,.viBts{grid-column:1 / -1} .viBts{flex-direction:row;flex-wrap:wrap}
  .viTopo > img{width:100%;opacity:.3} }
/* ---- 10/2026: telas da turma do professor (dentro da turma, etapa, homework
   da semana) no visual da Aulas VIP. Prefixo tp. ---- */
.tpTopo{position:relative;display:flex;align-items:flex-start;gap:16px;margin-bottom:16px;border-radius:18px;
  overflow:hidden;padding:22px 24px;padding-right:30%;min-height:130px;border:1px solid var(--br);background:var(--s1)}
.tpTopo > img{position:absolute;right:0;top:0;width:62%;height:100%;object-fit:cover}
.tpTopo::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,#06131C 0%,#06131C 33%,rgba(6,19,28,.95) 50%,rgba(6,19,28,.8) 66%,rgba(6,19,28,.2) 88%,rgba(6,19,28,.05) 100%)}
.tpTopo > em{position:relative;z-index:2;font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;color:#241603;
  background:linear-gradient(145deg,#FFC94F,#F0A11A);box-shadow:0 0 26px rgba(255,184,46,.32)}
.tpTopo > em svg{width:28px;height:28px}
.tpTopoTxt{position:relative;z-index:3;flex:1 1 300px;min-width:0}
.tpTopoTxt > small{display:block;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ouro)}
.tpTopoTxt h1,.tpTopoTxt h2{margin:4px 0 0;font-size:clamp(24px,2.8vw,34px);font-weight:800;color:var(--t1);letter-spacing:-.03em;line-height:1.15}
.tpTopoTxt > p{margin:8px 0 0;font-size:13.5px;line-height:1.55;color:var(--t2)}
.tpCorpo{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}
.tpPrinc{min-width:0}
.tpCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:18px 20px;margin-bottom:14px}
.fbLemb{border:2px solid #FFB82E;border-radius:14px;background:rgba(255,184,46,.12);box-shadow:0 0 0 3px rgba(255,184,46,.14);margin:12px 0 14px}
.fbLemb > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px}
.fbLemb > summary::-webkit-details-marker{display:none}
.fbLembTxt{flex:1 1 220px;font-size:15.5px;line-height:1.45;color:var(--t1)}
/* Mesmo estilo do .tpBt.ouro ("Abrir link") — Tayla, 09/10/2026. */
.fbLembBt{display:inline-flex;align-items:center;min-height:34px;padding:0 16px;border-radius:999px;border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font-size:13px;font-weight:800;white-space:nowrap}
.fbLembBt .f{display:none} .fbLemb[open] .fbLembBt .a{display:none} .fbLemb[open] .fbLembBt .f{display:inline}
.fbLembCx{padding:0 14px 14px;border-top:1px solid rgba(255,184,46,.25)}
.fbLembCx > small{display:block;margin-top:10px;color:var(--t3);font-size:12px}
.fbLembCx h4{margin:12px 0 6px;font-size:13px;color:var(--ouro)}
.fbLembCx ol{margin:0;padding-left:20px;font-size:13.5px;line-height:1.55;color:var(--t2)}
.fbLembCx li{margin:3px 0}
.tpLado{display:flex;flex-direction:column;gap:14px;min-width:0}
.tpLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:16px 18px}
.tpCab{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.tpCab > i{font-style:normal;width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:flex;align-items:center;
  justify-content:center;color:#FFB92E;background:rgba(255,185,46,.12);border:1px solid rgba(255,185,46,.3)}
.tpCab > i svg{width:17px;height:17px}
.tpCab > b{flex:1;min-width:0;font-size:16px;font-weight:800;color:var(--t1)}
.tpTxt{margin:0 0 10px;font-size:13.5px;line-height:1.55;color:var(--t2)}
.tpTxt a{color:var(--ouro)}
.tpMudo{color:var(--t3);font-size:12.5px}
.tpSub{margin:0 0 8px;font-size:15px;font-weight:800;color:var(--t1)}
.tpLinha{border:0;border-top:1px solid var(--br);margin:20px 0}
.tpLinkMeet{display:flex;align-items:center;gap:8px;color:var(--t1)}
.tpLinkMeet svg{width:15px;height:15px;color:var(--t3);flex:0 0 15px}
.tpLinkMeet a{word-break:break-all}
.tpAcoes{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tpAcoes form{margin:0}
.tpBt{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:0 16px;
  border-radius:11px;border:1px solid var(--br);background:var(--s3);color:var(--t1);font:inherit;font-size:13px;
  font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap}
.tpBt svg{width:15px;height:15px;color:var(--t3);flex:0 0 15px}
.tpBt:hover{border-color:var(--ouro);color:var(--ouro)}
.tpBt:hover svg{color:var(--ouro)}
.tpBt.ouro{border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font-weight:800;
  box-shadow:0 0 22px rgba(255,184,46,.2)}
.tpBt.ouro svg{color:#241603}
.tpBt.ouro:hover{color:#241603}
.tpBtPeq{min-height:34px;padding:0 11px;font-size:12px;border-radius:9px}
.tpBtPerigo:hover{border-color:#E0575A;color:#E0575A}
.tpBtPerigo:hover svg{color:#E0575A}
.tpForm label.tpRot,.tpRot{display:block;font-size:11.5px;font-weight:750;color:var(--t3);margin:0 0 6px}
.tpForm input:not([type=checkbox]):not([type=hidden]),.tpForm select,.tpForm textarea{width:100%;border:1px solid var(--br);
  border-radius:10px;background:var(--s3);color:var(--t1);font:inherit;font-size:13px;padding:10px 12px;box-sizing:border-box}
.tpForm select:not([multiple]),.tpForm input:not([type=checkbox]):not([type=hidden]){height:42px;padding:0 12px}
.tpForm textarea{min-height:84px;resize:vertical;line-height:1.5}
.tpForm select[multiple]{padding:6px}
.tpDias{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.tpDia{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--br);border-radius:10px;
  background:var(--s3);color:var(--t1);font-size:12.5px;font-weight:700;cursor:pointer}
.tpDia input{width:auto;accent-color:var(--ouro)}
.tpLinhaCampos{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.tpForm .tpLinhaCampos select{width:auto;min-width:96px}
.tpMarca{display:flex;gap:9px;align-items:flex-start;margin:10px 0;font-size:13px;color:var(--t1);line-height:1.45}
.tpMarca input{width:auto;margin-top:3px;accent-color:var(--ouro)}
.tpAviso{margin:8px 0 12px;padding:10px 13px;border-radius:11px;border:1px solid rgba(255,185,46,.4);
  background:rgba(255,185,46,.08);font-size:13px;color:var(--t1)}
.tpPrevia{white-space:pre-wrap;border:1px solid var(--br);border-radius:11px;padding:12px 14px;font-size:13.5px;
  line-height:1.55;margin-bottom:14px;background:var(--s3);color:var(--t1)}
.tpQuem{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--br);font-size:13px;color:var(--t1)}
.tpAulas{display:flex;flex-direction:column;gap:10px}
.tpAula{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--br);border-radius:13px;background:var(--s3)}
.tpAula > i{font-style:normal;width:36px;height:36px;flex:0 0 36px;border-radius:10px;display:flex;align-items:center;
  justify-content:center;color:#FFB92E;background:rgba(255,185,46,.12)}
.tpAula > i svg{width:16px;height:16px}
.tpAulaTxt{flex:1;min-width:0}
.tpAulaTxt b{display:block;font-size:14px;color:var(--t1)}
.tpAulaTxt small{display:block;font-size:12px;color:var(--t3);margin-top:2px}
.tpAula form{margin:0}
/* Prazo do ebook (10/10/2026) */
.pzSelo{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:800;color:var(--c);border:1px solid var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);white-space:nowrap}
.pzBloco{margin-top:14px;padding-top:12px;border-top:1px solid var(--br)}
.pzLinhaForm{margin-top:14px;padding-top:12px;border-top:1px solid var(--br)}
.pzVencido{margin:10px 0;padding:12px 14px;border-radius:12px;border:1px solid rgba(224,87,90,.5);background:rgba(224,87,90,.08)}
.tpVazio{margin:0;padding:16px;border:1px dashed var(--br);border-radius:12px;text-align:center;color:var(--t3);font-size:13px;line-height:1.55}
.tpChatCab{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.tpChatCab > i{font-style:normal;width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:flex;align-items:center;
  justify-content:center;color:#241603;background:linear-gradient(145deg,#FFC94F,#F0A11A)}
.tpChatCab > i svg{width:17px;height:17px}
.tpChatCab > span{flex:1;min-width:0;font-size:15.5px;font-weight:800;color:var(--t1);line-height:1.3}
.tpChatCab > small{font-size:12px;color:var(--t3);white-space:nowrap}
.tpSelo{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;
  color:#241603;background:linear-gradient(180deg,#FFC94F,#F0A11A);vertical-align:middle}
.tpMsgs{display:flex;flex-direction:column;gap:10px;min-height:240px;max-height:50vh;overflow-y:auto;padding:10px;
  border:1px solid var(--br);border-radius:13px;background:var(--s3)}
.tpEscreve{display:flex;gap:10px;margin-top:12px}
.tpEscreve input{flex:1;min-width:0;height:44px;border:1px solid var(--br);border-radius:11px;background:var(--s3);
  color:var(--t1);font:inherit;font-size:13.5px;padding:0 14px}
.tpEnviar{height:44px;padding:0 20px;border:0;border-radius:11px;background:linear-gradient(180deg,#FFC94F,#F0A11A);
  color:#241603;font:inherit;font-size:13.5px;font-weight:800;cursor:pointer}
.tpEnviar:disabled{opacity:.6}
/* 10/10/2026: "Salvar na memorização" (frasesDaAula.js) no pé do balão do
   professor, à direita: pílula dourada com o cérebro. No computador o rótulo
   aparece ao lado no hover/foco (flutuando, sem empurrar o texto); no celular
   (sem hover) fica "Salvar" sempre visível, com área de toque maior. */
.grpMemo{position:relative;display:flex;align-items:center;gap:5px;width:max-content;margin:8px 0 -2px auto;padding:5px 8px;min-height:28px;
  border:1px solid rgba(255,184,46,.45);border-radius:999px;background:rgba(255,184,46,.1);color:var(--ouro,#FFB82E);
  font:inherit;font-size:12px;font-weight:700;line-height:1;cursor:pointer;transition:background .15s,border-color .15s}
.grpMemo svg{width:15px;height:15px;flex:0 0 15px}
.grpMemo .grpMemoTxt{position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:6px 10px;border-radius:8px;
  border:1px solid rgba(255,184,46,.45);background:#0B1D27;color:var(--ouro,#FFB82E);white-space:nowrap;
  box-shadow:0 6px 18px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .15s}
.grpMemo .grpMemoCurto{display:none}
.grpMemo:hover,.grpMemo:focus-visible{background:rgba(255,184,46,.2);border-color:var(--ouro,#FFB82E);outline:none}
.grpMemo:hover .grpMemoTxt,.grpMemo:focus-visible .grpMemoTxt{opacity:1}
.grpMemo:disabled{cursor:default}
@media (hover:none){ .grpMemo{min-height:34px;padding:7px 12px}
  .grpMemo .grpMemoTxt{display:none} .grpMemo .grpMemoCurto{display:inline} }
.tpMembro{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--br)}
.tpMembro:first-of-type{border-top:0}
.tpMembroQuem{display:flex;align-items:center;gap:10px;min-width:0;font-size:13.5px;font-weight:700;color:var(--t1)}
.tpMembroQuem > span{min-width:0;overflow-wrap:anywhere;line-height:1.3}
.tpMembroAcoes{display:flex;gap:6px;flex:0 0 auto}
.tpMembroAcoes form{margin:0}
.tpEtapas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tpEtapaBt{position:relative;display:flex;flex-direction:column;gap:3px;padding:12px 13px;border:1px solid var(--br);
  border-radius:12px;background:var(--s3);color:var(--t1);text-decoration:none;min-height:62px}
.tpEtapaBt b{font-size:14px;font-weight:800}
.tpEtapaBt small{font-size:11.5px;color:var(--t3)}
.tpEtapaBt em{position:absolute;top:9px;right:10px;font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;color:#241603;background:linear-gradient(180deg,#FFC94F,#F0A11A);border-radius:999px;padding:1px 7px}
.tpEtapaBt:hover{border-color:var(--ouro)}
.tpEtapaBt.feita small{color:#3DD68C;font-weight:700}
.tpEtapaBt.atual{border-color:var(--ouro);background:rgba(255,185,46,.1);box-shadow:0 0 0 1px rgba(255,185,46,.35) inset}
@media (max-width:560px){ .tpEtapas{grid-template-columns:repeat(2,minmax(0,1fr))} }
.tpVolta{color:var(--t2);font-size:13px;text-decoration:none}
.tpVolta:hover{color:var(--ouro)}
@media (max-width:1180px){ .tpCorpo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:980px){ .tpTopo{padding-right:22px} .tpTopo > img{width:100%;opacity:.28} }
@media (max-width:560px){ .tpTopo{flex-direction:column;gap:12px;padding:18px;min-height:0} .tpTopoTxt{flex:1 1 auto} .tpCard,.tpLadoCard{padding:16px}
  .tpAula{flex-wrap:wrap} .tpAula form,.tpAula > .tpBt{width:100%} .tpAula .tpBt{width:100%} .tpBt{white-space:normal;text-align:center} }
.mtTopo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.mtTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#3D8BFF,#7CC4FF);
  box-shadow:0 0 26px rgba(78,155,255,.3)}
.mtTopo > em svg{width:28px;height:28px}
.mtTopoTxt{flex:1 1 300px;min-width:0}
.mtTopoTxt h1{margin:0;font-size:clamp(28px,3.2vw,38px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.mtTopoTxt p{margin:6px 0 0;font-size:13.5px;color:var(--t2)}
.mtHero{position:relative;flex:1 1 330px;min-width:270px;min-height:100px;border-radius:16px;overflow:hidden;
  border:1px solid var(--br);display:flex;align-items:center;padding:16px 20px}
.mtHero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mtHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#0B0A08 0%,#0B0A08 46%,rgba(11,10,8,.9) 56%,rgba(11,10,8,.3) 78%,rgba(11,10,8,.06) 100%)}
.mtHeroTxt{position:relative;z-index:2;max-width:210px}
.mtHeroTxt p{margin:0;font-family:Georgia,serif;font-style:italic;font-size:16px;line-height:1.3;color:#fff}
.mtHeroTxt i{display:block;width:30px;height:3px;border-radius:2px;background:var(--ouro);margin-top:10px}
.mtCriar{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:52px;padding:0 24px;
  border-radius:13px;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font-size:14.5px;
  font-weight:800;text-decoration:none;white-space:nowrap;box-shadow:0 0 24px rgba(255,184,46,.26);border:0;
  font-family:inherit;cursor:pointer}
.mtCriar svg{width:18px;height:18px}
/* abas */
.mtAbas{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}
.mtAba{display:inline-flex;align-items:center;height:42px;padding:0 20px;border-radius:12px;border:1px solid var(--br);
  background:var(--s1);color:var(--t3);font-size:13px;font-weight:750;text-decoration:none}
.mtAba:hover{color:var(--t1)}
.mtAba.on{border-color:var(--ouro);color:var(--ouro);background:rgba(255,184,46,.1)}
/* corpo */
.mtCorpo{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:16px;align-items:start}
.mtCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:17px 19px;margin-bottom:16px}
.mtCard.off{opacity:.62}
.mtCab{display:grid;grid-template-columns:auto minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr) auto;gap:18px;
  align-items:flex-start}
.mtCaras{position:relative;width:132px;flex:0 0 132px;padding-bottom:16px}
.mtCaras .fila{display:flex}
.mtCaras .fila span{width:52px;height:52px;border-radius:50%;overflow:hidden;background:var(--s3);
  border:2px solid var(--s1);margin-right:-10px;display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:800;color:var(--t2)}
.mtCaras .fila span img{width:100%;height:100%;object-fit:cover}
.mtSelo{position:absolute;left:0;bottom:-4px;display:inline-flex;align-items:center;gap:5px;font-size:10.5px;
  font-weight:800;border-radius:99px;padding:4px 10px;border:1px solid;white-space:nowrap}
.mtSelo.trio{color:#C0A6FF;border-color:rgba(155,102,255,.5);background:rgba(155,102,255,.18)}
.mtSelo.grupo{color:#7CC4FF;border-color:rgba(78,155,255,.45);background:rgba(78,155,255,.15)}
.mtSelo.nativo{color:#3DD68C;border-color:rgba(61,214,140,.45);background:rgba(61,214,140,.15)}
.mtNome h2{margin:0;font-size:20px;font-weight:800;color:var(--t1);letter-spacing:-.02em}
.mtNome p{margin:4px 0 0;font-size:13.5px;color:var(--t2)}
.mtNome small{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--t3);margin-top:9px}
.mtNome small svg{width:14px;height:14px;flex:0 0 14px}
.mtQuando{display:flex;flex-direction:column;gap:8px}
.mtQuando span{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--t2)}
.mtQuando span svg{width:15px;height:15px;color:var(--t3);flex:0 0 15px}
.mtProg > b{display:block;font-size:12.5px;font-weight:750;color:var(--t3);margin-bottom:9px}
.mtProgBar{display:flex;align-items:center;gap:10px}
.mtProgBar .barra{flex:1;height:9px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.mtProgBar .barra i{display:block;height:100%;border-radius:99px;background:var(--c)}
.mtProgBar span{font-size:13px;font-weight:800;color:var(--t1)}
.mtProg small{display:block;font-size:12.5px;color:var(--t3);margin-top:10px}
.mtMenu{position:relative}
.mtMenu > summary{list-style:none;width:32px;height:32px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;color:var(--t3);cursor:pointer;font-size:17px;font-weight:800}
.mtMenu > summary::-webkit-details-marker{display:none}
.mtMenu > summary:hover{background:var(--s3);color:var(--t1)}
.mtMenuCx{position:absolute;right:0;top:36px;z-index:9;min-width:200px;border:1px solid var(--br);
  border-radius:12px;background:var(--s2);padding:6px;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.mtMenuCx a,.mtMenuCx button{display:flex;align-items:center;gap:9px;width:100%;height:38px;padding:0 11px;
  border:0;border-radius:9px;background:transparent;color:var(--t1);font:inherit;font-size:12.5px;
  font-weight:700;text-decoration:none;cursor:pointer;text-align:left}
.mtMenuCx a:hover,.mtMenuCx button:hover{background:var(--s3);color:var(--ouro)}
.mtMenuCx form{margin:0}
/* acoes */
.mtAcoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:16px}
.mtBt{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:46px;padding:0 14px;
  border-radius:11px;border:1px solid var(--br);background:var(--s3);color:var(--t1);font-size:13px;
  font-weight:700;text-decoration:none}
.mtBt svg{width:16px;height:16px;color:var(--t3)}
.mtBt:hover{border-color:var(--ouro);color:var(--ouro)}
.mtBt:hover svg{color:var(--ouro)}
.mtBt.ouro{border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font-weight:800}
.mtBt.ouro svg{color:#241603}
.mtBt.ouro:hover{color:#241603}
.mtBt.off{opacity:.45;pointer-events:none}
/* lado */
.mtLado{display:flex;flex-direction:column;gap:14px}
.mtLadoCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:16px 18px}
.mtLadoCab{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.mtLadoCab svg{width:17px;height:17px;color:var(--t3)}
.mtLadoCab b{flex:1;min-width:0;font-size:14.5px;font-weight:800;color:var(--t1)}
.mtLadoCab a{flex:0 0 auto;white-space:nowrap;font-size:11.5px;font-weight:700;color:var(--t3);
  text-decoration:none;border-bottom:1px solid var(--br)}
.mtLadoCab a:hover{color:var(--ouro);border-color:var(--ouro)}
.mtMesTopo{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:800;
  color:var(--t1);margin-bottom:10px}
.mtMesTopo a{color:var(--t3);text-decoration:none;padding:0 5px;font-size:15px}
.mtMesTopo a:hover{color:var(--ouro)}
.mtMesTopo b{flex:1;text-align:center}
.mtMini{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.mtMini i{font-style:normal;font-size:10px;font-weight:800;color:var(--t3);padding:3px 0}
.mtMini a,.mtMini span{position:relative;display:flex;align-items:center;justify-content:center;height:28px;
  border-radius:8px;font-size:11.5px;color:var(--t2);text-decoration:none}
.mtMini a:hover{background:var(--s3);color:var(--t1)}
.mtMini a.tem{color:var(--t1);font-weight:750}
.mtMini a.tem::after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--ouro)}
.mtMini a.hoje{background:var(--ouro);color:#241603;font-weight:800}
.mtMini a.hoje.tem::after{background:#241603}
.mtCampo{display:block;margin-bottom:12px}
.mtCampo > span{display:block;font-size:11.5px;font-weight:750;color:var(--t3);margin-bottom:6px}
.mtCampo input,.mtCampo select{width:100%;height:42px;border:1px solid var(--br);border-radius:10px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:13px;padding:0 12px}
.mtEnviar{width:100%;height:44px;border:0;border-radius:11px;background:linear-gradient(180deg,#FFC94F,#F0A11A);
  color:#241603;font:inherit;font-size:13.5px;font-weight:800;cursor:pointer}
.mtImpacto{display:flex;align-items:center;gap:13px;border:1px solid var(--br);border-radius:16px;
  background:var(--s1);padding:16px 18px}
.mtImpacto em{font-style:normal;width:46px;height:46px;flex:0 0 46px;border-radius:14px;display:flex;
  align-items:center;justify-content:center;color:#FFB92E;background:rgba(255,185,46,.12);
  border:1px solid rgba(255,185,46,.3)}
.mtImpacto em svg{width:21px;height:21px}
.mtImpacto > span{min-width:0}
.mtImpacto b{display:block;font-size:14.5px;font-weight:800;color:var(--t1);line-height:1.3}
.mtImpacto small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px;line-height:1.5}
.mtImpacto small b{display:inline;font-size:inherit}
.mtDica{display:flex;align-items:center;gap:12px;border:1px solid var(--br);border-radius:14px;background:var(--s1);
  padding:14px 18px;margin-top:4px}
.mtDica em{font-style:normal;font-size:18px}
.mtDica p{flex:1;min-width:0;margin:0;font-size:12.5px;color:var(--t2)}
.mtDica a{font-size:12.5px;font-weight:750;color:var(--ouro);text-decoration:none;white-space:nowrap}
.mtVazio{border:1px dashed var(--br);border-radius:16px;padding:28px 22px;text-align:center;color:var(--t3);
  font-size:13.5px;line-height:1.6}
.mtCriaCx[hidden]{display:none}
@media (max-width:1180px){ .mtCorpo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:900px){ .mtCab{grid-template-columns:1fr;gap:14px} .mtCaras{width:auto;flex:none} }
.alTopo{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.alTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#062;background:linear-gradient(145deg,#00E08A,#2FBF7C);
  box-shadow:0 0 26px rgba(0,224,138,.28)}
.alTopo > em svg{width:28px;height:28px}
.alTopoTxt{flex:1 1 260px;min-width:0}
.alTopoTxt h1{margin:0;font-size:clamp(28px,3.2vw,38px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.alTopoTxt p{margin:6px 0 0;font-size:13.5px;color:var(--t2)}
.alHero{position:relative;flex:1 1 400px;min-width:300px;min-height:104px;border-radius:16px;overflow:hidden;
  border:1px solid var(--br);display:flex;align-items:center;padding:16px 20px}
.alHero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.alHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#06131C 0%,#06131C 20%,rgba(6,19,28,.82) 33%,rgba(6,19,28,.3) 58%,rgba(6,19,28,.08) 100%)}
.alHeroTxt{position:relative;z-index:2;max-width:225px}
.alHeroTxt p{margin:0;font-family:Georgia,serif;font-style:italic;font-size:16.5px;line-height:1.35;color:#fff}
.alHeroTxt i{display:block;width:34px;height:3px;border-radius:2px;background:var(--ouro);margin-top:11px}
/* numeros */
.alNums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.alNum{display:flex;align-items:center;gap:13px;border:1px solid var(--br);border-radius:15px;background:var(--s1);
  padding:15px 17px}
.alNum > i{font-style:normal;width:46px;height:46px;flex:0 0 46px;border-radius:13px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:var(--ico);
  border:1px solid rgba(255,255,255,.2);box-shadow:0 0 20px var(--icoLuz)}
.alNum > i svg{width:22px;height:22px}
.alNum .t{min-width:0}
.alNum b{display:block;font-size:27px;font-weight:900;color:var(--t1);line-height:1;letter-spacing:-.02em}
.alNum small{display:block;font-size:12.5px;color:var(--t3);margin-top:5px}
.alNum .delta{display:block;font-size:11.5px;font-weight:750;color:#3DD68C;margin-top:7px}
.alNum .delta.baixo{color:#E0575A}
.alNum a{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:750;color:var(--t2);
  text-decoration:none;margin-top:7px;border-bottom:1px solid var(--br)}
.alNum a:hover{color:var(--ouro);border-color:var(--ouro)}
/* corpo */
.alCorpo{display:grid;grid-template-columns:minmax(0,1fr) 274px;gap:16px;align-items:start}
.alCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:16px 18px}
.alCab{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-bottom:14px}
.alCab > em{font-style:normal;width:36px;height:36px;flex:0 0 36px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#3D8BFF,#7CC4FF);
  box-shadow:0 0 18px rgba(78,155,255,.32)}
.alCab > em svg{width:18px;height:18px}
.alCab > b{flex:1;min-width:0;font-size:17px;font-weight:800;color:var(--t1);letter-spacing:-.015em}
.alBt{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;
  border-radius:11px;border:1px solid var(--br);background:var(--s3);color:var(--t1);font:inherit;
  font-size:12.5px;font-weight:750;text-decoration:none;cursor:pointer}
.alBt:hover{border-color:var(--ouro);color:var(--ouro)}
.alBt svg{width:16px;height:16px}
.alBt.ouro{border:0;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font-weight:800;
  box-shadow:0 0 20px rgba(255,184,46,.24)}
.alBt.ouro:hover{color:#241603}
/* tabela */
.alRolo{overflow-x:auto}
.alTab{width:100%;border-collapse:collapse;min-width:820px}
.alTab th{text-align:left;font-size:11.5px;font-weight:800;color:var(--t3);letter-spacing:.03em;padding:0 10px 10px;
  border-bottom:1px solid var(--br);white-space:nowrap}
.alTab th a{color:inherit;text-decoration:none}
.alTab th a:hover{color:var(--ouro)}
.alTab th i{font-style:normal;opacity:.45;margin-left:4px;font-size:10px}
.alTab th.on i{opacity:1;color:var(--ouro)}
.alTab td{padding:11px 10px;border-bottom:1px solid var(--br);font-size:13px;color:var(--t2);vertical-align:middle}
.alTab tr:last-child td{border-bottom:0}
.alTab tr:hover td{background:rgba(255,255,255,.018)}
.alQuem{display:flex;align-items:center;gap:11px;min-width:0}
.alQuem .foto{width:38px;height:38px;flex:0 0 38px;border-radius:50%;overflow:hidden;background:var(--s3);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--t2)}
.alQuem .foto img{width:100%;height:100%;object-fit:cover}
.alQuem > span:last-child{min-width:0}
.alQuem b{display:block;font-size:13.5px;font-weight:750;color:var(--t1);white-space:nowrap}
.alQuem small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px;max-width:200px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.alTipo{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;border-radius:99px;
  padding:4px 11px;border:1px solid;white-space:nowrap}
.alTipo.vip{color:#FFB92E;border-color:rgba(255,185,46,.5);background:rgba(255,185,46,.12)}
.alTipo.trio{color:#7CC4FF;border-color:rgba(78,155,255,.45);background:rgba(78,155,255,.12)}
.alTipo.turma{color:#E86FB0;border-color:rgba(232,111,176,.45);background:rgba(232,111,176,.12)}
.alNivel{font-size:11.5px;font-weight:800;color:var(--t1);border:1px solid var(--br);border-radius:8px;
  padding:3px 9px}
.alProg{display:flex;align-items:center;gap:10px;min-width:130px}
.alProg .barra{flex:1;height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.alProg .barra i{display:block;height:100%;border-radius:99px;background:var(--c)}
.alProg span{font-size:12px;font-weight:750;color:var(--t2);width:36px;text-align:right}
.alStatus{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:750;border-radius:99px;
  padding:5px 12px;border:1px solid;white-space:nowrap}
.alStatus i{width:7px;height:7px;border-radius:50%;background:currentColor}
.alStatus.ativo{color:#3DD68C;border-color:rgba(61,214,140,.4);background:rgba(61,214,140,.1)}
.alStatus.pausa{color:#E6A23C;border-color:rgba(230,162,60,.4);background:rgba(230,162,60,.1)}
.alStatus.atencao{color:#E0575A;border-color:rgba(224,87,90,.45);background:rgba(224,87,90,.12)}
.alStatus.inativo{color:#8FA3B8;border-color:var(--br);background:rgba(143,163,184,.1)}
.alVer{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 15px;border-radius:9px;
  border:1px solid var(--br);color:var(--t1);font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.alVer:hover{border-color:var(--ouro);color:var(--ouro)}
/* rodape da tabela */
.alPe{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.alPe .conta{flex:1;min-width:160px;font-size:12px;color:var(--t3)}
.alPag{display:flex;gap:6px;align-items:center;flex-wrap:wrap} /* auditoria 17/10: muitas páginas passavam da tela */
.alPag a,.alPag span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;
  padding:0 8px;border-radius:9px;border:1px solid var(--br);color:var(--t2);font-size:12.5px;font-weight:750;
  text-decoration:none}
.alPag a:hover{border-color:var(--ouro);color:var(--ouro)}
.alPag a.on{background:var(--ouro);border-color:var(--ouro);color:#241603}
.alPag span.off{opacity:.35}
.alPorPag{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t3)}
.alPorPag select{height:34px;border:1px solid var(--br);border-radius:9px;background:var(--s3);color:var(--t1);
  font:inherit;font-size:12.5px;padding:0 8px}
/* filtros */
.alLado{display:flex;flex-direction:column;gap:14px}
.alFiltroCab{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.alFiltroCab svg{width:17px;height:17px;color:var(--t3)}
.alFiltroCab b{flex:1;font-size:15px;font-weight:800;color:var(--t1)}
.alFiltroCab a{font-size:11.5px;font-weight:700;color:var(--t3);text-decoration:none;border-bottom:1px solid var(--br)}
.alFiltroCab a:hover{color:var(--ouro);border-color:var(--ouro)}
.alCampo{display:block;margin-bottom:13px}
.alCampo > span{display:block;font-size:11.5px;font-weight:750;color:var(--t3);margin-bottom:6px}
.alCampo input,.alCampo select{width:100%;height:42px;border:1px solid var(--br);border-radius:10px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:13px;padding:0 12px}
.alBusca{position:relative}
.alBusca svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--t3)}
.alBusca input{padding-left:34px}
.alCheques{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
.alCheque{display:flex;align-items:center;gap:8px;cursor:pointer;padding:3px 0}
.alCheque input{width:16px;height:16px;accent-color:var(--ouro);cursor:pointer;flex:0 0 16px}
.alCheque i{width:8px;height:8px;border-radius:50%;background:var(--c);flex:0 0 8px}
.alCheque span{font-size:12px;color:var(--t2)}
.alAcoes{display:flex;flex-direction:column;gap:9px;margin-top:4px}
.alEnviar{width:100%;height:44px;border:0;border-radius:11px;background:linear-gradient(180deg,#FFC94F,#F0A11A);
  color:#241603;font:inherit;font-size:13.5px;font-weight:800;cursor:pointer}
.alLimpar{width:100%;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ouro);
  border-radius:11px;color:var(--ouro);font-size:13px;font-weight:750;text-decoration:none}
.alFrase{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--br);border-radius:16px;
  background:var(--s1);padding:16px 18px}
.alFrase em{font-style:normal;width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:flex;
  align-items:center;justify-content:center;color:#FFB92E;background:rgba(255,185,46,.12);
  border:1px solid rgba(255,185,46,.3)}
.alFrase em svg{width:19px;height:19px}
.alFrase b{display:block;font-size:13.5px;font-weight:800;color:var(--t1);line-height:1.35}
.alFrase small{display:block;font-size:12px;color:var(--t3);margin-top:6px;line-height:1.5}
.alVazio{font-size:13px;color:var(--t3);line-height:1.6;padding:8px 0}
.alAviso{font-size:11.5px;color:var(--t3);line-height:1.5;margin:12px 0 0}
.alAdd[hidden]{display:none}
@media (max-width:1180px){ .alNums{grid-template-columns:1fr 1fr} .alCorpo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:640px){ .alNums{grid-template-columns:1fr} }
.agTopo{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.agTopo > em{font-style:normal;width:54px;height:54px;flex:0 0 54px;border-radius:16px;display:flex;
  align-items:center;justify-content:center;color:#241603;background:linear-gradient(145deg,#FFC94F,#F0A11A);
  box-shadow:0 0 26px rgba(255,184,46,.3)}
.agTopo > em svg{width:28px;height:28px}
.agTopoTxt{flex:1 1 240px;min-width:0}
.agTopoTxt h1{margin:0;font-size:clamp(28px,3.2vw,38px);font-weight:800;color:var(--t1);letter-spacing:-.03em}
.agTopoTxt p{margin:6px 0 0;font-size:13.5px;color:var(--t2)}
.agHero{position:relative;flex:1 1 380px;min-width:300px;min-height:104px;border-radius:16px;overflow:hidden;
  border:1px solid var(--br);display:flex;align-items:center;gap:14px;padding:16px 18px}
.agHero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.agHero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(6,16,24,.94) 0%,rgba(6,16,24,.86) 46%,rgba(6,16,24,.5) 74%,rgba(6,16,24,.72) 100%)}
.agHero p{position:relative;z-index:2;flex:1;min-width:0;margin:0;font-family:Georgia,serif;font-style:italic;
  font-size:17px;line-height:1.35;color:#fff}
.agHeroBt{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;
  border-radius:11px;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font-size:13.5px;
  font-weight:800;text-decoration:none;white-space:nowrap;box-shadow:0 0 22px rgba(255,184,46,.3)}
.agHeroBt svg{width:17px;height:17px}
.agCorpo{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:16px;align-items:start}
.agCard{border:1px solid var(--br);border-radius:16px;background:var(--s1);padding:16px 18px}
/* barra de controles */
.agBarra{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}
.agModo{display:flex;gap:4px;border:1px solid var(--br);border-radius:11px;background:var(--s1);padding:4px}
.agModo a{display:inline-flex;align-items:center;height:32px;padding:0 18px;border-radius:8px;font-size:12.5px;
  font-weight:750;color:var(--t3);text-decoration:none}
.agModo a.on{border:1px solid var(--ouro);color:var(--ouro);background:rgba(255,184,46,.1)}
.agBt{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 16px;border-radius:11px;
  border:1px solid var(--br);background:var(--s1);color:var(--t1);font-size:12.5px;font-weight:750;
  text-decoration:none}
.agBt:hover{border-color:var(--ouro);color:var(--ouro)}
.agBt.seta{width:40px;padding:0;font-size:17px}
.agPeriodo{margin-left:6px;font-size:13.5px;font-weight:700;color:var(--t2)}
/* grade da semana */
.agGrade{display:grid;grid-template-columns:58px repeat(7,minmax(0,1fr));border:1px solid var(--br);
  border-radius:14px;overflow:hidden;background:var(--s1)}
.agCabCanto{border-bottom:1px solid var(--br);background:var(--s2)}
.agCab{border-bottom:1px solid var(--br);border-left:1px solid var(--br);background:var(--s2);text-align:center;
  padding:9px 4px}
.agCab b{display:block;font-size:11.5px;font-weight:800;letter-spacing:.06em;color:var(--t3)}
.agCab small{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}
.agCab.hoje b,.agCab.hoje small{color:var(--ouro)}
.agHoras{position:relative;height:calc(var(--h) * var(--n));background:var(--s2)}
.agHoras span{position:absolute;right:8px;font-size:10.5px;color:var(--t3);transform:translateY(-6px)}
.agHoras span:last-child{transform:translateY(-14px)}
.agCol{position:relative;height:calc(var(--h) * var(--n));border-left:1px solid var(--br);
  background:repeating-linear-gradient(180deg,transparent 0,transparent calc(var(--h) - 1px),
    var(--br) calc(var(--h) - 1px),var(--br) var(--h))}
.agCol.hoje{background-color:rgba(255,184,46,.045)}
.agEv{position:absolute;left:3px;right:3px;border-radius:8px;overflow:hidden;padding:5px 7px;
  border:1px solid color-mix(in srgb,var(--c) 55%,transparent);
  background:color-mix(in srgb,var(--c) 22%,#0B1B26);border-left:3px solid var(--c);
  color:var(--t1);text-decoration:none;display:block;min-height:26px}
.agEv:hover{background:color-mix(in srgb,var(--c) 34%,#0B1B26)}
.agEv b{display:block;font-size:10.5px;font-weight:800;line-height:1.25;color:#fff;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.agEv small{display:block;font-size:9.5px;color:rgba(255,255,255,.72);margin-top:1px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agEv u{display:block;font-size:9px;text-decoration:none;color:rgba(255,255,255,.6);margin-top:2px}
.agEv[hidden]{display:none!important}
.agEvX{position:absolute;top:2px;right:2px;z-index:3}
.agEvX button{width:17px;height:17px;border:0;border-radius:5px;background:rgba(0,0,0,.4);color:#fff;
  font:inherit;font-size:10px;line-height:1;cursor:pointer;padding:0}
.agEvX button:hover{background:#E0575A}
.agAgora{position:absolute;left:0;right:0;height:0;border-top:2px solid #FFB92E;z-index:4}
.agAgora span{position:absolute;left:0;top:-9px;font-size:9px;font-weight:800;color:#241603;background:#FFB92E;
  border-radius:4px;padding:1px 4px}
/* grade do mes */
.agMes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--br);border-radius:14px;
  overflow:hidden;background:var(--s1)}
.agMesCab{background:var(--s2);border-bottom:1px solid var(--br);text-align:center;padding:8px 2px;
  font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--t3)}
.agMesDia{min-height:104px;border-top:1px solid var(--br);border-left:1px solid var(--br);padding:6px}
.agMesDia > b{display:block;font-size:11.5px;font-weight:750;color:var(--t3);margin-bottom:5px}
.agMesDia.fora{opacity:.4}
.agMesDia.hoje{background:rgba(255,184,46,.07)}
.agMesDia.hoje > b{color:var(--ouro)}
.agChip{display:block;border-radius:6px;padding:3px 6px;margin-bottom:4px;font-size:10px;font-weight:700;
  color:#fff;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  background:color-mix(in srgb,var(--c) 26%,#0B1B26);border-left:3px solid var(--c)}
.agChip[hidden]{display:none!important}
.agMaisDia{font-size:10px;color:var(--t3)}
/* coluna da direita */
.agLado{display:flex;flex-direction:column;gap:14px}
.agMini b.mes{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:800;
  color:var(--t1);margin-bottom:10px}
.agMini b.mes a{color:var(--t3);text-decoration:none;font-size:15px;padding:0 5px}
.agMini b.mes a:hover{color:var(--ouro)}
.agMiniGrade{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.agMiniGrade i{font-style:normal;font-size:10px;font-weight:800;color:var(--t3);padding:3px 0}
.agMiniGrade a,.agMiniGrade span{position:relative;display:flex;align-items:center;justify-content:center;
  height:26px;border-radius:7px;font-size:11.5px;color:var(--t2);text-decoration:none}
.agMiniGrade a:hover{background:var(--s3);color:var(--t1)}
.agMiniGrade a.hoje{background:var(--ouro);color:#241603;font-weight:800}
.agMiniGrade a.tem::after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;
  background:var(--ouro)}
.agMiniGrade a.hoje.tem::after{background:#241603}
.agMiniGrade a.sel{border:1px solid var(--ouro)}
.agCard h3{margin:0 0 11px;font-size:13px;font-weight:800;color:var(--t1)}
.agFiltro{display:flex;align-items:center;gap:9px;padding:5px 0;cursor:pointer}
.agFiltro input{width:16px;height:16px;accent-color:var(--ouro);cursor:pointer}
.agFiltro i{width:10px;height:10px;border-radius:50%;background:var(--c);flex:0 0 10px}
.agFiltro span{font-size:12.5px;color:var(--t2)}
.agLinks{display:flex;flex-direction:column;gap:8px}
.agLink{display:flex;align-items:center;gap:10px;height:42px;padding:0 13px;border:1px solid var(--br);
  border-radius:11px;color:var(--t1);font-size:12.5px;font-weight:700;text-decoration:none;background:var(--s3)}
.agLink svg{width:16px;height:16px;color:var(--t3)}
.agLink:hover{border-color:var(--ouro);color:var(--ouro)}
.agLink:hover svg{color:var(--ouro)}
/* proximas aulas */
.agProxTopo{display:flex;align-items:center;gap:11px;margin-bottom:6px}
.agProxTopo em{font-style:normal;width:36px;height:36px;flex:0 0 36px;border-radius:10px;display:flex;
  align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#8A5BFF,#C86BFF);
  box-shadow:0 0 18px rgba(160,95,255,.35)}
.agProxTopo em svg{width:18px;height:18px}
.agProxTopo b{flex:1;min-width:0;font-size:16px;font-weight:800;color:var(--t1);letter-spacing:-.015em}
.agProxTopo a{font-size:12.5px;font-weight:750;color:var(--t2);text-decoration:none;white-space:nowrap}
.agProxTopo a:hover{color:var(--ouro)}
.agProxSub{margin:0 0 12px 47px;font-size:12px;color:var(--t3)}
.agLinha{display:flex;align-items:center;gap:13px;padding:11px 0;border-left:3px solid var(--c);padding-left:12px;
  flex-wrap:wrap}
.agLinha + .agLinha{border-top:1px solid var(--br)}
.agQuando{width:96px;flex:0 0 96px}
.agQuando b{display:block;font-size:12.5px;font-weight:800;color:var(--ouro)}
.agQuando small{display:block;font-size:11px;color:var(--t3);margin-top:2px}
.agCaras{display:flex}
.agCaras span{width:34px;height:34px;border-radius:50%;overflow:hidden;background:var(--s3);border:2px solid var(--s1);
  margin-right:-9px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;
  color:var(--t2)}
.agCaras span img{width:100%;height:100%;object-fit:cover}
.agLinhaTxt{flex:1;min-width:150px}
.agLinhaTxt b{display:block;font-size:13.5px;font-weight:750;color:var(--t1)}
.agLinhaTxt small{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--t3);
  margin-top:3px}
.agLinhaTxt small svg{width:13px;height:13px}
.agNivel{font-size:11px;font-weight:800;border:1px solid var(--br);border-radius:99px;padding:3px 10px;
  color:var(--t2);white-space:nowrap}
.agAcoes{display:flex;gap:8px;flex-wrap:wrap}
.agEntrar{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 20px;border-radius:10px;
  background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font-size:12.5px;font-weight:800;
  text-decoration:none}
.agDet{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 16px;border-radius:10px;
  border:1px solid var(--br);color:var(--t1);font-size:12.5px;font-weight:700;text-decoration:none}
.agDet:hover{border-color:var(--ouro);color:var(--ouro)}
/* formularios */
.agForms{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:16px}
.agCampo{display:block;margin-bottom:11px}
.agCampo span{display:block;font-size:11.5px;font-weight:750;color:var(--t3);margin-bottom:5px}
.agCampo input,.agCampo select,.agCampo textarea{width:100%;height:42px;border:1px solid var(--br);border-radius:10px;
  background:var(--s3);color:var(--t1);font:inherit;font-size:13px;padding:0 12px}
.agCampo textarea{height:70px;padding:9px 12px;resize:vertical}
.agDupla{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.agEnviar{width:100%;height:44px;border:0;border-radius:11px;background:linear-gradient(180deg,#FFC94F,#F0A11A);
  color:#241603;font:inherit;font-size:13.5px;font-weight:800;cursor:pointer;margin-top:4px}
.agVazio{font-size:12.5px;color:var(--t3);line-height:1.6}
@media (max-width:1180px){ .agCorpo{grid-template-columns:minmax(0,1fr)} }
@media (max-width:820px){ .agGrade{grid-template-columns:44px repeat(7,minmax(54px,1fr));overflow-x:auto}
  .agHero{min-width:0} .agDupla{grid-template-columns:1fr} }
.pvTopo{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.pvTopo > em{font-style:normal;width:62px;height:62px;flex:0 0 62px;border-radius:17px;display:flex;
  align-items:center;justify-content:center;color:#241603;background:linear-gradient(180deg,#FFC94F,#F0A11A);
  box-shadow:0 0 24px rgba(255,184,46,.35)}
.pvTopo > em svg{width:30px;height:30px}
.pvTopoTxt{flex:1;min-width:260px}
.pvTopoTxt h1{margin:0;font-size:34px;font-weight:800;color:var(--t1);letter-spacing:-.03em}
.pvTopoTxt p{margin:7px 0 0;font-size:14px;color:var(--t2);line-height:1.55}
.pvFrase{display:flex;align-items:center;gap:14px;flex:0 1 460px;border:1px solid var(--br);border-radius:14px;
  background:var(--s1);padding:15px 18px}
.pvFrase i{font-style:normal;color:#7CC4FF;display:flex}
.pvFrase i svg{width:22px;height:22px}
.pvFrase b{display:block;font-size:14px;font-weight:750;color:var(--t1)}
.pvFrase small{display:block;font-size:12.5px;color:var(--t3);margin-top:4px;line-height:1.5}
.pvCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pvCard{position:relative;display:flex;flex-direction:column;border:1px solid var(--br);border-radius:18px;
  background:var(--s1);overflow:hidden}
.pvCard.on{border-color:rgba(255,184,46,.45);box-shadow:0 0 30px rgba(255,184,46,.12)}
.pvArte{position:relative;aspect-ratio:940/224;background:var(--s3)}
.pvArte img{width:100%;height:100%;object-fit:cover;display:block}
.pvArte::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,14,22,.25),rgba(12,26,36,.9))}
.pvSelo{position:absolute;top:14px;left:16px;z-index:2;font-size:12px;font-weight:750;border-radius:99px;
  padding:6px 15px;border:1px solid;background:rgba(6,14,22,.72)}
.pvSelo.ouro{color:var(--ouro);border-color:rgba(255,184,46,.55)}
.pvSelo.verde{color:#3DD68C;border-color:rgba(61,214,140,.55)}
.pvSelo.cinza{color:var(--t3);border-color:var(--br)}
.pvCorpo{display:flex;flex-direction:column;flex:1;padding:0 20px 20px;margin-top:-26px;position:relative;z-index:2}
.pvIco{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;
  background:var(--ico);border:1px solid rgba(255,255,255,.22);box-shadow:0 0 22px var(--icoLuz)}
.pvIco svg{width:25px;height:25px}
.pvCorpo h2{margin:14px 0 0;font-size:21px;font-weight:800;color:var(--t1);letter-spacing:-.02em}
.pvCorpo .sub{display:block;font-size:14px;color:var(--t2);margin-top:5px}
.pvCorpo > p{margin:16px 0 0;font-size:13.5px;color:var(--t2);line-height:1.65}
.pvCorpo > p b{color:var(--t1)}
.pvCorpo > p .verde{color:#3DD68C}
.pvFatos{border:1px solid var(--br);border-radius:12px;background:var(--s3);padding:13px 15px;margin:18px 0 0}
.pvFato{display:flex;align-items:center;gap:11px;font-size:13px;color:var(--t2)}
.pvFato + .pvFato{margin-top:10px}
.pvFato svg{width:16px;height:16px;flex:0 0 16px;color:var(--t3)}
.pvBt{display:flex;align-items:center;justify-content:center;gap:9px;height:52px;margin-top:auto;border:0;
  border-radius:99px;background:linear-gradient(180deg,#FFC94F,#F0A11A);color:#241603;font:inherit;font-size:15px;
  font-weight:750;cursor:pointer;text-decoration:none;box-shadow:0 0 22px rgba(255,184,46,.28)}
.pvBt:hover{filter:brightness(1.05)}
.pvBt.off{background:var(--s3);color:var(--t3);border:1px solid var(--br);box-shadow:none;cursor:default}
.pvBts{margin-top:auto;display:flex;flex-direction:column;gap:9px;padding-top:18px}
.pvBtGhost{display:flex;align-items:center;justify-content:center;height:44px;border:1px solid var(--br);
  border-radius:99px;color:var(--t1);font-size:13px;font-weight:700;text-decoration:none}
.pvBtGhost:hover{border-color:var(--ouro);color:var(--ouro)}
.pvNiveis{margin-top:16px;border-top:1px solid var(--br);padding-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.pvNivel{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:99px;
  border:1px solid var(--br);background:var(--s3);color:var(--t2);font-size:12px;font-weight:750;text-decoration:none}
.pvNivel:hover{border-color:var(--ouro);color:var(--ouro)}
.pvNivel.ok{border-color:rgba(61,214,140,.5);color:#6FE3AC;background:rgba(61,214,140,.1)}
.pvNivel.travado{opacity:.5}
.pvPe{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:18px;border:1px solid var(--br);
  border-radius:18px;background:var(--s1);padding:22px 26px}
.pvPe > em{font-style:normal;font-size:30px}
.pvPeTxt{flex:1;min-width:240px}
.pvPeTxt b{display:block;font-size:21px;font-weight:800;color:var(--t1);letter-spacing:-.02em}
.pvPeTxt small{display:block;font-size:14px;color:var(--t3);margin-top:6px}
.pvPe img{width:160px;height:auto;opacity:.95}
@media (max-width:1100px){ .pvCards{grid-template-columns:1fr} }
.plAviso{display:flex;gap:14px;align-items:flex-start;margin-top:16px;border:1px solid rgba(230,162,60,.5);
  border-radius:14px;background:rgba(230,162,60,.1);padding:16px 18px}
.plAviso em{font-style:normal;font-size:20px}
.plAviso b{font-size:14.5px;color:var(--t1)}
.plAviso p{margin:6px 0 12px;font-size:13px;color:var(--t2);line-height:1.55}
.plAviso .suBtn{height:36px}
@media (max-width:1320px){ .plDias{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (max-width:1100px){ .plTopo,.plTres{grid-template-columns:1fr} .plDias{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:860px){ .plHero > img{width:100%;opacity:.26} .plAspas{display:none} .plDias{grid-template-columns:1fr} }
.clVazio{color:var(--t2);padding:20px 4px}
@media (max-width:1200px){ .clAulas{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:900px){ .clHero .hwHeroTxt{right:0} .clFiltros{grid-template-columns:1fr 1fr} .clBusca{grid-column:1/3} .clFileira{grid-template-columns:150px minmax(0,1fr)} }
@media (max-width:760px){ .clHero.hwHero{aspect-ratio:auto} .clHero > img{position:static;width:100%;height:190px;object-position:center} .clAulas{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:520px){ .clFileira{grid-template-columns:1fr} .clPoster{max-width:200px} .clFiltros{grid-template-columns:1fr} .clBusca{grid-column:1} }


/* P316: Praticar */
.prHero.hwHero{aspect-ratio:1930/310;min-height:0}
.prHero > img{width:66%;object-position:center center}
.prHero::after{background:linear-gradient(90deg,#080F15 0%,#080F15 32%,rgba(8,15,21,.8) 37%,rgba(8,15,21,0) 44%)}
.prHero .hwHeroTxt{right:56%;padding:18px 28px}
.prHero .hwHeroTxt h1{font-size:40px}.prHero .hwHeroTxt b{font-size:18px}.prHero .hwHeroTxt p{margin-top:8px}
.prGrade{display:grid;gap:16px;margin-top:16px}
.prTres{grid-template-columns:repeat(3,minmax(0,1fr))}
.prDois{grid-template-columns:repeat(2,minmax(0,1fr))}
.prCard.prInteiro{grid-column:1/-1}
.prCard{position:relative;display:block;overflow:hidden;border:1px solid var(--br);border-radius:16px;background:var(--s1);min-height:246px;transition:transform .12s,border-color .12s}
.prCard:hover{transform:translateY(-2px);border-color:rgba(255,184,46,.45)}
.prCard > img{position:absolute;top:0;bottom:0;right:0;width:57%;height:100%;object-fit:cover;object-position:right center}
.prCard.prLargo > img{width:64%}
.prCard::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#081A23 0%,#081A23 43%,rgba(8,26,35,.8) 50%,rgba(8,26,35,0) 60%)}
.prCard.prLargo::after{background:linear-gradient(90deg,#081A23 0%,#081A23 37%,rgba(8,26,35,.8) 43%,rgba(8,26,35,0) 53%)}
.prTxt{position:absolute;left:0;top:0;bottom:0;right:46%;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:20px 22px}
.prCard.prLargo .prTxt{right:54%}
.prTxt b{font-size:20px;font-weight:750;letter-spacing:-.02em;color:var(--t1)}
.prTxt small{font-size:14px;line-height:1.5;color:var(--t2)}
.prTxt .suBtn{align-self:flex-start;margin-top:6px}
.prStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 1.3fr;gap:12px;align-items:stretch}
.prStat{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--br);border-radius:12px;background:var(--s2)}
.prStat i{width:40px;height:40px;flex:0 0 40px;border-radius:10px;border:1px solid var(--br);background:var(--s3);display:flex;align-items:center;justify-content:center;color:var(--ouro)}
.prStat span{display:flex;flex-direction:column;min-width:0}
.prStat b{font-size:19px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.prStat small{font-size:12.5px;color:var(--t3);margin-top:2px}
.prCita.nvCita{display:flex;align-items:center;gap:14px;background:transparent;border:0;border-left:3px solid var(--ouro);border-radius:0;padding:6px 0 6px 20px;font-size:18px}
.prCita.nvCita span{margin:0;font-size:38px}
@media (max-width:1300px){ .prTres{grid-template-columns:1fr 1fr} .prStats{grid-template-columns:1fr 1fr} .prCita{grid-column:1/3} }
@media (max-width:1180px){ .prHero .hwHeroTxt{right:0} }
@media (max-width:860px){ .prHero.hwHero{aspect-ratio:auto} .prHero > img{position:static;width:100%;height:190px;object-position:center}
  .prTres,.prDois{grid-template-columns:1fr} .prCard,.prCard.prLargo{min-height:0} .prCard > img,.prCard.prLargo > img{position:static;width:100%;height:170px;display:block}
  .prCard::after,.prCard.prLargo::after{background:linear-gradient(0deg,#081A23 52%,rgba(8,26,35,.6) 62%,rgba(8,26,35,0) 75%)}
  .prTxt,.prCard.prLargo .prTxt{position:relative;right:0;margin-top:-56px;padding:0 18px 18px} .prTxt b{font-size:20px} }
@media (max-width:560px){ .prStats{grid-template-columns:1fr} .prCita{grid-column:1} }

/* P312: Minha grade de aulas */
.grTopo{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.grRabisco{font-family:"Caveat","Segoe Print","Bradley Hand",cursive;font-size:22px;line-height:1.05;color:var(--t1);transform:rotate(-8deg);
  text-align:left;white-space:nowrap;padding:8px 14px 6px 0;border-bottom:3px solid var(--ouro);letter-spacing:.02em;margin-right:24px}
.grChips{margin-bottom:12px}
.grNav{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--br);border-radius:14px;background:var(--s1);margin-bottom:14px}
.grNav > b{flex:0 1 auto;margin:0 auto;font-size:16px;font-weight:750;letter-spacing:-.01em}
.grSeta{width:36px;height:36px;border-radius:9px;border:1px solid var(--br);background:var(--s3);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--t1)}
.grDias{display:flex;flex-direction:column;gap:12px}
.grDia{display:flex;gap:14px;padding:12px;border:1px solid var(--br);border-radius:14px;background:var(--s1)}
.grDia.hoje{border-color:rgba(255,184,46,.55)}
.grData{flex:0 0 78px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 0;border-radius:11px;background:var(--s3);border:1px solid var(--br)}
.grData small{font-size:11.5px;font-weight:700;letter-spacing:.06em;color:var(--t2)}
.grData b{font-size:30px;font-weight:800;line-height:1.05}
.grDia.hoje .grData{border-color:var(--ouro);background:rgba(255,184,46,.08)}
.grDia.hoje .grData b{color:var(--ouroL)}
.grAulas{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.grAula{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--br);border-radius:12px;background:var(--s2)}
.grHora{flex:0 0 58px;display:flex;flex-direction:column}
.grHora b{font-size:15px;font-weight:800}.grHora small{font-size:11.5px;color:var(--t3)}
.grIco{width:42px;height:42px;flex:0 0 42px;border-radius:11px;border:1px solid var(--br);background:var(--s3);display:flex;align-items:center;justify-content:center}
.grTxt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.grTit{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.grTit b{font-size:15px;font-weight:750}
.grTxt small{font-size:12.5px;color:var(--t2)}
.grEntrar{height:38px}
.grFeita{color:var(--verde);font-weight:700;font-size:13px;white-space:nowrap}
.grPassou{color:var(--t3);font-size:13px;white-space:nowrap}
.grVazio{display:flex;align-items:center;gap:14px;padding:14px;border:1px dashed var(--br);border-radius:12px;color:var(--t3)}
.grVazio svg{width:22px;height:22px;flex:0 0 22px}
.grVazio span{flex:1;display:flex;flex-direction:column}
.grVazio b{font-size:13.5px;color:var(--t2);font-weight:600}
.grVazio small{font-size:12px;font-style:italic}
.grVazio .suBtn{height:34px;font-size:12.5px}
.grResumo{display:flex;flex-direction:column}
.grResumo > div{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid rgba(255,255,255,.07);font-size:13.5px;color:var(--t2)}
.grResumo > div:first-child{border-top:0;padding-top:0}
.grResumo i{width:30px;height:30px;flex:0 0 30px;border-radius:50%;border:1px solid var(--br);background:var(--s3);display:flex;align-items:center;justify-content:center;color:var(--ouro)}
.grResumo i svg{width:15px;height:15px}
.grResumo b{color:var(--t1)}
.grProx{display:flex;gap:12px;align-items:center}
@media (max-width:860px){
  .grRabisco{display:none}
  .grDia{flex-direction:column}.grData{flex-direction:row;gap:8px;padding:8px}
  .grAula{flex-wrap:wrap}.grEntrar{width:100%;justify-content:center}
}

/* --- explorar --- */
.suExplora{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.suCard{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--br);aspect-ratio:1/.95;
  background:var(--s2);display:flex;align-items:flex-end;padding:10px;transition:transform .12s,border-color .12s}
.suCard:hover{transform:translateY(-2px);border-color:rgba(255,184,46,.45)}
.suCard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8}
.suCard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,11,16,.92) 8%,rgba(3,11,16,.25) 55%,rgba(3,11,16,.05) 100%)}
.suCard span{position:relative;z-index:1;font-size:12.5px;font-weight:700;line-height:1.2}
.suCard span em{display:block;font-style:normal;font-size:11px;font-weight:500;color:var(--t2);margin-top:3px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.suFrase.suFraseArte{padding:0;min-height:0;display:block;background:var(--s1)}
.suFrase.suFraseArte img{position:static;width:100%;height:auto;display:block;opacity:1}
.suCartaoLado.suCartaoArte{padding:0;min-height:0;display:block;border:0;background:none}
.suCartaoLado.suCartaoArte img{position:static;width:100%;height:auto;display:block;opacity:1;border-radius:14px}

/* --- coluna da direita --- */
.suAula{padding:0;overflow:hidden}
.suAulaFoto{position:relative;aspect-ratio:16/9;background:var(--s3)}
.suAulaFoto img{width:100%;height:100%;object-fit:cover;display:block}
.suAoVivo{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:6px;background:var(--vermelho);
  color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.04em;padding:5px 9px;border-radius:8px}
.suAulaPe{padding:14px}
.suAulaPe b{font-size:16px;font-weight:750;letter-spacing:-.02em;display:block}
.suAulaPe small{font-size:12.5px;color:var(--t3);display:block;margin-top:2px}
.suInfo{display:flex;gap:14px;margin:11px 0 12px;font-size:12.5px;color:var(--t2);flex-wrap:wrap}
.suAvat{display:flex;align-items:center;gap:8px;margin-top:11px;font-size:12px;color:var(--t3)}
.suAvat .pilha{display:flex}
.suAvat .pilha span{width:26px;height:26px;border-radius:50%;background:var(--s3);border:2px solid var(--s1);
  margin-left:-8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--t2);overflow:hidden}
.suAvat .pilha span:first-child{margin-left:0}
.suAvat .pilha img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.suFeed{display:flex;flex-direction:column;gap:13px}
.suItem{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.35}
.suItem .av,.suItem img.av{width:34px;height:34px;border-radius:50%;flex:0 0 34px;object-fit:cover;background:var(--s3)}
.suItem p{margin:0;color:var(--t2)}
.suItem p b{color:var(--t1);font-weight:700}
.suItem time{font-size:11px;color:var(--t3);white-space:nowrap;margin-left:auto}
.suFrase{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--br);min-height:150px;
  display:flex;align-items:flex-end;padding:18px;background:linear-gradient(160deg,#123040,#06141C)}
.suFrase img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}
.suFrase span{position:relative;z-index:1;font-size:15px;font-weight:700;line-height:1.35;letter-spacing:-.01em}

@media (max-width:1180px){
  .suGrid{grid-template-columns:minmax(0,1fr)}
  .suDestaque{grid-template-columns:minmax(0,1fr);min-height:420px;aspect-ratio:auto}
  .suDestaque .foto{left:0;width:100%;object-position:center 30%}
  .suDestTxt,.suDestLado{grid-column:1}
  .suDestTxt{background:linear-gradient(0deg,#080F15 55%,rgba(8,15,21,.7) 100%)}
  .suDestLado{background:#080F15}
  .suDir{flex-direction:row;flex-wrap:wrap}
  .suDir > *{flex:1 1 300px}
}
@media (max-width:860px){
  .suApp{flex-direction:column}
  .suSide{flex:none;position:sticky;top:0;z-index:20;height:auto;flex-direction:row;overflow-x:auto;
    gap:6px;align-items:center;padding:10px 12px;border-right:0;border-bottom:1px solid rgba(255,255,255,.06)}
  .suSide .suGrupo,.suCartaoLado{display:none}
  .suLogo{font-size:17px;padding:0 6px 0 0;flex:0 0 auto}
  .suLogo small{display:none}
  .suNav{flex-direction:row;gap:4px}
  .suNav a{white-space:nowrap;height:36px;border-left:0;border-bottom:2px solid transparent;border-radius:9px}
  .suNav a.on{border-left:0;border-bottom:2px solid var(--ouro)}
  .suTop{padding:12px 16px;gap:10px}
  .suEu div{display:none}
  .suGrid{padding:14px;gap:16px}
  .suHero{min-height:0;padding:20px 18px}
  .suHero h1{font-size:28px}
  .suHero p{font-size:14px}
  .suMetrica{min-width:0;flex:1 1 140px;padding:9px 11px}
  .suCab{flex-wrap:wrap}
  .suCab .dir{width:100%;margin:6px 0 0;justify-content:space-between}
  .suCab h2{font-size:18px}
  .suTarefa{flex-wrap:wrap;gap:10px}
  .suTarefa .suTxt{flex:1 1 140px}
  .suTarefa .suBtn{flex:1 1 100%;justify-content:center}
  .suDuo{grid-template-columns:1fr}
  .suBusca{flex:1;width:auto;max-width:none}
  .suDir{order:2}
  .suPag h1{font-size:26px}
  .suEditorial .suPag h1{font-size:27px}
  .suEditorial .suDestTxt h2{font-size:26px}
  .suEditorial .suCab h2{font-size:21px}
  .suDestaque{min-height:0}
  .suDestTxt{padding:18px 16px;background:linear-gradient(0deg,#080F15 60%,rgba(8,15,21,.7) 100%)}
  .suDestLado{padding:16px;background:#080F15}
  .suFichas{grid-template-columns:1fr}
  .suFichasDuo .suFicha{aspect-ratio:16/8.5}
  .suFichasDuo .suFichaSobre{right:22%}
  .suSlideTxt{right:16px;left:18px;bottom:18px}
  .suSlideTxt b{font-size:21px}
  .suSeta{display:none}
  .suFitas{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
  /* as categorias continuam em cartao (foto atras, nome embaixo), so que
     duas por linha — a lista com miniatura e so pro Explorar da Home */
  .suCats{grid-template-columns:1fr 1fr;gap:10px}
  .suCats .suCard{display:flex;align-items:flex-end;aspect-ratio:1/.88;min-height:0;padding:10px;background:var(--s2)}
  .suCats .suCard img{position:absolute;inset:0;width:100%;height:100%;border-radius:0;opacity:.85;flex:none}
  .suCats .suCard::after{display:block;content:"";position:absolute;inset:0;
    background:linear-gradient(0deg,rgba(3,11,16,.92) 8%,rgba(3,11,16,.25) 55%,rgba(3,11,16,.05) 100%);
    margin:0;font-size:0}
  .suCats .suCard span{position:relative;z-index:1;font-size:13px}
  .suCats .suCard span em{font-size:11px}
  .suDestaque{padding:16px}
  .suDestTxt h2{font-size:21px}
  .suExplora{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}
}

/* Mobile etapa 1 (mockup 01_inicio): a estrutura do ALUNO no celular —
   topo com ☰ / brasão / sino + avatar, o menu completo numa gaveta e a
   barra de baixo. Tudo preso em .suAluno .suApp (classe no <body>) e no mesmo limite de 860px
   da regra acima (assim tablet em pé não fica com a faixa antiga). Fora do
   celular as peças novas ficam escondidas: o PC não muda. */
.suMenuBt,.suMarcaTopo,.suVeu,.suGavetaTopo{display:none}
@media (max-width:860px){
  html.suTravado{overflow:hidden}
  /* 16/10/2026 (pedido da Tayla): a barra de baixo saiu — o ☰ do topo abre o
     menu completo, e o espaço dela voltou pra tela */
  .suAluno .suApp .suMain{padding-bottom:env(safe-area-inset-bottom)}
  /* topo. O topo (45) fica ABAIXO das janelas por cima da tela (player,
     avisos, modais: z-index 50 a 70 e mais). A gaveta (110/120) vem por
     cima de tudo. */
  .suAluno .suApp .suTop{position:sticky;top:0;z-index:45;display:grid;grid-template-columns:1fr auto 1fr;
    align-items:center;gap:8px;padding:8px 14px;background:var(--bgSide);border-bottom:1px solid rgba(255,255,255,.06)}
  .suAluno .suApp .suTop > .suBusca,.suAluno .suApp .suTopDir > form.inline{display:none}
  .suAluno .suApp .suMenuBt{display:flex;justify-self:start;align-items:center;justify-content:center;width:42px;height:42px;
    margin-left:-6px;border:0;background:transparent;color:var(--t1);cursor:pointer;padding:0}
  .suAluno .suApp .suMenuBt svg{width:28px;height:28px}
  .suAluno .suApp .suMarcaTopo{display:block;justify-self:center;line-height:0}
  .suAluno .suApp .suMarcaTopo img{height:46px;width:auto}
  .suAluno .suApp .suTopDir{justify-self:end;margin-left:0;gap:12px}
  .suAluno .suApp .suEu .av,.suAluno .suApp .suEu img{width:40px;height:40px}
  /* a regra de cima (.suEu div) escondia junto o avatar de letra */
  .suAluno .suApp .suEu > div.av{display:grid;font-size:16px}
  /* o menu lateral vira gaveta (o ☰ abre) */
  .suAluno .suApp .suSide{position:fixed;top:0;left:0;bottom:0;z-index:120;width:min(300px,86vw);height:auto;
    flex-direction:column;align-items:stretch;gap:10px;overflow-x:hidden;overflow-y:auto;
    padding:14px 12px calc(18px + env(safe-area-inset-bottom));border-right:1px solid rgba(255,255,255,.08);border-bottom:0;
    transform:translateX(-105%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}
  .suAluno.menuAberto .suApp .suSide{transform:none;visibility:visible;transition:transform .22s ease}
  .suAluno .suApp .suSide .suGrupo{display:block}
  .suAluno .suApp .suLogo{font-size:21px;padding:2px 10px 6px}
  .suAluno .suApp .suLogo small{display:block}
  .suAluno .suApp .suNav{flex-direction:column;gap:2px}
  .suAluno .suApp .suNav a{height:42px;white-space:normal;border-bottom:0;border-left:2px solid transparent;border-radius:10px}
  .suAluno .suApp .suNav a.on{border-bottom:0;border-left:2px solid var(--ouro)}
  .suAluno .suApp .suGavetaTopo{display:flex;flex-direction:column;gap:10px}
  .suFechaMenu{position:absolute;top:12px;right:10px;width:40px;height:40px;border:0;border-radius:10px;
    background:var(--s2);color:var(--t1);font-size:18px;line-height:1;cursor:pointer;padding:0}
  .suGavetaTopo .suBusca{flex:none;width:100%;max-width:none}
  .suGavetaTopo form.inline .suBtn{width:100%;justify-content:center}
  .suAluno .suApp .suVeu{position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.55);border:0;padding:0}
  .suAluno.menuAberto .suApp .suVeu{display:block}
}

/* Mobile lote 1 (mockups 01 a 05): o miolo de Início, Meu Perfil, Aprender,
   Praticar e Explorar no celular do aluno. Mesmo limite (860px) e mesma
   trava (.suAluno) da etapa 1; acima disso nada muda. Onde o mockup põe 3
   cartões lado a lado vira fileira de deslizar (3 colunas em 390px deixam
   o texto com ~7px); onde põe 2, ficam 2 colunas. */
@media (max-width:860px){
  /* --- Início --- */
  .suAluno .suHome{padding:12px 12px 20px;gap:14px}
  .suAluno .suHome .suCol{gap:14px}
  .suAluno .suHome .suHero{padding:18px 14px;gap:12px}
  .suAluno .suHome .suHero h1{font-size:30px}
  .suAluno .suHome .suMetricas{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .suAluno .suHome .suMetrica,.suAluno .suHome .suMetrica.escuta{min-width:0;padding:9px 10px}
  .suAluno .suHome .suMetrica small{font-size:11px}
  .suAluno .suHome .suBloco{padding:14px}
  .suAluno .suHome .suCab{flex-wrap:nowrap;align-items:flex-start}
  .suAluno .suHome .suCab .dir{width:auto;flex:0 0 auto;margin:3px 0 0 auto;justify-content:flex-end;white-space:nowrap}
  .suAluno .suHome .suPlanoHoje .suCab{flex-wrap:wrap}
  .suAluno .suHome .suPlanoHoje .suCab .dir{width:100%;flex:1 1 100%;margin:6px 0 0;justify-content:space-between;white-space:normal}
  .suAluno .suHome .suTarefa{flex-wrap:nowrap;gap:9px;padding:10px}
  .suAluno .suHome .suTarefa .suTxt{flex:1 1 auto;min-width:0}
  .suAluno .suHome .suTarefa .suIco{flex:0 0 36px;width:36px;height:36px;font-size:16px}
  .suAluno .suHome .suTarefa .suBtn{flex:0 0 auto;padding:0 12px}
  .suAluno .suHome .suExplora{grid-template-columns:1fr 1fr;gap:10px}
  .suAluno .suHome .suExplora .suCard{aspect-ratio:16/10.5;padding:10px 11px}
  .suAluno .suHome .suExplora .suCard span{font-size:14px}
  .suAluno .suHome .suExplora .suCard span em{font-size:12px;white-space:normal}

  /* --- Meu Perfil --- */
  .suAluno .ppHero h1{font-size:30px;line-height:1.08}
  .suAluno .ppHero h1 b{display:block}

  /* --- Aprender --- */
  .suAluno .suAprender .suPag h1{font-size:30px}
  .suAluno .suAprender .suDestaque .foto{top:0;right:0;bottom:auto;left:auto;width:72%;height:250px}
  .suAluno .suAprender .suDestTxt{background:linear-gradient(90deg,#080F15 22%,rgba(8,15,21,.55) 58%,rgba(8,15,21,0) 100%);padding:20px 16px 16px}
  .suAluno .suAprender .suDestTxt h2{font-size:30px}
  .suAluno .suAprender .suDestLado{padding:4px 16px 18px}
  .suAluno .suAprender .suBloco{padding:16px 14px}
  .suAluno .suAprender .suCab{flex-wrap:nowrap;align-items:flex-start}
  .suAluno .suAprender .suCab h2{font-size:22px}
  .suAluno .suAprender .suCab .dir{width:auto;flex:0 0 auto;margin:4px 0 0 auto;white-space:nowrap}
  /* 3 lado a lado no mockup = fileira de deslizar (sangra até a borda) */
  .suAluno .suAprender .suFichas:not(.suFichasDuo),.suAluno .suAprender .suFichas.suFichasTrio{
    grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:76%;gap:10px;overflow-x:auto;
    scroll-snap-type:x mandatory;margin:0 -14px;padding:0 14px 4px;scroll-padding:0 14px;scrollbar-width:none}
  .suAluno .suAprender .suFichas::-webkit-scrollbar{display:none}
  .suAluno .suAprender .suFicha{scroll-snap-align:start}
  .suAluno .suAprender .suFichas:not(.suFichasDuo) .suFicha{aspect-ratio:5/4.4}
  .suAluno .suAprender .suFichas:not(.suFichasDuo) .suFichaSobre{padding:13px 14px}
  .suAluno .suAprender .suFichaSobre b{font-size:17px}
  .suAluno .suAprender .suFichaSobre small{font-size:12.5px}
  .suAluno .suAprender .suFichasTrio .suFicha{aspect-ratio:auto;min-height:210px}
  .suAluno .suAprender .suFichasTrio .suFichaSobre{right:36%;padding:14px 12px 34px 14px}
  .suAluno .suAprender .suFichasTrio .suFichaPeSeta{display:none}
  /* 2 lado a lado no mockup (Avaliações) = 2 colunas, foto atrás e texto embaixo */
  .suAluno .suAprender .suFichasDuo:not(.suFichasTrio){grid-template-columns:1fr 1fr;gap:10px}
  .suAluno .suAprender .suFichasDuo:not(.suFichasTrio) .suFicha{aspect-ratio:auto;min-height:220px}
  .suAluno .suAprender .suFichasDuo:not(.suFichasTrio) .suFicha > img{left:0;right:0;width:100%}
  .suAluno .suAprender .suFichasDuo:not(.suFichasTrio) .suFicha::after{
    background:linear-gradient(0deg,#080F15 42%,rgba(8,15,21,.6) 68%,rgba(8,15,21,.1) 100%)}
  .suAluno .suAprender .suFichasDuo:not(.suFichasTrio) .suFichaSobre{top:auto;right:0;padding:12px 12px 34px}
  .suAluno .suAprender .suFichasDuo:not(.suFichasTrio) .suFichaSobre b{font-size:15px}
  .suAluno .suAprender .suFichasDuo:not(.suFichasTrio) .suFichaSobre small{font-size:12px}
  .suAluno .suAprender .suFichasDuo:not(.suFichasTrio) .suFichaPe{flex-wrap:wrap;font-size:11.5px;gap:5px}
  .suAluno .suAprender .suFichasDuo:not(.suFichasTrio) .suFichaSeta{right:12px;bottom:10px}

  /* --- Praticar e Explorar: topo menor, foto à direita, sem o caminho --- */
  .suAluno .prPag .mdTrilha,.suAluno .exPag .mdTrilha{display:none}
  .suAluno .prPag .prHero.hwHero,.suAluno .exPag .exHero.hwHero{aspect-ratio:auto;min-height:150px}
  .suAluno .prPag .prHero > img,.suAluno .exPag .exHero > img{position:absolute;top:0;right:0;bottom:0;left:auto;
    width:64%;height:100%;object-fit:cover;object-position:center}
  .suAluno .prPag .prHero::after,.suAluno .exPag .exHero::after{
    background:linear-gradient(90deg,#080F15 0%,#080F15 30%,rgba(8,15,21,.78) 50%,rgba(8,15,21,.1) 100%)}
  .suAluno .prPag .prHero .hwHeroTxt,.suAluno .exPag .exHero .hwHeroTxt{position:relative;inset:auto;margin:0;padding:18px 16px}
  .suAluno .prPag .prHero .hwHeroTxt{max-width:78%}
  .suAluno .prPag .prHero .hwHeroTxt h1{font-size:36px}
  .suAluno .prPag .prHero .hwHeroTxt b{font-size:15px}
  .suAluno .prPag .prHero .hwHeroTxt p{font-size:13px}
  .suAluno .exPag .exHero > img{width:52%}
  .suAluno .exPag .exHero::after{background:linear-gradient(90deg,#080F15 0%,#080F15 50%,rgba(8,15,21,.7) 64%,rgba(8,15,21,.05) 100%)}
  .suAluno .exPag .exHero .hwHeroTxt{max-width:70%}
  .suAluno .exPag .exHero .hwHeroTxt h1{font-size:38px}
  .suAluno .exPag .exHero .hwHeroTxt b{font-size:16px}
  .suAluno .exPag .exHero .hwHeroTxt p{font-size:13px;margin-top:8px}

  /* --- Praticar: cartões em grade, foto atrás do texto --- */
  .suAluno .prPag .prTres,.suAluno .prPag .prDois{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
  .suAluno .prPag .prTres > .prCard:nth-child(3){grid-column:1/-1;min-height:210px}
  .suAluno .prPag .prCard,.suAluno .prPag .prCard.prLargo{min-height:300px}
  .suAluno .prPag .prCard > img,.suAluno .prPag .prCard.prLargo > img{position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;object-position:center}
  .suAluno .prPag .prCard::after,.suAluno .prPag .prCard.prLargo::after{
    background:linear-gradient(0deg,rgba(8,26,35,.97) 34%,rgba(8,26,35,.72) 58%,rgba(8,26,35,.15) 100%)}
  .suAluno .prPag .prTxt,.suAluno .prPag .prCard.prLargo .prTxt{position:absolute;top:auto;right:0;bottom:0;left:0;
    margin:0;padding:14px 12px;gap:7px;justify-content:flex-end}
  .suAluno .prPag .prTxt b{font-size:17px}
  .suAluno .prPag .prTxt small{font-size:12.5px;line-height:1.45}
  .suAluno .prPag .prTxt .suBtn{font-size:12.5px;height:34px;padding:0 12px;margin-top:2px}
  .suAluno .prPag .prTres > .prCard:nth-child(3) > img{left:auto;width:62%}
  .suAluno .prPag .prTres > .prCard:nth-child(3)::after{
    background:linear-gradient(90deg,#081A23 0%,#081A23 40%,rgba(8,26,35,.75) 55%,rgba(8,26,35,0) 80%)}
  .suAluno .prPag .prTres > .prCard:nth-child(3) .prTxt{top:0;right:42%;justify-content:center}
  .suAluno .prPag .suBloco{padding:14px}
  .suAluno .prPag .suCab{flex-wrap:nowrap;align-items:flex-start}
  .suAluno .prPag .suCab .dir{width:auto;flex:0 0 auto;margin:0 0 0 auto}
  .suAluno .prPag .suCab .dir .suBtn{height:34px;padding:0 11px;font-size:12.5px}
  .suAluno .prPag .prStats{grid-template-columns:1fr 1fr;gap:8px}
  .suAluno .prPag .prCita{grid-column:1/-1}
  .suAluno .prPag .prStat{padding:11px 10px;gap:9px}
  .suAluno .prPag .prStat i{width:34px;height:34px;flex:0 0 34px}
  .suAluno .prPag .prStat b{font-size:17px}
  .suAluno .prPag .prStat small{font-size:11.5px}

  /* --- Explorar: categorias com a foto atrás, "em alta" de deslizar --- */
  .suAluno .exPag .exCats{grid-template-columns:1fr 1fr;gap:10px}
  .suAluno .exPag .exCat{position:relative;justify-content:flex-end;min-height:200px;padding:0;overflow:hidden}
  .suAluno .exPag .exCatFoto{position:absolute;inset:0;aspect-ratio:auto;border-radius:0}
  .suAluno .exPag .exCat::after{content:"";position:absolute;inset:0;
    background:linear-gradient(0deg,rgba(8,26,35,.97) 32%,rgba(8,26,35,.6) 56%,rgba(8,26,35,0) 82%)}
  .suAluno .exPag .exCat > b,.suAluno .exPag .exCat > small,.suAluno .exPag .exCat > .exCatVer{position:relative;z-index:1;margin-left:12px;margin-right:12px}
  .suAluno .exPag .exCat > b{font-size:15.5px}
  .suAluno .exPag .exCat > small{flex:0 0 auto;font-size:12px}
  .suAluno .exPag .exCat > .exCatVer{margin-top:9px;margin-bottom:12px}
  .suAluno .exPag .suCab{flex-wrap:nowrap;align-items:flex-start}
  .suAluno .exPag .suCab .dir{width:auto;flex:0 0 auto;margin:6px 0 0 auto;white-space:nowrap}
  .suAluno .exPag .exAltaRow{grid-auto-columns:42%;gap:10px;margin:0 -12px;padding:0 12px 6px;
    scroll-padding:0 12px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .suAluno .exPag .exAltaRow::-webkit-scrollbar{display:none}
  .suAluno .exPag .exAlta b{font-size:13.5px}
  .suAluno .exPag .exFaixa{padding:20px 16px}
  .suAluno .exPag .exFaixaTxt b{font-size:24px}
  .suAluno .exPag .exFaixaLista{grid-template-columns:1fr 1fr;gap:8px 10px}
  .suAluno .exPag .exFaixaLista i{font-size:12.5px}
}

/* === Celular grupo A1: principais 06-08 + internas 48-53 (Meu plano, progresso, contrato) === */
@media (max-width:860px){
  /* --- Meu plano: as 4 informações em 2x2, relógio com o anel ao lado --- */
  .suAluno .plHeroTxt{padding:18px 16px}
  .suAluno .plTitulo h1{font-size:30px;line-height:1.08}
  .suAluno .plJor{grid-template-columns:1fr 1fr}
  .suAluno .plJorIt{min-height:0;padding:14px 12px;gap:9px;border-right:1px solid var(--br);border-bottom:1px solid var(--br)}
  .suAluno .plJorIt:nth-child(2n){border-right:0}
  .suAluno .plJorIt:nth-last-child(-n+2){border-bottom:0}
  .suAluno .plJorIt em{width:32px;height:32px;flex:0 0 32px;font-size:15px}
  .suAluno .plJorIt .vl{white-space:normal;font-size:14.5px}
  .suAluno .plRel{flex-wrap:nowrap;gap:14px;align-items:center}
  .suAluno .plRelAnel svg{width:118px;height:118px}
  .suAluno .plRelAnel b{font-size:22px}
  .suAluno .plRelBarras{flex:1 1 0;min-width:0;gap:12px}
  .suAluno .plRelIt .nm,.suAluno .plRelIt .vl{font-size:12px}

  /* --- Meu progresso: título menor, números 2x2, conquistas 2x2 --- */
  .suAluno .pgHeroTxt{padding:18px 16px}
  .suAluno .pgHeroTxt h1{font-size:30px}
  .suAluno .pgTiles{grid-template-columns:1fr 1fr}
  .suAluno .pgTile{padding:14px 12px;gap:10px;align-items:flex-start;border-right:1px solid var(--br);border-bottom:1px solid var(--br)}
  .suAluno .pgTile:nth-child(2n){border-right:0}
  .suAluno .pgTile:nth-last-child(-n+2){border-bottom:0}
  .suAluno .pgTile em{font-size:22px}
  .suAluno .pgTile b{font-size:20px}
  .suAluno .pgTile span{font-size:12px}
  .suAluno .pgTile small{font-size:11px}

  /* --- Meu contrato: título e texto maiores, como no mockup --- */
  .suAluno .mcoTitulo{font-size:36px;margin:22px 0 10px}
  .suAluno .mcoTitulo + p.muted{font-size:16px;line-height:1.55}

  /* --- Por que sua agenda ficou assim: blocos em 2 colunas, rodapé em caixa --- */
  .suAluno .pqHero h1{font-size:32px}
  .suAluno .pqBlocos{grid-template-columns:1fr 1fr}
  .suAluno .pqBloco{flex-direction:column;gap:10px;padding:14px 12px;border-bottom:0;border-right:1px solid var(--br)}
  .suAluno .pqBloco:nth-child(2n){border-right:0}
  .suAluno .pqBloco em{width:40px;height:40px;flex:0 0 40px}
  .suAluno .pqBloco b{font-size:14px}
  .suAluno .pqBloco p{font-size:12px}
  .suAluno .pqPe{flex-wrap:wrap;gap:10px 12px;padding:14px;border:1px solid var(--br);border-radius:14px;background:var(--s1)}
  .suAluno .pqPe > div{flex:1 1 0;min-width:0}
  .suAluno .pqPe .suBtn{margin-left:0;flex:1 1 100%;justify-content:center}

  /* --- Áreas do plano: menu numa linha só, cartões em 2 colunas --- */
  .suAluno .arPag .arNav{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:8px;border-bottom:0;
    margin:0 -12px 12px;padding:0 12px 2px;scrollbar-width:none}
  .suAluno .arPag .arNav::-webkit-scrollbar{display:none}
  .suAluno .arPag .arNav a{flex:0 0 auto;white-space:nowrap;padding:8px 12px;font-size:13px;border:1px solid rgba(255,255,255,.14);
    border-radius:10px;margin:0}
  .suAluno .arPag .arNav a.on{border-color:#E2B866;background:rgba(226,184,102,.1);color:#F6D58E}
  .suAluno .arPag .arHero{min-height:0;padding:22px 16px 20px}
  .suAluno .arPag .arHero h1{font-size:44px;margin-bottom:10px}
  .suAluno .arPag .arHero p{font-size:14px;max-width:72%}
  .suAluno .arPag .arMao{display:none}
  .suAluno .arPag .arCards{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding:0}
  .suAluno .arPag .arCards.um,.suAluno .arPag .arCards.largos{grid-template-columns:1fr}
  .suAluno .arPag .arCard .foto{height:96px}
  .suAluno .arPag .arCard .ico{width:50px;height:50px;margin-top:-25px}
  .suAluno .arPag .arCard .ico svg{width:22px;height:22px}
  .suAluno .arPag .arCard .corpo{padding:8px 12px 14px}
  .suAluno .arPag .arCard h3{font-size:18px;margin-bottom:6px}
  .suAluno .arPag .arCard p{font-size:12.5px;line-height:1.5;margin-bottom:12px}
  .suAluno .arPag .arSeta{width:40px;height:40px}
  .suAluno .arPag .arSelo{font-size:11px}
  .suAluno .arPag .arPorque{font-size:12px}
  .suAluno .arPag .arCard.largo{flex-direction:row;align-items:center;gap:14px;min-height:0;padding:44px 14px 18px}
  .suAluno .arPag .arCard.largo .ico{margin:0;width:72px;height:72px}
  .suAluno .arPag .arCard.largo .ico svg{width:30px;height:30px}
  .suAluno .arPag .arCard.largo h3{font-size:24px}
  .suAluno .arPag .arCard.largo p{font-size:13px}
  .suAluno .arPag .arCard.largo .arSeta{position:absolute;right:14px;bottom:14px;margin:0}
}
/* (o bloco do grupo A1 entra logo acima desta linha) */
/* - */
/* - */
/* === Celular grupo A2: principais 09-10 + internas 54, 59, 60 (Comunidade, Mensagens, Avisos) === */
@media (max-width:860px){
  /* --- Comunidade (Feed da escola e SpeakUp Clips) --- */
  .suAluno .coHero{min-height:200px}
  .suAluno .coHero > img{width:60%;opacity:1;object-position:center 30%}
  .suAluno .coHero::after{background:linear-gradient(90deg,#0a1420 0%,#0a1420 36%,rgba(10,20,32,.82) 52%,rgba(10,20,32,.2) 80%,rgba(10,20,32,0) 100%)}
  .suAluno .coHeroTxt{max-width:74%;padding:18px 16px}
  .suAluno .coHeroTxt h1{font-size:24px}
  .suAluno .coHeroTxt p{font-size:12.5px;line-height:1.55}
  .suAluno .coEscrever{padding:12px}
  .suAluno .coCampo{height:52px;min-height:52px;font-size:13px;padding:9px 12px}
  .suAluno .coFer{gap:12px;margin-top:12px}
  .suAluno .coFerTools{gap:16px}
  .suAluno .coPublicar{width:auto;height:42px;padding:0 24px}
  .suAluno .coAbas{flex-wrap:nowrap;gap:8px}
  .suAluno .coAba{flex:1 1 0;min-width:0;justify-content:center;height:44px;padding:0 10px;white-space:nowrap}
  .suAluno .coDesafio{min-height:0}
  .suAluno .coDesafioBt{margin-top:14px}
  /* 16/10/2026 (pedido da Tayla): imagem do topo na largura toda; grade de
     1 coluna que não estoura com link comprido (min-width:0 + quebra de
     palavra); Desafio e Sequência sobem pro topo (as colunas viram uma
     fila só com display:contents, e a ordem decide) */
  .suAluno .coHero > img{width:100%}
  .suAluno .coGrid{display:flex;flex-direction:column;gap:18px;min-width:0}
  .suAluno .coGrid > .col{display:contents}
  .suAluno .coGrid > .col > *{min-width:0;max-width:100%}
  .suAluno .coDesafio{order:-2}
  .suAluno .coSeq{order:-1}
  .suAluno .suGridUm,.suAluno .suGridUm > .suCol{min-width:0}
  .suAluno .coPost,.suAluno .coCorpo .txt{min-width:0}
  .suAluno .coPostTxt,.suAluno .coPostTit,.suAluno .coQuem{overflow-wrap:anywhere;word-break:break-word}
  .suAluno .coMidia img,.suAluno .coMidia video{max-width:100%}

  /* --- Mensagens (e o "Falar com…" da Nova mensagem) --- */
  .suAluno .mgTopo{gap:12px;margin-bottom:14px}
  .suAluno .mgTopo > em{width:52px;height:52px;flex:0 0 52px;border-radius:15px}
  .suAluno .mgTopo > em svg{width:26px;height:26px}
  .suAluno .mgNova{width:100%;justify-content:center;height:46px}
  .suAluno .mgFiltros{flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none}
  .suAluno .mgFiltros::-webkit-scrollbar{display:none}
  .suAluno .mgFiltros{padding:12px 12px 0}
  .suAluno .mgFiltro{flex:0 0 auto;height:36px;padding:0 11px;font-size:12.5px}
  .suAluno .mgVazio{padding:40px 18px;font-size:14px}
  .suAluno .mgNovaLista{border-bottom:1px solid var(--br);background:rgba(78,155,255,.06)}

  /* --- Avisos do sino: a lista abre na largura da tela, presa embaixo do
     topo (assim também funciona com a faixa do "ver como" em cima) --- */
  .suAluno .suTop .suSinoCx{position:static!important}
  .suAluno .suTop #suSinoLista{top:calc(100% + 6px)!important;left:8px!important;right:8px!important;width:auto!important;
    max-height:min(70vh,560px)!important;padding:6px!important;border-radius:16px!important}
  .suAluno #suSinoLista > a{padding:13px 12px!important;margin-bottom:4px!important;border-radius:12px!important;border-bottom:1px solid var(--br)}
  .suAluno #suSinoLista > a > div:first-child{font-size:14.5px!important;line-height:1.35}
  .suAluno #suSinoLista > a > div + div{font-size:13px!important;line-height:1.45;margin-top:4px!important}
  .suAluno #suSinoLista > p{font-size:14px!important;padding:14px 10px!important}
}
/* (o bloco do grupo A2 entra logo acima desta linha) */
/* - */
/* - */
/* === Celular grupo B: principais 11-15 + internas 55-58 (Eventos, Turmas, VIP, Ranking, Suporte) === */
/* Só aluno e só até 860px. Cada tela tem a sua marca no <div class="suGrid">
   (evPag, tuPag, vipPag, rkPag, spPag, musPag, tmPag, imPag), então nada
   aqui encosta em outra tela nem no professor. Topos: a foto volta inteira
   (as regras antigas de celular apagavam ela a 30%) e fica à direita, com o
   texto à esquerda, como nos mockups. */
@media (max-width:860px){
  /* a coluna nunca passa da largura da tela (as fileiras de deslizar alargavam ela) */
  .suAluno .evPag,.suAluno .tuPag,.suAluno .vipPag,.suAluno .rkPag,.suAluno .spPag,.suAluno .musPag,
  .suAluno .tmPag,.suAluno .imPag{grid-template-columns:minmax(0,1fr)}
  /* --- topos com foto à direita --- */
  .suAluno .tuPag .tuHero{aspect-ratio:auto;min-height:0}
  .suAluno .vipPag .vipHero > img{object-position:right center}
  .suAluno .rkPag .rkTitulo h1{font-size:30px;line-height:1.08}
  .suAluno .tuPag .tuHero > img,.suAluno .vipPag .vipHero > img,.suAluno .rkPag .rkHero > img,
  .suAluno .spPag .spHero > img,.suAluno .musPag .mcHero > img,.suAluno .tmPag .tmHero > img,
  .suAluno .imPag .imHero > img{left:auto;right:0;width:58%;opacity:1}
  .suAluno .tuPag .tuHero::after{background:linear-gradient(90deg,#0b1220 0%,#0b1220 38%,rgba(11,18,32,.72) 58%,rgba(11,18,32,.1) 100%)}
  .suAluno .vipPag .vipHero::after{background:linear-gradient(90deg,#120c06 0%,#120c06 38%,rgba(18,12,6,.72) 58%,rgba(18,12,6,.1) 100%)}
  .suAluno .rkPag .rkHero::after{background:linear-gradient(90deg,#080F15 0%,#080F15 38%,rgba(8,15,21,.72) 58%,rgba(8,15,21,.1) 100%)}
  .suAluno .spPag .spHero::after{background:linear-gradient(90deg,#0b1526 0%,#0b1526 38%,rgba(11,21,38,.72) 58%,rgba(11,21,38,.1) 100%)}
  .suAluno .musPag .mcHero::after,.suAluno .tmPag .tmHero::after,.suAluno .imPag .imHero::after{
    background:linear-gradient(90deg,#080F15 0%,#080F15 40%,rgba(8,15,21,.74) 60%,rgba(8,15,21,.12) 100%)}
  .suAluno .tuPag .tuHeroTxt,.suAluno .vipPag .vipHeroTxt,.suAluno .rkPag .rkHeroTxt,.suAluno .spPag .spHeroTxt,
  .suAluno .musPag .mcHeroTxt,.suAluno .tmPag .tmHeroTxt,.suAluno .imPag .imHeroTxt{padding:18px 16px;max-width:72%}
  .suAluno .spPag .spHero,.suAluno .vipPag .vipHero,.suAluno .rkPag .rkHero,.suAluno .musPag .mcHero,
  .suAluno .tmPag .tmHero,.suAluno .imPag .imHero{min-height:0}
  .suAluno .tuPag .tuTitulo h1,.suAluno .spPag .spTitulo h1{font-size:32px}
  .suAluno .vipPag .vipHeroTxt h1,.suAluno .tmPag .tmHeroTxt h1,.suAluno .musPag .mcHeroTxt h1,
  .suAluno .imPag .imHeroTxt h1{font-size:30px}
  .suAluno .vipPag .vipHeroTxt p,.suAluno .tmPag .tmHeroTxt p,.suAluno .musPag .mcHeroTxt p,
  .suAluno .imPag .imHeroTxt p,.suAluno .spPag .spHeroTxt > p,.suAluno .rkPag .rkHeroTxt > p,
  .suAluno .tuPag .tuHeroTxt > p{font-size:13px;line-height:1.5}

  /* --- 11 Eventos --- */
  .suAluno .evPag .evHero > img{opacity:1}
  .suAluno .evPag .evMes{flex:1 1 auto;min-width:0}
  .suAluno .evPag .evBloco{padding:14px 12px}
  .suAluno .evPag .evBlocoTopo em{width:52px;height:52px;flex:0 0 52px;border-radius:15px}
  .suAluno .evPag .evBlocoTopo em svg{width:27px;height:27px}
  .suAluno .evPag .evBlocoTopo .tit{min-width:0}
  .suAluno .evPag .evFiltros{flex:1 1 100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;
    margin:0 -12px;padding:0 12px 2px}
  .suAluno .evPag .evFiltros::-webkit-scrollbar{display:none}
  .suAluno .evPag .evFiltro{flex:0 0 auto;white-space:nowrap}
  /* mês: cada dia vira uma linha — o número numa caixinha à esquerda e as aulas à direita */
  .suAluno .evPag .evGrade{border-radius:12px}
  .suAluno .evPag .evDia{display:grid;grid-template-columns:46px minmax(0,1fr);gap:6px 10px;align-items:start;padding:6px 8px}
  .suAluno .evPag .evDia.fora{display:none}
  .suAluno .evPag .evDia > b{grid-column:1;grid-row:1;align-self:start;text-align:center;font-size:15px;
    padding:5px 0;border-radius:9px;background:var(--s3)}
  .suAluno .evPag .evDia.hoje > b{color:var(--ouro)}
  .suAluno .evPag .evDia > .evItem{grid-column:2}
  .suAluno .evPag .evItem b{font-size:13px}
  .suAluno .evPag .evItem small{font-size:12px}
  /* lista: data | texto, e a etiqueta embaixo do texto */
  .suAluno .evPag .evLinha{display:grid;grid-template-columns:62px minmax(0,1fr);gap:6px 12px;align-items:start;padding:12px}
  .suAluno .evPag .evLinha .d{width:auto;grid-row:1/3}
  .suAluno .evPag .evLinha .p{grid-column:2;justify-self:start}
  .suAluno .evPag .evPeTxt{padding:18px 16px;max-width:66%}
  .suAluno .evPag .evPeTxt b{font-size:18px}

  /* --- 13 Aula VIP --- */
  .suAluno .vipPag .vipProf{flex-direction:row;gap:14px}
  .suAluno .vipPag .vipProfFoto{width:96px;flex:0 0 96px}
  .suAluno .vipPag .plVerBt{white-space:nowrap}
  .suAluno .vipPag .vipNum{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:10px;align-items:center;
    text-align:left;padding:12px 10px}
  .suAluno .vipPag .vipNum i{grid-row:1/3}
  .suAluno .vipPag .vipNum small{font-size:11px}

  /* --- 14 Ranking: o pódio fica com os 3 lado a lado (é um pódio) --- */
  .suAluno .rkPag .rkAbas{flex-wrap:nowrap;overflow-x:auto;gap:8px;scrollbar-width:none;margin:14px -12px 0;padding:0 12px 2px}
  .suAluno .rkPag .rkAbas::-webkit-scrollbar{display:none}
  .suAluno .rkPag .rkAba{flex:0 0 auto;height:40px;padding:0 15px;white-space:nowrap}
  .suAluno .rkPag .rkPodio{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:22px}
  .suAluno .rkPag .rkP{padding:40px 6px 12px;border-radius:12px}
  .suAluno .rkPag .rkP.p1{transform:translateY(-6px)}
  .suAluno .rkPag .rkCoroa{top:6px}
  .suAluno .rkPag .rkCoroa svg{width:34px;height:auto}
  .suAluno .rkPag .rkP .av{width:52px;height:52px;margin:4px auto 8px;border-width:2px}
  .suAluno .rkPag .rkP .av span{font-size:18px}
  .suAluno .rkPag .rkP h3{font-size:13px;line-height:1.25}
  .suAluno .rkPag .rkP .pts{font-size:13.5px}
  .suAluno .rkPag .rkP small{font-size:11px;margin-top:7px}
  /* os quadros de baixo passavam da borda da tela (já era assim antes) */
  .suAluno .rkPag .rkDuas{grid-template-columns:minmax(0,1fr)}
  .suAluno .rkPag .rkBloco{padding:14px 12px}

  /* --- 15 Suporte --- */
  .suAluno .spPag .spFaixa{flex-wrap:wrap;gap:10px 14px;padding:16px}
  .suAluno .spPag .spFaixa b{font-size:16px}
  .suAluno .spPag .spFaixa span.dir{flex:1 1 100%;margin-left:0;text-align:left}

  /* --- 55 Music Club --- */
  .suAluno .musPag .mcSem{flex-direction:row;gap:12px;align-items:flex-start}
  .suAluno .musPag .mcCapa{width:112px;flex:0 0 112px;aspect-ratio:1/1}
  .suAluno .musPag .mcSemTxt h3{font-size:19px}
  .suAluno .musPag .mcAcoes{display:flex;flex-direction:column;gap:8px}
  .suAluno .musPag .mcNiveis{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:62%;gap:10px;
    overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:0 16px 4px;scroll-padding:0 16px}
  .suAluno .musPag .mcNiveis::-webkit-scrollbar{display:none}
  .suAluno .musPag .mcNivel{scroll-snap-align:start}
  .suAluno .musPag .mcNums{grid-template-columns:1fr 1fr;gap:8px}
  .suAluno .musPag .mcNum{padding:10px;gap:9px}
  .suAluno .musPag .mcNum i{width:34px;height:34px;flex:0 0 34px}

  /* --- 56 Meu Trio e 57/58 Imersão (mesma casca de turma) --- */
  .suAluno .tmPag .tmAvisoFora,.suAluno .imPag .tmAvisoFora{flex-wrap:wrap;row-gap:6px}
  .suAluno .tmPag .tmAvisoFora a,.suAluno .imPag .tmAvisoFora a{flex:1 1 100%;padding-left:31px}
  .suAluno .tmPag .tmAbas,.suAluno .imPag .tmAbas{scrollbar-width:none}
  .suAluno .tmPag .tmAba,.suAluno .imPag .tmAba{flex:0 0 auto;white-space:nowrap}
  .suAluno .tmPag .tmFrase{min-height:0}
  /* 57: o próximo encontro com a data ao lado do texto (como no mockup) */
  .suAluno .imPag .imEnc{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px}
  .suAluno .imPag .imEnc > .tmData{width:72px;align-self:start;padding:10px 0}
  .suAluno .imPag .imEnc > .imThumb{grid-column:1/-1}
  .suAluno .imPag .imEncTxt h3{font-size:18px}
  .suAluno .imPag .imAcoes{flex-wrap:wrap}
  .suAluno .imPag .imPassos{grid-template-columns:1fr 1fr;gap:20px 8px}
  /* 58: a linha do encontro — dia | texto | etiqueta, e o "Entrar" embaixo à direita */
  .suAluno .imPag .plLinha{grid-template-columns:58px minmax(0,1fr) auto;gap:6px 10px;align-items:center;padding:12px}
  .suAluno .imPag .plLinhaDia{grid-column:1;grid-row:1/3}
  .suAluno .imPag .plTag{grid-column:3;grid-row:1;justify-self:end}
  .suAluno .imPag .plLinhaTxt{grid-column:2;grid-row:1}
  .suAluno .imPag .plLinhaDur{display:inline-flex;grid-column:2;grid-row:2}
  .suAluno .imPag .plLinha > form{grid-column:3;grid-row:2;min-width:96px}
}
/* (o bloco do grupo B entra logo acima desta linha) */
/* - */
/* - */
/* === Celular grupo C: internas 01-08 (Relógio, Imo, Shadowing) === */
@media (max-width:860px){
  /* --- 01 Relógio de Escuta (.rlRelogio; rl* também é usado no Relatórios) --- */
  .suAluno .rlRelogio .rlHero{min-height:170px}
  .suAluno .rlRelogio .rlHero > img{width:58%;opacity:1}
  .suAluno .rlRelogio .rlHero::after{background:linear-gradient(90deg,#0a1520 0%,rgba(10,21,32,.95) 42%,rgba(10,21,32,.5) 62%,rgba(10,21,32,.05) 100%)}
  .suAluno .rlRelogio .rlHeroTxt{padding:20px 16px;max-width:78%}
  .suAluno .rlRelogio .rlTitulo{gap:10px}
  .suAluno .rlRelogio .rlTitulo em{font-size:28px}
  .suAluno .rlRelogio .rlTitulo h1{font-size:28px;line-height:1.05}
  .suAluno .rlRelogio .rlCard{padding:16px 14px}
  .suAluno .rlRelogio .rlAnelLinha{flex-wrap:nowrap;gap:14px}
  .suAluno .rlRelogio .rlAnel svg{width:132px;height:132px}
  .suAluno .rlRelogio .rlAnelTxt b{font-size:19px}
  .suAluno .rlRelogio .rlLeg{flex:1 1 auto;min-width:0;gap:12px}
  .suAluno .rlRelogio .rlFerrIt{grid-template-columns:18px minmax(0,1.25fr) minmax(0,1fr) 46px 32px;gap:8px}
  .suAluno .rlRelogio .rlFerrBar{display:block;height:8px}

  /* --- 02 Conversar com a Imo (.imoPag): topo cortado no celular --- */
  .suAluno .imoPag .mdTrilha{display:none}
  .suAluno .imoPag .imoHero.hwHero{aspect-ratio:auto;min-height:190px}
  .suAluno .imoPag .imoHero > img{position:absolute;top:0;right:0;bottom:0;left:auto;width:52%;height:100%;
    object-fit:cover;object-position:right center;opacity:1}
  .suAluno .imoPag .imoHero::after{background:linear-gradient(90deg,#0a0716 0%,#0a0716 46%,rgba(10,7,22,.7) 60%,rgba(10,7,22,0) 82%)}
  .suAluno .imoPag .imoHero .hwHeroTxt{position:relative;inset:auto;margin:0;padding:20px 16px;max-width:66%}
  .suAluno .imoPag .imoHero .hwHeroTxt h1{font-size:30px;line-height:1.05}
  .suAluno .imoPag .imoHero .hwHeroTxt b{font-size:15px}
  .suAluno .imoPag .imoHero .hwHeroTxt p{font-size:12.5px}
  .suAluno .imoPag .imoStats{gap:8px}
  .suAluno .imoPag .imoTemas{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .suAluno .imoPag .imoTema{min-width:0;padding:9px 12px}
  .suAluno .imoPag .imoTemaVer{grid-column:1/-1}
  .suAluno .imoPag .imoResumo{flex-wrap:wrap;gap:8px 10px;padding:12px}
  .suAluno .imoPag .imoResumo p{flex:1 1 calc(100% - 40px)}
  .suAluno .imoPag .imoResumo form{margin-left:auto}

  /* --- 03 Shadowing (.shPag): níveis numa fileira, cartões menores --- */
  .suAluno .shPag .mdTrilha{display:none}
  .suAluno .shPag .shTabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .suAluno .shPag .shTabs::-webkit-scrollbar{display:none}
  .suAluno .shPag .shTab{flex:0 0 auto}
  .suAluno .shPag .shRowHead{flex-wrap:wrap;gap:2px 8px}
  .suAluno .shPag .shRowHead h3{font-size:18px}
  .suAluno .shPag .shRowHead span{flex:1 1 100%}
  .suAluno .shPag .shCard{flex-basis:152px}
  .suAluno .shPag .shMinhas .shCardWrap > .shCard{width:152px}
  .suAluno .shPag .shHist .shCard{flex-basis:190px}

  /* --- 04 Escolher o modo (.shModePag): os passos voltam, embaixo do texto --- */
  .suAluno .shModePag .mdTrilha{display:none}
  .suAluno .shModePag .smCard{flex-wrap:wrap;padding:18px 16px}
  .suAluno .shModePag .smBody{flex:1 1 0;min-width:0}
  .suAluno .shModePag .smPassos{display:flex;flex-direction:row;flex-wrap:wrap;flex:1 1 100%;gap:6px 14px;
    padding:12px 0 0;border-left:0;border-top:1px solid var(--br)}

  /* --- 05 Treino livre (.shRun.suAluno): topo em 2 linhas, chaves numa
     faixa acima das falas, falas alinhadas à esquerda e botões maiores --- */
  .suAluno:not(.shMem) .shTop{flex-wrap:wrap;row-gap:8px;padding:9px 12px}
  .suAluno:not(.shMem) .shTop .shTopTitle{flex:1 1 calc(100% - 100px)}
  .suAluno .shTop .shGhost:not([hidden]),.suAluno .shTop .shBtn:not([hidden]){white-space:nowrap;min-height:36px;display:inline-flex;align-items:center}
  .suAluno.shRun:not(.shMem) .shStage{display:grid;grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto minmax(0,1fr)}
  .suAluno .shStage > .shVideoWrap{grid-column:1/-1;grid-row:1;flex:none;aspect-ratio:16/9;height:auto}
  .suAluno .shStage > .shEsq{position:static;grid-column:1;grid-row:2;flex-direction:row;flex-wrap:wrap;
    align-items:center;padding:10px 12px 4px}
  .suAluno .shStage > .shTools{position:static;grid-column:2;grid-row:2;align-self:center;padding:10px 12px 4px 0}
  .suAluno .shStage > .shLyrics{grid-column:1/-1;grid-row:3;padding:8px 10px 90px}
  .suAluno #shSubLbl,.suAluno #shTextoLbl{display:inline}
  .suAluno .shSub{min-height:40px}
  .suAluno .shTool{width:40px;height:40px}
  .suAluno .shLine{justify-content:flex-start;text-align:left;align-items:center;gap:10px;padding:10px}
  .suAluno .shLine .txt{flex:1 1 auto;font-size:17px}
  .suAluno .shPlay{width:40px;height:40px;margin-top:0;font-size:12px;opacity:.75}
  .suAluno .shTiny{width:40px;height:40px}

  /* --- 06 Memorização: "Terminei o treino" ocupa a largura toda --- */
  .suAluno.shMem .shGuia{left:12px;right:12px}
  .suAluno.shMem .shGuiaPill{width:100%;min-height:48px;font-size:15px}

  /* --- 08 Resultado (.shRes): os dois botões dividem a linha --- */
  .suAluno .shRes .shResBts{flex-wrap:nowrap}
  .suAluno .shRes .shResBts > .shResBt{flex:1 1 0;min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center}
}
/* (o bloco do grupo C entra logo acima desta linha) */
/* - */
/* - */
/* === Celular grupo D: internas 09-18 (Música, Jogos, Flashcards, Missões) === */
@media (max-width:860px){
  /* --- Música: as fileiras viram de deslizar (mockup 09) --- */
  .suAluno .muHeroMetas{gap:10px 14px}
  .suAluno .muFila,.suAluno .muFila.tres,.suAluno .muDests{grid-template-columns:none;grid-auto-flow:column;
    grid-auto-columns:78%;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin-left:-14px;margin-right:-14px;
    padding:0 14px 4px;scroll-padding:0 14px;scrollbar-width:none}
  .suAluno .muFila::-webkit-scrollbar,.suAluno .muDests::-webkit-scrollbar{display:none}
  .suAluno .muItem,.suAluno .muDest{scroll-snap-align:start}
  .suAluno .muItem .cardRemoveBtn{display:block}
  .suAluno .muItem{gap:10px;padding:10px 10px 10px 8px}
  .suAluno .muItemFoto{width:56px;height:56px;flex:0 0 56px}
  .suAluno .muSecTopo{flex-wrap:wrap}
  /* --- Escolher modo: os selos numa linha que desliza (mockup 10) --- */
  .suAluno .msChips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .suAluno .msChips::-webkit-scrollbar{display:none}
  .suAluno .msChips > span{flex:0 0 auto}

  /* --- Jogos: as gramáticas lado a lado, quebrando linha (mockup 13) --- */
  .suAluno .jgChips{flex-direction:row;flex-wrap:wrap;gap:8px;padding:8px 14px 16px}
  .suAluno .jgChip{flex:0 0 auto;width:auto;min-height:40px}
  .suAluno .jgNivelTopo{flex-wrap:wrap;padding:14px}

  /* --- Flashcards (mockup 14): números 2x2 e "onde conseguir" de deslizar --- */
  .suAluno .cmFlash1 .fcNums{grid-template-columns:1fr 1fr;gap:8px}
  .suAluno .cmFlash1 .fcNum{padding:12px 10px;gap:9px}
  .suAluno .cmFlash1 .fcMaisCards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;gap:10px;
    overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
  .suAluno .cmFlash1 .fcMaisCards::-webkit-scrollbar{display:none}
  .suAluno .cmFlash1 .fcMaisCards .arCard{scroll-snap-align:start}
  .suAluno .cmFlash1 .fcMaisCards .foto{height:110px}
  .suAluno .cmFlash1 .fcMaisCards h3{font-size:18px}
  .suAluno .cmFlash1 .fcMaisCards p{font-size:13px;line-height:1.45}
  /* --- Revisão de hoje (mockup 15): cada frase numa linha só --- */
  .suAluno .cmFlash2 #fcLista .fcLinha{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:7px;
    flex-wrap:nowrap;padding:10px}
  .suAluno .cmFlash2 #fcLista .fcLinha .mini{width:40px;height:34px;flex:none}
  .suAluno .cmFlash2 #fcLista .fcLinha .txt{flex-basis:auto;font-size:13px}
  .suAluno .cmFlash2 #fcLista .fcLinha .quando{padding:6px 9px;font-size:11px}
  .suAluno .cmFlash2 #fcLista .fcLinha .txt select.fcMoverSel{max-width:100%;width:100%}

  /* --- Revisando a carta (mockup 16): topo numa linha, cartas maiores --- */
  .suAluno .rvTopo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}
  .suAluno .rvProg{min-width:0}
  .suAluno .rvSair,.suAluno .rvAtalhosBt{padding:0 11px;font-size:13px}
  .suAluno .rvCarta{min-height:260px}
  .suAluno .rvFrase{font-size:27px}
  .suAluno .rvNav .suBtn,.suAluno .rvNav a,.suAluno .rvNav button{min-height:46px}

  /* --- Missão da semana (mockup 17): um dia por linha em vez da tabela larga --- */
  .suAluno .cmMissSemana ~ .card table{display:block;width:100%;min-width:0!important}
  .suAluno .cmMissSemana ~ .card tbody{display:grid;grid-template-columns:64px minmax(0,1fr);
    grid-template-rows:repeat(7,auto);grid-auto-flow:column;row-gap:8px}
  .suAluno .cmMissSemana ~ .card tr{display:contents}
  .suAluno .cmMissSemana ~ .card th{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
    padding:10px 12px!important;font-size:14px;text-align:left;background:var(--s2,#0B202A);border:1px solid var(--br,#173440);
    border-right:0;border-radius:12px 0 0 12px}
  .suAluno .cmMissSemana ~ .card td{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px 10px!important;
    background:var(--s2,#0B202A);border:1px solid var(--br,#173440);border-left:0;border-radius:0 12px 12px 0}
  .suAluno .cmMissSemana ~ .card td a,.suAluno .cmMissSemana ~ .card td > div{margin:0!important;font-size:13px!important;
    padding:8px 10px!important;min-height:44px!important}
  .suAluno .cmMissSemana ~ p a{display:inline-flex;align-items:center;min-height:44px;font-size:16px;font-weight:700}

  /* --- Missão do dia (mockup 18): maior, com a atividade num painel --- */
  .suAluno .cmMissDia{padding:22px 18px}
  .suAluno .cmMissDia .sec-h h2{font-size:24px}
  .suAluno .cmMissDia .row{padding:14px 12px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);gap:10px}
  .suAluno .cmMissDia .row > span:first-child{font-size:16px}
  .suAluno .cmMissDia .row > a.btn{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;
    background:var(--ouro,#FFB82E);border-color:var(--ouro,#FFB82E);color:#0b1a22;font-weight:800}
  .suAluno .cmMissDia ~ p a{display:inline-flex;align-items:center;min-height:44px;font-size:16px}
}
/* Karaokê e Modo Aula (mockups 11/12): tela cheia de propósito (sem o menu
   do site), então não tem a classe do aluno no body — a marca cmKarAluno só
   vem quando quem abre é aluno. Só a letra muda: alinhada à esquerda e maior. */
@media (max-width:860px){
  .karaokeFull.cmKarAluno .lyricLine{justify-content:flex-start;width:100%;margin:2px 0}
  .karaokeFull.cmKarAluno .lyricText{flex:1 1 auto;text-align:left}
  .karaokeFull.cmKarAluno .lyricEn{font-size:19px}
  /* fim do Modo Aula (mockup 12): os botões do quadro ocupam a largura toda */
  .karaokeFull.cmKarAluno #lessonBox:not(.lessonMin) > .btn{width:100%;box-sizing:border-box;min-height:44px;
    padding:12px 14px;line-height:1.3;text-align:center}
}
/* (o bloco do grupo D entra logo acima desta linha) */
/* - */
/* - */
/* === Celular grupo E: internas 19-28 (Explorar por dentro) === */
/* Filme e Série (.nfxFilmes) e as vitrines de vídeo — Podcasts, TED,
   Entrevistas, Documentários, Stand-up (.vitPag) — com a lista de episódios
   (#ytBox), o player (#tvBox) e os avisos "antes de abrir/começar". Só aluno,
   só até 860px. As janelas moram fora da grade, por isso o "~". */
@media (max-width:860px){
  /* topo: a proporção fixa da capa (style inline) cortava o texto, a busca e
     os temas no celular — a altura passa a ser a do conteúdo */
  .suAluno .vitPag .suStandHero,.suAluno .nfxFilmes .suStandHero{aspect-ratio:auto!important;min-height:0!important}
  .suAluno .vitPag .suStandHero.capaCheia::after,.suAluno .nfxFilmes .nfxCapa::after{
    background:linear-gradient(90deg,rgba(8,10,16,.94) 0%,rgba(8,10,16,.74) 46%,rgba(8,10,16,.18) 100%)}
  .suAluno .vitPag .suStandHero.capaCheia .suStandTxt,.suAluno .nfxFilmes .nfxHero{padding:20px 16px 18px}
  .suAluno .vitPag .suStandTxt h1{font-size:30px}
  .suAluno .vitPag .suStandTxt > p{font-size:13.5px}
  .suAluno .vitPag .suStandBusca{flex-wrap:nowrap;margin-top:14px}
  .suAluno .vitPag .suStandBusca label{min-width:0;height:46px;padding:0 12px}
  .suAluno .vitPag .suStandBusca .suBtn{flex:0 0 auto;height:46px}
  .suAluno .vitPag .suStandTemas{flex-wrap:nowrap;overflow-x:auto;margin-right:-16px;padding-right:16px;scrollbar-width:none}
  .suAluno .vitPag .suStandTemas::-webkit-scrollbar{display:none}
  .suAluno .vitPag .suStandTema{flex:0 0 auto;display:inline-flex;align-items:center;min-height:40px;white-space:nowrap}
  /* a citação ficava por baixo do degradê (z-index sem position) */
  .suAluno .vitPag .suStandCards{position:relative;right:auto;bottom:auto;margin:0 16px 16px}
  /* fileiras: 4 lado a lado no mockup = fileira de deslizar */
  .suAluno .vitPag .suFila{margin-top:22px}
  .suAluno .vitPag .suFilaTopo h3{font-size:17px}
  .suAluno .vitPag .suFilaCards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:42%;gap:10px;
    overflow-x:auto;scroll-snap-type:x mandatory;margin:10px -14px 0;padding:0 14px 4px;scroll-padding:0 14px;scrollbar-width:none}
  .suAluno .vitPag .suFilaCards::-webkit-scrollbar{display:none}
  .suAluno .vitPag .suEsp{scroll-snap-align:start;min-width:0}
  .suAluno .vitPag .suEspNome{font-size:13.5px;margin-top:7px}
  .suAluno .vitPag .suEspSub{font-size:12px}
  .suAluno .vitPag .suStandFaixa{gap:12px;padding:16px}
  .suAluno .vitPag .suStandFaixa b{font-size:17px}
  .suAluno .vitPag .suStandFaixa .suBtn{width:100%;justify-content:center;min-height:44px}

  /* Filme e Série */
  .suAluno .nfxFilmes .nfx h1{font-size:34px}
  .suAluno .nfxFilmes .nfxLead{font-size:14px}
  .suAluno .nfxFilmes .nfxRow{margin-top:24px}
  .suAluno .nfxFilmes .nfxRow h2{font-size:17px;gap:4px 8px}
  .suAluno .nfxFilmes .nfxRow h2 span{font-size:11.5px}
  .suAluno .nfxFilmes .nfxTrack{gap:10px;margin:0 -14px;padding:4px 14px 14px;scroll-padding:0 14px}
  .suAluno .nfxFilmes .nfxCard{flex:0 0 36%}
  .suAluno .nfxFilmes .nfxArt{width:100%;height:auto;aspect-ratio:2/3}
  .suAluno .nfxFilmes .nfxName{font-size:13px}
  .suAluno .nfxFilmes .nfxSub,.suAluno .nfxFilmes .nfxWhy{font-size:11.5px}
  .suAluno .nfxFilmes .nfxFaixa{flex-direction:column;align-items:flex-start;gap:10px;padding:16px}
  .suAluno .nfxFilmes .nfxFaixa b{font-size:17px}
  .suAluno .nfxFilmes .nfxFaixaBt{width:100%;text-align:center;padding:13px 16px}
  /* "Antes de abrir a Netflix": folha que sobe do pé, números em bolinha */
  .suAluno .nfxFilmes ~ .nfxModal{align-items:flex-end;padding:0}
  .suAluno .nfxFilmes ~ .nfxModal .nfxModalBox{width:100%;max-width:none;max-height:92vh;overflow-y:auto;
    border-radius:18px 18px 0 0;padding:22px 18px calc(18px + env(safe-area-inset-bottom))}
  .suAluno .nfxFilmes ~ .nfxModal .nfxModalBox h3{font-size:23px}
  .suAluno .nfxFilmes ~ .nfxModal .nfxModalSub{font-size:14px}
  .suAluno .nfxFilmes ~ .nfxModal .nfxSteps p{position:relative;padding-left:40px;font-size:13.5px;line-height:1.5}
  .suAluno .nfxFilmes ~ .nfxModal .nfxSteps p > b:first-child{position:absolute;left:0;top:0;width:28px;height:28px;
    border-radius:50%;background:#e50914;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12.5px}
  .suAluno .nfxFilmes ~ .nfxModal .nfxModalBtns{flex-wrap:nowrap}
  .suAluno .nfxFilmes ~ .nfxModal .nfxBtn{flex:1 1 auto;min-height:48px}

  /* lista de episódios (#ytBox): miniatura à esquerda, texto à direita */
  .suAluno .vitPag ~ #ytBox{padding:12px 10px!important}
  .suAluno .vitPag ~ #ytBox > div{padding:14px!important}
  .suAluno .vitPag ~ #ytBox #ytFechar{min-height:40px}
  .suAluno .vitPag ~ #ytBox #ytGrade{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .suAluno .vitPag ~ #ytBox .ytCard{display:grid;grid-template-columns:42% minmax(0,1fr);grid-template-rows:auto 1fr;
    column-gap:12px;row-gap:4px;align-items:start;padding:8px}
  .suAluno .vitPag ~ #ytBox .ytCapa{grid-row:1/3}
  .suAluno .vitPag ~ #ytBox .ytCard b{font-size:13.5px}
  .suAluno .vitPag ~ #ytBox .ytCanal{font-size:11.5px}

  /* player (#tvBox): título em até 2 linhas, vídeo na largura toda e o
     "Antes de começar" embaixo do vídeo em vez de espremido por cima dele */
  .suAluno .vitPag ~ #tvBox{align-items:flex-start!important;padding:12px 10px!important}
  .suAluno .vitPag ~ #tvBox #tvCaixa:not(:fullscreen){width:100%;display:flex;flex-direction:column}
  .suAluno .vitPag ~ #tvBox #tvCaixa:not(:fullscreen) #tvCabeca{order:0;flex-wrap:wrap;justify-content:flex-end}
  .suAluno .vitPag ~ #tvBox #tvCaixa:not(:fullscreen) #tvTit{flex:1 1 100%!important;white-space:normal!important;font-size:14.5px!important;line-height:1.3}
  .suAluno .vitPag ~ #tvBox #tvCabeca .btn,.suAluno .vitPag ~ #tvBox #tvBarra .btn{min-height:40px}
  .suAluno .vitPag ~ #tvBox #tvCaixa:not(:fullscreen) #tvPalco{order:1;width:100%}
  .suAluno .vitPag ~ #tvBox #tvCaixa:not(:fullscreen) #tvGuia:not([hidden]){order:2;position:static;display:block;
    background:none;padding:0;margin-top:12px}
  .suAluno .vitPag ~ #tvBox #tvCaixa:not(:fullscreen) #tvErro,.suAluno .vitPag ~ #tvBox #tvCaixa:not(:fullscreen) #tvBarra,
  .suAluno .vitPag ~ #tvBox #tvCaixa:not(:fullscreen) #lgBox{order:3}
  .suAluno .vitPag ~ #tvBox #tvGuiaCard{width:100%;max-height:none;padding:20px 16px}
  .suAluno .vitPag ~ #tvBox #tvGuiaCard h3{font-size:22px}
  .suAluno .vitPag ~ #tvBox .tvGuiaSub{font-size:14px}
  .suAluno .vitPag ~ #tvBox .tvGuiaPassos p{position:relative;padding-left:40px;font-size:13.5px}
  .suAluno .vitPag ~ #tvBox .tvGuiaPassos p > b:first-child{position:absolute;left:0;top:0;width:28px;height:28px;
    border-radius:50%;background:#e50914;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12.5px}
  .suAluno .vitPag ~ #tvBox #tvGuiaOk{min-height:48px}
}
/* (o bloco do grupo E entra logo acima desta linha) */
/* - */
/* - */
/* === Celular grupo F1: internas 29-32 e 40-42 (Homework, Material, Aulas, Provas, Nivelamento) === */
/* Telas de estudo por dentro (My Homework, Material Didático, Minhas aulas,
   Provas, Provas de Módulo, Teste de Nivelamento) no celular do aluno. O
   Histórico de homework já batia com o mockup e ficou como estava. */
@media (max-width:860px){
  /* topo: foto à direita e texto por cima, como no lote 1 (antes o título
     ficava embaixo da foto, com a foto ocupando a largura toda) */
  .suAluno .hwPag .hwHero,.suAluno .mdPag .mdHero,.suAluno .auPag .maHero,.suAluno .pqPag .pmHero,.suAluno .nvPag .nvHero{
    aspect-ratio:auto;min-height:170px}
  .suAluno .hwPag .hwHero > img,.suAluno .mdPag .mdHero > img,.suAluno .auPag .maHero > img,.suAluno .pqPag .pmHero > img,.suAluno .nvPag .nvHero > img{
    position:absolute;top:0;right:0;bottom:0;left:auto;width:60%;height:100%;object-fit:cover;object-position:center}
  .suAluno .hwPag .hwHero::after,.suAluno .mdPag .mdHero::after,.suAluno .auPag .maHero::after,.suAluno .pqPag .pmHero::after,.suAluno .nvPag .nvHero::after{
    background:linear-gradient(90deg,#080F15 0%,#080F15 36%,rgba(8,15,21,.78) 56%,rgba(8,15,21,.12) 100%)}
  .suAluno .hwPag .hwHeroTxt,.suAluno .mdPag .hwHeroTxt,.suAluno .auPag .hwHeroTxt,.suAluno .pqPag .pmHero .hwHeroTxt,.suAluno .nvPag .hwHeroTxt{
    position:relative;inset:auto;margin:0;padding:18px 16px;max-width:82%}
  .suAluno .hwPag .hwHeroTxt h1,.suAluno .mdPag .hwHeroTxt h1,.suAluno .auPag .hwHeroTxt h1{font-size:34px}
  .suAluno .pqPag .pmHero .hwHeroTxt h1,.suAluno .nvPag .hwHeroTxt h1{font-size:30px}
  .suAluno .nvPag .nvHero > img{width:58%;object-position:38% center}
  .suAluno .nvPag .nvHero .hwHeroTxt{max-width:68%}
  .suAluno .nvPag .nvHero .mdTrilha{white-space:nowrap}
  .suAluno .nvPag .nvHero::after{background:linear-gradient(90deg,#080F15 0%,#080F15 28%,rgba(8,15,21,.62) 52%,rgba(8,15,21,.05) 100%)}
  .suAluno .hwPag .hwHeroTxt b,.suAluno .mdPag .hwHeroTxt b,.suAluno .auPag .hwHeroTxt b,.suAluno .pqPag .pmHero .hwHeroTxt b,.suAluno .nvPag .hwHeroTxt b{font-size:15px}
  .suAluno .hwPag .hwHeroTxt p,.suAluno .mdPag .hwHeroTxt p,.suAluno .auPag .hwHeroTxt p,.suAluno .pqPag .pmHero .hwHeroTxt p,.suAluno .nvPag .hwHeroTxt p{font-size:12.5px}
  /* a frase "KEEP GOING" numa linha só, como no mockup */
  .suAluno .hwPag .hwFrase,.suAluno .mdPag .hwFrase,.suAluno .auPag .hwFrase{flex-wrap:nowrap;gap:12px;padding:12px 14px}
  .suAluno .hwPag .hwFrase p,.suAluno .mdPag .hwFrase p,.suAluno .auPag .hwFrase p{flex:1 1 auto;font-size:13px}
  .suAluno .hwPag .hwFrase small,.suAluno .mdPag .hwFrase small,.suAluno .auPag .hwFrase small{flex:0 0 auto;font-size:11px;letter-spacing:.14em}
  .suAluno .hwPag .hwCorpo,.suAluno .mdPag .mdCorpo,.suAluno .auPag .hwCorpo,.suAluno .pqPag .hwCorpo{margin-top:14px;gap:14px}
  .suAluno .hwPag .hwEsq,.suAluno .hwPag .hwDir,.suAluno .auPag .hwEsq,.suAluno .auPag .hwDir{gap:14px}

  /* Material Didático: a etiqueta "ainda não liberado" volta (estava
     escondida no celular) e a frase de cada ebook aparece inteira */
  .suAluno .mdPag .mdPill{display:inline-flex;height:30px;padding:0 9px;font-size:11px;flex:0 0 auto}
  .suAluno .mdPag .mdRow.mdOff{gap:10px;padding:12px}
  .suAluno .mdPag .mdTxt b{font-size:14.5px}
  .suAluno .mdPag .mdTxt small{white-space:normal;font-size:12px;line-height:1.35}

  /* Minhas aulas: "Ver todas →" ao lado do título; a próxima aula com a
     data à esquerda e os botões embaixo; a grade com o nome inteiro */
  .suAluno .auPag .suCab{flex-wrap:nowrap;align-items:center}
  .suAluno .auPag .suCab h2{font-size:19px}
  .suAluno .auPag .suCab .dir{width:auto;flex:0 0 auto;margin:0 0 0 auto;white-space:nowrap}
  .suAluno .auPag .maProx{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:start}
  .suAluno .auPag .maData{width:76px;height:88px}
  .suAluno .auPag .maData b{font-size:30px}
  .suAluno .auPag .maProxTxt{min-width:0}
  .suAluno .auPag .maProxBtns{grid-column:1/-1;min-width:0;width:100%}
  .suAluno .auPag .maGradeTxt b{white-space:normal;font-size:13px;line-height:1.3}

  /* Provas: a arte de cada cartão mais alta, como no mockup */
  .suAluno .pvPag .pvArte{aspect-ratio:16/6.5}

  /* Provas de Módulo: níveis menores (cabem 4 de uma vez, o resto desliza)
     e as provas em 2 colunas */
  .suAluno .pqPag .pmNiveis{gap:8px;margin-top:12px}
  .suAluno .pqPag .pmNivel{min-width:84px;padding:8px 12px}
  .suAluno .pqPag .pmGrade{grid-template-columns:1fr 1fr;gap:10px}
  .suAluno .pqPag .pmCard{min-height:0;padding:12px;gap:6px}
  .suAluno .pqPag .pmN{font-size:24px}
  .suAluno .pqPag .pmCard .pmTit{font-size:13.5px}
  .suAluno .pqPag .pmSit{font-size:12px;padding-top:3px;padding-bottom:3px}
  .suAluno .pqPag .pmMeta{font-size:12px}
  .suAluno .pqPag .pmCard .suBtn,.suAluno .pqPag .pmCard .pmBloq{min-height:40px;font-size:12.5px}
}
/* (o bloco do grupo F1 entra logo acima desta linha) */
/* - */
/* - */
/* === Celular grupo F2: internas 33-39 (Movie Club, Music Club) === */
/* Movie Club, Movie Club da Imersão e Music Club no celular do aluno: a lista
   do clube (clubeListaPage), a sessão de uma série/mês/música (clubePage com
   soGrupo) e a janela do player (#cbBox). Mesma trava da etapa 1. */
@media (max-width:860px){
  /* --- lista do clube: topo menor, foto à direita, sem o caminho --- */
  .suAluno .clPag .mdTrilha{display:none}
  .suAluno .clPag .clHero.hwHero{aspect-ratio:auto;min-height:0}
  .suAluno .clPag .clHero > img{position:absolute;top:0;right:0;bottom:0;left:auto;width:62%;height:100%;
    object-fit:cover;object-position:center}
  .suAluno .clPag .clHero::after{background:linear-gradient(0deg,rgba(8,15,21,.88) 0%,rgba(8,15,21,0) 46%),
    linear-gradient(90deg,#080F15 0%,#080F15 34%,rgba(8,15,21,.8) 52%,rgba(8,15,21,.12) 100%)}
  .suAluno .clPag .clHero .hwHeroTxt{position:relative;inset:auto;margin:0;padding:16px 14px}
  .suAluno .clPag .clHero .hwHeroTxt h1{font-size:26px;gap:10px}
  .suAluno .clPag .clHeroIco{width:34px;height:34px;flex:0 0 34px}
  .suAluno .clPag .clHero .hwHeroTxt b{font-size:15px;max-width:74%}
  .suAluno .clPag .clHero .hwHeroTxt p{font-size:12.5px;max-width:74%}
  .suAluno .clPag .clHeroMetas{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}
  .suAluno .clPag .clHeroMetas i{width:30px;height:30px;flex:0 0 30px}
  .suAluno .clPag .clHeroMetas b{font-size:12.5px}
  .suAluno .clPag .clHeroMetas small{font-size:11px}
  /* abas dos três clubes: fileira de deslizar */
  .suAluno .clPag .clAbas{flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:12px -14px 0;padding:0 14px 4px;
    scroll-padding:0 14px;scrollbar-width:none}
  .suAluno .clPag .clAbas::-webkit-scrollbar{display:none}
  .suAluno .clPag .clAba{flex:0 0 auto;height:42px;padding:0 16px;font-size:13.5px;white-space:nowrap}
  /* busca numa linha, filtros dois por linha */
  .suAluno .clPag .clFiltros{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}
  .suAluno .clPag .clBusca{flex:1 1 100%;height:44px}
  .suAluno .clPag .clSel{flex:1 1 calc(50% - 4px);min-width:0;height:44px;font-size:13.5px;padding:0 10px}
  /* seções */
  .suAluno .clPag .clLista{gap:26px}
  .suAluno .clPag .clSecaoTopo{gap:8px}
  .suAluno .clPag .clSecaoTopo h2{flex:1 1 100%;font-size:22px;line-height:1.15}
  .suAluno .clPag .clSecaoDesc{font-size:13px}
  /* capa + aulas numa fileira só de deslizar (sangra até a borda) */
  .suAluno .clPag .clFileira{display:flex;gap:10px;overflow-x:auto;align-items:flex-start;margin:12px -14px 0;
    padding:0 14px 6px;scroll-snap-type:x mandatory;scroll-padding:0 14px;scrollbar-width:none}
  .suAluno .clPag .clFileira::-webkit-scrollbar{display:none}
  .suAluno .clPag .clFileira > .clPoster{flex:0 0 40%;scroll-snap-align:start}
  .suAluno .clPag .clFileira > .clAulas{display:contents}
  .suAluno .clPag .clFileira .clAula{flex:0 0 46%;min-width:0;scroll-snap-align:start}
  .suAluno .clPag .clAulaNome{-webkit-line-clamp:2;font-size:13.5px}
  /* Music Club: capa pequena ao lado do texto, aulas embaixo */
  .suAluno .clPag .clSecaoMus{grid-template-columns:118px minmax(0,1fr);gap:12px}
  .suAluno .clPag .clSecaoMus .clPoster{max-width:none;grid-column:1}
  .suAluno .clPag .clSecaoMus .clMusInfo{grid-column:2;min-width:0}
  .suAluno .clPag .clMusTopo h2{font-size:17px}
  .suAluno .clPag .clMusInfo .clSecaoDesc{font-size:12.5px;margin-top:6px}
  .suAluno .clPag .clMusTags{margin-top:8px}
  .suAluno .clPag .clMusTags .clTag{padding:4px 10px;font-size:12px}
  .suAluno .clPag .clMusInfo .clVerTodas{display:inline-flex;align-items:center;min-height:40px;margin:2px 0 0}
  .suAluno .clPag .clSecaoMus .clAulasMus{grid-column:1/-1;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:10px;
    margin:0 -14px;padding:0 14px 6px;scroll-snap-type:x mandatory;scroll-padding:0 14px;scrollbar-width:none}
  .suAluno .clPag .clAulasMus::-webkit-scrollbar{display:none}
  .suAluno .clPag .clSecaoMus .clAulaMus{flex:0 0 72%;scroll-snap-align:start}
  /* só duas aulas: lado a lado, sem deslizar */
  .suAluno .clPag .clSecaoMus .clAulaMus:first-child:nth-last-child(2),
  .suAluno .clPag .clSecaoMus .clAulaMus:first-child:nth-last-child(2) ~ .clAulaMus{flex:0 0 calc(50% - 5px)}

  /* --- sessão de uma série/mês/música --- */
  .suAluno .clPag .cbCapaArte{min-height:0;margin:-14px -14px 0}
  /* a regra antiga de até 700px (.cbCapa>* relativo + véu escuro) servia pra capa com texto;
     na capa que é só a arte dela, o link volta pra cima da arte e a arte fica sem véu */
  .suAluno .clPag .cbCapaArte > .cbVoltaSobre{position:absolute;top:10px;left:12px}
  .suAluno .clPag .cbCapaArte::before{display:none}
  .suAluno .clPag .cbVoltaSobre a{display:inline-flex;align-items:center;min-height:36px}
  .suAluno .clPag .cbFaixa{margin:14px 0 18px;gap:14px}
  .suAluno .clPag .cbTagFora{font-size:19px;line-height:1.3}
  .suAluno .clPag .cbCapa:not(.cbCapaArte){padding:18px 16px 20px;min-height:0}
  .suAluno .clPag .cbPlay{min-height:44px}
  /* capa pequena com o nome ao lado; as aulas descem pra largura toda */
  .suAluno .clPag .cbGrupo{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:20px}
  .suAluno .clPag .cbGrupo > .cbPoster{width:112px;grid-column:1;grid-row:1}
  .suAluno .clPag .cbGrupo > .cbDir{display:contents}
  .suAluno .clPag .cbLbl{grid-column:2;grid-row:1;margin:0}
  .suAluno .clPag .cbTrilha,.suAluno .clPag .cbGrade{grid-column:1/-1;grid-row:2;min-width:0}
  .suAluno .clPag .cbTrilha{gap:10px;margin:0 -14px;padding:0 14px 6px;scroll-snap-type:x mandatory;scroll-padding:0 14px;scrollbar-width:none}
  .suAluno .clPag .cbTrilha::-webkit-scrollbar{display:none}
  .suAluno .clPag .cbTrilha .cbAula{flex:0 0 46%;scroll-snap-align:start}
  .suAluno .clPag .cbTrilha .cbAula.cbAulaCena{flex:0 0 86%}
  .suAluno .clPag .cbGrade{grid-template-columns:1fr 1fr;gap:10px}
  .suAluno .clPag .cbGrade > .cbAula{max-width:none;min-width:0}
  /* cena (nome escrito dentro da imagem) precisa da largura toda pra ler */
  .suAluno .clPag .cbGrade > .cbAula.cbAulaCena{grid-column:1/-1}

  /* --- janela do player (estilo inline: precisa de !important) --- */
  .suAluno #cbBox{padding:12px!important}
  .suAluno #cbBox #cbTit{white-space:normal!important;font-size:16px!important;line-height:1.3}
  .suAluno #cbBox #cbFechar{min-height:40px;flex:0 0 auto}
}
/* (o bloco do grupo F2 entra logo acima desta linha) */
/* - */
/* - */
/* === Celular grupo G: internas 43-47 (Perfil por dentro, Privacidade) === */
/* 43-45 (Como você aprende, pergunta, Feedback do plano) já batem com o
   mockup desde o lote 1 — nada novo aqui. 46 = Configurações da conta
   (/profile, marca .pfConta no 1º cartão; os outros cartões são irmãos
   dele) e 47 = aviso de privacidade (.prvTexto). Só aluno, só até 860px. */
@media (max-width:860px){
  /* --- 46: Configurações da conta --- */
  .suAluno .pfConta,.suAluno .pfConta ~ .card{padding:16px 14px;border-radius:16px}
  .suAluno .pfConta ~ .card{margin-top:10px}
  .suAluno .pfConta ~ .card .sec-h{margin-bottom:10px}
  .suAluno .pfConta ~ .card .sec-h h2{font-size:17px}
  .suAluno .pfConta .hero{flex-wrap:nowrap;align-items:flex-start;gap:14px}
  .suAluno .pfConta .hero .av.lg{flex:0 0 60px;width:60px;height:60px;font-size:20px}
  .suAluno .pfConta .hero-info{min-width:0}
  .suAluno .pfConta .hero-info .hi{font-size:13px}
  .suAluno .pfConta .hero-info h1{font-size:23px;margin:2px 0 10px}
  .suAluno .pfConta .hstats{gap:6px}
  .suAluno .pfConta .hstats .badge{padding:4px 9px;font-size:11.5px}
  .suAluno .pfConta ~ .card p.muted{font-size:13px;line-height:1.5}
  .suAluno .pfConta ~ .card label{margin:12px 0 6px}
  /* "Uma frase sua" + Salvar na mesma linha, como no mockup */
  .suAluno .pfConta ~ .card form[action="/profile/apresentacao"]{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:end}
  .suAluno .pfConta ~ .card form[action="/profile/apresentacao"] > label,
  .suAluno .pfConta ~ .card form[action="/profile/apresentacao"] > input[name="cargo"]{grid-column:1 / -1}
  .suAluno .pfConta ~ .card form[action="/profile/apresentacao"] > .btn{margin-top:0!important}
  /* Senha atual | Nova senha lado a lado; confirmar embaixo, inteira */
  .suAluno .pfConta ~ .card form[action="/profile/password"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:10px}
  .suAluno .pfConta ~ .card form[action="/profile/password"] > label:nth-of-type(1){grid-column:1;grid-row:1}
  .suAluno .pfConta ~ .card form[action="/profile/password"] > input:nth-of-type(1){grid-column:1;grid-row:2}
  .suAluno .pfConta ~ .card form[action="/profile/password"] > label:nth-of-type(2){grid-column:2;grid-row:1}
  .suAluno .pfConta ~ .card form[action="/profile/password"] > input:nth-of-type(2){grid-column:2;grid-row:2}
  .suAluno .pfConta ~ .card form[action="/profile/password"] > label:nth-of-type(3),
  .suAluno .pfConta ~ .card form[action="/profile/password"] > input:nth-of-type(3){grid-column:1 / -1}
  .suAluno .pfConta ~ .card form[action="/profile/password"] > .btn{grid-column:1 / -1;justify-self:start;margin-top:14px!important}
  .suAluno .pfConta ~ .card .chips{display:flex;flex-wrap:wrap;gap:6px}
  .suAluno .pfConta ~ .card .chips .badge{padding:5px 10px;font-size:12px}

  /* --- 47: aviso de privacidade, num cartão, com bolinhas douradas --- */
  .suAluno .prvTexto{background:var(--s1);border:1px solid var(--br);border-radius:16px;padding:20px 16px;
    font-size:14.5px;line-height:1.6;color:var(--t1)}
  .suAluno .prvTexto h1{font-size:25px;line-height:1.15;margin:0 0 14px;letter-spacing:-.02em}
  .suAluno .prvTexto h3{font-size:18px;line-height:1.3;margin:22px 0 10px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
  .suAluno .prvTexto p{margin:0 0 12px}
  .suAluno .prvTexto ul{margin:0 0 12px;padding-left:22px}
  .suAluno .prvTexto li{margin:0 0 6px}
  .suAluno .prvTexto li::marker{color:var(--ouro)}
}
/* (o bloco do grupo G entra logo acima desta linha) */
/* - */
/* - */

/* P534 (0736) — Diagnostico de Comunicacao em Ingles, a parte ABERTA do
   site. Prefixo dg, que estava livre (conferi antes de escrever: o pv me
   ensinou isso do jeito caro).

   Esta tela e vista por quem NUNCA entrou na plataforma, muitas vezes pelo
   celular, vindo de um anuncio. Entao: uma coluna so, texto grande, um
   toque por pergunta, e nada que dependa de hover pra funcionar. */
/* O page() envelopa tudo num .wrap com max-width e padding. Numa tela de
   anuncio isso vira uma faixa clara em volta do painel escuro. Mesmo
   truque que o pz usa desde o P524: a tela desfaz o wrap e pinta o body. */
body:has(.dgTela) .wrap,body:has(.dgHero) .wrap,body:has(.dgPalco) .wrap,
body:has(.bzTela) .wrap{max-width:none;width:100%;margin:0;padding:0}
body:has(.dgTela){background:#04121B}
body:has(.dgHero),body:has(.dgPalco){background:#050F15}
body:has(.bzTela){background:#00060C}
.dgTela{min-height:100vh;background:#04121B;color:#E8F1F8;
  font-family:inherit;display:flex;flex-direction:column;align-items:center;
  padding:26px 18px 60px;box-sizing:border-box}
.dgCaixa{width:100%;max-width:680px}
.dgMarca{display:flex;align-items:baseline;gap:10px;margin-bottom:26px}
.dgMarca b{font-size:21px;font-weight:800;letter-spacing:-.3px}
.dgMarca b i{color:var(--ouro,#E6A23C);font-style:normal}
.dgMarca small{font-size:9.5px;letter-spacing:.22em;color:#7E93A1;font-weight:700}

/* --- barra de progresso: sempre visivel, porque a primeira pergunta que
   qualquer pessoa faz num teste e "quantas faltam". */
.dgProg{display:flex;align-items:center;gap:12px;margin-bottom:26px}
.dgProgTrilho{flex:1;height:5px;border-radius:999px;background:#122E3F;overflow:hidden}
.dgProgFita{height:100%;border-radius:999px;background:var(--ouro,#E6A23C);
  transition:width .3s ease}
.dgProgTxt{font-size:11.5px;color:#7E93A1;font-weight:700;white-space:nowrap;
  font-variant-numeric:tabular-nums}

.dgOlho{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ouro,#E6A23C);font-weight:800;margin-bottom:10px}
.dgTitulo{font-size:31px;line-height:1.16;margin:0 0 14px;font-weight:800;
  letter-spacing:-.5px;text-wrap:balance}
.dgSub{font-size:15px;line-height:1.6;color:#B7C6D2;margin:0 0 22px}

/* --- alternativas: o alvo de toque e a LINHA inteira, nao a bolinha. */
.dgOpcoes{display:grid;gap:10px;margin:0 0 22px}
.dgOpcao{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;
  align-items:flex-start;padding:16px 17px;border-radius:14px;
  background:#0A2130;border:1px solid #1B3B4E;cursor:pointer;
  font-size:14.5px;line-height:1.5;transition:border-color .14s,background .14s}
.dgOpcao:hover{border-color:#2F5871;background:#0C2739}
.dgOpcao input{position:absolute;opacity:0;pointer-events:none}
.dgBola{width:21px;height:21px;border-radius:50%;border:2px solid #34586F;
  flex:none;margin-top:1px;display:grid;place-items:center;transition:border-color .14s}
.dgBola::after{content:"";width:9px;height:9px;border-radius:50%;
  background:var(--ouro,#E6A23C);transform:scale(0);transition:transform .14s}
.dgOpcao input:checked ~ .dgBola{border-color:var(--ouro,#E6A23C)}
.dgOpcao input:checked ~ .dgBola::after{transform:scale(1)}
.dgOpcao:has(input:checked){border-color:var(--ouro,#E6A23C);background:#13273099}
.dgOpcao input:focus-visible ~ .dgBola{outline:2px solid var(--ouro,#E6A23C);outline-offset:3px}

.dgPe{display:flex;align-items:center;gap:14px;margin-top:8px}
.dgBt{padding:15px 28px;border-radius:13px;border:0;background:var(--ouro,#E6A23C);
  color:#1B1206;font-size:15px;font-weight:800;cursor:pointer;font-family:inherit}
.dgBt:hover{filter:brightness(1.06)}
.dgBt:disabled{opacity:.4;cursor:not-allowed;filter:none}
.dgVolta{color:#7E93A1;text-decoration:none;font-size:13.5px;font-weight:700}
.dgVolta:hover{color:#E8F1F8}

.dgCampo{width:100%;padding:15px 16px;border-radius:13px;border:1px solid #1B3B4E;
  background:#0A2130;color:inherit;font-size:15px;font-family:inherit;
  box-sizing:border-box;resize:vertical;min-height:110px}
.dgCampo:focus{outline:2px solid var(--ouro,#E6A23C);outline-offset:1px;border-color:transparent}

/* --- resultado */
.dgSelo{display:inline-flex;align-items:center;gap:9px;padding:7px 15px;
  border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.11em;
  text-transform:uppercase;background:color-mix(in srgb,var(--ouro,#E6A23C) 15%,transparent);
  color:var(--ouro,#E6A23C);border:1px solid color-mix(in srgb,var(--ouro,#E6A23C) 34%,transparent);
  margin-bottom:16px}
.dgCorpo{font-size:16.5px;line-height:1.68;color:#D6E3EC;margin:0 0 20px}
.dgPasso{font-size:16.5px;line-height:1.68;margin:0 0 26px;padding:18px 20px;
  border-radius:15px;background:#0A2130;border-left:3px solid var(--ouro,#E6A23C)}
.dgNota{font-size:14.5px;line-height:1.62;color:#9DB0BE;margin:0 0 14px;
  padding-left:15px;border-left:2px solid #1B3B4E}
.dgNota b{color:#D6E3EC;font-weight:700}

/* --- as cinco barras: o mapa inteiro, nao so o gargalo. Quem fez o teste
   merece ver de onde saiu o resultado. */
.dgMapa{display:grid;gap:11px;margin:0 0 28px;padding:20px;border-radius:15px;
  background:#081C29;border:1px solid #14303F}
.dgMapaTit{font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:#7E93A1;font-weight:800;margin-bottom:4px}
.dgBarra{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;
  font-size:13px}
.dgBarra span{min-width:150px}
/* O numero fica do lado da barra em vez de existir um eixo: sao cinco
   linhas, e um eixo pra cinco linhas e mais tinta que informacao. */
.dgBarra em{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums;
  min-width:66px;text-align:right}
.dgBarra em small{font-weight:400;color:#7E93A1;font-size:11.5px}
.dgBarra span{color:#B7C6D2}
.dgBarra i{display:block;height:9px;border-radius:999px;background:#122E3F;
  position:relative;overflow:hidden}
.dgBarra i u{position:absolute;inset:0 auto 0 0;border-radius:999px;background:#3C6C8A;
  text-decoration:none}
.dgBarra.menor span{color:var(--ouro,#E6A23C);font-weight:700}
.dgBarra.menor i u{background:var(--ouro,#E6A23C)}
@media (max-width:520px){ .dgBarra{font-size:12px} .dgBarra span{min-width:128px} }

.dgZap{display:inline-flex;align-items:center;gap:10px;padding:17px 30px;border-radius:14px;
  background:#25D366;color:#04231A;font-size:15.5px;font-weight:800;text-decoration:none;
  font-family:inherit}
.dgZap:hover{filter:brightness(1.05)}
.dgCod{margin-top:22px;font-size:12.5px;color:#7E93A1;line-height:1.6}
.dgCod b{color:#D6E3EC;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.1em;font-size:14px}
.dgRodape{margin-top:34px;padding-top:20px;border-top:1px solid #14303F;
  font-size:12px;color:#63798A;line-height:1.6}
/* A tela da escola usa a casca do app (pageApp), entao herda os tokens
   dela. Classes proprias, e nao as cd* da Central: o teste 23 da Central
   guarda aquele prefixo, e ele tem razao de guardar. */
.dgCab{margin-bottom:16px}
.dgCab .olho{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--t3, var(--mut, #8FA3AF));font-weight:700}
.dgCab h1{margin:6px 0 4px;font-size:33px;line-height:1.15}
.dgCab p{margin:0;font-size:13.5px;color:var(--t2, #B7C6D2)}
/* --- o painel da escola. Taxa que e manchete vira numero grande; barra e
   so pra comparar coisas entre si. */
.dgKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
@media (max-width:980px){ .dgKpis{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:520px){ .dgKpis{grid-template-columns:minmax(0,1fr)} }
.dgKpi{background:var(--s2, #0F2A3A);border:1px solid var(--br, #1E3A4C);
  border-radius:16px;padding:16px 17px}
.dgKpi small{display:block;font-size:11.5px;color:var(--t3, #8FA3AF);
  line-height:1.35;margin-bottom:7px}
.dgKpi b{display:block;font-size:31px;line-height:1;letter-spacing:-.5px;
  font-variant-numeric:tabular-nums}
.dgKpi span{display:block;font-size:11.5px;color:var(--t3, #8FA3AF);margin-top:6px}
.dgFiltros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.dgFiltro{padding:7px 14px;border-radius:999px;font-size:12.5px;text-decoration:none;
  color:var(--t2, #B7C6D2);background:var(--s3, #0B2130);
  border:1px solid var(--br, #1E3A4C)}
.dgFiltro:hover{color:var(--t1, #F1F5F9)}
.dgFiltro.on{background:var(--s4,#14344a);color:var(--t1, #F1F5F9);
  border-color:var(--t3, #8FA3AF);font-weight:700}
.dgAviso{font-size:12.5px;line-height:1.6;color:var(--t3, #8FA3AF);
  margin:0 0 18px;padding-left:13px;border-left:2px solid var(--br, #1E3A4C)}
.dgFrases{display:grid;gap:9px}
.dgFrases p{margin:0;padding:12px 14px;border-radius:12px;background:var(--s3, #0B2130);
  font-size:13.5px;line-height:1.55;color:var(--t2, #B7C6D2);font-style:italic}
/* --- guia da closer (prefixo ga). Os seis blocos sao a espinha de um
   argumento: identificamos isso -> acontece por isto -> voce precisa
   desenvolver isto -> e por isso vamos usar estas ferramentas. O desenho
   respeita essa ordem e nao deixa nada competir com ela. */
.gaCard{margin-bottom:16px}
.gaCard .sec-h{display:flex;align-items:center;gap:11px}
.gaChamada{margin:0 0 20px;padding:14px 16px;border-radius:13px;font-size:14px;
  line-height:1.6;color:var(--t2, #B7C6D2);
  background:color-mix(in srgb,var(--ouro,#E6A23C) 9%,transparent);
  border:1px solid color-mix(in srgb,var(--ouro,#E6A23C) 26%,transparent)}
.gaChamada b{display:block;color:var(--t1, #F1F5F9);font-size:15px;margin-bottom:3px}
.gaTag{padding:4px 11px;border-radius:999px;font-size:12px;font-weight:700;
  background:color-mix(in srgb,var(--ouro,#E6A23C) 14%,transparent);
  color:var(--ouro,#E6A23C);
  border:1px solid color-mix(in srgb,var(--ouro,#E6A23C) 34%,transparent)}
.gaTag.ed{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.gaEditar{margin-left:auto;font-size:12.5px;font-weight:600;
  color:var(--ouro,#E6A23C);text-decoration:none}
.gaEditar:hover{text-decoration:underline}
.gaBloco{margin-bottom:16px}
.gaBloco:last-child{margin-bottom:0}
.gaBloco small{display:block;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--t3, #8FA3AF);font-weight:800;margin-bottom:6px}
.gaBloco p{margin:0;font-size:14.5px;line-height:1.65;color:var(--t2, #B7C6D2);
  max-width:78ch}
.gaRec{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.gaSolto{font-size:13.5px;color:var(--t3, #8FA3AF)}
.gaCampo{display:block;margin-bottom:15px}
/* P554: o cadastro do primeiro acesso. Prefixo kc — conferido livre. */
.kcHero{border:1px solid var(--br);border-radius:16px;padding:24px 24px 22px;margin-bottom:18px;
  background:radial-gradient(ellipse at 10% 0%,rgba(255,184,46,.16),transparent 52%),linear-gradient(160deg,#14202c,#0a141c)}
.kcSelo{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.12em;
  color:var(--ouro);background:rgba(255,184,46,.12);border:1px solid rgba(255,184,46,.5);border-radius:99px;padding:6px 14px}
.kcHero h1{margin:12px 0 6px;font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--t1)}
.kcHero p{margin:0;font-size:13.5px;color:var(--t2);line-height:1.55;max-width:70ch}
.kcForm{border:1px solid var(--br);border-radius:16px;padding:22px;background:var(--s1)}
.kcGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.kcCampo{display:flex;flex-direction:column;min-width:0}
.kcCampo.full{grid-column:1 / -1}
.kcCampo b{font-size:13px;font-weight:700;color:var(--t1);margin-bottom:6px}
.kcCampo small{font-size:11.5px;color:var(--t3);margin:-2px 0 6px}
.kcReq{color:#E86A6A;font-style:normal;margin-left:2px}
.kcOpt{font-size:11px;font-weight:500;color:var(--t3)}
.kcInp{width:100%;height:44px;padding:0 14px;border-radius:11px;border:1px solid var(--br);
  background:var(--s3,#0B2130);color:inherit;font:inherit;font-size:14px;box-sizing:border-box}
select.kcInp{height:44px}
.kcInp:focus{outline:none;border-color:var(--ouro);box-shadow:0 0 0 3px rgba(255,184,46,.14)}
.kcInp.ruim{border-color:#E86A6A}
.kcInp.travado{opacity:.65;cursor:not-allowed}
.kcErro{display:block;font-size:11.5px;color:#E86A6A;margin-top:5px}
.kcBar{margin-top:18px;display:flex;justify-content:flex-end}
.kcBar .suBtn{height:46px;padding:0 24px;font-size:14.5px}
@media (max-width:620px){ .kcGrid{grid-template-columns:1fr} }
.gaCampo b{display:block;font-size:13.5px;margin-bottom:2px}
.gaCampo small{display:block;font-size:11.5px;color:var(--t3, #8FA3AF);margin-bottom:7px}
.gaCampo textarea{width:100%;padding:12px 14px;border-radius:12px;
  border:1px solid var(--br, #1E3A4C);background:var(--s3, #0B2130);color:inherit;
  font-size:14px;font-family:inherit;line-height:1.6;box-sizing:border-box;resize:vertical}
.gaBts{display:flex;gap:9px;flex-wrap:wrap;margin-top:6px}
/* P543: os leads que ainda nao tem checkout. Cada um e um botao grande:
   e a acao principal da tela, nao um item de lista.

   Prefixo ky, nao ck: o ck ja e da tela de checkout do aluno (.ckPasso,
   .ckPolos, .ckAjuda...) e existe um teste que guarda isso. Conferir
   prefixo antes de escrever CSS e regra nesta base desde o episodio do pv. */
.kyLeads{display:grid;gap:9px}
.kyLead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;
  align-items:center;padding:12px 15px;border-radius:13px;text-decoration:none;
  color:inherit;background:var(--s3, #0B2130);border:1px solid var(--br, #1E3A4C)}
.kyLead:hover{border-color:var(--ouro, #E6A23C);background:var(--s4, #14344a)}
.kyLead i{width:36px;height:36px;border-radius:50%;flex:none;display:grid;
  place-items:center;font-style:normal;font-size:15px;font-weight:800;
  background:color-mix(in srgb,var(--ouro, #E6A23C) 16%,transparent);
  color:var(--ouro, #E6A23C)}
.kyLead b{display:block;font-size:14.5px}
.kyLead small{display:block;font-size:12px;color:var(--t3, #8FA3AF);margin-top:1px;
  text-transform:capitalize}
.kyLead em{font-style:normal;font-size:12.5px;font-weight:700;
  color:var(--ouro, #E6A23C);white-space:nowrap}
.dgOk{padding:11px 15px;border-radius:12px;margin-bottom:14px;font-size:13.5px;
  background:color-mix(in srgb,#2FD6B0 12%,transparent);
  border:1px solid color-mix(in srgb,#2FD6B0 34%,transparent)}
@media (max-width:520px){
  .dgTitulo{font-size:25px}
  .dgTela{padding:20px 14px 48px}
  .dgBt,.dgZap{width:100%;justify-content:center;text-align:center}
  .dgPe{flex-direction:column-reverse;align-items:stretch;gap:10px}
}



/* P539 (a arte dela): a capa do diagnostico. Ela mandou a landing inteira
   desenhada — marca, titulo, chips, botao, selos e o visual da direita.
   Eu NAO colei o PNG inteiro: o trafego vem de Reel, ou seja, celular, e
   arte com texto embutido vira texto ilegivel de 3mm numa tela de 390px, e
   o botao deixa de ser botao.
   Entao o layout foi refeito em HTML com o texto dela palavra por palavra,
   e a arte entra onde ela e insubstituivel: a marca, o visual da direita e
   o selo do metodo. As cores saem da propria arte (amostradas do arquivo). */
.dgHero{--ouroDg:#F0B868;--fundoDg:#050F15}
.dgHero{position:relative;min-height:100vh;background:var(--fundoDg);
  color:#F8F8F8;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);
  align-items:stretch;overflow:hidden}
/* O respiro e a largura do texto crescem com a tela: com max-width fixo,
   numa tela de 1920 o bloco ficava encolhido num canto com meia coluna
   vazia do lado. */
.dgHeroTxt{padding:38px clamp(26px,3vw,60px) 34px clamp(30px,5.4vw,120px);
  display:flex;flex-direction:column;justify-content:center;
  max-width:940px;position:relative;z-index:2}
.dgHeroArte{position:relative;order:2}
.dgHeroArte img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:center right}
/* o fade da esquerda faz o visual nascer do fundo da pagina, como na arte
   dela — e de quebra apaga a sobra de letra que ficou no corte */
.dgHeroArte::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,var(--fundoDg) 0%,rgba(5,15,21,.72) 9%,
    rgba(5,15,21,.18) 22%,rgba(5,15,21,0) 38%)}
/* align-self obrigatorio: o pai e flex em COLUNA, e o align-items padrao
   (stretch) estica a imagem ate a largura da coluna enquanto a altura fica
   travada em 62px — a marca dela saia achatada. width:auto sozinho nao
   segura, porque quem manda no tamanho de um item esticado e o stretch. */
.dgMarcaArte{height:62px;width:auto;align-self:flex-start;flex:none;
  margin-bottom:30px}
.dgHeroOlho{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ouroDg);font-weight:800;margin-bottom:13px}
.dgHeroH1{font-family:"Playfair Display",Georgia,serif;font-weight:700;
  font-size:clamp(34px,4vw,70px);line-height:1.08;letter-spacing:-.5px;
  margin:0 0 20px;text-wrap:balance}
.dgHeroH1 i{color:var(--ouroDg);font-style:normal;display:block}
.dgHeroSub{font-size:clamp(15px,1.15vw,19px);line-height:1.62;color:#C9D6DF;
  margin:0 0 28px;max-width:52ch}
/* os tres chips da arte: numero em cima, o que e embaixo */
.dgChips{display:flex;gap:clamp(26px,2.6vw,44px);flex-wrap:wrap;margin-bottom:30px}
.dgChip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:center}
.dgChip i{width:44px;height:44px;border-radius:50%;flex:none;display:grid;
  place-items:center;font-style:normal;font-size:18px;
  border:1px solid color-mix(in srgb,var(--ouroDg) 45%,transparent);
  color:var(--ouroDg)}
.dgChip b{display:block;font-size:14.5px;line-height:1.25}
.dgChip small{display:block;font-size:12.5px;color:#93A6B2;margin-top:1px}
.dgHeroBt{display:inline-flex;align-items:center;justify-content:center;gap:12px;
  padding:clamp(19px,1.5vw,24px) clamp(38px,3.4vw,56px);border-radius:14px;border:0;
  cursor:pointer;font-family:inherit;
  font-size:clamp(17px,1.2vw,20px);font-weight:800;color:#1B1206;letter-spacing:-.2px;
  background:linear-gradient(180deg,#F6C87C,#E0A44C)}
.dgHeroBt:hover{filter:brightness(1.06)}
.dgSelos{display:flex;gap:24px;flex-wrap:wrap;margin-top:20px}
.dgSelo2{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#C9D6DF}
.dgSelo2 i{width:21px;height:21px;border-radius:50%;flex:none;display:grid;
  place-items:center;font-style:normal;font-size:11px;
  border:1px solid color-mix(in srgb,var(--ouroDg) 45%,transparent);color:var(--ouroDg)}
.dgHeroPe{margin-top:34px;padding-top:20px;
  border-top:1px solid rgba(240,184,104,.2);display:flex;gap:22px;
  align-items:center;justify-content:space-between;flex-wrap:wrap}
.dgHeroPe p{margin:0;font-size:12.5px;line-height:1.62;color:#7C8E9B;max-width:64ch}
.dgMetodo{height:42px;width:auto;flex:none;opacity:.92}
/* P539b (ela mandou a versao mobile desenhada): no celular a arte SANGRA
   do topo a direita — o rosto e a onda aparecem inteiros e o titulo passa
   por cima do lado escuro. Nao e a versao de desktop espremida: e o
   desenho dela.

   Os tres chips viram tres colunas com divisoria, icone em cima e texto
   embaixo; o selo do metodo ganha faixa propria acima do aviso legal. */
@media (max-width:1080px){
  .dgHero{grid-template-columns:minmax(0,1fr);min-height:0}
  .dgHeroArte{position:absolute;top:0;left:0;right:0;height:min(64vh,560px);z-index:0}
  .dgHeroArte img{object-position:88% top}
  /* o veu escurece a esquerda (onde mora o texto) e o pe (onde a imagem
     encontra o resto da pagina); o topo direito fica limpo pro rosto */
  .dgHeroArte::before{background:
    linear-gradient(90deg,var(--fundoDg) 0%,rgba(5,15,21,.94) 34%,rgba(5,15,21,.52) 68%,rgba(5,15,21,.1) 100%),
    linear-gradient(180deg,rgba(5,15,21,.5) 0%,rgba(5,15,21,0) 28%,rgba(5,15,21,.74) 78%,var(--fundoDg) 100%)}
  .dgHeroTxt{padding:26px 20px 40px;max-width:none;justify-content:flex-start}
  .dgMarcaArte{height:54px;margin-bottom:34px}
  .dgHeroH1{font-size:clamp(31px,8.6vw,42px);margin-bottom:18px}
  .dgHeroSub{max-width:32ch;margin-bottom:26px}
  /* tres colunas mesmo no celular: e o desenho dela, e cabe porque o
     icone sobe pra cima do texto em vez de ficar do lado */
  .dgChips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
    margin-bottom:26px}
  .dgChip{display:block;text-align:center;padding:0 5px;min-width:0}
  .dgChip + .dgChip{border-left:1px solid rgba(240,184,104,.26)}
  .dgChip i{margin:0 auto 10px;width:46px;height:46px;font-size:19px}
  /* "15 perguntas" tem que caber numa linha so, senao a fileira fica de
     tres alturas diferentes */
  .dgChip b{font-size:clamp(11.5px,3.3vw,14px);line-height:1.2;white-space:nowrap}
  .dgChip small{font-size:clamp(9.5px,2.65vw,12px);margin-top:3px;line-height:1.3;
    white-space:nowrap}
  .dgHeroBt{width:100%;padding:20px 14px;font-size:clamp(14px,4vw,16.5px);
    white-space:nowrap}
  /* os tres selos numa linha so, como no desenho dela */
  .dgSelos{gap:6px;justify-content:space-between;flex-wrap:nowrap;margin-top:18px}
  .dgSelo2{font-size:clamp(9.5px,2.55vw,12.5px);gap:5px;white-space:nowrap}
  .dgSelo2 i{width:16px;height:16px;font-size:8.5px}
  /* o selo do metodo sai do rodape e vira faixa, como no desenho dela */
  .dgHeroPe{flex-direction:column;align-items:stretch;gap:0;margin-top:30px;
    padding-top:0;border-top:0}
  .dgHeroPe p{order:2;padding-top:18px;max-width:none}
  .dgMetodo{order:1;height:52px;align-self:flex-start;
    padding:18px 0;border-top:1px solid rgba(240,184,104,.2);
    border-bottom:1px solid rgba(240,184,104,.2);box-sizing:content-box}
}
/* Abaixo de 384px os tres selos nao cabem numa linha nem no menor corpo
   que ainda se le. Deixo quebrar: linha a mais e so uma linha a mais;
   texto cortado pela borda e defeito. */
@media (max-width:384px){
  .dgChip i{width:42px;height:42px;font-size:17px}
  .dgSelos{flex-wrap:wrap;gap:8px 14px;justify-content:flex-start}
}


/* P540 (ela: "agr todo o teste vai ficar nesse formato..tanto desk qnt
   mobile"). O PALCO: a moldura que as TRES telas do teste usam — o
   contexto, as 15 perguntas e o resultado.

   Mesma decisao do P539: o cenario dela entra como imagem, o resto e HTML.
   A arte vira duas camadas de borda (a mulher com a onda na direita, o
   globo no pe da esquerda) e o conteudo mora no meio, onde ele pode
   crescer, encolher e ser lido por um leitor de tela. */
.dgPalco{--ouroDg:#F0B868;--fundoDg:#050F15;
  position:relative;min-height:100vh;background:var(--fundoDg);color:#F1F6F9;
  display:grid;grid-template-columns:clamp(220px,20vw,320px) minmax(0,1fr) clamp(180px,17vw,280px);
  overflow:hidden}
/* as duas camadas de cenario: nunca recebem clique e nunca entram na
   ordem de leitura */
/* fixed, nao absolute: o cenario e MOLDURA. Com absolute, numa tela que
   rola o globo ia parar la embaixo, fora da vista, e a cena esticava pela
   pagina inteira. Fixed mantem o enquadramento dela em qualquer altura. */
.dgCena,.dgGlobo{position:fixed;z-index:0;pointer-events:none;user-select:none}
.dgCena{top:0;right:0;bottom:0;width:clamp(230px,23vw,420px)}
.dgCena img{width:100%;height:100%;object-fit:cover;object-position:right center;display:block}
/* o veu tem que ser forte na esquerda: e onde a lista de alternativas
   passa por cima, e texto sobre rosto nao se le */
.dgCena::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--fundoDg) 0%,rgba(5,15,21,.96) 22%,rgba(5,15,21,.58) 52%,rgba(5,15,21,.12) 86%)}
.dgGlobo{left:0;bottom:0;width:clamp(240px,24vw,430px);aspect-ratio:430/440}
.dgGlobo img{width:100%;height:100%;object-fit:cover;display:block}
.dgGlobo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(5,15,21,.35) 0%,rgba(5,15,21,.1) 34%,rgba(5,15,21,.82) 88%,var(--fundoDg) 100%),
    linear-gradient(270deg,var(--fundoDg) 0%,rgba(5,15,21,.4) 26%,rgba(5,15,21,0) 62%)}

/* --- trilho da esquerda: marca + lema. No desenho dela ele e uma coluna
   fina, separada do miolo por um fio dourado. */
.dgTrilho{position:relative;z-index:2;padding:30px 26px 40px 34px;
  display:flex;flex-direction:column}
.dgTrilho .marca{height:clamp(46px,3.6vw,64px);width:auto;align-self:flex-start;
  flex:none;margin-bottom:clamp(34px,5vh,64px)}
/* O mesmo bloco aparece em dois lugares (trilho no desktop, flutuando a
   direita no celular). As regras valem para os dois nomes: estilar so um
   fazia o outro cair no CSS global e virar lista com marcador. */
.dgLema,.dgLemaCel{padding-left:20px;border-left:1px solid rgba(240,184,104,.34)}
.dgLema b,.dgLemaCel b{display:block;font-size:clamp(13px,1.05vw,15.5px);font-weight:600;
  letter-spacing:.17em;line-height:1.85;text-transform:uppercase;color:#EEF4F8}
.dgLema b i,.dgLemaCel b i{color:var(--ouroDg);font-style:normal}
.dgLema .estrela,.dgLemaCel .estrela{display:flex;align-items:center;gap:9px;
  margin:18px 0 20px;color:var(--ouroDg);font-size:11px}
.dgLema .estrela::before,.dgLema .estrela::after,
.dgLemaCel .estrela::before,.dgLemaCel .estrela::after{content:"";height:1px;flex:1;
  max-width:42px;background:rgba(240,184,104,.5)}
.dgLema ul,.dgLemaCel ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.dgLema li,.dgLemaCel li{font-size:clamp(10.5px,.82vw,12px);letter-spacing:.19em;
  text-transform:uppercase;color:#8FA3B0;list-style:none}

/* --- miolo */
.dgMiolo{position:relative;z-index:2;padding:30px clamp(18px,2.4vw,44px) 46px;
  display:flex;flex-direction:column;justify-content:center;max-width:860px}
.dgBarraTopo{display:flex;align-items:center;gap:16px;margin-bottom:26px}
.dgTrilhoProg{flex:1;height:4px;border-radius:999px;background:rgba(240,184,104,.16);overflow:hidden}
.dgFita{height:100%;border-radius:999px;background:var(--ouroDg);transition:width .3s ease}
.dgContaProg{font-size:13px;color:#9DB0BE;font-weight:600;white-space:nowrap;
  font-variant-numeric:tabular-nums}
.dgOlhoP{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ouroDg);font-weight:800;margin-bottom:10px}
.dgH1P{font-family:"Playfair Display",Georgia,serif;font-weight:700;
  font-size:clamp(28px,3.1vw,46px);line-height:1.12;letter-spacing:-.4px;
  margin:0 0 14px;text-wrap:balance}
.dgH1P i{color:var(--ouroDg);font-style:normal;display:block}
.dgSubP{font-size:clamp(14px,1.05vw,16.5px);line-height:1.6;color:#B4C4D0;
  margin:0 0 26px;max-width:58ch}
.dgSubP b{color:#F1F6F9;font-weight:700}

/* --- pergunta numerada */
.dgQ{display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;
  align-items:start;margin-bottom:14px}
.dgNum{width:38px;height:38px;border-radius:50%;flex:none;display:grid;
  place-items:center;font-size:16px;font-weight:700;color:var(--ouroDg);
  border:1px solid rgba(240,184,104,.55);font-variant-numeric:tabular-nums}
.dgQ h2{margin:0;font-size:clamp(16px,1.35vw,20px);line-height:1.35;font-weight:700;
  color:#F1F6F9}
.dgQ p{margin:5px 0 0;font-size:13.5px;color:#93A6B2;line-height:1.5}

/* --- alternativas em pilula */
.dgLista{display:grid;gap:9px;margin:0 0 26px;padding-left:53px}
/* margin:0 obrigatorio: o CSS global da casa poe margem em <label>, e ela
   somava 23px ao gap de 9 — a fileira de alternativas ficava esparramada
   e a tela nao cabia mais numa dobra. */
.dgPil{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:14px;
  align-items:center;padding:13px 18px;border-radius:13px;cursor:pointer;margin:0;
  background:rgba(10,26,36,.72);border:1px solid rgba(240,184,104,.16);
  font-size:15px;line-height:1.45;transition:border-color .14s,background .14s}
.dgPil:hover{border-color:rgba(240,184,104,.42);background:rgba(14,34,46,.86)}
.dgPil input{position:absolute;opacity:0;pointer-events:none}
.dgMarca2{width:21px;height:21px;border-radius:6px;flex:none;
  border:1.5px solid rgba(240,184,104,.5);display:grid;place-items:center;
  transition:border-color .14s,background .14s}
.dgLista.radio .dgMarca2{border-radius:50%}
.dgMarca2::after{content:"";width:10px;height:10px;border-radius:3px;
  background:var(--ouroDg);transform:scale(0);transition:transform .14s}
.dgLista.radio .dgMarca2::after{border-radius:50%}
.dgPil input:checked ~ .dgMarca2{border-color:var(--ouroDg)}
.dgPil input:checked ~ .dgMarca2::after{transform:scale(1)}
.dgPil:has(input:checked){border-color:var(--ouroDg);background:rgba(240,184,104,.08)}
.dgPil input:focus-visible ~ .dgMarca2{outline:2px solid var(--ouroDg);outline-offset:3px}
.dgIco{width:34px;height:34px;border-radius:50%;flex:none;display:grid;
  place-items:center;font-style:normal;font-size:15px;color:var(--ouroDg);
  border:1px solid rgba(240,184,104,.45)}
.dgIco svg{width:16px;height:16px;display:block}

.dgTexto{width:100%;margin-left:53px;max-width:calc(100% - 53px);
  padding:15px 17px;border-radius:13px;box-sizing:border-box;resize:vertical;
  min-height:96px;font-family:inherit;font-size:15px;line-height:1.55;color:inherit;
  background:rgba(10,26,36,.72);border:1px solid rgba(240,184,104,.2)}
.dgTexto::placeholder{color:#6F8492}
.dgTexto:focus{outline:2px solid var(--ouroDg);outline-offset:1px;border-color:transparent}

/* --- pe: botao + a nota do cadeado */
.dgPeP{display:flex;align-items:center;gap:clamp(18px,2.2vw,34px);flex-wrap:wrap;
  margin-top:28px;padding-left:53px}
.dgBtP{display:inline-flex;align-items:center;justify-content:center;gap:11px;
  padding:17px clamp(30px,2.6vw,46px);border-radius:12px;border:0;cursor:pointer;
  font-family:inherit;font-size:clamp(15px,1.1vw,17px);font-weight:800;color:#1B1206;
  background:linear-gradient(180deg,#F6C87C,#E0A44C);white-space:nowrap}
.dgBtP:hover{filter:brightness(1.06)}
.dgBtP.fantasma{background:none;color:#93A6B2;font-weight:700;padding:17px 4px}
.dgBtP.fantasma:hover{color:#F1F6F9;filter:none}
.dgNota{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;
  align-items:center;font-size:12.5px;line-height:1.5;color:#8FA3B0;
  padding-left:clamp(0px,2vw,26px);border-left:1px solid rgba(240,184,104,.2)}
.dgNota i{font-style:normal;font-size:17px;color:var(--ouroDg);display:flex}
.dgNota i svg{width:19px;height:19px}
/* --- o resultado dentro do palco */
.dgPalco .dgCorpo{font-size:clamp(15px,1.15vw,17.5px);line-height:1.68;
  color:#C9D6DF;margin:0 0 18px;max-width:62ch}
.dgPalco .dgPasso{font-size:clamp(15px,1.15vw,17.5px);line-height:1.68;margin:0 0 24px;
  padding:17px 20px;border-radius:14px;background:rgba(10,26,36,.72);
  border-left:3px solid var(--ouroDg);max-width:62ch}
.dgPalco .dgMapa{display:grid;gap:11px;margin:0 0 22px;padding:20px;border-radius:15px;
  background:rgba(8,22,31,.78);border:1px solid rgba(240,184,104,.16);max-width:640px}
.dgPalco .dgMapaTit{font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:#8FA3B0;font-weight:800;margin-bottom:4px}
.dgPalco .dgBarra i{background:rgba(240,184,104,.14)}
.dgPalco .dgBarra i u{background:#3C6C8A}
.dgPalco .dgBarra.menor span{color:var(--ouroDg);font-weight:700}
.dgPalco .dgBarra.menor i u{background:var(--ouroDg)}
.dgNota2{font-size:14.5px;line-height:1.62;color:#A7BAC7;margin:0 0 12px;
  padding-left:15px;border-left:2px solid rgba(240,184,104,.26);max-width:62ch}
.dgBtP.zap{background:#25D366;color:#04231A;text-decoration:none}

@media (max-width:1180px){
  /* o trilho da esquerda vira um bloco flutuando a direita, embaixo do
     subtitulo — e onde ela pos no desenho do celular */
  .dgPalco{grid-template-columns:minmax(0,1fr);min-height:0}
  .dgCena{top:0;right:0;bottom:auto;width:min(58%,420px);height:min(46vh,420px)}
  .dgCena img{object-position:60% top}
  .dgCena::after{background:
    linear-gradient(90deg,var(--fundoDg) 0%,rgba(5,15,21,.72) 16%,rgba(5,15,21,0) 52%),
    linear-gradient(180deg,rgba(5,15,21,0) 52%,rgba(5,15,21,.72) 82%,var(--fundoDg) 100%)}
  .dgGlobo{width:min(72%,420px);opacity:.85}
  .dgTrilho{padding:24px 20px 0;flex-direction:row;align-items:flex-start;
    justify-content:space-between;gap:16px}
  .dgTrilho .marca{margin-bottom:0;height:clamp(42px,12vw,56px)}
  .dgLema{display:none}
  .dgMiolo{padding:18px 20px 44px;max-width:none;justify-content:flex-start}
  .dgLemaCel{display:block;float:right;width:min(40%,178px);margin:0 0 14px 18px;
    padding-left:14px}
  .dgLemaCel b{font-size:12px;letter-spacing:.15em;line-height:1.75}
  .dgLemaCel .estrela{margin:14px 0 14px}
  .dgLemaCel li{font-size:10px;letter-spacing:.16em}
  .dgLista,.dgPeP{padding-left:0}
  .dgTexto{margin-left:0;max-width:100%}
  .dgPeP{flex-direction:column;align-items:stretch;gap:16px}
  .dgBtP{width:100%}
  .dgBtP.fantasma{order:2}
  .dgNota{border-left:0;padding-left:0;justify-content:center;text-align:left}
  .dgQ{gap:12px}
  .dgNum{width:34px;height:34px;font-size:14.5px}
}
@media (min-width:1181px){ .dgLemaCel{display:none} }
@media (max-width:420px){
  .dgPil{grid-template-columns:auto auto minmax(0,1fr);gap:10px;padding:12px 13px;font-size:14px}
  .dgIco{width:30px;height:30px;font-size:13px}
}


/* P545 (arte dela): o link na bio. Prefixo bz (bio) — conferido antes de
   escrever, como manda a casa.

   P546: a CENA dela e o fundo da pagina inteira, nao duas faixas coladas
   nas pontas. Os dois brasoes vem como PNG com transparencia (extraidos da
   arte por diferenca contra o fundo limpo que ela mandou), entao eles
   pousam sobre a cena sem emenda e sem degrade nenhum pra disfarcar.

   O miolo continua HTML: colar o PNG inteiro daria botao que nao e botao e
   letra de 3mm num celular. */
/* P548: as cores tiradas da arte dela, por amostragem: o ouro dos aros e
   dos icones puxa pro champanhe (nao pro laranja), o cartao escuro e quase
   preto e o botao de destaque tem o gradiente medido no desenho. */
.bzTela{--ouroBz:#E9CB92;--ouroFortBz:#F0C072;--fundoBz:#00060C}
.bzTela{min-height:100vh;background:var(--fundoBz);color:#F4F7FA;
  display:flex;flex-direction:column;align-items:center}
/* a cena e o fundo da COLUNA, nao da janela: assim ela mantem a proporcao
   do retrato que a Tayla desenhou em vez de esticar num monitor largo */
.bzCaixa{position:relative;width:100%;max-width:560px;flex:1;
  display:flex;flex-direction:column;
  background:var(--fundoBz) url("/img/bio/fundo.jpg") center/cover no-repeat}
/* veu leve so no miolo: a cena e escura, mas tem reflexo de luz no meio e o
   texto branco nao pode depender da sorte do recorte */
.bzCaixa::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,6,12,0) 14%,rgba(0,6,12,.55) 34%,
    rgba(0,6,12,.55) 72%,rgba(0,6,12,0) 88%)}
.bzQuadro{display:contents}
.bzArte{position:relative;z-index:1;width:100%;flex:none;
  display:flex;justify-content:center}
.bzArte picture{display:contents}
.bzArte img{display:block;height:auto;max-width:100%}
/* P548: os PNGs foram recortados da arte SEM apertar as laterais, entao o
   tamanho fiel ao desenho dela e a largura cheia da coluna — nao 84%. Era
   isso que deixava o brasao, o nome e a linha de baixo menores. */
.bzArte.topo{padding:16px 10px 2px}
.bzArte.topo img{width:100%}
.bzArte.pe{padding:6px 10px 20px}
.bzArte.pe img{width:94%}
.bzMiolo{position:relative;z-index:1;padding:4px 22px 22px;
  display:flex;flex-direction:column;flex:1;justify-content:center}
/* P547: a tipografia da arte dela. A frase e Playfair Display com a
   entrelinha APERTADA — no desenho as quatro linhas quase se tocam, e era
   a entrelinha larga (1.2) que fazia o bloco parecer outra fonte. */
.bzH1{font-family:"Playfair Display",Georgia,serif;font-weight:700;
  font-size:clamp(25px,6.8vw,34px);line-height:1.08;letter-spacing:-.2px;
  text-align:center;margin:0 0 24px;text-wrap:balance}
.bzH1 i{color:var(--ouroBz);font-style:normal;display:block}

.bzLinks{display:grid;gap:13px}
.bzLink{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;
  align-items:center;padding:13px 15px;border-radius:14px;text-decoration:none;
  color:#F4F7FA;background:rgba(1,8,13,.78);-webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
  border:1px solid rgba(233,203,146,.38);
  transition:border-color .24s,background .24s,transform .24s,box-shadow .24s}
/* P550: o acabamento que ela pediu — subir 3px, a borda acender e um brilho
   dourado quase imperceptivel. Nada de sombra branca nem de salto. */
.bzLink:hover{border-color:var(--ouroBz);background:rgba(12,22,32,.92);
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(0,0,0,.55),0 0 22px rgba(233,203,146,.13)}
.bzLink em{transition:transform .24s}
.bzLink:hover em{transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){
  .bzLink,.bzLink em{transition:none}
  .bzLink:hover{transform:none}
  .bzLink:hover em{transform:none}
}
.bzLink:focus-visible{outline:2px solid var(--ouroBz);outline-offset:3px}
.bzLink i{width:clamp(40px,11vw,46px);height:clamp(40px,11vw,46px);border-radius:50%;flex:none;display:grid;
  place-items:center;color:var(--ouroBz);
  border:1px solid rgba(233,203,146,.5)}
.bzLink i svg{width:22px;height:22px}
/* P547: o olho da arte dela e uma sans GEOMETRICA em peso medio, bem
   espacada — nao a sans do app em bold. Poppins ja vem carregada na pagina,
   entao sai de graca.

   Continua obrigado a caber numa linha: duas linhas de caixa-alta com
   espaco entre letras empurram o titulo pra baixo e desalinham a fileira. */
.bzLink small{display:block;font-family:Poppins,system-ui,sans-serif;
  font-size:clamp(8px,2.15vw,9.5px);letter-spacing:.15em;
  text-transform:uppercase;color:#93A6B2;font-weight:500;margin-bottom:4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bzLink b{display:block;font-family:"Playfair Display",Georgia,serif;
  font-weight:600;font-size:clamp(15px,4.2vw,19px);line-height:1.2}
.bzLink em{font-style:normal;font-size:19px;color:var(--ouroBz);line-height:1}

/* o primeiro botao e o que ela quer que cliquem */
.bzLink.destaque{background:linear-gradient(180deg,#FDD486,#E4AC58);
  border-color:#FDD486;color:#1B1206}
.bzLink.destaque:hover{filter:brightness(1.04);background:linear-gradient(180deg,#FDD486,#E4AC58);
  box-shadow:0 14px 34px rgba(0,0,0,.5),0 0 26px rgba(253,212,134,.22)}
.bzLink.destaque i{background:#0A0602;border-color:rgba(27,18,6,.35);color:var(--ouroFortBz)}
.bzLink.destaque small{color:#3A2A08}
.bzLink.destaque em{color:#1B1206}

/* a faixa de pilares so existe no desenho de computador: na versao de
   celular ela ja vem dentro do brasao do pe */
.bzPilares{display:none}
.bzFio{display:none}

/* P550: tablet — a cena panoramica ja cabe, e os quatro cartoes entram
   dois a dois. Um cartao por linha aqui sobra largura e a fileira fica
   comprida demais pra tela. */
@media (min-width:600px) and (max-width:999px){
  .bzTela{padding:0}
  /* o tablet em pe e formato RETRATO: a cena panoramica cortaria fora os
     livros e o globo, entao aqui continua valendo a cena vertical */
  .bzCaixa{max-width:none;flex:1;min-height:100vh;justify-content:center;
    border-radius:0;box-shadow:none;padding:30px clamp(24px,5vw,54px)}
  .bzCaixa::before{background:linear-gradient(180deg,rgba(0,6,12,.4) 0%,
    rgba(0,6,12,.5) 55%,rgba(0,6,12,.22) 100%)}
  .bzArte.topo{padding:0 0 6px}
  .bzArte.topo img{width:min(62%,430px)}
  .bzMiolo{flex:none;padding:0}
  .bzH1{font-size:clamp(28px,4.4vw,36px);margin:0 auto 24px;max-width:22ch}
  /* grid-auto-rows:1fr pra as duas fileiras terem a MESMA altura: sem
     isto a de baixo encolhe (tem menos texto) e o bloco sai torto */
  .bzLinks{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;
    grid-auto-rows:1fr;width:100%;max-width:760px;margin:0 auto}
  .bzLink{align-items:start;padding:15px 17px}
  .bzLink small{white-space:normal;overflow:visible;text-overflow:clip}
  /* o cartao alinha pelo topo pra o texto de duas linhas nao empurrar o
     resto; a seta, porem, fica no meio — no topo ela parece solta */
  .bzLink i,.bzLink em{align-self:center}
  .bzArte.pe{display:none}
  .bzPilares{display:flex;justify-content:center;padding:24px 20px 0;
    position:relative;z-index:1}
  .bzPilares img{width:min(72%,520px);height:auto;display:block}
}

/* P551: o desenho de COMPUTADOR, medido na referencia dela (1672x941).
   Tudo aqui e em --u = 1% da largura de um quadro 16:9 que cabe na tela
   (no monitor 16:9 e 1vw; no 16:10 encolhe um pouco pra caber sem rolar).
   Assim a composicao e a MESMA em 1280, 1440 e 1920, nao uma versao
   esticada. Os numeros vem da arte: brasao 642px de largura no topo,
   frase com entrelinha 1.0, fileira de 69.4% da largura, cartao 275x132
   com raio 14, aro de icone de 62px, olho de 14px, titulo de 24px, fio
   de 232px sob a frase e pilares a 41.6% da largura. */
@media (min-width:1000px){
  .bzTela{padding:0;--u:calc(min(100vw,177.78vh) / 100)}
  .bzCaixa{max-width:none;flex:1;min-height:100vh;justify-content:center;
    align-items:center;border-radius:0;box-shadow:none;padding:0;
    background-image:url("/img/bio/fundo-desk.jpg")}
  /* veu so no miolo: a referencia deixa livros, globo e caneta intactos */
  .bzCaixa::before{background:radial-gradient(ellipse 34% 48% at 50% 48%,
    rgba(0,4,8,.5) 0%,rgba(0,4,8,.28) 60%,rgba(0,4,8,0) 100%)}
  /* o quadro 16:9: 56.25u de altura, centrado na tela */
  /* min-height, nao height: num monitor pequeno os pisos de legibilidade
     abaixo fazem o texto crescer alem da proporcao e o quadro acompanha */
  .bzQuadro{position:relative;z-index:1;width:calc(var(--u) * 100);
    min-height:calc(var(--u) * 56.25);display:flex;flex-direction:column;
    align-items:center;padding-bottom:calc(var(--u) * 1)}
  .bzArte.topo{padding:0;margin-top:calc(var(--u) * .72)}
  .bzArte.topo img{width:calc(var(--u) * 38.4)}
  .bzMiolo{flex:none;padding:0;width:100%;margin-top:calc(var(--u) * 1.15)}
  /* na arte de computador a frase e semibold (600), nao bold: lado a lado
     com a referencia o 700 ficava visivelmente mais pesado */
  .bzH1{font-size:max(28px,calc(var(--u) * 3.42));font-weight:600;line-height:1;
    letter-spacing:0;margin:0 auto;max-width:none}
  /* o ouro da frase na referencia e um degrade, mais claro em cima */
  .bzH1 i{background:linear-gradient(180deg,#F8D493 0%,#F0BB71 55%,#E3A95A 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent}
  .bzFio{display:block;width:calc(var(--u) * 13.9);height:2px;
    background:#EACB99;opacity:.9;margin:calc(var(--u) * 1.3) auto 0}
  .bzLinks{grid-template-columns:repeat(4,minmax(0,1fr));
    gap:calc(var(--u) * 1);width:calc(var(--u) * 69.4);
    margin:calc(var(--u) * 1.25) auto 0}
  .bzLink{grid-template-columns:calc(var(--u) * 3.7) minmax(0,1fr);
    column-gap:calc(var(--u) * 1);row-gap:0;align-items:start;
    align-content:start;min-height:calc(var(--u) * 7.9);height:auto;
    padding:calc(var(--u) * 1.2) calc(var(--u) * .6) calc(var(--u) * .9) calc(var(--u) * 1.25);
    border-radius:calc(var(--u) * .84);background:rgba(0,4,7,.86);
    border-color:rgba(206,185,143,.85)}
  .bzLink i{width:calc(var(--u) * 3.7);height:calc(var(--u) * 3.7);
    border-color:#F3C36B;color:#F3C36B}
  .bzLink i svg{width:calc(var(--u) * 1.75);height:calc(var(--u) * 1.75)}
  .bzLink span{padding-top:calc(var(--u) * .4)}
  /* numa coluna estreita o olho PRECISA quebrar — e como esta no desenho
     dela ("DESCUBRA O QUE / TRAVA SUA FALA") */
  .bzLink small{white-space:normal;overflow:visible;text-overflow:clip;
    font-size:max(10px,calc(var(--u) * .72));letter-spacing:.06em;line-height:1.3;
    color:#FBF4BE;margin:0 calc(var(--u) * -.55) calc(var(--u) * .35) 0}
  .bzLink b{font-size:max(15px,calc(var(--u) * 1.25));line-height:1.28;color:#FEFFFE;
    letter-spacing:-.01em}
  .bzLink em{position:absolute;right:calc(var(--u) * 1.4);
    bottom:calc(var(--u) * 1.05);font-size:max(16px,calc(var(--u) * 1.5));
    color:#E8C982}
  .bzLink.destaque{background:linear-gradient(180deg,#FDD488 0%,#E9BE6C 55%,#D2AA56 100%);
    border-color:#FDD488}
  .bzLink.destaque:hover{background:linear-gradient(180deg,#FDD488 0%,#E9BE6C 55%,#D2AA56 100%)}
  .bzLink.destaque i{background:#000101;border-color:#000101;color:#F3C36B}
  .bzLink.destaque small{color:#2B1D05;font-weight:600}
  .bzLink.destaque b{color:#0E0903}
  .bzLink.destaque em{color:#0E0903}
  .bzArte.pe{display:none}
  .bzPilares{display:flex;justify-content:center;padding:0;
    margin-top:calc(var(--u) * 4.6);position:relative;z-index:1}
  /* na arte dela os pilares descansam numa faixa escura; no fundo limpo
     eles cairiam em cima do reflexo da mesa. Uma sombra macia por tras
     devolve a faixa sem pintar um retangulo. */
  .bzPilares::before{content:"";position:absolute;left:50%;top:50%;
    width:calc(var(--u) * 52);height:calc(var(--u) * 5);
    transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
    background:radial-gradient(ellipse at center,rgba(0,4,8,.78) 0%,
      rgba(0,4,8,.45) 45%,rgba(0,4,8,0) 72%)}
  .bzPilares img{position:relative;width:calc(var(--u) * 41.6);height:auto;
    display:block;filter:drop-shadow(0 1px 6px rgba(0,0,0,.9))}
}

