:root{
  --creme:#F4E7CD;
  --creme-app:#F7EFDD;
  --paper:#FFFFFF;
  --ink:#17140F;
  --ink-soft:#3A352B;
  --muted:#514A3F;
  --violeta:#7B45C9;
  --roxo:#432B86;
  --magenta:#D6357E;
  --magenta-cta:#B82A68;
  --lilas:#E7A6D6;
  --lilas-ativo:#F1DCEC;
  --amarelo:#F7C61C;
  --verde:#1C8A5D;
  --coral:#EA5B4F;
  --linha-ui:#7E7669;
  --trilho:#D2C6AD;
  --stroke:3px;
  --bd:var(--stroke) solid var(--ink);
  --hair:1px solid rgba(23,20,15,.22);
  --shadow:6px 6px 0 var(--ink);
  --shadow-sm:4px 4px 0 var(--ink);
  --soft-shadow:0 14px 30px rgba(23,20,15,.12);
  --r:8px;
  --pill:999px;
  --font-display:"Archivo Black","Arial Black",system-ui,sans-serif;
  --font-ui:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-read:"Newsreader",Georgia,serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--creme);
  color:var(--ink);
  font-family:var(--font-ui);
  letter-spacing:0;
}
a{color:inherit}
button,input,textarea{font:inherit}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

.skip-link{
  position:fixed;
  left:16px;
  top:12px;
  z-index:50;
  transform:translateY(-140%);
  background:var(--ink);
  color:#fff;
  padding:10px 14px;
  border-radius:var(--r);
}
.skip-link:focus{transform:translateY(0)}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:44px;
  border:var(--bd);
  border-radius:var(--r);
  box-shadow:var(--shadow-sm);
  padding:12px 20px;
  color:var(--ink);
  background:var(--paper);
  text-decoration:none;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  transition:transform .08s ease,box-shadow .08s ease,background .15s ease;
}
.btn:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}
.btn:active{transform:translate(4px,4px);box-shadow:none}
.btn:focus-visible,button:focus-visible,textarea:focus-visible,a:focus-visible{
  outline:3px solid #fff;
  box-shadow:0 0 0 6px var(--violeta);
}
.btn-sell{background:var(--magenta-cta);color:#fff}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-large{font-size:18px;padding:16px 26px}
.btn-small{font-size:15px;padding:11px 18px}

.landing-page{
  min-height:100vh;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(247,198,28,.20) 0, rgba(247,198,28,0) 34%),
    var(--creme);
}
.ticker{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px 22px;
  overflow-x:hidden;
  white-space:normal;
  flex-wrap:wrap;
  background:var(--ink);
  color:#fff;
  font-size:14px;
  font-weight:900;
  line-height:1.2;
  padding:8px 16px;
}
.ticker span{display:inline-flex;align-items:center;line-height:1}
.ticker span:nth-child(2n){color:var(--amarelo);font-size:16px}
.sales-nav{
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:var(--hair);
  background:rgba(244,231,205,.96);
  padding:0 40px;
}
.brand-lockup,.side-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}
.brand-lockup strong{
  display:block;
  font-family:var(--font-display);
  font-size:30px;
  line-height:1;
}
.brand-lockup small{
  display:block;
  margin-top:2px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.robot-badge{
  width:52px;
  height:52px;
  overflow:hidden;
  display:grid;
  place-items:center;
  border:3px solid var(--ink);
  border-radius:var(--r);
  background:var(--amarelo);
  transform:rotate(-3deg);
  box-shadow:3px 3px 0 var(--ink);
}
.robot-badge img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.robot-badge.small{width:40px;height:40px;box-shadow:none;border-width:2px}
.robot-badge.tiny{width:34px;height:34px;border-width:2px;box-shadow:none;transform:none}

.sales-menu{
  display:flex;
  align-items:center;
  gap:30px;
  font-weight:800;
}
.sales-menu a:not(.btn){
  min-height:40px;
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}
.sales-menu a:not(.btn):hover{text-decoration:underline;text-decoration-thickness:3px}
.nav-toggle{display:none}

.hero{
  max-width:1360px;
  min-height:690px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);
  align-items:center;
  gap:42px;
  padding:62px 56px 32px;
}
.hero-copy h1{
  margin:0;
  max-width:820px;
  font-family:var(--font-display);
  font-size:78px;
  line-height:.98;
  letter-spacing:0;
}
.hero-copy h1 span{
  display:inline-block;
  background:var(--amarelo);
  border:var(--bd);
  border-radius:var(--r);
  padding:0 10px 4px;
  box-shadow:var(--shadow-sm);
  transform:rotate(-1.4deg);
}
.hero-copy p{
  max-width:670px;
  margin:24px 0 0;
  font-size:21px;
  line-height:1.45;
  color:var(--ink-soft);
}
.hero-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px}
.microcopy{
  margin-top:14px!important;
  font-size:15px!important;
  font-weight:800;
  color:var(--ink)!important;
}
.hero-marks{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.hero-marks span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:2px solid var(--ink);
  border-radius:var(--pill);
  background:var(--paper);
  box-shadow:3px 3px 0 var(--ink);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
}
.hero-marks span:nth-child(1){background:var(--amarelo)}
.hero-marks span:nth-child(2){background:var(--lilas)}
.hero-art{
  position:relative;
  min-height:600px;
  display:grid;
  place-items:center;
}
.hero-art.product-first{
  place-items:center end;
}
.hero-art picture{display:contents}
.halftone{
  position:absolute;
  inset:32px 0 24px 26px;
  background-image:radial-gradient(var(--amarelo) 2px, transparent 2.4px);
  background-size:13px 13px;
  border-radius:50%;
}
.hero-robot{
  position:relative;
  z-index:1;
  width:520px;
  max-width:100%;
  filter:drop-shadow(8px 8px 0 var(--ink));
}
.product-first .hero-robot{
  position:absolute;
  z-index:3;
  left:-26px;
  bottom:6px;
  width:270px;
  transform:rotate(-4deg);
  filter:drop-shadow(5px 5px 0 var(--ink));
}
.hero-product-card{
  position:relative;
  z-index:2;
  width:min(610px,calc(100% - 150px));
  margin-left:150px;
  margin-top:86px;
  padding:22px;
  display:grid;
  gap:16px;
  background:var(--creme-app);
  border:var(--bd);
  border-radius:var(--r);
  box-shadow:10px 10px 0 var(--ink);
  transform:rotate(1deg);
}
.piece-card{
  justify-self:end;
  width:min(430px,88%);
  padding:14px 16px;
  background:var(--lilas-ativo);
  border:2px solid var(--linha-ui);
  border-radius:var(--r);
}
.piece-card span{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  color:var(--muted);
}
.piece-card p{
  margin:0;
  line-height:1.42;
  color:var(--ink);
}
.verdict-mini-card{
  background:var(--paper);
  border:var(--bd);
  border-radius:var(--r);
  box-shadow:var(--shadow-sm);
  padding:16px;
}
.verdict-mini-card>div{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.verdict-mini-card strong{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 10px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--amarelo);
  font-size:13px;
  font-weight:900;
}
.verdict-mini-card em{
  position:relative;
  width:84px;
  height:84px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  background:
    no-repeat center/100% 100%
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-6 -6 112 112'%3E%3Cpolygon points='50,0 60,18 80,10 82,32 100,38 84,52 94,72 70,72 62,96 48,78 28,92 27,68 5,63 20,48 5,28 30,30' fill='%23F7C61C' stroke='%2317140F' stroke-width='5' stroke-linejoin='round'/%3E%3C/svg%3E");
  font-family:var(--font-display);
  font-size:21px;
  line-height:1;
  font-style:normal;
  color:var(--ink);
  text-align:center;
}
.verdict-mini-card em small{
  display:block;
  font-family:var(--font-ui);
  font-size:10px;
  margin-top:1px;
}
.verdict-mini-card blockquote{
  margin:14px 0;
  padding:13px 14px;
  background:var(--creme-app);
  border-left:5px solid var(--violeta);
  font-family:var(--font-read);
  font-size:18px;
  line-height:1.35;
}
.verdict-mini-card p{
  display:flex;
  align-items:center;
  gap:8px;
  margin:8px 0 0;
  font-size:14px;
  font-weight:800;
  color:var(--ink-soft);
}
.dot{
  width:13px;
  height:13px;
  display:inline-block;
  border:2px solid var(--ink);
  border-radius:50%;
}
.dot.ok{background:#74D99D}
.dot.warn{background:var(--amarelo)}
.dot.bad{background:var(--coral)}
.fake-composer{
  display:grid;
  grid-template-columns:30px 1fr 38px;
  align-items:center;
  gap:10px;
  min-height:56px;
  padding:9px 10px;
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:var(--r);
}
.fake-composer span{
  width:22px;
  height:22px;
  border:3px solid var(--ink);
  border-radius:50%;
}
.fake-composer p{
  margin:0;
  color:var(--muted);
  font-weight:700;
}
.fake-composer i{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--violeta);
  color:#fff;
  font-style:normal;
  font-weight:900;
}
.speech-bubble{
  position:absolute;
  z-index:4;
  right:-10px;
  bottom:calc(100% - 4px);
  width:212px;
  background:var(--amarelo);
  color:var(--ink);
  border:var(--bd);
  border-radius:16px;
  padding:14px 18px;
  box-shadow:6px 6px 0 var(--ink);
  font-family:var(--font-display);
  font-size:16px;
  line-height:1.28;
  font-weight:900;
  text-align:left;
  isolation:isolate;
}
.speech-bubble::after{
  content:"";
  position:absolute;
  left:34px;
  top:calc(100% - 5px);
  width:22px;
  height:22px;
  background:var(--amarelo);
  border-right:var(--bd);
  border-bottom:var(--bd);
  transform:rotate(45deg);
  z-index:-1;
}

.steps-band{
  max-width:1230px;
  margin:0 auto 80px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  background:var(--paper);
  border:var(--bd);
  box-shadow:var(--shadow);
}
.steps-band article{
  display:flex;
  align-items:center;
  gap:22px;
  min-height:138px;
  padding:24px 30px;
}
.steps-band article+article{border-left:2px solid var(--ink)}
.steps-band h2{margin:0 0 6px;font-size:22px}
.steps-band p{margin:0;color:var(--ink-soft);line-height:1.4}
.burst-number{
  width:84px;
  height:84px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  color:#fff;
  font-family:var(--font-display);
  font-size:34px;
  line-height:1;
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 100%;
}
.burst-number.magenta{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-6 -6 112 112'%3E%3Cpolygon points='50,0 60,18 80,10 82,32 100,38 84,52 94,72 70,72 62,96 48,78 28,92 27,68 5,63 20,48 5,28 30,30' fill='%23D6357E' stroke='%2317140F' stroke-width='5' stroke-linejoin='round'/%3E%3C/svg%3E")}
.burst-number.violet{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-6 -6 112 112'%3E%3Cpolygon points='50,0 60,18 80,10 82,32 100,38 84,52 94,72 70,72 62,96 48,78 28,92 27,68 5,63 20,48 5,28 30,30' fill='%237B45C9' stroke='%2317140F' stroke-width='5' stroke-linejoin='round'/%3E%3C/svg%3E")}
.burst-number.yellow{color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-6 -6 112 112'%3E%3Cpolygon points='50,0 60,18 80,10 82,32 100,38 84,52 94,72 70,72 62,96 48,78 28,92 27,68 5,63 20,48 5,28 30,30' fill='%23F7C61C' stroke='%2317140F' stroke-width='5' stroke-linejoin='round'/%3E%3C/svg%3E")}

.sales-section{
  max-width:1230px;
  margin:0 auto 72px;
  padding:0 24px;
}
.demo-section,.library-preview{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:34px;
  align-items:center;
}
.section-copy h2,.plan-copy h2{
  margin:0;
  font-family:var(--font-display);
  font-size:46px;
  line-height:1.03;
}
.section-copy p,.plan-copy p{
  margin:18px 0 0;
  font-size:18px;
  line-height:1.55;
  color:var(--ink-soft);
}
.offer-list{
  list-style:none;
  display:grid;
  gap:12px;
  margin:24px 0 0;
  padding:0;
}
.offer-list li{
  position:relative;
  padding-left:28px;
  color:var(--ink-soft);
  font-weight:800;
  line-height:1.4;
}
.offer-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.32em;
  width:15px;
  height:15px;
  border:2px solid var(--ink);
  border-radius:50%;
  background:var(--amarelo);
  box-shadow:2px 2px 0 var(--ink);
}
.check-list{
  list-style:none;
  padding:0;
  margin:28px 0 0;
  display:grid;
  gap:14px;
  font-weight:800;
}
.check-list span{
  display:inline-grid;
  place-items:center;
  width:26px;
  height:26px;
  margin-right:10px;
  border:2px solid var(--ink);
  border-radius:50%;
  background:var(--amarelo);
}
.mini-chat{
  background:var(--creme-app);
  border:var(--bd);
  border-radius:var(--r);
  box-shadow:var(--shadow);
  padding:26px;
  display:grid;
  gap:18px;
}
.mini-row{
  max-width:78%;
  padding:16px 18px;
  border:2px solid var(--linha-ui);
  border-radius:var(--r);
  line-height:1.45;
}
.mini-row.student{justify-self:end;background:var(--lilas-ativo)}
.mini-row.tutor{
  justify-self:start;
  max-width:88%;
  background:var(--paper);
  border:var(--bd);
  box-shadow:var(--shadow-sm);
}
.mini-label{
  display:inline-block;
  margin-bottom:12px;
  padding:7px 10px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--amarelo);
  font-weight:900;
}
.mini-row blockquote{
  margin:0 0 12px;
  padding:14px;
  background:var(--creme-app);
  border-left:5px solid var(--violeta);
  font-family:var(--font-read);
  font-size:18px;
}
.mini-row p{margin:0;color:var(--ink-soft)}

.feature-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.feature-strip article,.plan-card,.media-shelves article{
  background:var(--paper);
  border:var(--bd);
  border-radius:var(--r);
  box-shadow:var(--shadow-sm);
  padding:24px;
}
.feature-icon{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  margin-bottom:18px;
  background:var(--lilas);
  border:2px solid var(--ink);
  border-radius:var(--r);
  font-size:28px;
  font-family:var(--font-read);
  font-weight:700;
}
.feature-strip h2,.media-shelves h3,.plan-card h3{margin:0 0 10px;font-size:23px}
.feature-strip p,.media-shelves p,.plan-card p{margin:0;color:var(--ink-soft);line-height:1.5}

.media-shelves{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.media-shelves article{min-height:190px}
.media-shelves span{
  display:inline-block;
  margin-bottom:38px;
  padding:7px 10px;
  border:2px solid var(--ink);
  border-radius:var(--pill);
  background:var(--amarelo);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.plans{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:28px;
  align-items:start;
  padding-bottom:80px;
}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.plan-card{min-height:280px;display:flex;flex-direction:column}
.plan-card strong{
  display:block;
  margin:auto 0 18px;
  font-family:var(--font-display);
  font-size:25px;
}
.plan-card.is-featured{
  background:var(--lilas-ativo);
  border-color:var(--magenta-cta);
  transform:translateY(-12px);
}
.plan-stamp{
  align-self:flex-start;
  margin-bottom:14px;
  padding:8px 10px;
  border:2px solid var(--ink);
  border-radius:var(--pill);
  background:var(--amarelo);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.dashboard-page{
  min-height:100vh;
  padding:32px 28px;
  background:var(--ink);
}
.dashboard-shell{
  position:relative;
  max-width:1380px;
  height:calc(100vh - 64px);
  min-height:720px;
  margin:0 auto;
  display:grid;
  grid-template-columns:244px minmax(0,1fr);
  overflow:hidden;
  background:var(--creme-app);
  border:var(--bd);
  border-radius:var(--r);
  box-shadow:10px 10px 0 rgba(255,255,255,.18);
}
.sidebar{
  display:flex;
  flex-direction:column;
  overflow:auto;
  border-right:var(--hair);
  background:var(--creme-app);
  padding:18px;
}
.side-brand{
  height:50px;
  font-family:var(--font-display);
  font-size:25px;
}
.side-nav{
  display:grid;
  gap:7px;
  margin-top:24px;
}
.nav-group{
  display:block;
  margin:12px 0 2px;
  color:var(--violeta);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nav-group:first-child{margin-top:0}
.side-nav button{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:46px;
  border:0;
  border-radius:var(--r);
  background:transparent;
  color:var(--ink);
  padding:0 12px;
  text-align:left;
  font-weight:800;
  cursor:pointer;
}
.side-nav button.is-active{
  background:var(--lilas-ativo);
}
.side-nav button.is-active::before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  bottom:9px;
  width:4px;
  border-radius:var(--pill);
  background:var(--violeta);
}
.persona-card{
  display:grid;
  gap:4px;
  margin-top:18px;
  padding:14px;
  border:2px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--paper);
}
.persona-card span{
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.persona-card strong{
  font-family:var(--font-display);
  font-size:24px;
  line-height:1;
}
.persona-card small{
  color:var(--ink-soft);
  line-height:1.35;
}
.progress-card{
  margin-top:auto;
  padding:16px;
  border:2px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--paper);
}
.progress-card span{font-weight:900}
.progress-card small{display:block;margin-top:8px;color:var(--muted);line-height:1.35}
.progress-bar{
  height:10px;
  margin-top:12px;
  overflow:hidden;
  border:1px solid var(--linha-ui);
  border-radius:var(--pill);
  background:var(--trilho);
}
.progress-bar span{display:block;height:100%;background:var(--violeta)}
.side-footer{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  padding-top:18px;
  border-top:var(--hair);
  font-size:12px;
  font-weight:900;
}
.robot-dot{
  width:24px;
  height:24px;
  border:2px solid var(--ink);
  border-radius:50%;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:var(--amarelo);
}
.robot-dot img{width:100%;height:100%;object-fit:contain}

.app-main{
  position:relative;
  min-width:0;
  min-height:0;
  height:100%;
  display:grid;
  grid-template-rows:58px minmax(0,1fr) auto;
  overflow:hidden;
}
.app-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 22px 0 26px;
  background:var(--creme-app);
  border-bottom:2px solid var(--violeta);
}
.app-header h2{margin:0;font-size:17px;font-weight:900}
.app-header>div{display:flex;align-items:center;gap:12px}
.drawer-btn{display:none}
.app-tools{display:flex;align-items:center;gap:10px}
.tool-btn{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--paper);
  color:var(--ink);
  cursor:pointer;
}
.tool-btn[aria-pressed="true"]{background:var(--violeta);color:#fff;border-color:var(--ink)}
.bot-state{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:800;
}
.bot-state i{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--verde);
}

.panel-stack{
  min-height:0;
  overflow:hidden;
  display:grid;
}
.app-panel{
  min-height:0;
  overflow:auto;
  display:none;
}
.app-panel.is-active{display:grid}
.app-panel:not(.is-active){display:none!important}
.chat-panel{
  min-height:0;
  overflow:auto;
  display:grid;
  align-content:start;
  gap:12px;
  padding:18px max(24px,calc((100% - 720px)/2)) 14px;
}
.work-panel,.provas-panel,.vade-panel,.videos-panel,.ebooks-panel,.forum-panel,.events-panel,.webmail-panel,.tickets-panel{
  align-content:start;
  gap:18px;
  padding:24px;
}
.panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.panel-head span{
  display:inline-block;
  margin-bottom:6px;
  color:var(--violeta);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.panel-head h3{
  margin:0;
  max-width:620px;
  font-family:var(--font-display);
  font-size:31px;
  line-height:1.02;
}
.solid-action,.work-panel button,.mail-actions button{
  min-height:40px;
  padding:0 15px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--amarelo);
  color:var(--ink);
  font-weight:900;
  box-shadow:var(--shadow-sm);
  cursor:pointer;
}
.piece-board{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);
  gap:18px;
}
.piece-detail,.piece-list article,.sim-grid article,.support-board article{
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:var(--r);
  box-shadow:var(--shadow-sm);
}
.piece-detail{padding:22px;display:grid;gap:14px}
.piece-detail h4,.video-info h4,.comments-panel h4,.mail-reader h3,.reader-page h3{
  margin:0;
  font-size:26px;
  line-height:1.08;
}
.piece-detail p,.support-board p,.mail-reader p{margin:0;color:var(--ink-soft);line-height:1.45}
.status-pill{
  justify-self:start;
  padding:6px 10px;
  border:2px solid var(--ink);
  border-radius:var(--pill);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.status-pill.warn{background:var(--amarelo)}
.piece-meter,.video-progress,.reader-bar{
  overflow:hidden;
  height:10px;
  border:1px solid var(--linha-ui);
  border-radius:var(--pill);
  background:var(--trilho);
}
.piece-meter span,.video-progress span,.reader-bar span{display:block;height:100%;background:var(--violeta)}
.piece-list{display:grid;gap:12px}
.piece-list article{padding:16px;display:grid;gap:6px}
.piece-list span{color:var(--muted);font-size:13px;font-weight:800}
.sim-grid,.support-board{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.sim-grid article,.support-board article{padding:18px}
.sim-grid span{
  display:inline-grid;
  width:64px;
  height:64px;
  place-items:center;
  margin-bottom:18px;
  background:var(--amarelo);
  border:3px solid var(--ink);
  font-family:var(--font-display);
  font-size:24px;
  clip-path:polygon(50% 0,60% 18%,80% 10%,82% 32%,100% 38%,84% 52%,94% 72%,70% 72%,62% 96%,48% 78%,28% 92%,27% 68%,5% 63%,20% 48%,5% 28%,30% 30%);
}
.sim-grid strong,.support-board strong{display:block;font-size:19px}
.sim-grid p{margin:8px 0 0;color:var(--ink-soft);line-height:1.4}
.provas-layout{
  display:grid;
  grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr);
  gap:18px;
  align-items:start;
}
.provas-search-panel,.prova-reader{
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:var(--r);
  box-shadow:var(--shadow-sm);
}
.provas-search-panel{
  display:grid;
  gap:14px;
  padding:18px;
}
.provas-search{
  min-height:48px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:0 12px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--creme-app);
}
.provas-search svg{width:20px;height:20px;fill:currentColor}
.provas-search input{
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font:900 15px/1 var(--font-ui);
}
.provas-filters{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.provas-filters select{
  min-height:40px;
  border:2px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--paper);
  color:var(--ink);
  font:900 13px/1 var(--font-ui);
}
.provas-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding:10px 0;
  border-top:1px solid var(--linha-ui);
  border-bottom:1px solid var(--linha-ui);
}
.provas-status strong{font-size:18px}
.provas-status span{color:var(--muted);font-size:12px;font-weight:800}
.provas-results{
  max-height:560px;
  overflow:auto;
  display:grid;
  gap:10px;
}
.prova-result{
  display:grid;
  gap:6px;
  padding:13px;
  border:1px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--paper);
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.prova-result.is-open{
  border:2px solid var(--ink);
  background:var(--lilas-ativo);
}
.prova-result span,.prova-reader header span,.prova-paths span{
  color:var(--violeta);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.prova-result strong{
  font-size:18px;
  line-height:1.12;
}
.prova-result p{
  margin:0;
  color:var(--ink-soft);
  line-height:1.36;
}
.prova-reader{
  display:grid;
  align-content:start;
  gap:18px;
  padding:24px;
}
.prova-reader h4{
  margin:5px 0 0;
  font-size:28px;
  line-height:1.04;
}
.prova-reader p{
  margin:0;
  color:var(--ink-soft);
  font-size:17px;
  line-height:1.55;
  white-space:pre-wrap;
}
.prova-paths{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--creme-app);
}
.prova-paths code{
  overflow-wrap:anywhere;
  font-size:12px;
  line-height:1.4;
}
.prova-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.prova-actions button{
  min-height:40px;
  padding:0 14px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--amarelo);
  color:var(--ink);
  font-weight:900;
  cursor:pointer;
  box-shadow:var(--shadow-sm);
}
.prova-actions button+button{background:var(--paper)}
.vade-empty{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:22px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--paper);
  box-shadow:var(--shadow-sm);
}
.vade-empty strong{
  display:block;
  font-size:24px;
  line-height:1.08;
}
.vade-empty p{
  max-width:720px;
  margin:10px 0 0;
  color:var(--ink-soft);
  line-height:1.5;
}
.vade-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
.vade-actions button:nth-child(2),.vade-actions button:nth-child(3){background:var(--paper)}
.video-watch-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:18px;
  align-items:start;
}
.video-watch,.comments-panel,.video-notes article{
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:var(--r);
  box-shadow:var(--shadow-sm);
}
.video-watch{
  display:grid;
  gap:16px;
  padding:16px;
}
.video-frame{
  position:relative;
  min-height:360px;
  overflow:hidden;
  display:grid;
  place-items:center;
  border:3px solid var(--ink);
  border-radius:var(--r);
  background:
    linear-gradient(145deg,rgba(14,15,26,.76),rgba(14,15,26,.14)),
    linear-gradient(145deg,#211914,#4A2A65 58%,#FCCA0A 58.4%,#FCCA0A 62%,#C02670 62.4%);
}
.video-frame::before{
  content:"";
  position:absolute;
  inset:18px;
  border:2px dashed rgba(255,255,255,.28);
  border-radius:var(--r);
}
.play-mark{
  position:relative;
  z-index:1;
  width:78px;
  height:78px;
  display:grid;
  place-items:center;
  border:3px solid #fff;
  border-radius:50%;
  background:rgba(14,15,26,.28);
  color:#fff;
  box-shadow:0 14px 32px rgba(0,0,0,.22);
  cursor:pointer;
}
.play-mark svg{width:32px;height:32px;fill:currentColor;transform:translateX(2px)}
.video-duration{
  position:absolute;
  right:14px;
  bottom:14px;
  z-index:1;
  padding:6px 9px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:#0E0F1A;
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.video-info{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:start;
}
.video-info span,.comments-panel header span,.video-notes span,.playlist-head span{
  display:block;
  color:var(--violeta);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.video-info h4{
  margin:4px 0 0;
  font-size:28px;
  line-height:1.06;
}
.video-info p{
  max-width:720px;
  margin:8px 0 0;
  color:var(--ink-soft);
  line-height:1.45;
}
.video-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.video-actions button{
  min-width:94px;
  min-height:54px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:center;
  gap:2px 7px;
  padding:8px 10px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--creme-app);
  color:var(--ink);
  font-weight:900;
  cursor:pointer;
  box-shadow:var(--shadow-sm);
}
.video-actions button[aria-pressed="true"]{background:var(--amarelo)}
.video-actions svg{grid-row:1/3;width:21px;height:21px;fill:currentColor}
.video-actions strong{font-size:15px}
.video-actions span{color:var(--ink-soft);font-size:11px;text-transform:uppercase}
.video-progress span{width:64%;background:var(--amarelo)}
.video-playlist{
  padding:12px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--creme-app);
  box-shadow:var(--shadow-sm);
}
.playlist-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:4px 4px 10px;
}
.playlist-head strong{font-size:13px}
.lesson-list{display:grid;gap:10px}
.lesson-list button{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:68px;
  padding:12px;
  border:2px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--paper);
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.lesson-list button.is-current{border-color:var(--ink);background:var(--lilas-ativo)}
.lesson-list strong{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:2px solid var(--ink);
  border-radius:50%;
  background:var(--amarelo);
}
.lesson-list span{font-weight:900}
.lesson-list em{font-style:normal;color:var(--muted);font-size:12px;font-weight:800}
.video-community{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:18px;
  align-items:start;
}
.comments-panel{
  display:grid;
  gap:16px;
  padding:18px;
}
.comments-panel>header{
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:12px;
}
.comments-panel h4{
  margin:4px 0 0;
  font-size:24px;
}
.ghost-action{
  min-height:38px;
  padding:0 12px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--paper);
  color:var(--ink);
  font-weight:900;
  cursor:pointer;
}
.comment-box{
  display:grid;
  gap:10px;
  padding:12px;
  border:2px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--creme-app);
}
.comment-box textarea{
  width:100%;
  min-height:86px;
  resize:vertical;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font:700 15px/1.45 var(--font-ui);
}
.comment-box>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.visibility-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:900;
}
.visibility-toggle input{width:18px;height:18px;accent-color:var(--violeta)}
.comment-box button{
  min-height:38px;
  padding:0 14px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--amarelo);
  color:var(--ink);
  font-weight:900;
  cursor:pointer;
  box-shadow:var(--shadow-sm);
}
.comment-thread{display:grid;gap:12px}
.student-comment{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  padding:12px;
  border:1px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--paper);
}
.comment-avatar{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:2px solid var(--ink);
  border-radius:50%;
  background:var(--amarelo);
  font-size:13px;
  font-weight:900;
}
.comment-avatar.accent{background:var(--lilas-ativo)}
.student-comment header{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:baseline;
}
.student-comment header span{color:var(--muted);font-size:12px;font-weight:800}
.student-comment p{margin:7px 0 0;color:var(--ink-soft);line-height:1.43}
.student-comment footer{
  display:flex;
  gap:10px;
  margin-top:10px;
}
.student-comment footer button{
  border:0;
  background:transparent;
  color:var(--violeta);
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.video-notes{display:grid;gap:12px}
.video-notes article{padding:16px}
.video-notes strong{display:block;margin-top:5px;font-size:18px;line-height:1.12}
.video-notes p{margin:8px 0 0;color:var(--ink-soft);line-height:1.38}
.ebooks-panel{
  grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);
  align-items:stretch;
}
.kindle-library,.kindle-reader{
  border:3px solid var(--ink);
  border-radius:var(--r);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.kindle-library{
  min-height:590px;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  gap:14px;
  padding:18px;
  background:var(--paper);
}
.kindle-library-head{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
}
.kindle-library-head span,.reader-title span,.reader-notebook span{
  display:block;
  color:var(--violeta);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.kindle-library-head h3{
  margin:4px 0 0;
  font-size:25px;
  line-height:1.06;
}
.kindle-search{
  min-height:42px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:0 12px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--creme-app);
}
.kindle-search svg{width:20px;height:20px;fill:currentColor}
.kindle-search input{
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font:800 14px/1 var(--font-ui);
}
.kindle-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:2px;
}
.kindle-tabs button{
  min-height:36px;
  padding:0 12px;
  border:1px solid var(--linha-ui);
  border-radius:var(--pill);
  background:var(--paper);
  color:var(--ink);
  font-weight:900;
  cursor:pointer;
}
.kindle-tabs button.is-active{
  border:2px solid var(--ink);
  background:var(--amarelo);
}
.ebook-shelf{
  display:grid;
  grid-template-columns:repeat(3,minmax(94px,1fr));
  align-content:start;
  gap:16px 14px;
  overflow:auto;
  padding:2px 2px 12px;
}
.book-card{
  min-width:0;
  display:grid;
  gap:8px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.book-card[hidden]{display:none}
.book-card:focus-visible{
  outline:3px solid var(--violeta);
  outline-offset:4px;
}
.book-cover{
  position:relative;
  aspect-ratio:2/3;
  display:grid;
  align-content:end;
  gap:5px;
  overflow:hidden;
  padding:12px 10px;
  border:2px solid var(--ink);
  border-radius:6px 3px 3px 6px;
  color:#fff;
  box-shadow:8px 8px 0 rgba(14,15,26,.22);
  transition:transform .16s ease,box-shadow .16s ease;
}
.book-card:hover .book-cover,.book-card.is-open .book-cover{
  transform:translateY(-3px);
  box-shadow:10px 12px 0 rgba(14,15,26,.28);
}
.book-card.is-open .book-cover{outline:4px solid var(--amarelo)}
.book-cover::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:16%;
  background:rgba(0,0,0,.24);
  border-right:1px solid rgba(255,255,255,.18);
}
.book-cover::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,rgba(255,255,255,.2),transparent 34%,rgba(0,0,0,.22));
  pointer-events:none;
}
.book-cover em,.book-cover strong,.book-cover small{
  position:relative;
  z-index:1;
}
.book-cover em{
  font-style:normal;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.book-cover strong{
  font-family:var(--font-display);
  font-size:clamp(20px,2.1vw,30px);
  line-height:.92;
}
.book-cover small{font-weight:900}
.cover-penal{background:linear-gradient(150deg,#52248A,#C02670 58%,#FCCA0A 58.6%)}
.cover-pedidos{background:linear-gradient(150deg,#0E0F1A,#365B6D 54%,#F05A28 54.8%)}
.cover-sumulas{background:linear-gradient(150deg,#263B2D,#4D8C57 56%,#E9B44C 56.8%)}
.cover-teses{background:linear-gradient(150deg,#3D1F16,#8F3F2E 54%,#6D4BA8 54.8%)}
.cover-prazos{background:linear-gradient(150deg,#1D3557,#457B9D 58%,#FCCA0A 58.6%)}
.cover-check{background:linear-gradient(150deg,#111827,#C02670 52%,#62B6CB 52.8%)}
.book-meta{
  display:grid;
  gap:3px;
}
.book-meta strong{
  min-height:34px;
  font-size:13px;
  line-height:1.14;
}
.book-meta small{font-size:12px;font-weight:800;color:var(--ink-soft)}
.kindle-reader{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-height:590px;
  background:#241D18;
  color:#EFE3CF;
}
.reader-toolbar,.reader-footer{
  display:grid;
  align-items:center;
  gap:12px;
  padding:14px 18px;
  background:#17130F;
}
.reader-toolbar{
  grid-template-columns:auto minmax(0,1fr) auto;
  border-bottom:1px solid rgba(247,234,210,.18);
}
.reader-title strong{
  display:block;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.reader-tools{
  display:flex;
  gap:8px;
}
.kindle-reader button{
  width:40px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid rgba(247,234,210,.35);
  border-radius:var(--r);
  background:transparent;
  color:#EFE3CF;
  font-weight:900;
  cursor:pointer;
}
.kindle-reader button svg{width:19px;height:19px;fill:currentColor}
.kindle-reader button[aria-pressed="true"]{
  background:#D7B04C;
  color:#17130F;
  border-color:#D7B04C;
}
.reader-stage{
  display:grid;
  grid-template-columns:minmax(0,1fr) 224px;
  min-height:430px;
}
.reader-page-wrap{
  display:grid;
  place-items:center;
  padding:26px;
  background:radial-gradient(circle at 50% 0,rgba(255,255,255,.09),transparent 42%),#2B241D;
}
.reader-page{
  width:min(620px,100%);
  min-height:420px;
  padding:44px 42px;
  background:#FBF1D8;
  color:#231C16;
  border:1px solid rgba(0,0,0,.22);
  box-shadow:0 22px 55px rgba(0,0,0,.25);
  font-family:var(--font-read);
  font-size:23px;
  line-height:1.56;
}
.reader-page.is-large{font-size:26px}
.reader-page.is-highlighted [data-reader-text-one]{
  background:linear-gradient(transparent 54%,rgba(252,202,10,.54) 54%);
}
.reader-page .chapter{
  margin:0 0 16px;
  font-family:var(--font-ui);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  color:#D7B04C;
}
.reader-page h3{color:#231C16}
.reader-page p{margin:18px 0 0}
.reader-notebook{
  display:grid;
  align-content:start;
  gap:10px;
  padding:18px;
  border-left:1px solid rgba(247,234,210,.18);
  background:#1B1712;
}
.reader-notebook strong{font-size:18px;line-height:1.12}
.reader-notebook p{
  margin:0;
  color:#EFE3CF;
  line-height:1.42;
}
.reader-notebook button{
  width:auto;
  min-height:38px;
  padding:0 12px;
  justify-self:start;
  background:#EFE3CF;
  color:#17130F;
  border-color:#EFE3CF;
}
.reader-footer{
  grid-template-columns:40px minmax(0,1fr) 40px;
  border-top:1px solid rgba(247,234,210,.18);
}
.reader-progress{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:10px;
  color:#EFE3CF;
  font-size:12px;
  font-weight:900;
}
.reader-bar{height:10px;background:#3B3028;border:1px solid rgba(247,234,210,.2)}
.reader-bar span{display:block;height:100%;background:#D7B04C}
.forum-layout,.events-layout,.tickets-layout{
  display:grid;
  grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);
  gap:18px;
  align-items:start;
}
.forum-board,.forum-thread,.calendar-card,.event-timeline,.ticket-form,.ticket-list{
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:var(--r);
  box-shadow:var(--shadow-sm);
}
.forum-board,.forum-thread,.calendar-card,.event-timeline,.ticket-form,.ticket-list{
  padding:18px;
}
.forum-compose,.forum-reply,.event-form,.ticket-form{
  display:grid;
  gap:10px;
}
.forum-compose{
  padding:12px;
  border:2px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--creme-app);
}
.forum-compose input,.forum-compose textarea,.forum-compose select,.forum-reply textarea,.event-form input,.ticket-form input,.ticket-form select,.ticket-form textarea{
  width:100%;
  min-width:0;
  border:2px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--paper);
  color:var(--ink);
  font:800 14px/1.35 var(--font-ui);
}
.forum-compose input,.forum-compose select,.event-form input,.ticket-form input,.ticket-form select{min-height:40px;padding:0 10px}
.forum-compose textarea,.forum-reply textarea,.ticket-form textarea{min-height:94px;padding:10px;resize:vertical}
.forum-compose>div,.event-form,.ticket-form{
  grid-template-columns:minmax(0,1fr) auto;
}
.forum-compose button,.forum-reply button,.event-form button,.ticket-form button{
  min-height:40px;
  padding:0 14px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--amarelo);
  color:var(--ink);
  font-weight:900;
  cursor:pointer;
  box-shadow:var(--shadow-sm);
}
.topic-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.topic-card{
  display:grid;
  gap:5px;
  padding:13px;
  border:1px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--paper);
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.topic-card.is-open{
  border:2px solid var(--ink);
  background:var(--lilas-ativo);
}
.topic-card span,.forum-thread header span,.calendar-card header span,.event-item time,.ticket-item span{
  color:var(--violeta);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.topic-card strong,.ticket-item strong{font-size:18px;line-height:1.12}
.topic-card small{color:var(--muted);font-weight:800}
.forum-thread{
  display:grid;
  gap:14px;
}
.forum-thread h4{
  margin:5px 0 0;
  font-size:27px;
  line-height:1.05;
}
.forum-thread header p,.ticket-item p{
  margin:8px 0 0;
  color:var(--ink-soft);
  line-height:1.42;
}
.forum-replies{display:grid;gap:10px}
.forum-replies article{
  padding:12px;
  border:1px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--creme-app);
}
.forum-replies p{margin:6px 0 0;color:var(--ink-soft);line-height:1.42}
.forum-reply{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
}
.calendar-card{
  display:grid;
  gap:14px;
}
.calendar-card header{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
}
.calendar-card header strong{font-size:18px}
.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:7px;
}
.calendar-grid span{
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
}
.calendar-grid button{
  aspect-ratio:1;
  border:1px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--paper);
  color:var(--ink);
  font-weight:900;
}
.calendar-grid button.has-event{
  border:2px solid var(--ink);
  background:var(--amarelo);
  box-shadow:var(--shadow-sm);
}
.calendar-grid button.danger{background:var(--coral);color:#fff}
.source-note{
  margin:0;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.event-timeline{
  max-height:640px;
  overflow:auto;
  display:grid;
  gap:10px;
}
.event-item{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:12px;
  padding:12px;
  border:1px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--paper);
}
.event-item.urgent{background:var(--lilas-ativo);border:2px solid var(--ink)}
.event-item.danger{border:2px solid var(--coral)}
.event-item strong{display:block;font-size:17px;line-height:1.12}
.event-item p{margin:6px 0 0;color:var(--ink-soft);line-height:1.35}
.ticket-form{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.ticket-form label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.ticket-form .full,.ticket-form button{grid-column:1/-1}
.ticket-list{display:grid;gap:12px}
.ticket-item{
  padding:14px;
  border:1px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--paper);
}
.ticket-item.is-open{border:2px solid var(--ink);background:var(--lilas-ativo)}
.ticket-item.done{background:var(--creme-app)}
.mail-layout{
  min-height:590px;
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  border:3px solid var(--ink);
  border-radius:var(--r);
  overflow:hidden;
  background:var(--paper);
  box-shadow:var(--shadow-sm);
}
.mail-list{
  display:grid;
  align-content:start;
  gap:8px;
  padding:14px;
  border-right:2px solid var(--ink);
  background:var(--creme-app);
}
.mail-account{
  padding:12px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--amarelo);
}
.mail-account span{display:block;font-size:12px;font-weight:900;text-transform:uppercase}
.mail-account strong{font-size:22px}
.mail-toolbar{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.mail-toolbar button,.mail-folders button{
  min-height:38px;
  border:1px solid var(--ink);
  border-radius:10px;
  background:var(--paper);
  color:var(--ink);
  font-weight:900;
  cursor:pointer;
}
.mail-toolbar button:hover,.mail-folders button:hover{background:var(--lilas-ativo)}
.mail-folders{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:2px;
}
.mail-folders button{
  flex:0 0 auto;
  padding:7px 12px;
  border-radius:999px;
  font-size:12px;
  text-transform:uppercase;
}
.mail-folders button.is-active{background:var(--ink);color:var(--paper)}
.mail-items{display:grid;gap:8px}
.mail-item{
  display:grid;
  gap:5px;
  padding:13px;
  border:1px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--paper);
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.mail-item.is-open{border:2px solid var(--ink);background:var(--lilas-ativo)}
.mail-item.is-unread strong::before{
  content:"";
  display:inline-block;
  width:8px;
  height:8px;
  margin-right:7px;
  border-radius:50%;
  background:var(--magenta);
}
.mail-item span,.mail-reader span{color:var(--violeta);font-size:12px;font-weight:900;text-transform:uppercase}
.mail-item small{color:var(--muted);font-weight:800}
.mail-empty{
  margin:0;
  padding:18px;
  border:1px dashed var(--linha-ui);
  border-radius:var(--r);
  color:var(--muted);
  font-weight:800;
  line-height:1.4;
  background:rgba(255,255,255,.58);
}
.mail-reader{
  padding:34px;
  display:grid;
  align-content:start;
  gap:20px;
}
.mail-reader header{display:grid;gap:8px}
.mail-reader header small{font-weight:900;color:var(--muted)}
.mail-body{
  max-width:820px;
  overflow:auto;
  padding:18px;
  border:1px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--paper);
  color:var(--ink);
  line-height:1.55;
  overflow-wrap:anywhere;
}
.mail-body a{color:var(--violeta);font-weight:900}
.mail-body blockquote{
  margin:12px 0;
  padding-left:14px;
  border-left:4px solid var(--amarelo);
  color:var(--muted);
}
.mail-attachments{
  padding:12px;
  border:1px solid var(--linha-ui);
  border-radius:var(--r);
  background:var(--creme-app);
  color:var(--muted);
  font-weight:900;
}
.mail-compose{
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(18,18,18,.58);
}
.mail-compose[hidden]{display:none}
.mail-compose form{
  width:min(620px,100%);
  display:grid;
  gap:12px;
  padding:20px;
  border:3px solid var(--ink);
  border-radius:var(--r-lg);
  background:var(--paper);
  box-shadow:var(--shadow-hard);
}
.mail-compose h3{margin:0;font-family:var(--font-display);font-size:28px}
.mail-compose label{display:grid;gap:6px;font-weight:900}
.mail-compose input,.mail-compose textarea{
  width:100%;
  border:2px solid var(--ink);
  border-radius:10px;
  padding:11px 12px;
  background:#fff;
  color:var(--ink);
}
.mail-compose textarea{min-height:180px;resize:vertical}
.mail-compose-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.mail-compose-actions button,.mail-actions button{
  min-height:40px;
  padding:9px 14px;
  border:2px solid var(--ink);
  border-radius:10px;
  background:var(--amarelo);
  color:var(--ink);
  font-weight:950;
  cursor:pointer;
}
.mail-compose-actions button:first-child{background:var(--paper)}
.mail-actions{display:flex;gap:10px;flex-wrap:wrap}
.support-board{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-shell:not([data-current="chat"]) .composer{display:none}
.dashboard-shell:not([data-current="chat"]) .app-main{grid-template-rows:58px minmax(0,1fr)}
.mobile-tabbar{display:none}

.empty-anchor{
  display:flex;
  align-items:flex-end;
  gap:14px;
  margin-bottom:6px;
}
.empty-anchor img{
  width:66px;
  height:66px;
  object-fit:cover;
  object-position:center;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--amarelo);
}
.bubble{
  position:relative;
  max-width:460px;
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:var(--r);
  padding:12px 15px;
  font-weight:800;
  line-height:1.35;
}
.bubble::before{
  content:"";
  position:absolute;
  left:-11px;
  bottom:16px;
  width:18px;
  height:18px;
  background:var(--paper);
  border-left:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
  transform:rotate(45deg);
}
.shortcut-rail{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:-2px 0 2px 82px;
}
.shortcut-rail button{
  min-height:36px;
  padding:8px 12px;
  border:1px solid var(--linha-ui);
  border-radius:var(--pill);
  background:var(--paper);
  color:var(--ink);
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.shortcut-rail button:first-child{
  border:2px solid var(--ink);
  background:var(--amarelo);
}
.next-action-card{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:2px 0 6px 82px;
  padding:14px 16px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--paper);
  box-shadow:var(--shadow-sm);
}
.next-action-card span{
  display:block;
  color:var(--violeta);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.next-action-card strong{
  display:block;
  margin-top:2px;
  font-size:18px;
  line-height:1.12;
}
.next-action-card p{
  margin:5px 0 0;
  color:var(--ink-soft);
  line-height:1.35;
}
.next-action-card button,.vade-actions button{
  flex:0 0 auto;
  min-height:40px;
  padding:0 14px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--amarelo);
  color:var(--ink);
  font-weight:900;
  box-shadow:var(--shadow-sm);
  cursor:pointer;
}
.message{
  display:grid;
  gap:6px;
}
.message-user{
  justify-self:end;
  max-width:560px;
  background:var(--lilas-ativo);
  border:1px solid var(--linha-ui);
  border-radius:var(--r);
  padding:12px 15px 8px;
}
.message-user p{margin:0;line-height:1.5}
.message-user time{justify-self:end;color:var(--muted);font-size:12px;font-weight:700}
.message-bot{
  grid-template-columns:42px minmax(0,1fr);
  align-items:start;
  max-width:720px;
}
.avatar{
  width:38px;
  height:38px;
  object-fit:cover;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--amarelo);
}
.verdict-card{
  background:var(--paper);
  border:var(--bd);
  border-radius:var(--r);
  box-shadow:var(--shadow-sm);
  padding:14px;
}
.verdict-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.verdict-top h3{
  display:inline-block;
  margin:0;
  padding:8px 11px;
  border:2px solid var(--ink);
  border-radius:var(--r);
  background:var(--amarelo);
  font-size:14px;
  font-weight:900;
  letter-spacing:.03em;
}
.score{
  position:relative;
  width:88px;
  height:88px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  background:
    no-repeat center/100% 100%
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-6 -6 112 112'%3E%3Cpolygon points='50,0 60,18 80,10 82,32 100,38 84,52 94,72 70,72 62,96 48,78 28,92 27,68 5,63 20,48 5,28 30,30' fill='%23F7C61C' stroke='%2317140F' stroke-width='5' stroke-linejoin='round'/%3E%3C/svg%3E");
  font-family:var(--font-display);
  font-size:23px;
  line-height:1;
  color:var(--ink);
  text-align:center;
}
.score small{display:block;font-family:var(--font-ui);font-size:11px;margin-top:1px}
.cite{
  margin:10px 0;
  padding:12px 14px;
  background:var(--creme-app);
  border-left:5px solid var(--violeta);
  font-family:var(--font-read);
  font-size:16px;
  line-height:1.4;
}
.cite span{
  display:block;
  margin-bottom:8px;
  font-family:var(--font-ui);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.markers{
  display:grid;
  gap:6px;
}
.markers p{
  display:grid;
  grid-template-columns:30px 1fr;
  margin:0;
  color:var(--ink-soft);
  line-height:1.38;
}
.markers span{
  grid-row:1 / span 2;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border:2px solid var(--ink);
  border-radius:50%;
  color:var(--ink);
  font-weight:900;
}
.markers strong{display:block;color:var(--ink);font-weight:900}
.markers .ok span{background:#74D99D}
.markers .warn span{background:var(--amarelo)}
.markers .bad span{background:var(--coral)}
.collapse-line{
  margin-top:12px;
  border:0;
  background:transparent;
  color:var(--roxo);
  font-weight:900;
  cursor:pointer;
  min-height:36px;
  padding:8px 0;
}
.resolved-note{
  margin:12px 0 0;
  color:var(--ink-soft);
  line-height:1.45;
}
.composer{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:end;
  gap:10px;
  width:min(720px,calc(100% - 48px));
  margin:0 auto 14px;
  padding:10px;
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:var(--r);
  box-shadow:var(--shadow-sm);
}
.composer-actions{display:flex;gap:6px}
.composer button{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:var(--r);
  background:transparent;
  cursor:pointer;
}
.composer textarea{
  min-height:38px;
  max-height:40vh;
  resize:none;
  border:0;
  outline:0;
  padding:10px 2px;
  background:transparent;
  line-height:1.4;
}
.counter{
  align-self:center;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.send-btn{
  background:var(--violeta)!important;
  color:#fff;
  border:2px solid var(--ink)!important;
  border-radius:var(--r)!important;
}

.dashboard-shell[data-quiet="true"] .verdict-card,
.dashboard-shell[data-quiet="true"] .composer{box-shadow:var(--soft-shadow)}
.dashboard-shell[data-focus="true"]{grid-template-columns:1fr}
.dashboard-shell[data-focus="true"] .sidebar,
.dashboard-shell[data-focus="true"] .empty-anchor,
.dashboard-shell[data-focus="true"] .robot-badge.tiny{display:none}
.dashboard-shell[data-focus="true"] .app-header{justify-content:flex-end}
.dashboard-shell[data-focus="true"] .app-header h2::after{content:" · modo foco";color:var(--muted)}

@media (max-width:1100px){
  :root{--stroke:2px}
  .hero{
    grid-template-columns:1fr;
    padding:46px 28px 28px;
    gap:10px;
  }
  .hero-copy h1{font-size:58px}
  .hero-art{min-height:380px}
  .hero-robot{width:380px}
  .hero-art.product-first{place-items:center}
  .hero-product-card{width:min(620px,calc(100% - 118px));margin-left:118px;margin-top:58px}
  .product-first .hero-robot{width:190px;left:-12px;bottom:14px}
  .speech-bubble{right:-8px;width:184px;font-size:16px;padding:15px 16px}
  .demo-section,.library-preview,.plans{grid-template-columns:1fr}
  .feature-strip,.plan-grid,.media-shelves{grid-template-columns:1fr}
  .plan-card.is-featured{transform:none}
}

/* Tablet: menu vira hambúrguer já a partir de 900px (evita CTA cortado em ~768px) */
@media (max-width:900px){
  .sales-nav{position:relative;flex-wrap:wrap;padding:0 20px}
  .nav-toggle{
    display:grid;
    gap:4px;
    width:44px;
    height:44px;
    place-items:center;
    border:2px solid var(--ink);
    border-radius:var(--r);
    background:var(--paper);
  }
  .sales-nav .nav-toggle span{
    display:block;
    width:20px;
    height:2px;
    background:var(--ink);
  }
  .sales-menu{
    position:absolute;
    left:12px;
    right:12px;
    top:calc(100% + 6px);
    z-index:20;
    display:none;
    padding:18px;
    background:var(--paper);
    border:2px solid var(--ink);
    border-radius:var(--r);
    box-shadow:var(--shadow-sm);
    flex-direction:column;
    align-items:stretch;
    gap:14px;
  }
  .sales-nav.is-open .sales-menu{display:flex}
}

@media (max-width:760px){
  .ticker{justify-content:flex-start;padding-left:16px}
  .sales-nav{height:auto;min-height:68px;padding:12px 16px}
  .brand-lockup strong{font-size:25px}
  .nav-toggle{
    display:grid;
    gap:4px;
    width:44px;
    height:44px;
    place-items:center;
    border:2px solid var(--ink);
    border-radius:var(--r);
    background:var(--paper);
  }
  .nav-toggle span,.drawer-btn span{
    display:block;
    width:20px;
    height:2px;
    background:var(--ink);
  }
  .sales-menu{
    position:absolute;
    left:12px;
    right:12px;
    top:calc(100% + 6px);
    z-index:20;
    display:none;
    padding:18px;
    background:var(--paper);
    border:2px solid var(--ink);
    border-radius:var(--r);
    box-shadow:var(--shadow-sm);
    flex-direction:column;
    align-items:stretch;
    gap:14px;
  }
  .sales-nav.is-open .sales-menu{display:flex}
  .hero{padding-top:34px;padding-bottom:14px}
  .hero-copy h1{
    max-width:100%;
    font-size:38px;
    line-height:1.02;
  }
  .hero-copy h1 span{
    display:table;
    margin:4px 0;
  }
  .hero-copy p{font-size:17px;margin-top:18px}
  .btn-large{font-size:16px;padding:14px 18px}
  .hero-actions{display:grid}
  .hero-marks{gap:8px;margin-top:14px}
  .hero-marks span{font-size:11px;min-height:30px;padding:6px 10px}
  .hero-art{min-height:148px}
  .hero-robot{width:170px}
  .hero-art.product-first{min-height:430px}
  .hero-product-card{
    padding:14px;
    width:100%;
    margin-left:0;
    margin-top:18px;
    box-shadow:6px 6px 0 var(--ink);
  }
  .product-first .hero-robot{
    position:relative;
    order:-1;
    width:218px;
    left:auto;
    bottom:auto;
    justify-self:start;
    margin-left:8px;
  }
  .piece-card{width:88%;font-size:13px}
  .verdict-mini-card strong{font-size:11px}
  .verdict-mini-card em{width:66px;height:66px;font-size:16px}
  .verdict-mini-card em small{font-size:9px}
  .verdict-mini-card blockquote{font-size:15px}
  .verdict-mini-card p{font-size:12px}
  .fake-composer{grid-template-columns:22px 1fr 34px}
  .fake-composer p{font-size:13px}
  .speech-bubble{display:none}
  .steps-band{grid-template-columns:1fr;margin:0 16px 58px}
  .steps-band article+article{border-left:0;border-top:2px solid var(--ink)}
  .section-copy h2,.plan-copy h2{font-size:34px}
  .dashboard-page{padding:24px 12px}
  .dashboard-shell{
    height:calc(100vh - 48px);
    min-height:760px;
    grid-template-columns:1fr;
  }
  .app-main{
    grid-template-rows:58px minmax(0,1fr) auto auto;
  }
  .dashboard-shell:not([data-current="chat"]) .app-main{
    grid-template-rows:58px minmax(0,1fr) auto;
  }
  .sidebar{
    position:absolute;
    left:0;
    top:0;
    z-index:15;
    width:min(280px,82vw);
    min-height:760px;
    transform:translateX(calc(-100% - 16px));
    transition:transform .18s ease;
    border:var(--bd);
    box-shadow:var(--shadow);
  }
  .dashboard-shell.is-drawer-open .sidebar{transform:translateX(0)!important}
  .drawer-btn{
    width:40px;
    height:40px;
    display:grid;
    gap:4px;
    place-items:center;
    border:1px solid var(--linha-ui);
    border-radius:var(--r);
    background:var(--paper);
  }
  .app-header{padding:0 12px}
  .app-header h2{font-size:16px;line-height:1.1}
  .bot-state{display:none}
  .chat-panel{padding:22px 16px 120px}
  .work-panel,.provas-panel,.vade-panel,.videos-panel,.ebooks-panel,.forum-panel,.events-panel,.webmail-panel,.tickets-panel{padding:16px;gap:14px}
  .panel-head{display:grid}
  .panel-head h3{font-size:25px}
  .solid-action{justify-self:start}
  .piece-board,.provas-layout,.video-watch-layout,.video-community,.ebooks-panel,.forum-layout,.events-layout,.tickets-layout,.mail-layout,.sim-grid,.support-board{
    grid-template-columns:1fr;
  }
  .piece-detail h4,.video-info h4,.comments-panel h4,.mail-reader h3,.reader-page h3{font-size:22px}
  .sim-grid{gap:12px}
  .provas-filters{grid-template-columns:1fr}
  .provas-results{max-height:420px}
  .prova-reader h4{font-size:22px}
  .vade-empty{
    grid-template-columns:1fr;
    padding:18px;
  }
  .vade-actions{justify-content:flex-start}
  .vade-actions button{width:100%}
  .video-frame{min-height:220px}
  .video-info{grid-template-columns:1fr}
  .video-actions{justify-content:flex-start}
  .video-actions button{min-width:0;flex:1 1 120px}
  .comments-panel>header{display:grid}
  .student-comment{grid-template-columns:38px minmax(0,1fr)}
  .comment-avatar{width:38px;height:38px}
  .lesson-list button{grid-template-columns:38px minmax(0,1fr);min-height:64px}
  .lesson-list em{grid-column:2;color:var(--muted)}
  .ebook-shelf{
    grid-template-columns:repeat(3,minmax(112px,1fr));
    overflow-x:auto;
    padding-bottom:8px;
  }
  .kindle-library{min-height:520px}
  .kindle-library-head h3{font-size:22px}
  .book-cover{min-width:112px}
  .book-cover strong{font-size:22px}
  .reader-toolbar{grid-template-columns:40px minmax(0,1fr)}
  .reader-tools{grid-column:1/-1}
  .kindle-reader{min-height:620px}
  .reader-stage{grid-template-columns:1fr}
  .reader-page-wrap{padding:16px}
  .reader-page{padding:30px 22px;font-size:19px;min-height:380px}
  .reader-page.is-large{font-size:22px}
  .reader-notebook{border-left:0;border-top:1px solid rgba(247,234,210,.18)}
  .forum-compose>div,.forum-reply,.event-form,.ticket-form{grid-template-columns:1fr}
  .forum-thread h4{font-size:22px}
  .event-item{grid-template-columns:76px minmax(0,1fr)}
  .event-timeline{max-height:none}
  .mail-layout{min-height:640px}
  .mail-list{border-right:0;border-bottom:2px solid var(--ink)}
  .mail-reader{padding:22px}
  .empty-anchor img{width:62px;height:62px}
  .shortcut-rail{margin:0 0 8px;gap:8px}
  .next-action-card{
    display:grid;
    margin:0 0 8px;
  }
  .next-action-card button{width:100%}
  .message-user{max-width:92%}
  .message-bot{grid-template-columns:1fr}
  .message-bot .avatar{display:none}
  .composer{
    width:calc(100% - 24px);
    grid-template-columns:auto minmax(0,1fr) auto;
    margin-bottom:8px;
    padding:10px;
  }
  .composer-actions{display:none}
  .counter{display:none}
  .mobile-tabbar{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom));
    border-top:2px solid var(--ink);
    background:var(--paper);
  }
  .mobile-tabbar button{
    min-width:0;
    min-height:48px;
    display:grid;
    place-items:center;
    gap:2px;
    border:0;
    border-radius:var(--r);
    background:transparent;
    color:var(--ink);
    font-size:11px;
    font-weight:900;
    cursor:pointer;
  }
  .mobile-tabbar button.is-active{
    background:var(--lilas-ativo);
    box-shadow:inset 0 0 0 2px var(--ink);
  }
  .mobile-tabbar svg{
    width:20px;
    height:20px;
  }
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* ---- Recado do tutor + checklist + tutores (entrada do chat) — 2026-06-02 ---- */
.tutor-rail{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 2px}
.tutor-rail-label{font-family:var(--font-display);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-right:2px}
.tutor-chip{font-family:var(--font-ui);font-weight:700;font-size:13px;padding:6px 12px;border:var(--bd);border-radius:var(--pill);background:var(--amarelo);color:var(--ink);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .08s ease,box-shadow .08s ease}
.tutor-chip:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}
.tutor-chip:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.tutor-chip[data-tutor="lion"]{background:var(--magenta);color:#fff}
.tutor-chip[data-tutor="6p"]{background:var(--violeta);color:#fff}

.tutor-note{border:var(--bd);border-radius:var(--r);background:var(--paper);box-shadow:var(--shadow);padding:16px 18px;margin:10px 0;display:grid;gap:12px}
.tutor-note-head{display:flex;align-items:center;gap:12px}
.tutor-note-badge{display:grid;place-items:center;width:46px;height:46px;border:var(--bd);border-radius:10px;background:var(--amarelo);overflow:hidden;flex:0 0 auto}
.tutor-note-badge img{width:100%;height:100%;object-fit:cover}
.tutor-note-head strong{font-family:var(--font-display);font-size:15px;display:block;line-height:1.1}
.tutor-note-head small{color:var(--muted);font-size:12px}
.tutor-note-text{font-family:var(--font-read);font-size:15px;line-height:1.5;color:var(--ink-soft);margin:0}
.today-checklist{display:grid;gap:8px;padding:12px 14px;border:var(--hair);border-radius:var(--r);background:var(--creme-app)}
.checklist-title{font-family:var(--font-display);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink)}
.check-row{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}
.check-row input{width:18px;height:18px;accent-color:var(--magenta);flex:0 0 auto}
.check-row input:checked + span{text-decoration:line-through;color:var(--muted)}

/* ---- Dashboard do aluno: documentos enviados — 2026-06-02 ---- */
.docs-board{border:var(--bd);border-radius:var(--r);background:var(--paper);box-shadow:var(--shadow-sm);padding:14px 16px;margin:0 0 14px}
.docs-head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.docs-head span{font-family:var(--font-display);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.docs-head small{color:var(--muted);font-size:12px}
.docs-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.docs-list li{display:flex;align-items:center;gap:12px;padding:10px 12px;border:var(--hair);border-radius:8px;background:var(--creme-app)}
.doc-ico{font-size:20px;flex:0 0 auto;line-height:1}
.doc-meta{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
.doc-meta strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.doc-meta small{color:var(--muted);font-size:12px}
.doc-del{flex:0 0 auto;border:var(--bd);background:#fff;color:var(--magenta-cta);font-weight:700;font-size:12px;padding:5px 10px;border-radius:var(--pill);cursor:pointer}
.doc-del:hover{background:var(--magenta-cta);color:#fff}

/* ---- Ticker: corrige corte de texto em mobile (Aline: Android/iPad cortavam) — 2026-06-02 ---- */
@media (max-width:759px){
  .ticker{justify-content:center;flex-wrap:wrap;white-space:normal;min-height:0;gap:4px 12px;font-size:11.5px;padding:8px 12px;text-align:center;line-height:1.25}
  .ticker span{display:inline;white-space:normal;align-items:initial}
  .ticker span:nth-child(2n){font-size:12px}
}

/* ---- Jogos: iframe do OABeiro Games no dashboard — 2026-06-02 ---- */
.jogos-frame{border:var(--bd);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);background:#fff;margin-top:4px}
.jogos-frame iframe{width:100%;height:min(72vh,640px);border:0;display:block}

/* ---- Primeiro acesso: nome + cara do bot — 2026-06-02 ---- */
#onboard-modal{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;background:#0009;padding:20px;font-family:var(--font-ui)}
#onboard-modal[hidden]{display:none}
.onboard-card{width:min(440px,100%);background:var(--paper);border:var(--bd);box-shadow:var(--shadow);border-radius:14px;padding:24px;display:grid;gap:11px;max-height:92vh;overflow:auto}
.onboard-step{font-family:var(--font-display);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--magenta-cta)}
.onboard-card h2{font-family:var(--font-display);font-size:21px;line-height:1.12;margin:0}
.onboard-card>p{font-size:14px;color:var(--ink-soft);margin:0}
.onboard-label{font-weight:800;font-size:13px;margin-top:4px}
#onboard-nome{border:var(--bd);border-radius:8px;padding:11px 13px;font-size:15px;width:100%;box-sizing:border-box}
.onboard-avatars{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.onboard-avatar{padding:0;border:var(--bd);border-radius:12px;overflow:hidden;background:#fff;cursor:pointer;aspect-ratio:1;box-shadow:var(--shadow-sm);transition:transform .08s}
.onboard-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.onboard-avatar.is-active{outline:4px solid var(--magenta);outline-offset:-1px;transform:translate(-1px,-1px)}
.onboard-skip{background:transparent;border:none;color:var(--ink-soft);font-weight:700;text-decoration:underline;cursor:pointer;padding:4px;font-size:13px}
