
.student-shell .sidebar{background:#101725}
.student-shell .brand-mark{background:linear-gradient(135deg,var(--primary),#7957ff)}
.student-welcome{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff,#f5f7ff);border:1px solid var(--line);border-radius:20px;padding:24px;margin-bottom:20px}
.student-welcome h2{margin:5px 0 6px;font-size:26px}
.student-welcome p{margin:0;color:var(--muted)}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--primary)}
.student-timeline{display:grid;gap:11px}
.timeline-item{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px}
.timeline-time{font-size:18px;font-weight:800;color:var(--primary)}
.timeline-item strong,.timeline-item small{display:block}
.timeline-item small{color:var(--muted);margin-top:4px}
.lesson-stack{display:grid;gap:10px}
.lesson-mini{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:13px}
.lesson-mini strong,.lesson-mini small{display:block}
.lesson-mini small{margin-top:4px;color:var(--muted)}
.lesson-mini>span{font-weight:800;color:var(--primary)}
.student-lessons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.student-lesson-card{border:1px solid var(--line);border-radius:16px;padding:17px;background:#fff;display:block}
.student-lesson-card:hover{border-color:#cfd6ff;box-shadow:0 10px 24px rgba(36,49,90,.06)}
.student-lesson-card h3{margin:14px 0 8px;font-size:17px}
.student-lesson-card p{color:var(--muted);font-size:13px;line-height:1.5;min-height:42px}
.lesson-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.lesson-meta{margin-top:14px;color:#667085;font-size:12px}
.progress-pill{font-size:11px;font-weight:800;border-radius:999px;padding:6px 8px;background:#f0f2f6;color:#667085}
.progress-completed{background:#e8f7f0;color:#087443}
.progress-in_progress{background:#fff5e8;color:#a15c00}
.lesson-detail .panel-head h2{margin:10px 0 5px}
.lesson-action{margin-bottom:18px}
.completed-banner{display:inline-flex;padding:10px 14px;border-radius:10px;background:#e8f7f0;color:#087443;font-weight:800;margin-bottom:18px}
.lesson-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.content-block{border:1px solid var(--line);border-radius:14px;padding:16px}
.content-block h3{margin:0 0 9px;font-size:15px}
.content-block p{margin:0;color:#5f697b;line-height:1.6;font-size:14px}
.materials-section{margin-top:22px}
.materials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.material-card{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}
.material-card strong,.material-card small{display:block}
.material-card small{margin-top:4px;color:var(--muted)}
.file-icon{width:48px;height:48px;border-radius:12px;background:#eef1ff;color:var(--primary);display:grid;place-items:center;font-size:10px;font-weight:900}
.attendance-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.attendance-summary-card{border:1px solid var(--line);border-radius:15px;padding:16px}
.frequency-number{font-size:29px;font-weight:900;margin:9px 0}
.progress-bar{height:9px;border-radius:999px;background:#edf0f5;overflow:hidden}
.progress-bar span{display:block;height:100%;background:var(--primary);border-radius:999px}
.attendance-summary-card small{display:block;margin-top:9px;color:var(--muted)}
.attendance-present{background:#e8f7f0;color:#087443}
.attendance-absent{background:#feeceb;color:#b42318}
.attendance-justified{background:#fff5e8;color:#a15c00}
.attendance-late{background:#eef1ff;color:#3758f9}
.progress-hero{display:grid;gap:15px}
.progress-hero h2{font-size:48px;margin:5px 0}
.progress-hero p{margin:0;color:var(--muted)}
.big-progress{height:14px;border-radius:999px;background:#edf0f5;overflow:hidden}
.big-progress span{height:100%;display:block;background:var(--primary);border-radius:999px}
.progress-subjects{display:grid;gap:12px}
.subject-progress-card{border:1px solid var(--line);border-radius:14px;padding:15px}
.subject-progress-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}
.subject-progress-top span{font-weight:800;color:var(--primary)}
.subject-progress-card small{display:block;margin-top:8px;color:var(--muted)}
.profile-card{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}
.avatar-circle{width:72px;height:72px;border-radius:50%;background:#eef1ff;color:var(--primary);display:grid;place-items:center;font-size:28px;font-weight:900}
.profile-card h2{margin:0 0 5px}
.profile-card p{margin:0;color:var(--muted)}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.profile-grid>div{border:1px solid var(--line);border-radius:13px;padding:14px}
.profile-grid small,.profile-grid strong{display:block}
.profile-grid small{color:var(--muted);margin-bottom:5px}
@media(max-width:1000px){
.student-lessons-grid{grid-template-columns:1fr 1fr}
.attendance-summary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
.student-welcome{align-items:flex-start;flex-direction:column}
.student-lessons-grid,.attendance-summary-grid,.lesson-content-grid,.materials-grid,.profile-grid{grid-template-columns:1fr}
}


.lesson-videos-section{
    margin-top:24px;
}
.lesson-videos-section>h3{
    margin-bottom:14px;
}
.lesson-videos-list{
    display:grid;
    gap:18px;
}
.lesson-video-card{
    border:1px solid var(--line);
    border-radius:16px;
    overflow:hidden;
    background:#fff;
}
.lesson-video-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
}
.lesson-video-heading strong,
.lesson-video-heading small{
    display:block;
}
.lesson-video-heading small{
    margin-top:5px;
    color:var(--muted);
}
.video-player-wrap{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    background:#000;
}
.video-player-wrap iframe,
.video-player-wrap video{
    width:100%;
    height:100%;
    border:0;
    display:block;
    background:#000;
}


.student-shell .sidebar{
  background:linear-gradient(180deg,#0d1727,#101c30 52%,#13213d);
}
.student-shell .brand-mark{
  background:linear-gradient(135deg,var(--primary),#7b61ff);
}
body.student-login-body .auth-side{
  background:linear-gradient(160deg,#121f39,#16284d 55%,#2d4c90);
}


.lesson-modules-section{
  margin:24px 0;
}
.lesson-section-title{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
  margin-bottom:14px;
}
.lesson-section-title h3{
  margin:4px 0 4px;
  font-size:22px;
}
.lesson-section-title p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}
.lesson-section-title>span{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.student-module-list{
  display:grid;
  gap:12px;
}
.student-module-card{
  display:grid;
  grid-template-columns:50px 1fr 28px;
  gap:14px;
  align-items:center;
  padding:16px;
  border:1px solid var(--line);
  border-radius:17px;
  background:linear-gradient(135deg,#fff,#f8f9ff);
  transition:.18s ease;
}
.student-module-card:hover{
  transform:translateY(-2px);
  border-color:#cfd6ff;
  box-shadow:0 12px 26px rgba(36,49,90,.07);
}
.student-module-index{
  width:50px;
  height:50px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--primary),#7957ff);
  color:#fff;
  font-size:18px;
  font-weight:900;
}
.student-module-copy{
  min-width:0;
}
.student-module-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.student-module-top strong{
  font-size:15px;
}
.student-module-copy p{
  margin:7px 0 10px;
  color:var(--muted);
  font-size:13px;
}
.student-module-meta{
  display:flex;
  gap:12px;
  color:#667085;
  font-size:11px;
  font-weight:800;
}
.student-module-arrow{
  font-size:28px;
  color:#98a2b3;
}
.student-module-hero,.assessment-student-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:24px 26px;
  margin-bottom:20px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(135deg,#fff,#f3f5ff);
  box-shadow:var(--shadow);
}
.student-module-hero h2,.assessment-student-hero h2{
  margin:6px 0 6px;
  font-size:29px;
  letter-spacing:-.03em;
}
.student-module-hero p,.assessment-student-hero p{
  margin:0;
  color:var(--muted);
}
.student-module-status{
  display:grid;
  justify-items:end;
  gap:10px;
}
.module-intro p{
  margin:0;
  color:#5f697b;
  line-height:1.7;
}
.ead-reading-content{
  color:#4b5567;
  line-height:1.85;
  font-size:14px;
}
.student-assessment-list{
  display:grid;
  gap:11px;
}
.student-assessment-card{
  display:grid;
  grid-template-columns:50px 1fr 40px;
  gap:13px;
  align-items:center;
  padding:14px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
}
.student-assessment-card:hover{
  border-color:#cfd6ff;
}
.assessment-icon{
  width:50px;
  height:50px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-weight:900;
  background:#eef1ff;
  color:#3758f9;
}
.assessment-icon.exam{background:#feeceb;color:#b42318}
.assessment-icon.quiz{background:#fff4e5;color:#a15c00}
.assessment-icon.exercise{background:#e7f8f1;color:#087443}
.student-assessment-copy{
  min-width:0;
}
.student-assessment-copy>div{
  display:flex;
  gap:9px;
  align-items:center;
  flex-wrap:wrap;
}
.student-assessment-copy strong{
  font-size:14px;
}
.student-assessment-copy small{
  display:block;
  margin-top:6px;
  color:var(--muted);
}
.assessment-type{
  display:inline-flex;
  align-items:center;
  padding:5px 7px;
  border-radius:999px;
  font-size:9px;
  letter-spacing:.06em;
  font-weight:900;
  text-transform:uppercase;
  background:#eef1ff;
  color:#3758f9;
}
.assessment-type.exam{background:#feeceb;color:#b42318}
.assessment-type.quiz{background:#fff4e5;color:#a15c00}
.assessment-type.exercise{background:#e7f8f1;color:#087443}
.assessment-result{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:17px;
  font-weight:900;
}
.assessment-result.passed{background:#e7f8f1;color:#087443}
.assessment-result.pending{background:#eef1f6;color:#667085}
.module-complete-bar,.assessment-submit-bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:18px 20px;
  border:1px solid #d7e0ff;
  border-radius:17px;
  background:linear-gradient(135deg,#f8faff,#f3f5ff);
  margin:20px 0;
}
.module-complete-bar strong,.module-complete-bar small,
.assessment-submit-bar strong,.assessment-submit-bar small{
  display:block;
}
.module-complete-bar small,.assessment-submit-bar small{
  margin-top:4px;
  color:var(--muted);
}
.assessment-score-box{
  display:grid;
  justify-items:end;
  gap:3px;
}
.assessment-score-box small,.assessment-score-box span{
  color:var(--muted);
  font-size:11px;
}
.assessment-score-box strong{
  font-size:31px;
}
.attempt-history{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.attempt-history>div{
  display:grid;
  gap:4px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}
.attempt-history span,.attempt-history small{
  color:var(--muted);
  font-size:11px;
}
.attempt-history strong{
  font-size:22px;
}
.assessment-passed-banner{
  margin-bottom:20px;
  padding:15px 18px;
  border-radius:15px;
  background:#e7f8f1;
  color:#087443;
  font-weight:900;
}
.student-question-form{
  display:grid;
  gap:16px;
}
.student-question-card{
  border:1px solid var(--line);
  border-radius:17px;
  padding:17px;
  margin:0;
  background:#fff;
}
.student-question-card legend{
  width:100%;
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-weight:900;
  line-height:1.5;
  padding:0 0 12px;
}
.student-question-card legend span{
  width:28px;
  height:28px;
  border-radius:9px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  background:#eef1ff;
  color:var(--primary);
}
.answer-option{
  display:flex;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  margin-top:8px;
  border:1px solid var(--line);
  border-radius:12px;
  cursor:pointer;
  font-weight:600;
}
.answer-option:hover{
  border-color:#cfd6ff;
  background:#fafbff;
}
.answer-option input{
  width:auto;
}
.answer-option span{
  display:flex;
  gap:9px;
  align-items:center;
}
.answer-option b{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#f2f4f7;
}
.student-question-card>small{
  display:block;
  margin-top:10px;
  color:var(--muted);
}
@media(max-width:800px){
  .student-module-hero,.assessment-student-hero,
  .module-complete-bar,.assessment-submit-bar{
    align-items:flex-start;
    flex-direction:column;
  }
  .student-module-status,.assessment-score-box{
    justify-items:start;
  }
  .attempt-history{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .student-module-card{grid-template-columns:44px 1fr}
  .student-module-index{width:44px;height:44px}
  .student-module-arrow{display:none}
  .student-module-top{align-items:flex-start;flex-direction:column}
  .attempt-history{grid-template-columns:1fr}
}


/* V16 — transição automática entre módulos */
.module-finish-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(10,16,31,.72);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  animation:moduleOverlayIn .24s ease both;
}
.module-finish-modal{
  width:min(560px,100%);
  max-height:calc(100vh - 40px);
  overflow:auto;
  padding:30px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:26px;
  background:
    radial-gradient(circle at top right,rgba(92,107,255,.12),transparent 32%),
    linear-gradient(180deg,#fff 0%,#fbfcff 100%);
  box-shadow:0 30px 90px rgba(4,10,25,.34);
  text-align:center;
  animation:moduleModalIn .34s cubic-bezier(.2,.85,.25,1) both;
}
.module-finish-icon{
  width:76px;
  height:76px;
  margin:0 auto 17px;
  border-radius:24px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#e6faf2,#eef2ff);
  box-shadow:inset 0 0 0 1px #d9eee6;
}
.module-finish-icon span{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#0f9f6e,#3758f9);
  color:#fff;
  font-size:25px;
  font-weight:900;
  box-shadow:0 10px 28px rgba(55,88,249,.22);
}
.module-finish-kicker{
  display:block;
  margin-bottom:8px;
  color:var(--primary);
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
.module-finish-modal h2{
  margin:0 auto 10px;
  max-width:440px;
  font-size:27px;
  line-height:1.18;
  letter-spacing:-.035em;
}
.module-finish-copy{
  margin:0 auto;
  max-width:450px;
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}
.module-finish-copy strong{
  color:var(--text);
}
.module-next-card{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:13px;
  align-items:center;
  margin:22px 0 17px;
  padding:14px;
  border:1px solid #dfe4ff;
  border-radius:17px;
  background:linear-gradient(135deg,#f8f9ff,#fff);
  text-align:left;
}
.module-next-number{
  width:48px;
  height:48px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--primary),#7957ff);
  color:#fff;
  font-size:18px;
  font-weight:900;
}
.module-next-card small,
.module-next-card strong,
.module-next-card span{
  display:block;
}
.module-next-card small{
  color:var(--primary);
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
}
.module-next-card strong{
  margin-top:3px;
  font-size:15px;
}
.module-next-card span{
  margin-top:4px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
.module-finish-progress{
  margin:18px 0;
  text-align:left;
}
.module-finish-progress-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  font-size:11px;
}
.module-finish-progress-top span{
  color:var(--muted);
}
.module-finish-progress-top strong{
  color:var(--text);
}
.module-finish-progress-track{
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:#edf0f5;
}
.module-finish-progress-track span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#0f9f6e,var(--primary));
  transition:width .3s ease;
}
.module-auto-next{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:20px 0 4px;
  padding:12px;
  border-radius:15px;
  background:#f6f8fb;
  text-align:left;
}
.module-auto-next strong,
.module-auto-next span{
  display:block;
}
.module-auto-next strong{
  font-size:12px;
}
.module-auto-next span{
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
}
.module-countdown-ring{
  --countdown-progress:0;
  width:45px;
  height:45px;
  flex:0 0 auto;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle closest-side,#fff 77%,transparent 79% 100%),
    conic-gradient(var(--primary) calc(var(--countdown-progress) * 1turn),#e5e9f1 0);
}
.module-countdown-ring strong{
  color:var(--primary);
  font-size:15px;
  font-weight:900;
}
.module-finish-actions{
  display:grid;
  grid-template-columns:1.45fr .8fr;
  gap:10px;
  margin-top:18px;
}
.module-finish-actions .btn{
  min-height:47px;
}
.module-next-button{
  font-size:13px;
}
.module-finish-closing{
  animation:moduleOverlayOut .22s ease both;
}
.module-finish-closing .module-finish-modal{
  animation:moduleModalOut .22s ease both;
}
@keyframes moduleOverlayIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes moduleOverlayOut{
  from{opacity:1}
  to{opacity:0}
}
@keyframes moduleModalIn{
  from{opacity:0;transform:translateY(18px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes moduleModalOut{
  from{opacity:1;transform:translateY(0) scale(1)}
  to{opacity:0;transform:translateY(10px) scale(.98)}
}
@media(max-width:600px){
  .module-finish-overlay{
    padding:12px;
    align-items:end;
  }
  .module-finish-modal{
    max-height:calc(100vh - 24px);
    padding:25px 18px 20px;
    border-radius:24px 24px 18px 18px;
  }
  .module-finish-modal h2{
    font-size:23px;
  }
  .module-finish-actions{
    grid-template-columns:1fr;
  }
  .module-finish-actions .btn{
    width:100%;
  }
}
@media(prefers-reduced-motion:reduce){
  .module-finish-overlay,
  .module-finish-modal,
  .module-finish-closing,
  .module-finish-closing .module-finish-modal{
    animation:none!important;
  }
}


/* V17 — Área Aluno organizada por disciplinas */
.subjects-hero,.student-dashboard-hero,.subject-detail-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:28px;
  margin-bottom:20px;
  border:1px solid var(--line);
  border-radius:24px;
  background:
    radial-gradient(circle at top right,rgba(55,88,249,.11),transparent 30%),
    linear-gradient(135deg,#fff,#f7f8ff);
  box-shadow:var(--shadow);
}
.subjects-hero h2,.student-dashboard-hero h2,.subject-detail-hero h2{
  margin:6px 0 7px;
  font-size:31px;
  letter-spacing:-.04em;
}
.subjects-hero p,.student-dashboard-hero p,.subject-detail-hero p{
  margin:0;
  color:var(--muted);
}
.subjects-overall,.subject-detail-progress{
  width:190px;
  display:grid;
  gap:7px;
  flex:0 0 auto;
}
.subjects-overall small,.subject-detail-progress small{
  color:var(--muted);
}
.subjects-overall strong,.subject-detail-progress strong{
  font-size:32px;
  line-height:1;
}
.subject-cards-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.subject-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:19px;
  background:linear-gradient(180deg,#fff,#fbfcff);
  transition:.18s ease;
}
.subject-card:hover{
  transform:translateY(-3px);
  border-color:#ccd5ff;
  box-shadow:0 14px 30px rgba(35,48,92,.08);
}
.subject-card-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.subject-icon,.dashboard-subject-icon{
  display:grid;
  place-items:center;
  font-weight:900;
}
.subject-icon{
  width:54px;
  height:54px;
  border-radius:16px;
  font-size:14px;
}
.subject-tone-1{background:#eef1ff;color:#3758f9}
.subject-tone-2{background:#e8f7f0;color:#087443}
.subject-tone-3{background:#fff3e5;color:#a15c00}
.subject-tone-4{background:#f4eefe;color:#7a42b5}
.subject-tone-5{background:#e9f5fb;color:#146b8e}
.subject-tone-6{background:#feeeee;color:#b42318}
.subject-card-state{
  width:49px;
  height:49px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:5px solid #eef1f6;
  color:var(--primary);
  font-size:11px;
  font-weight:900;
}
.subject-card-body{
  margin:18px 0;
}
.subject-code{
  display:block;
  margin-bottom:6px;
  color:var(--primary);
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
}
.subject-card h3{
  margin:0 0 7px;
  font-size:19px;
}
.subject-card p{
  margin:0;
  min-height:42px;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
.subject-progress{
  margin-top:auto;
}
.subject-progress small{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:10px;
}
.subject-card-footer{
  display:flex;
  gap:11px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:15px;
  padding-top:13px;
  border-top:1px solid var(--line);
  color:#667085;
  font-size:10px;
}
.subject-card-footer strong{
  margin-left:auto;
  color:var(--primary);
}
.subject-back{
  display:inline-flex;
  margin-bottom:12px;
  color:#667085;
  font-size:11px;
  font-weight:800;
}
.subject-info-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:13px;
  margin-bottom:20px;
}
.subject-info-card{
  padding:17px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.subject-info-card span,.subject-info-card small,.subject-info-card strong{
  display:block;
}
.subject-info-card span{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.subject-info-card strong{
  margin:7px 0 3px;
  font-size:28px;
}
.subject-info-card small{
  color:var(--muted);
  font-size:10px;
}
.continue-subject-card{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin-bottom:20px;
  padding:20px 22px;
  border-radius:18px;
  background:linear-gradient(135deg,#121c31,#1c2b4a);
  color:#fff;
}
.continue-subject-card h3{
  margin:5px 0 5px;
  font-size:19px;
}
.continue-subject-card p{
  margin:0;
  max-width:680px;
  color:#bdc7da;
  font-size:12px;
}
.subject-lessons-list{
  display:grid;
  gap:11px;
}
.subject-lesson-row{
  display:grid;
  grid-template-columns:48px 1fr 24px;
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.subject-lesson-row:hover{
  border-color:#cfd6ff;
  background:#fbfcff;
}
.subject-lesson-number,.lesson-mini-number{
  display:grid;
  place-items:center;
  background:#eef1ff;
  color:var(--primary);
  font-weight:900;
}
.subject-lesson-number{
  width:48px;
  height:48px;
  border-radius:14px;
}
.subject-lesson-main{
  min-width:0;
}
.subject-lesson-title{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.subject-lesson-title small,.subject-lesson-title strong{
  display:block;
}
.subject-lesson-title small{
  color:var(--primary);
  font-size:8px;
  font-weight:900;
  letter-spacing:.09em;
}
.subject-lesson-title strong{
  margin-top:3px;
}
.subject-lesson-main p{
  margin:7px 0 9px;
  color:var(--muted);
  font-size:12px;
}
.subject-lesson-progress{
  display:grid;
  grid-template-columns:minmax(110px,240px) auto;
  gap:10px;
  align-items:center;
}
.subject-lesson-progress small{
  color:var(--muted);
  font-size:10px;
}
.subject-lesson-arrow{
  font-size:26px;
  color:#98a2b3;
}
.lessons-by-subject{
  display:grid;
  gap:22px;
}
.lesson-subject-group{
  border:1px solid var(--line);
  border-radius:17px;
  overflow:hidden;
}
.lesson-subject-header{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  padding:15px 16px;
  background:#f8f9fc;
  border-bottom:1px solid var(--line);
}
.lesson-subject-header span{
  display:block;
  color:var(--primary);
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
}
.lesson-subject-header h3{
  margin:3px 0 0;
}
.lesson-subject-header>a{
  color:var(--primary);
  font-size:11px;
  font-weight:900;
}
.lesson-subject-group .lesson-stack{
  padding:12px;
}
.lesson-mini-rich{
  display:grid;
  grid-template-columns:40px 1fr auto;
  gap:12px;
  padding:12px;
}
.lesson-mini-number{
  width:40px;
  height:40px;
  border-radius:12px;
}
.lesson-mini-copy{
  min-width:0;
  display:grid;
  gap:8px;
}
.lesson-mini-progress{
  display:grid;
  grid-template-columns:minmax(100px,200px) auto;
  gap:8px;
  align-items:center;
}
.lesson-mini-progress small{
  margin:0;
}
.student-dashboard-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:18px;
}
.dashboard-progress-ring{
  --value:0;
  width:112px;
  height:112px;
  flex:0 0 auto;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle closest-side,#fff 73%,transparent 75%),
    conic-gradient(var(--primary) calc(var(--value)*1%),#e8ecf4 0);
}
.dashboard-progress-ring>div{
  display:grid;
  text-align:center;
}
.dashboard-progress-ring strong{
  font-size:25px;
}
.dashboard-progress-ring small{
  color:var(--muted);
  font-size:10px;
}
.dashboard-subjects-section{
  margin-bottom:20px;
}
.dashboard-section-title{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:14px;
  margin-bottom:13px;
}
.dashboard-section-title h2{
  margin:4px 0 0;
  font-size:21px;
}
.dashboard-section-title>a{
  color:var(--primary);
  font-size:11px;
  font-weight:900;
}
.dashboard-subject-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.dashboard-subject-card{
  display:grid;
  grid-template-columns:45px 1fr auto;
  gap:11px;
  align-items:center;
  padding:13px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
}
.dashboard-subject-card:hover{
  border-color:#cfd6ff;
  transform:translateY(-2px);
}
.dashboard-subject-icon{
  width:45px;
  height:45px;
  border-radius:13px;
  font-size:12px;
}
.dashboard-subject-copy{
  min-width:0;
}
.dashboard-subject-copy span,.dashboard-subject-copy strong,.dashboard-subject-copy small{
  display:block;
}
.dashboard-subject-copy span{
  color:var(--primary);
  font-size:8px;
  font-weight:900;
}
.dashboard-subject-copy strong{
  margin:3px 0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
}
.dashboard-subject-copy small{
  color:var(--muted);
  font-size:9px;
}
.dashboard-subject-percent{
  font-size:11px;
  font-weight:900;
  color:var(--primary);
}
.continue-lessons-list{
  display:grid;
  gap:9px;
}
.continue-lesson-card{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
}
.continue-lesson-card>div span,.continue-lesson-card>div strong,.continue-lesson-card>div small{
  display:block;
}
.continue-lesson-card>div span{
  color:var(--primary);
  font-size:9px;
  font-weight:900;
}
.continue-lesson-card>div strong{
  margin:3px 0;
  font-size:12px;
}
.continue-lesson-card>div small{
  color:var(--muted);
  font-size:9px;
}
.continue-arrow{
  font-size:24px;
  color:#98a2b3;
}
@media(max-width:1100px){
  .subject-cards-grid{grid-template-columns:1fr 1fr}
  .dashboard-subject-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:800px){
  .subjects-hero,.student-dashboard-hero,.subject-detail-hero{
    align-items:flex-start;
    flex-direction:column;
  }
  .subjects-overall,.subject-detail-progress{
    width:100%;
  }
  .subject-info-grid{grid-template-columns:1fr 1fr}
  .continue-subject-card{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:600px){
  .subject-cards-grid,.dashboard-subject-grid{grid-template-columns:1fr}
  .subject-info-grid{grid-template-columns:1fr 1fr}
  .subject-lesson-row{grid-template-columns:42px 1fr}
  .subject-lesson-number{width:42px;height:42px}
  .subject-lesson-arrow{display:none}
  .subject-lesson-title{flex-direction:column}
  .subject-lesson-progress{grid-template-columns:1fr}
  .lesson-mini-rich{grid-template-columns:36px 1fr}
  .lesson-mini-rich>.progress-pill{grid-column:2}
  .lesson-mini-number{width:36px;height:36px}
  .dashboard-progress-ring{width:95px;height:95px}
}


/* V18 — Submódulos, downloads e entregas do aluno */
.nested-module-list{
  display:grid;
  gap:10px;
}
.nested-module-card{
  display:grid;
  grid-template-columns:44px 1fr 24px;
  gap:12px;
  align-items:center;
  padding:13px;
  border:1px solid var(--line);
  border-radius:15px;
  background:linear-gradient(135deg,#fff,#fafbff);
}
.nested-module-card:hover{
  border-color:#cfd6ff;
}
.nested-module-number{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#eef1ff;
  color:var(--primary);
  font-weight:900;
}
.nested-module-copy>div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.nested-module-copy p{
  margin:6px 0;
  color:var(--muted);
  font-size:12px;
}
.nested-module-copy>small{
  color:#667085;
  font-size:10px;
}
.student-download-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:11px;
}
.student-download-card{
  display:grid;
  grid-template-columns:48px 1fr auto;
  gap:12px;
  align-items:center;
  padding:13px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
}
.student-download-card:hover{
  border-color:#cfd6ff;
  background:#fbfcff;
}
.student-download-icon{
  width:48px;
  height:48px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:#eef1ff;
  color:var(--primary);
  font-size:10px;
  font-weight:900;
}
.student-download-card strong,
.student-download-card span,
.student-download-card small{
  display:block;
}
.student-download-card span{
  margin-top:3px;
  color:#667085;
  font-size:10px;
}
.student-download-card small{
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
}
.student-download-action{
  color:var(--primary);
  font-size:10px;
  font-weight:900;
}
.assessment-mode-label{
  display:block;
  margin-top:7px;
  color:var(--primary);
  font-size:10px;
  font-weight:900;
}
.student-upload-form{
  display:grid;
  gap:13px;
  padding:15px;
  border:1px solid #dfe5ff;
  border-radius:15px;
  background:#f8f9ff;
}
.student-submission-history{
  margin-top:20px;
}
.student-submission-history h3{
  margin:0 0 11px;
  font-size:16px;
}
.student-submission-card{
  display:grid;
  grid-template-columns:48px 1fr auto;
  gap:12px;
  align-items:center;
  padding:13px;
  margin-top:9px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.student-submission-icon{
  width:48px;
  height:48px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:#eef1ff;
  color:var(--primary);
  font-size:10px;
  font-weight:900;
}
.student-submission-card strong,
.student-submission-card span,
.student-submission-card small{
  display:block;
}
.student-submission-card span{
  margin-top:3px;
  color:#667085;
  font-size:10px;
}
.student-submission-card small{
  margin-top:4px;
  color:var(--muted);
  font-size:10px;
}
.student-feedback-box{
  margin-top:9px;
  padding:9px 10px;
  border-radius:11px;
  background:#e8f7f0;
  color:#087443;
}
.student-feedback-box p{
  margin:4px 0 0;
  font-size:10px;
}
@media(max-width:800px){
  .student-download-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .nested-module-card{
    grid-template-columns:40px 1fr;
  }
  .nested-module-card>.student-module-arrow{
    display:none;
  }
  .nested-module-copy>div{
    flex-direction:column;
  }
  .student-download-card,
  .student-submission-card{
    grid-template-columns:44px 1fr;
  }
  .student-download-action,
  .student-submission-card>.btn{
    grid-column:2;
  }
}


/* =========================================================
   V19 — ÁREA ALUNO COM EXPERIÊNCIA DE APP NO CELULAR
   Desktop permanece com sidebar e topbar existentes.
   ========================================================= */

.student-mobile-header,
.student-bottom-nav,
.student-more-overlay{
  display:none;
}

.mobile-icon-button{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
}

.mobile-icon-button svg,
.student-bottom-nav svg,
.sheet-action-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.student-bottom-nav svg circle{
  fill:currentColor;
  stroke:none;
}

@media(max-width:700px){
  html{
    background:#f4f6fa;
    overscroll-behavior-y:none;
  }

  body.student-area{
    background:#f4f6fa;
    min-height:100dvh;
    -webkit-tap-highlight-color:transparent;
  }

  body.student-sheet-open{
    overflow:hidden;
  }

  .student-shell{
    display:block!important;
    min-height:100dvh;
    background:#f4f6fa;
  }

  /* O desktop continua igual; no celular escondemos apenas a sidebar/topbar */
  .student-desktop-sidebar,
  .student-desktop-topbar{
    display:none!important;
  }

  .student-app-content{
    width:100%;
    min-height:100dvh;
    padding:
      calc(76px + env(safe-area-inset-top))
      14px
      calc(92px + env(safe-area-inset-bottom))!important;
    overflow:visible;
  }

  /* Cabeçalho nativo de app */
  .student-mobile-header{
    position:fixed;
    z-index:900;
    top:0;
    left:0;
    right:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:64px;
    padding:
      calc(10px + env(safe-area-inset-top))
      14px
      10px;
    background:rgba(255,255,255,.94);
    border-bottom:1px solid rgba(222,227,236,.9);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:0 5px 22px rgba(17,24,39,.05);
  }

  .mobile-brand{
    min-width:0;
    display:flex;
    align-items:center;
    gap:10px;
  }

  .mobile-brand-logo{
    width:42px;
    height:42px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:13px;
    background:#fff;
    border:1px solid #e5e9f0;
    box-shadow:0 6px 16px rgba(20,32,61,.08);
  }

  .mobile-brand-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
  }

  .mobile-brand-fallback{
    color:#fff;
    font-weight:900;
    background:linear-gradient(135deg,var(--primary),#7957ff);
  }

  .mobile-brand-copy{
    min-width:0;
  }

  .mobile-brand-copy small,
  .mobile-brand-copy strong{
    display:block;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  .mobile-brand-copy small{
    max-width:190px;
    color:#8a94a6;
    font-size:9px;
    font-weight:800;
    letter-spacing:.045em;
    text-transform:uppercase;
  }

  .mobile-brand-copy strong{
    max-width:220px;
    margin-top:2px;
    color:#182134;
    font-size:16px;
    line-height:1.15;
    letter-spacing:-.02em;
  }

  .mobile-header-actions{
    display:flex;
    align-items:center;
    gap:5px;
    flex:0 0 auto;
  }

  .mobile-icon-button{
    position:relative;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    color:#586377;
    border-radius:13px;
    background:#f5f7fa;
    cursor:pointer;
  }

  .mobile-icon-button.active{
    color:var(--primary);
    background:#eef1ff;
  }

  .mobile-notification-badge{
    position:absolute;
    top:3px;
    right:3px;
    min-width:17px;
    height:17px;
    padding:0 4px;
    display:grid;
    place-items:center;
    border:2px solid #fff;
    border-radius:999px;
    background:#ef4444;
    color:#fff;
    font-size:8px;
    font-weight:900;
  }

  /* Componentes gerais ganham aparência de app, apenas no celular */
  .student-area .panel,
  .student-area .stat-card{
    border-color:#e8ebf1;
    border-radius:18px;
    box-shadow:0 7px 22px rgba(24,33,52,.045);
  }

  .student-area .panel{
    padding:16px;
    margin-bottom:14px;
  }

  .student-area .stats-grid{
    gap:10px;
    margin-bottom:14px;
  }

  .student-area .stat-card{
    padding:14px;
  }

  .student-area .stat-card strong{
    font-size:26px;
  }

  .student-area .panel-head{
    margin-bottom:14px;
  }

  .student-area .panel-head h2{
    font-size:17px;
  }

  .student-area .panel-head p{
    font-size:12px;
    line-height:1.45;
  }

  .student-area .btn{
    min-height:44px;
    border-radius:13px;
  }

  .student-area input,
  .student-area select,
  .student-area textarea{
    min-height:46px;
    border-radius:13px;
    font-size:16px; /* impede zoom automático do iOS */
  }

  .student-area textarea{
    min-height:100px;
  }

  /* Hero do aluno vira cartão de app */
  .student-dashboard-hero,
  .subjects-hero,
  .subject-detail-hero,
  .student-module-hero,
  .assessment-student-hero{
    margin-bottom:14px;
    padding:18px;
    border-radius:20px;
    box-shadow:0 8px 24px rgba(24,34,62,.055);
  }

  .student-dashboard-hero h2,
  .subjects-hero h2,
  .subject-detail-hero h2,
  .student-module-hero h2,
  .assessment-student-hero h2{
    font-size:24px;
  }

  /* Cards das disciplinas: uma coluna ampla e tocável */
  .subject-cards-grid,
  .dashboard-subject-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .subject-card{
    padding:15px;
    border-radius:17px;
  }

  .dashboard-subject-card{
    min-height:72px;
    border-radius:16px;
    padding:12px;
  }

  .subject-lesson-row,
  .student-module-card,
  .nested-module-card,
  .student-assessment-card,
  .student-download-card,
  .continue-lesson-card{
    min-height:64px;
    border-radius:15px;
  }

  .lesson-subject-group{
    border-radius:17px;
  }

  /* Tabelas em mobile: rolagem confortável */
  .student-area .table-wrap{
    margin-left:-3px;
    margin-right:-3px;
    padding-bottom:4px;
    -webkit-overflow-scrolling:touch;
  }

  .student-area table{
    min-width:620px;
  }

  /* Navegação inferior estilo aplicativo */
  .student-bottom-nav{
    position:fixed;
    z-index:950;
    left:0;
    right:0;
    bottom:0;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:0;
    min-height:66px;
    padding:
      6px
      7px
      calc(5px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.96);
    border-top:1px solid rgba(218,224,234,.95);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:0 -9px 28px rgba(15,23,42,.07);
  }

  .student-bottom-nav>a,
  .student-bottom-nav>button{
    position:relative;
    appearance:none;
    border:0;
    background:transparent;
    min-width:0;
    min-height:54px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    border-radius:14px;
    color:#8a94a6;
    font-family:inherit;
    cursor:pointer;
  }

  .student-bottom-nav svg{
    width:22px;
    height:22px;
  }

  .student-bottom-nav span{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9px;
    font-weight:800;
  }

  .student-bottom-nav .active{
    color:var(--primary);
  }

  .student-bottom-nav .active::before{
    content:"";
    position:absolute;
    top:2px;
    width:28px;
    height:3px;
    border-radius:999px;
    background:var(--primary);
  }

  .bottom-icon-wrap{
    position:relative;
    display:grid;
    place-items:center;
  }

  .bottom-icon-wrap i{
    position:absolute;
    top:-7px;
    right:-10px;
    min-width:16px;
    height:16px;
    padding:0 4px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:#ef4444;
    color:#fff;
    font-size:8px;
    font-style:normal;
    font-weight:900;
  }

  /* Gaveta inferior */
  .student-more-overlay{
    position:fixed;
    z-index:1100;
    inset:0;
    display:block;
    pointer-events:none;
    opacity:0;
    transition:opacity .2s ease;
  }

  .student-more-overlay[hidden]{
    display:none;
  }

  .student-more-overlay.show{
    opacity:1;
    pointer-events:auto;
  }

  .student-more-backdrop{
    position:absolute;
    inset:0;
    background:rgba(8,15,29,.55);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
  }

  .student-more-sheet{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    max-height:min(82dvh,720px);
    overflow:auto;
    padding:
      8px
      16px
      calc(20px + env(safe-area-inset-bottom));
    border-radius:26px 26px 0 0;
    background:#fff;
    box-shadow:0 -25px 70px rgba(5,12,28,.24);
    transform:translateY(100%);
    transition:transform .24s cubic-bezier(.2,.8,.2,1);
  }

  .student-more-overlay.show .student-more-sheet{
    transform:translateY(0);
  }

  .student-sheet-handle{
    width:42px;
    height:5px;
    margin:2px auto 14px;
    border-radius:999px;
    background:#d8dde6;
  }

  .student-sheet-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
  }

  .student-sheet-head small{
    display:block;
    color:#8b95a6;
    font-size:9px;
    font-weight:900;
    letter-spacing:.1em;
  }

  .student-sheet-head h2{
    margin:3px 0 0;
    font-size:22px;
  }

  .sheet-close{
    flex:0 0 auto;
  }

  .student-sheet-profile{
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:15px;
    padding:12px;
    border-radius:16px;
    background:#f6f8fb;
  }

  .student-sheet-avatar{
    width:45px;
    height:45px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:linear-gradient(135deg,var(--primary),#7957ff);
    color:#fff;
    font-size:17px;
    font-weight:900;
  }

  .student-sheet-profile strong,
  .student-sheet-profile span{
    display:block;
  }

  .student-sheet-profile strong{
    font-size:13px;
  }

  .student-sheet-profile span{
    max-width:250px;
    margin-top:3px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#7d8798;
    font-size:10px;
  }

  .student-more-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
  }

  .student-more-grid>a{
    min-height:105px;
    padding:13px;
    border:1px solid #e7eaf0;
    border-radius:17px;
    background:#fff;
  }

  .student-more-grid>a:active{
    transform:scale(.985);
    background:#f8f9fc;
  }

  .sheet-action-icon{
    width:39px;
    height:39px;
    margin-bottom:10px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#eef1ff;
    color:var(--primary);
  }

  .student-more-grid strong,
  .student-more-grid small{
    display:block;
  }

  .student-more-grid strong{
    color:#1d2638;
    font-size:12px;
  }

  .student-more-grid small{
    margin-top:3px;
    color:#8a94a6;
    font-size:9px;
  }

  .student-more-grid .sheet-danger .sheet-action-icon{
    color:#b42318;
    background:#feeceb;
  }

  .student-more-grid .sheet-danger strong{
    color:#b42318;
  }

  /* Alertas não ficam escondidos sob o cabeçalho */
  .student-area .alert{
    border-radius:14px;
    font-size:12px;
  }

  /* Modal de conclusão respeita barra inferior */
  .module-finish-overlay{
    padding-bottom:calc(82px + env(safe-area-inset-bottom));
  }
}

@media(max-width:390px){
  .mobile-brand-copy small{
    max-width:135px;
  }

  .mobile-brand-copy strong{
    max-width:160px;
  }

  .student-more-grid{
    gap:7px;
  }

  .student-more-grid>a{
    min-height:99px;
    padding:11px;
  }
}

@media(min-width:701px){
  .student-mobile-header,
  .student-bottom-nav,
  .student-more-overlay{
    display:none!important;
  }
}


/* V20 — sequência obrigatória de aulas */
.progress-locked{
  background:#eef1f5!important;
  color:#7b8493!important;
}
.lesson-locked{
  cursor:not-allowed!important;
  opacity:.78;
  background:
    linear-gradient(135deg,#f7f8fa,#f0f2f5)!important;
  border-color:#e3e7ed!important;
  box-shadow:none!important;
}
.lesson-locked:hover{
  transform:none!important;
  border-color:#e3e7ed!important;
  background:
    linear-gradient(135deg,#f7f8fa,#f0f2f5)!important;
}
.lesson-locked .subject-lesson-number,
.lesson-locked .lesson-mini-number{
  background:#e7eaf0!important;
  color:#8a93a2!important;
}
.lesson-lock-side,
.lesson-mini-lock{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:#7b8493;
}
.lesson-lock-side{
  min-width:92px;
  flex-direction:column;
  text-align:center;
}
.lesson-lock-side svg,
.lesson-mini-lock svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.lesson-lock-side small{
  max-width:95px;
  font-size:9px;
  line-height:1.25;
}
.lesson-mini-lock span{
  font-size:10px;
  font-weight:900;
}
.lesson-sequence-info{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 18px;
  padding:14px;
  border:1px solid #dbe3ff;
  border-radius:15px;
  background:linear-gradient(135deg,#f8f9ff,#f1f4ff);
}
.lesson-sequence-info-icon{
  width:44px;
  height:44px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#e7ecff;
  color:var(--primary);
}
.lesson-sequence-info-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.lesson-sequence-info strong,
.lesson-sequence-info span,
.lesson-sequence-info small{
  display:block;
}
.lesson-sequence-info strong{
  font-size:13px;
}
.lesson-sequence-info span{
  margin-top:4px;
  color:#667085;
  font-size:11px;
  line-height:1.45;
}
.lesson-sequence-info small{
  margin-top:5px;
  color:var(--primary);
  font-size:10px;
  font-weight:900;
}
@media(max-width:600px){
  .lesson-lock-side{
    grid-column:2;
    min-width:0;
    align-items:flex-start;
    flex-direction:row;
    justify-content:flex-start;
  }
  .lesson-lock-side small{
    max-width:none;
  }
  .lesson-mini-lock{
    grid-column:2;
    justify-content:flex-start;
  }
}


/* V21 — Princípio Institucional no EAD */
.student-institutional-banner{
  display:grid;
  grid-template-columns:52px 1fr auto;
  gap:14px;
  align-items:center;
  margin-bottom:20px;
  padding:15px;
  border:1px solid #dfe4ff;
  border-radius:18px;
  background:
    radial-gradient(circle at top right,rgba(55,88,249,.12),transparent 28%),
    linear-gradient(135deg,#fff,#f6f8ff);
  box-shadow:0 8px 24px rgba(30,42,80,.05);
}
.student-institutional-banner-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:linear-gradient(135deg,var(--primary),#7957ff);
  color:#fff;
  font-family:Georgia,serif;
  font-size:24px;
  font-weight:900;
}
.student-institutional-banner span,
.student-institutional-banner strong,
.student-institutional-banner small{
  display:block;
}
.student-institutional-banner span{
  color:var(--primary);
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}
.student-institutional-banner strong{
  margin-top:3px;
  color:#182134;
  font-size:14px;
}
.student-institutional-banner small{
  margin-top:4px;
  color:#748094;
  font-size:10px;
  line-height:1.45;
}
.student-institutional-banner-arrow{
  color:#98a2b3;
  font-size:28px;
}
.ead-institutional-mini{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
  padding:14px 16px;
  border-radius:16px;
  background:#111b30;
  color:#fff;
}
.ead-institutional-mini span,
.ead-institutional-mini strong,
.ead-institutional-mini small{
  display:block;
}
.ead-institutional-mini>div>span{
  color:#9eafff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}
.ead-institutional-mini strong{
  margin-top:3px;
  font-size:13px;
}
.ead-institutional-mini small{
  margin-top:3px;
  color:#bac4d7;
  font-size:10px;
}
.ead-institutional-mini-arrow{
  flex:0 0 auto;
  color:#fff!important;
  font-size:10px!important;
  font-weight:900;
}
.institutional-student-hero{
  padding:34px 30px;
  margin-bottom:18px;
  border-radius:25px;
  background:
    radial-gradient(circle at top right,rgba(91,111,255,.30),transparent 32%),
    linear-gradient(145deg,#0d1629,#172743);
  color:#fff;
  box-shadow:0 20px 50px rgba(10,20,40,.18);
}
.institutional-student-badge{
  display:inline-flex;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#bec8ff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
}
.institutional-student-hero h1{
  max-width:720px;
  margin:14px 0 10px;
  font-size:38px;
  line-height:1.05;
  letter-spacing:-.045em;
}
.institutional-student-subtitle{
  max-width:700px;
  margin:0;
  color:#c8d1e3;
  font-size:15px;
  line-height:1.6;
}
.institutional-reading-card{
  position:relative;
  overflow:hidden;
  padding:30px;
  margin-bottom:18px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:var(--shadow);
}
.institutional-reading-mark{
  position:absolute;
  top:-25px;
  right:20px;
  color:#eef1ff;
  font-family:Georgia,serif;
  font-size:150px;
  line-height:1;
  pointer-events:none;
}
.institutional-reading-body{
  position:relative;
  max-width:820px;
}
.institutional-reading-body p{
  margin:0 0 18px;
  color:#465164;
  font-size:14px;
  line-height:1.9;
}
.institutional-reading-body p:last-child{
  margin-bottom:0;
}
.institutional-highlight-card{
  margin-bottom:18px;
  padding:24px;
  border-radius:20px;
  background:linear-gradient(135deg,#eef1ff,#f7f8ff);
  border:1px solid #dce2ff;
}
.institutional-highlight-card>span{
  display:block;
  color:var(--primary);
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
}
.institutional-highlight-card blockquote{
  margin:9px 0 0;
  max-width:850px;
  color:#253354;
  font-size:22px;
  font-weight:900;
  line-height:1.4;
  letter-spacing:-.02em;
}
.institutional-values-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-bottom:18px;
}
.institutional-values-grid>div{
  padding:17px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.institutional-values-grid span,
.institutional-values-grid strong,
.institutional-values-grid small{
  display:block;
}
.institutional-values-grid span{
  color:var(--primary);
  font-size:10px;
  font-weight:900;
}
.institutional-values-grid strong{
  margin:6px 0 4px;
  font-size:15px;
}
.institutional-values-grid small{
  color:#7c8799;
  font-size:10px;
  line-height:1.4;
}
.institutional-back-eaad{
  margin-bottom:20px;
}
@media(max-width:800px){
  .institutional-values-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .institutional-student-hero{
    padding:23px 18px;
    border-radius:20px;
  }
  .institutional-student-hero h1{
    font-size:28px;
  }
  .institutional-reading-card{
    padding:20px 18px;
    border-radius:18px;
  }
  .institutional-reading-body p{
    font-size:13px;
    line-height:1.8;
  }
  .institutional-highlight-card blockquote{
    font-size:18px;
  }
  .student-institutional-banner{
    grid-template-columns:45px 1fr 20px;
    gap:10px;
    margin-bottom:14px;
  }
  .student-institutional-banner-icon{
    width:45px;
    height:45px;
  }
}
@media(max-width:480px){
  .institutional-values-grid{grid-template-columns:1fr 1fr}
}


/* =========================================================
   V22 — Layout estilo Educa EAD (desktop + ajustes mobile)
   ========================================================= */
@media(min-width:701px){
  body.educa-theme{
    background:#f4f2f8;
  }
  .student-shell{
    display:grid!important;
    grid-template-columns:260px 1fr;
    min-height:100vh;
    background:#f4f2f8;
  }
  .ead-sidebar{
    position:sticky;
    top:0;
    height:100vh;
    display:flex;
    flex-direction:column;
    padding:18px 14px 18px;
    background:#fff;
    border-right:1px solid #ebe8f2;
    box-shadow:none;
  }
  .ead-brand{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
    padding:4px 6px 10px;
  }
  .ead-brand-logo{
    width:42px;height:42px;border-radius:14px;
    background:linear-gradient(135deg,var(--primary),#835bff);
    color:#fff;display:grid;place-items:center;
    font-weight:900;font-size:18px;overflow:hidden;
  }
  .ead-brand-logo img{width:100%;height:100%;object-fit:cover}
  .ead-brand-copy strong,.ead-brand-copy small{display:block}
  .ead-brand-copy strong{font-size:24px;line-height:1.05;color:#1e1b2d}
  .ead-brand-copy small{margin-top:2px;color:#8b869e;font-size:12px}
  .ead-nav{display:flex;flex-direction:column;gap:4px;margin-top:6px}
  .ead-nav a{
    position:relative;
    display:flex;align-items:center;gap:12px;
    min-height:46px;padding:0 14px;border-radius:12px;
    color:#26223b;font-weight:600;
  }
  .ead-nav a:hover{background:#f5f2ff}
  .ead-nav a.active{background:#f1edff;color:var(--primary)}
  .ead-nav-icon{
    width:26px;height:26px;flex:0 0 auto;border-radius:8px;
    display:grid;place-items:center;background:#faf9fc;color:inherit;
    font-size:14px;font-weight:900;
  }
  .ead-nav a.active .ead-nav-icon{background:#ebe4ff}
  .ead-nav-badge{
    margin-left:auto;min-width:18px;height:18px;padding:0 5px;
    border-radius:999px;background:var(--primary);color:#fff;
    display:grid;place-items:center;font-size:10px;font-weight:900;
  }
  .ead-sidebar-footer{margin-top:auto;padding:10px 6px 0}
  .ead-user-card{
    display:flex;align-items:center;gap:10px;padding:10px 8px 12px;
    border-top:1px solid #f0edf4;
  }
  .ead-user-avatar{
    width:40px;height:40px;border-radius:50%;
    background:linear-gradient(135deg,#e2d6ff,#c4b3ff);
    color:#3f3285;display:grid;place-items:center;font-weight:900;
  }
  .ead-user-copy strong,.ead-user-copy small{display:block}
  .ead-user-copy strong{font-size:14px;color:#221d35}
  .ead-user-copy small{font-size:12px;color:#8a839f}
  .sidebar-logout{width:100%;justify-content:center}

  .ead-app-content{
    padding:24px 28px 26px!important;
    overflow:visible;
  }
  .ead-topbar{
    display:flex!important;align-items:center;justify-content:space-between;
    margin:0 0 18px;padding:0;background:transparent;border:0;box-shadow:none;
  }
  .ead-topbar-title h1{margin:0;font-size:18px}
  .ead-topbar-title p{margin:4px 0 0;color:#7a7690}
  .ead-topbar-actions{
    display:flex;align-items:center;gap:12px;
  }
  .ead-search-form{
    display:flex;align-items:center;min-width:320px;
    border:1px solid #e5e2ed;background:#fff;border-radius:14px;
    padding:0 8px 0 14px;height:46px;
    box-shadow:0 6px 18px rgba(34,28,58,.04);
  }
  .ead-search-form input{
    flex:1;border:0;background:transparent;min-height:auto!important;
    height:100%;padding:0 8px 0 0;font-size:14px;outline:0;
  }
  .ead-search-form button{
    width:36px;height:36px;border:0;background:transparent;border-radius:10px;
    cursor:pointer;font-size:18px;color:#524f64;
  }
  .ead-bell-button{
    position:relative;width:44px;height:44px;border-radius:14px;
    display:grid;place-items:center;background:#fff;border:1px solid #e8e4ef;
    color:#423c57;font-size:18px;box-shadow:0 6px 18px rgba(34,28,58,.04);
  }
  .ead-bell-button i{
    position:absolute;top:-5px;right:-4px;min-width:20px;height:20px;
    padding:0 5px;border-radius:999px;background:var(--primary);color:#fff;
    display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:900;
  }
  .alert{margin-bottom:18px}

  .ead-dashboard-hero{
    display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
    margin-bottom:18px;
  }
  .ead-greeting-block h2{margin:0 0 6px;font-size:46px;letter-spacing:-.05em;color:#1f1a30}
  .ead-greeting-block p{margin:0;color:#6f6985;font-size:20px}
  .ead-hero-stats{display:flex;gap:12px}
  .ead-mini-stat{
    min-width:110px;padding:14px 16px;border-radius:18px;background:#fff;
    border:1px solid #ece7f3;box-shadow:0 8px 22px rgba(35,28,57,.05)
  }
  .ead-mini-stat strong,.ead-mini-stat span{display:block}
  .ead-mini-stat strong{font-size:22px;color:#2a2540}
  .ead-mini-stat span{margin-top:4px;font-size:11px;color:#837d95;text-transform:uppercase;letter-spacing:.08em}

  .ead-home-grid{display:grid;grid-template-columns:1.35fr .95fr;gap:18px;margin-bottom:18px}
  .ead-continue-panel,.ead-events-panel,.ead-courses-section,.certificate-side-highlight,.certificate-list-card,.course-side-card,.lesson-player-card,.lesson-transcript-card,.course-content-panel,.explore-search-panel{
    background:#fff;border:1px solid #e9e4f0;border-radius:20px;
    box-shadow:0 12px 30px rgba(35,28,57,.05);
  }
  .ead-continue-panel,.ead-events-panel{padding:18px}
  .ead-panel-head{margin-bottom:14px}
  .ead-panel-head h3{margin:0;font-size:28px;color:#201b33}
  .continue-feature-card{
    display:grid;grid-template-columns:180px 1fr;gap:18px;
    min-height:220px;padding:20px;border-radius:20px;
    background:linear-gradient(135deg,#4d53e2,#8f3dff);color:#fff;
  }
  .continue-feature-visual{display:grid;place-items:center}
  .fake-monitor{
    width:150px;height:110px;border-radius:14px;background:#fff;
    box-shadow:0 10px 30px rgba(10,10,20,.15);padding:12px;
  }
  .fake-monitor-screen{
    height:78px;border-radius:10px;background:#eff2ff;display:flex;align-items:flex-end;gap:8px;padding:10px
  }
  .fake-monitor-screen span{display:block;flex:1;border-radius:6px 6px 0 0;background:#838ffb}
  .fake-monitor-screen span:nth-child(1){height:38px}
  .fake-monitor-screen span:nth-child(2){height:56px}
  .fake-monitor-screen span:nth-child(3){height:28px}
  .continue-feature-content{display:flex;flex-direction:column;justify-content:center}
  .continue-feature-percent{font-size:42px;font-weight:900;line-height:1}
  .continue-feature-bar{
    width:100%;height:10px;margin:10px 0 14px;border-radius:999px;background:rgba(255,255,255,.28);overflow:hidden
  }
  .continue-feature-bar span{display:block;height:100%;border-radius:999px;background:#fff}
  .continue-feature-content strong{font-size:28px}
  .continue-feature-content small{margin:6px 0 18px;color:#ebe7ff;font-size:16px}
  .btn-light{
    display:inline-flex;align-items:center;gap:10px;
    background:#fff!important;color:#4d43ca!important;border:0!important;
    align-self:flex-start;font-weight:800
  }
  .ead-event-list{display:flex;flex-direction:column;gap:14px}
  .ead-event-item{
    display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;
    padding:12px;border:1px solid #efebf5;border-radius:16px;background:#fff;
  }
  .ead-event-icon{
    width:42px;height:42px;border-radius:14px;display:grid;place-items:center;
    background:#f4efff;color:var(--primary);font-weight:900
  }
  .ead-event-copy strong,.ead-event-copy small{display:block}
  .ead-event-copy strong{color:#241f37}
  .ead-event-copy small{color:#7b7690}
  .ead-event-meta{font-size:12px;font-weight:800;color:#30295e}

  .ead-courses-section{padding:18px}
  .dashboard-section-title h2{margin:0 0 4px;font-size:28px}
  .dashboard-section-title p{margin:0;color:#817b93}
  .ead-courses-grid{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px
  }
  .ead-course-tile,.ead-course-card{
    display:block;padding:16px;border:1px solid #ede8f3;border-radius:18px;background:#fff;
    box-shadow:0 8px 24px rgba(34,28,58,.04)
  }
  .ead-course-tile:hover,.ead-course-card:hover{transform:translateY(-2px)}
  .ead-course-tile-top,.ead-course-card-top{
    display:flex;align-items:flex-start;gap:12px;margin-bottom:12px
  }
  .ead-course-icon{
    width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-weight:900;color:#fff
  }
  .ead-course-icon.big{width:62px;height:62px;font-size:15px}
  .ead-course-icon.color-1{background:#5e72e8}
  .ead-course-icon.color-2{background:#30a46c}
  .ead-course-icon.color-3{background:#8b5cf6}
  .ead-course-icon.color-4{background:#f59e0b}
  .ead-course-titlebox strong,.ead-course-titlebox small,.ead-course-card-copy span,.ead-course-card-copy strong,.ead-course-card-copy small{
    display:block
  }
  .ead-course-titlebox strong,.ead-course-card-copy strong{font-size:20px;color:#241f37;line-height:1.2}
  .ead-course-titlebox small,.ead-course-card-copy small{margin-top:5px;color:#7c7690;font-size:14px;line-height:1.45}
  .ead-course-card-copy span{font-size:11px;font-weight:900;color:var(--primary);letter-spacing:.08em}
  .ead-course-progress-bar{height:8px;background:#ece7f2;border-radius:999px;overflow:hidden}
  .ead-course-progress-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),#8b5cf6)}
  .ead-course-footer{
    display:flex;justify-content:space-between;align-items:center;margin-top:10px;color:#6e6882;font-size:14px
  }
  .ead-course-footer b{color:#241f37}
  .course-grid-large{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ead-course-card-stats{
    display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 14px
  }
  .ead-course-card-stats div{
    padding:10px;border-radius:14px;background:#f8f6fb;border:1px solid #efebf5;text-align:center
  }
  .ead-course-card-stats b,.ead-course-card-stats span{display:block}
  .ead-course-card-stats b{font-size:18px;color:#261f39}
  .ead-course-card-stats span{font-size:12px;color:#807b91}

  .subject-hero-banner{margin-bottom:12px}
  .subject-hero-banner-box{
    display:grid;grid-template-columns:1fr 120px;gap:16px;align-items:center;
    padding:18px 22px;border-radius:20px;background:linear-gradient(135deg,#4d53e2,#8f3dff);color:#fff
  }
  .subject-hero-main h2{margin:0 0 8px;font-size:48px}
  .subject-hero-main p{margin:0 0 5px;font-size:22px;color:#efeaff}
  .subject-hero-main small{color:#dbd4ff;font-size:16px}
  .subject-hero-art{
    height:88px;border:2px solid rgba(255,255,255,.28);border-radius:18px;
    display:grid;place-items:center;font-size:44px;color:#fff
  }
  .subject-tabs{
    display:flex;gap:26px;padding:0 8px 12px;margin-bottom:16px;border-bottom:1px solid #e9e4f0
  }
  .subject-tabs a{padding-bottom:10px;color:#59526d}
  .subject-tabs a.active{color:var(--primary);font-weight:800;border-bottom:3px solid var(--primary)}
  .course-detail-layout{display:grid;grid-template-columns:1.25fr 340px;gap:18px}
  .course-detail-main,.course-detail-side{min-width:0}
  .course-progress-head{
    display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:#251f39
  }
  .progress-bar.big{height:8px;margin-bottom:14px}
  .course-content-panel{padding:16px}
  .course-module-group{
    padding:14px 0;border-bottom:1px solid #eee9f4
  }
  .course-module-group:last-child{border-bottom:0}
  .course-module-group.locked{opacity:.75}
  .course-module-group-head{
    display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:8px
  }
  .course-module-group-head strong{font-size:18px;color:#211b34}
  .course-module-group-head small{display:block;margin-top:4px;color:#7a758d}
  .course-row-action,.course-row-lock{
    flex:0 0 auto;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800
  }
  .course-row-action{background:#efeaff;color:var(--primary)}
  .course-row-lock{background:#f1f2f5;color:#7d8293}
  .course-lesson-line{
    display:flex;justify-content:space-between;gap:12px;align-items:center
  }
  .course-lesson-meta small{display:block;margin-top:8px;color:#807b92}
  .course-lesson-duration{font-weight:900;color:#4c4665}
  .course-side-card{padding:18px}
  .course-side-card + .course-side-card{margin-top:14px}
  .course-side-card h3{margin:0 0 12px;font-size:28px}
  .course-side-metric{padding:12px 0;border-bottom:1px solid #eeeaf4}
  .course-side-metric:last-of-type{border-bottom:0}
  .course-side-metric span,.course-side-metric strong{display:block}
  .course-side-metric span{color:#7f7990;font-size:13px}
  .course-side-metric strong{margin-top:4px;font-size:24px;color:#231d37}
  .btn-full{width:100%;justify-content:center;margin-top:14px}

  .lesson-page-shell{display:block}
  .lesson-page-backline{margin-bottom:12px}
  .lesson-player-grid{
    display:grid;grid-template-columns:1.2fr .95fr;gap:18px;margin-bottom:16px
  }
  .lesson-player-card,.lesson-transcript-card{padding:18px}
  .lesson-video-stage{
    width:100%;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#121826
  }
  .lesson-video-stage iframe,.lesson-video-stage video{width:100%;height:100%;border:0;display:block}
  .lesson-video-placeholder{
    width:100%;height:100%;display:grid;place-items:center;text-align:center;
    color:#fff;background:linear-gradient(145deg,#1f2742,#2e3b67);padding:16px
  }
  .lesson-video-placeholder-icon{
    width:64px;height:64px;border-radius:50%;display:grid;place-items:center;
    background:rgba(255,255,255,.12);margin-bottom:12px;font-size:26px
  }
  .lesson-player-meta{padding-top:12px}
  .lesson-player-meta span,.lesson-player-meta strong,.lesson-player-meta small{display:block}
  .lesson-player-meta span{color:#756f88}
  .lesson-player-meta strong{margin-top:6px;font-size:32px;color:#211c33}
  .lesson-player-meta small{margin-top:6px;color:#7e7890}
  .lesson-transcript-head{
    display:flex;justify-content:space-between;align-items:center;margin-bottom:12px
  }
  .lesson-transcript-head h3{margin:0;font-size:30px}
  .lesson-transcript-card p{font-size:18px;line-height:1.75;color:#312b43}
  .lesson-transcript-card small{display:block;margin-top:20px;color:#6c667f;line-height:1.6}
  .lesson-action-row{margin-bottom:16px}
  .lesson-info-cards{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px
  }
  .lesson-info-card{
    display:block;padding:16px;border:1px solid #e9e4f0;border-radius:18px;background:#fff;
    box-shadow:0 10px 24px rgba(35,28,57,.04)
  }
  .lesson-info-card strong,.lesson-info-card small{display:block}
  .lesson-info-card strong{font-size:18px;color:#211b34}
  .lesson-info-card small{margin-top:8px;color:#7d7890;line-height:1.45}
  .lesson-info-card.next{border-color:#dcd4ff;background:#faf8ff}
  .lesson-content-grid.compact{grid-template-columns:1fr 1fr}

  .certificate-page-head{
    display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px
  }
  .certificate-page-head h2{margin:0 0 6px;font-size:44px;color:#221d35}
  .certificate-page-head p{margin:0;color:#7b7690;font-size:18px}
  .certificate-filter-bar{display:flex;gap:12px}
  .certificate-filter-bar select,.certificate-filter-bar input{
    min-width:220px;background:#fff;border:1px solid #e8e4ef;border-radius:14px
  }
  .certificate-layout{display:grid;grid-template-columns:1.2fr .9fr;gap:18px}
  .certificate-preview-card{padding:0}
  .certificate-paper{
    padding:22px;border:1px solid #ebdfbe;border-radius:22px;background:#fffdf7;
    box-shadow:inset 0 0 0 1px #f1e9cf
  }
  .certificate-frame{
    min-height:520px;padding:34px;border:2px solid #dbc688;border-radius:12px;
    text-align:center;background:#fff;position:relative
  }
  .certificate-title{display:block;margin-top:8px;font-size:22px;letter-spacing:.12em;color:#6e5714}
  .certificate-frame p{margin:18px 0 8px;color:#5f5541}
  .certificate-frame h3{margin:0;font-size:46px;color:#262033}
  .certificate-frame h4{margin:6px 0 12px;font-size:30px;color:#2f2751}
  .certificate-frame small{display:block;color:#796d54}
  .certificate-sign-row{
    display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:40px
  }
  .certificate-sign-row strong,.certificate-sign-row span{display:block}
  .certificate-sign-row span{font-size:13px;color:#7b715a}
  .certificate-seal{
    width:76px;height:76px;border-radius:50%;display:grid;place-items:center;
    background:#7a4df6;color:#fff;font-size:28px
  }
  .certificate-side-highlight,.certificate-list-card{padding:18px}
  .certificate-side-highlight h3{margin:0 0 6px;font-size:34px}
  .certificate-side-highlight small{display:block;color:#7d7891}
  .certificate-side-highlight p{margin:14px 0 0;color:#18834f;font-weight:700}
  .certificate-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
  .certificate-list-card h4{margin:0 0 12px;font-size:24px}
  .certificate-list-item{
    display:grid;grid-template-columns:42px 1fr 30px;gap:12px;align-items:center;
    padding:12px 0;border-bottom:1px solid #eee9f4
  }
  .certificate-list-item:last-child{border-bottom:0}
  .certificate-list-icon{
    width:42px;height:42px;border-radius:14px;background:#f3efff;display:grid;place-items:center
  }
  .certificate-list-copy strong,.certificate-list-copy small{display:block}
  .certificate-list-copy strong{color:#251f39}
  .certificate-list-copy small{margin-top:4px;color:#7b7690}
  .certificate-list-download{
    width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#f8f6fb;color:#3c3558
  }

  .explore-search-panel{
    display:flex;gap:14px;padding:16px;margin-bottom:18px
  }
  .explore-search-panel input{flex:1}

  .modern-courses-hero{
    padding:22px 24px!important;
    border-radius:24px!important;
    background:linear-gradient(135deg,#fff,#faf8ff)!important;
    border:1px solid #ece7f3!important;
  }
}

@media(max-width:1200px) and (min-width:701px){
  .ead-courses-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-grid-large{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-detail-layout,.certificate-layout,.lesson-player-grid{grid-template-columns:1fr}
}
@media(max-width:860px) and (min-width:701px){
  .ead-home-grid,.lesson-info-cards{grid-template-columns:1fr}
  .continue-feature-card{grid-template-columns:1fr}
}
@media(max-width:700px){
  .ead-dashboard-hero{
    display:block;margin-bottom:14px
  }
  .ead-greeting-block h2{
    margin:0 0 6px;font-size:32px;line-height:1.05;color:#1d2235
  }
  .ead-greeting-block p{
    margin:0 0 12px;font-size:14px;color:#6f7a8c
  }
  .ead-hero-stats{
    display:grid;grid-template-columns:repeat(3,1fr);gap:8px
  }
  .ead-mini-stat{
    padding:12px;border:1px solid #e8ebf1;border-radius:16px;background:#fff
  }
  .ead-mini-stat strong{font-size:18px}
  .ead-home-grid,.certificate-layout,.lesson-player-grid,.course-detail-layout,.lesson-info-cards{
    display:grid;grid-template-columns:1fr;gap:14px
  }
  .ead-continue-panel,.ead-events-panel,.ead-courses-section,.certificate-side-highlight,.certificate-list-card,.course-side-card,.lesson-player-card,.lesson-transcript-card,.explore-search-panel{
    padding:14px;border-radius:18px
  }
  .ead-panel-head h3{font-size:22px}
  .continue-feature-card{
    display:grid;grid-template-columns:1fr;gap:12px;padding:16px;border-radius:18px;
    background:linear-gradient(135deg,#4d53e2,#8f3dff);color:#fff
  }
  .continue-feature-visual{justify-items:start}
  .fake-monitor{width:126px;height:92px}
  .continue-feature-percent{font-size:32px}
  .continue-feature-content strong{font-size:22px}
  .continue-feature-content small{font-size:13px}
  .ead-courses-grid,.course-grid-large,.institutional-values-grid{
    grid-template-columns:1fr!important
  }
  .subject-hero-banner-box{
    grid-template-columns:1fr;gap:10px;padding:18px;border-radius:18px
  }
  .subject-hero-main h2{font-size:28px}
  .subject-hero-main p{font-size:14px}
  .subject-tabs{
    overflow:auto;white-space:nowrap;gap:16px;padding:0 2px 10px;margin-bottom:12px
  }
  .course-content-panel{padding:14px}
  .course-module-group-head strong{font-size:16px}
  .lesson-transcript-head h3,.course-side-card h3,.certificate-page-head h2{font-size:26px}
  .lesson-player-meta strong{font-size:22px}
  .certificate-page-head{display:block}
  .certificate-filter-bar{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}
  .certificate-frame{min-height:auto;padding:20px}
  .certificate-frame h3{font-size:32px}
  .certificate-frame h4{font-size:24px}
  .certificate-sign-row{flex-direction:column;align-items:center}
  .explore-search-panel{display:grid;grid-template-columns:1fr}
  .modern-courses-hero{padding:18px!important}
}


/* =========================================================
   V23 — Correção de contraste do menu EAD
   ========================================================= */
@media(min-width:701px){
  body.educa-theme .ead-sidebar{
    background:
      radial-gradient(circle at top left,rgba(103,80,255,.14),transparent 26%),
      linear-gradient(180deg,#0d1a2d 0%,#10213a 58%,#0c192b 100%)!important;
    border-right:1px solid rgba(255,255,255,.07)!important;
    color:#fff!important;
  }

  body.educa-theme .ead-brand{
    padding:6px 4px 14px;
    border-bottom:1px solid rgba(255,255,255,.07);
  }

  body.educa-theme .ead-brand-copy strong{
    color:#f8fafc!important;
    text-shadow:none!important;
  }

  body.educa-theme .ead-brand-copy small{
    color:#aebbd1!important;
  }

  body.educa-theme .ead-nav a{
    color:#c9d4e6!important;
    background:transparent!important;
    border:1px solid transparent!important;
  }

  body.educa-theme .ead-nav .ead-nav-icon{
    background:rgba(255,255,255,.07)!important;
    color:#e8eef8!important;
  }

  body.educa-theme .ead-nav a:hover{
    background:rgba(255,255,255,.07)!important;
    color:#fff!important;
    border-color:rgba(255,255,255,.06)!important;
  }

  body.educa-theme .ead-nav a:hover .ead-nav-icon{
    background:rgba(255,255,255,.11)!important;
    color:#fff!important;
  }

  body.educa-theme .ead-nav a.active{
    background:#f0ebff!important;
    color:#5a45ee!important;
    border-color:#ded5ff!important;
    box-shadow:0 8px 22px rgba(4,10,24,.18)!important;
  }

  body.educa-theme .ead-nav a.active::before{
    background:linear-gradient(180deg,#8b73ff,#654cf6)!important;
  }

  body.educa-theme .ead-nav a.active .ead-nav-icon{
    background:#fff!important;
    color:#5a45ee!important;
  }

  body.educa-theme .ead-sidebar-footer{
    border-top:1px solid rgba(255,255,255,.09)!important;
  }

  body.educa-theme .ead-user-card{
    border-top:0!important;
  }

  body.educa-theme .ead-user-copy strong{
    color:#f7f9fc!important;
  }

  body.educa-theme .ead-user-copy small{
    color:#aebbd1!important;
  }

  body.educa-theme .ead-user-avatar{
    background:linear-gradient(135deg,#7962ff,#a28dff)!important;
    color:#fff!important;
  }

  body.educa-theme .sidebar-logout{
    color:#dbe5f4!important;
    border-color:rgba(255,255,255,.12)!important;
    background:rgba(255,255,255,.04)!important;
  }

  body.educa-theme .sidebar-logout:hover{
    color:#fff!important;
    background:rgba(255,255,255,.09)!important;
  }
}

/* Perfil editável do aluno */
.student-area .self-profile-hero{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
  padding:22px;
  border:1px solid #e8e4f1;
  border-radius:22px;
  background:
    radial-gradient(circle at top right,rgba(109,78,246,.12),transparent 30%),
    linear-gradient(135deg,#fff,#faf8ff);
  box-shadow:0 12px 30px rgba(35,28,57,.05);
}

.student-area .self-profile-avatar{
  width:72px;
  height:72px;
  flex:0 0 auto;
  border-radius:22px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--primary),#8e6cff);
  color:#fff;
  font-size:28px;
  font-weight:900;
  box-shadow:0 12px 26px rgba(93,67,220,.22);
}

.student-area .self-profile-hero-copy span,
.student-area .self-profile-hero-copy h2,
.student-area .self-profile-hero-copy p{
  display:block;
}

.student-area .self-profile-hero-copy span{
  color:var(--primary);
  font-size:10px;
  font-weight:900;
  letter-spacing:.11em;
}

.student-area .self-profile-hero-copy h2{
  margin:5px 0 4px;
  font-size:30px;
  letter-spacing:-.03em;
}

.student-area .self-profile-hero-copy p{
  margin:0;
  color:#7b7690;
}

@media(max-width:700px){
  .student-area .self-profile-hero{
    padding:16px;
    border-radius:18px;
  }
  .student-area .self-profile-avatar{
    width:56px;
    height:56px;
    border-radius:17px;
    font-size:22px;
  }
  .student-area .self-profile-hero-copy h2{
    font-size:22px;
  }
}


/* V24 — Vídeo de apresentação da disciplina */
.presentation-placeholder span{
  display:block;
  margin-bottom:8px;
  color:#bfcaff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
.presentation-meta>span{
  color:var(--primary)!important;
  font-size:10px!important;
  font-weight:900;
  letter-spacing:.09em;
}
.presentation-meta>small{
  max-width:760px;
  line-height:1.5;
}
.lesson-videos-section{
  margin:18px 0;
}
.lesson-specific-videos{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.lesson-specific-video-card{
  overflow:hidden;
  border:1px solid #e9e4f0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 24px rgba(35,28,57,.04);
}
.lesson-specific-player{
  aspect-ratio:16/9;
  background:#10182b;
}
.lesson-specific-player iframe,
.lesson-specific-player video{
  width:100%;
  height:100%;
  display:block;
  border:0;
}
.lesson-specific-video-copy{
  padding:14px;
}
.lesson-specific-video-copy strong,
.lesson-specific-video-copy small{
  display:block;
}
.lesson-specific-video-copy strong{
  color:#211b34;
  font-size:15px;
}
.lesson-specific-video-copy small{
  margin-top:5px;
  color:#7b7690;
  line-height:1.45;
}
@media(max-width:700px){
  .lesson-specific-videos{grid-template-columns:1fr}
}


/* V26 — Cursos organizados e disciplinas dentro do curso */
.student-course-catalog{
  display:grid;
  gap:16px;
}
.student-course-main-card{
  display:grid;
  grid-template-columns:180px minmax(0,1fr) 110px;
  gap:18px;
  align-items:stretch;
  overflow:hidden;
  border:1px solid #e8e4f0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 30px rgba(35,28,57,.05);
  transition:.18s ease;
}
.student-course-main-card:hover{
  transform:translateY(-2px);
  border-color:#d9d0ff;
  box-shadow:0 18px 36px rgba(35,28,57,.08);
}
.student-course-cover{
  min-height:190px;
  position:relative;
  display:grid;
  place-items:center;
  color:#fff;
}
.student-course-cover>span{
  font-size:40px;
  font-weight:900;
  letter-spacing:-.04em;
}
.course-cover-1{background:linear-gradient(145deg,#5548e8,#8d4df7)}
.course-cover-2{background:linear-gradient(145deg,#0f8d70,#41b98c)}
.course-cover-3{background:linear-gradient(145deg,#1266b4,#46a3e8)}
.course-cover-4{background:linear-gradient(145deg,#d26c21,#f0a547)}
.course-cover-5{background:linear-gradient(145deg,#a23f71,#dd6a9d)}
.student-course-cover-badge{
  position:absolute;
  left:14px;
  bottom:14px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
}
.student-course-main-copy{
  padding:20px 0;
  min-width:0;
}
.student-course-kicker{
  display:block;
  color:var(--primary);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}
.student-course-main-copy h3{
  margin:5px 0 7px;
  color:#211b34;
  font-size:25px;
}
.student-course-main-copy>p{
  margin:0;
  color:#79738d;
  font-size:13px;
  line-height:1.55;
}
.student-course-main-stats{
  display:flex;
  gap:22px;
  margin-top:18px;
}
.student-course-main-stats strong,
.student-course-main-stats span{
  display:block;
}
.student-course-main-stats strong{
  color:#251f3a;
  font-size:17px;
}
.student-course-main-stats span{
  margin-top:2px;
  color:#8a8498;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.student-course-progress-line{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  margin-top:16px;
}
.student-course-progress-line strong{
  color:#2b2441;
  font-size:12px;
}
.student-course-open{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-left:1px solid #eeeaf4;
  background:#fbfaff;
  color:var(--primary);
  font-size:10px;
  font-weight:900;
}
.student-course-open strong{
  font-size:25px;
}
.student-course-detail-hero{
  margin-bottom:16px;
}
.student-course-detail-box{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:25px;
  border-radius:24px;
  color:#fff;
  background:
    radial-gradient(circle at top right,rgba(255,255,255,.20),transparent 28%),
    linear-gradient(135deg,#4f4ddd,#8748f5);
  box-shadow:0 16px 38px rgba(88,64,205,.18);
}
.student-course-detail-box h2{
  margin:6px 0 8px;
  font-size:35px;
  letter-spacing:-.04em;
}
.student-course-detail-box p{
  margin:0;
  max-width:720px;
  color:#ede9ff;
  line-height:1.55;
}
.student-course-detail-box small{
  display:block;
  margin-top:10px;
  color:#d9d4f8;
}
.student-course-detail-box .eyebrow{
  color:#dcd7ff;
}
.student-course-detail-progress{
  width:115px;
  height:115px;
  flex:0 0 auto;
  border-radius:50%;
  display:grid;
  place-items:center;
  align-content:center;
  border:8px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.08);
}
.student-course-detail-progress strong,
.student-course-detail-progress span{
  display:block;
  text-align:center;
}
.student-course-detail-progress strong{
  font-size:27px;
}
.student-course-detail-progress span{
  margin-top:2px;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.student-course-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-bottom:16px;
}
.student-course-summary>div{
  padding:15px;
  border:1px solid #e9e5f0;
  border-radius:17px;
  background:#fff;
  text-align:center;
}
.student-course-summary strong,
.student-course-summary span{
  display:block;
}
.student-course-summary strong{
  font-size:25px;
  color:#251f39;
}
.student-course-summary span{
  margin-top:3px;
  color:#837d93;
  font-size:10px;
}
.student-course-subjects-panel{
  padding:18px;
}
.course-subject-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.course-subject-card{
  padding:16px;
  border:1px solid #ebe6f2;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(34,28,58,.035);
}
.course-subject-card:hover{
  border-color:#d9d0ff;
  transform:translateY(-2px);
}
.course-subject-card-top{
  display:flex;
  align-items:flex-start;
  gap:11px;
}
.course-subject-card-top>div:last-child{
  min-width:0;
}
.course-subject-card-top span,
.course-subject-card-top strong,
.course-subject-card-top small{
  display:block;
}
.course-subject-card-top span{
  color:var(--primary);
  font-size:8px;
  font-weight:900;
  letter-spacing:.09em;
}
.course-subject-card-top strong{
  margin:3px 0;
  color:#251f39;
  font-size:15px;
}
.course-subject-card-top small{
  color:#858094;
  font-size:10px;
}
.course-subject-card>p{
  min-height:42px;
  margin:13px 0;
  color:#777187;
  font-size:11px;
  line-height:1.55;
}
.course-subject-stats{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.course-subject-stats span{
  padding:5px 7px;
  border-radius:999px;
  background:#f5f2fb;
  color:#665e79;
  font-size:8px;
  font-weight:800;
}
@media(max-width:1050px){
  .course-subject-grid{grid-template-columns:1fr 1fr}
  .student-course-main-card{grid-template-columns:145px 1fr 85px}
}
@media(max-width:700px){
  .student-course-main-card{
    grid-template-columns:1fr;
    gap:0;
  }
  .student-course-cover{
    min-height:130px;
  }
  .student-course-main-copy{
    padding:16px;
  }
  .student-course-open{
    min-height:50px;
    flex-direction:row;
    border-left:0;
    border-top:1px solid #eeeaf4;
  }
  .student-course-main-stats{
    justify-content:space-between;
    gap:8px;
  }
  .student-course-detail-box{
    align-items:flex-start;
    flex-direction:column;
    padding:20px;
  }
  .student-course-detail-box h2{
    font-size:27px;
  }
  .student-course-detail-progress{
    width:92px;
    height:92px;
  }
  .student-course-summary{
    grid-template-columns:1fr 1fr;
  }
  .course-subject-grid{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   V27 — HOTFIX DEFINITIVO DA ÁREA DO ALUNO NO CELULAR
   Todo este bloco é exclusivo para telas <= 700px.
   O desktop não é alterado.
   ============================================================ */
@media(max-width:700px){

  /* ---------- RESET E LARGURA ---------- */
  html,
  body.student-area{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
    background:#f4f6fa!important;
  }

  body.student-area *{
    box-sizing:border-box;
  }

  body.student-area img,
  body.student-area video,
  body.student-area iframe{
    max-width:100%;
  }

  body.student-area .student-shell{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
  }

  body.student-area .student-desktop-sidebar,
  body.student-area .student-desktop-topbar,
  body.student-area .ead-sidebar,
  body.student-area .ead-topbar{
    display:none!important;
  }

  body.student-area .student-app-content,
  body.student-area .ead-app-content,
  body.student-area main.content{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:
      calc(78px + env(safe-area-inset-top))
      12px
      calc(94px + env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
  }

  body.student-area .student-app-content > *,
  body.student-area .ead-app-content > *{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  /* ---------- HEADER DO APP ---------- */
  body.student-area .student-mobile-header{
    display:flex!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:1000!important;
    width:100%!important;
    max-width:100%!important;
    min-height:66px!important;
    padding:
      calc(9px + env(safe-area-inset-top))
      12px
      9px!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    background:rgba(255,255,255,.97)!important;
    border-bottom:1px solid #e7eaf0!important;
    box-shadow:0 6px 18px rgba(15,23,42,.055)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
  }

  body.student-area .mobile-brand{
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:calc(100% - 94px)!important;
    align-items:center!important;
    gap:9px!important;
  }

  body.student-area .mobile-brand-logo{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    flex:0 0 40px!important;
    border-radius:12px!important;
  }

  body.student-area .mobile-brand-copy{
    min-width:0!important;
    max-width:100%!important;
  }

  body.student-area .mobile-brand-copy small{
    max-width:100%!important;
    font-size:8px!important;
  }

  body.student-area .mobile-brand-copy strong{
    max-width:100%!important;
    font-size:15px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  body.student-area .mobile-header-actions{
    display:flex!important;
    flex:0 0 auto!important;
    gap:5px!important;
  }

  body.student-area .mobile-icon-button{
    width:39px!important;
    height:39px!important;
    min-width:39px!important;
    border-radius:12px!important;
  }

  /* ---------- MENU INFERIOR ---------- */
  body.student-area .student-bottom-nav{
    display:grid!important;
    position:fixed!important;
    z-index:1050!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:0!important;
    min-height:64px!important;
    padding:
      5px
      4px
      calc(5px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.98)!important;
    border-top:1px solid #dfe3ea!important;
    box-shadow:0 -8px 24px rgba(15,23,42,.08)!important;
  }

  body.student-area .student-bottom-nav > a,
  body.student-area .student-bottom-nav > button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:52px!important;
    padding:4px 1px!important;
    gap:2px!important;
    overflow:hidden!important;
  }

  body.student-area .student-bottom-nav svg{
    width:20px!important;
    height:20px!important;
    flex:0 0 auto!important;
  }

  body.student-area .student-bottom-nav span{
    width:100%!important;
    max-width:100%!important;
    padding:0 1px!important;
    font-size:8px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  /* ---------- GERAL ---------- */
  body.student-area .panel,
  body.student-area .stat-card,
  body.student-area .ead-continue-panel,
  body.student-area .ead-events-panel,
  body.student-area .ead-courses-section,
  body.student-area .course-content-panel,
  body.student-area .course-side-card,
  body.student-area .lesson-player-card,
  body.student-area .lesson-transcript-card,
  body.student-area .certificate-side-highlight,
  body.student-area .certificate-list-card,
  body.student-area .explore-search-panel{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:14px!important;
    border-radius:17px!important;
  }

  body.student-area h1,
  body.student-area h2,
  body.student-area h3,
  body.student-area h4,
  body.student-area p,
  body.student-area small,
  body.student-area strong,
  body.student-area span{
    overflow-wrap:anywhere;
  }

  body.student-area .btn{
    min-height:44px!important;
    padding:10px 13px!important;
    border-radius:12px!important;
    white-space:normal!important;
    text-align:center!important;
  }

  body.student-area input,
  body.student-area select,
  body.student-area textarea{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  body.student-area .form-grid,
  body.student-area .two-col,
  body.student-area .two-col.equal{
    grid-template-columns:minmax(0,1fr)!important;
  }

  /* ---------- HOME ---------- */
  body.student-area .ead-dashboard-hero{
    display:block!important;
    margin:0 0 12px!important;
  }

  body.student-area .ead-greeting-block h2{
    margin:0 0 5px!important;
    font-size:27px!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
  }

  body.student-area .ead-greeting-block p{
    margin:0 0 11px!important;
    font-size:13px!important;
  }

  body.student-area .ead-hero-stats{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }

  body.student-area .ead-mini-stat{
    min-width:0!important;
    padding:10px 7px!important;
    border-radius:14px!important;
  }

  body.student-area .ead-mini-stat strong{
    font-size:17px!important;
  }

  body.student-area .ead-mini-stat span{
    font-size:7px!important;
  }

  body.student-area .ead-home-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    margin-bottom:12px!important;
  }

  body.student-area .ead-panel-head h3{
    font-size:19px!important;
  }

  body.student-area .continue-feature-card{
    display:block!important;
    min-height:0!important;
    padding:14px!important;
    border-radius:17px!important;
  }

  body.student-area .continue-feature-visual{
    display:none!important;
  }

  body.student-area .continue-feature-percent{
    font-size:30px!important;
  }

  body.student-area .continue-feature-content strong{
    font-size:20px!important;
    line-height:1.2!important;
  }

  body.student-area .continue-feature-content small{
    margin:5px 0 13px!important;
    font-size:11px!important;
  }

  body.student-area .continue-feature-button{
    width:100%!important;
    justify-content:center!important;
  }

  body.student-area .ead-event-item{
    grid-template-columns:38px minmax(0,1fr) auto!important;
    gap:9px!important;
    padding:10px!important;
  }

  body.student-area .ead-event-icon{
    width:38px!important;
    height:38px!important;
  }

  body.student-area .ead-event-copy strong{
    font-size:12px!important;
  }

  body.student-area .ead-event-copy small,
  body.student-area .ead-event-meta{
    font-size:9px!important;
  }

  /* ---------- CATÁLOGO DE CURSOS ---------- */
  body.student-area .subjects-hero,
  body.student-area .modern-courses-hero{
    display:block!important;
    padding:16px!important;
    border-radius:18px!important;
    margin-bottom:12px!important;
  }

  body.student-area .subjects-hero h2,
  body.student-area .modern-courses-hero h2{
    font-size:22px!important;
    line-height:1.12!important;
  }

  body.student-area .subject-detail-progress{
    width:100%!important;
    margin-top:13px!important;
  }

  body.student-area .student-course-catalog{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }

  body.student-area .student-course-main-card{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }

  body.student-area .student-course-cover{
    min-height:112px!important;
    width:100%!important;
  }

  body.student-area .student-course-cover > span{
    font-size:31px!important;
  }

  body.student-area .student-course-main-copy{
    width:100%!important;
    min-width:0!important;
    padding:14px!important;
  }

  body.student-area .student-course-main-copy h3{
    font-size:20px!important;
    line-height:1.2!important;
  }

  body.student-area .student-course-main-copy > p{
    font-size:11px!important;
  }

  body.student-area .student-course-main-stats{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    margin-top:13px!important;
  }

  body.student-area .student-course-main-stats > div{
    padding:8px 4px!important;
    border-radius:10px!important;
    background:#f7f5fb!important;
    text-align:center!important;
  }

  body.student-area .student-course-main-stats strong{
    font-size:15px!important;
  }

  body.student-area .student-course-main-stats span{
    font-size:7px!important;
  }

  body.student-area .student-course-open{
    min-height:46px!important;
    width:100%!important;
    display:flex!important;
    flex-direction:row!important;
    justify-content:center!important;
    gap:8px!important;
    border-left:0!important;
    border-top:1px solid #eeeaf4!important;
  }

  /* ---------- DETALHE DO CURSO ---------- */
  body.student-area .student-course-detail-hero{
    margin-bottom:12px!important;
  }

  body.student-area .student-course-detail-box{
    display:block!important;
    width:100%!important;
    padding:17px!important;
    border-radius:18px!important;
  }

  body.student-area .student-course-detail-box h2{
    font-size:24px!important;
    line-height:1.12!important;
  }

  body.student-area .student-course-detail-box p{
    font-size:11px!important;
  }

  body.student-area .student-course-detail-progress{
    width:auto!important;
    height:auto!important;
    margin-top:14px!important;
    padding:10px 13px!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    border:1px solid rgba(255,255,255,.25)!important;
    border-radius:999px!important;
  }

  body.student-area .student-course-detail-progress strong{
    font-size:18px!important;
  }

  body.student-area .student-course-detail-progress span{
    margin:0!important;
    font-size:8px!important;
  }

  body.student-area .student-course-summary{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-bottom:12px!important;
  }

  body.student-area .student-course-summary > div{
    padding:11px 7px!important;
    border-radius:14px!important;
  }

  body.student-area .student-course-summary strong{
    font-size:20px!important;
  }

  body.student-area .course-subject-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }

  body.student-area .course-subject-card{
    width:100%!important;
    min-width:0!important;
    padding:13px!important;
    border-radius:15px!important;
  }

  /* ---------- DISCIPLINA ---------- */
  body.student-area .subject-hero-banner-box{
    display:block!important;
    width:100%!important;
    padding:16px!important;
    border-radius:18px!important;
  }

  body.student-area .subject-hero-main h2{
    font-size:25px!important;
    line-height:1.1!important;
  }

  body.student-area .subject-hero-main p{
    font-size:12px!important;
  }

  body.student-area .subject-hero-art{
    display:none!important;
  }

  body.student-area .subject-tabs{
    display:flex!important;
    width:calc(100% + 24px)!important;
    max-width:none!important;
    margin-left:-12px!important;
    margin-right:-12px!important;
    padding:0 12px 9px!important;
    gap:17px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }

  body.student-area .subject-tabs::-webkit-scrollbar{
    display:none!important;
  }

  body.student-area .subject-tabs a{
    flex:0 0 auto!important;
    font-size:11px!important;
  }

  body.student-area .course-detail-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }

  body.student-area .course-module-group-head{
    align-items:flex-start!important;
  }

  body.student-area .course-module-group-head strong{
    font-size:14px!important;
  }

  body.student-area .course-row-action,
  body.student-area .course-row-lock{
    padding:7px 9px!important;
    font-size:9px!important;
  }

  /* ---------- AULA / PLAYER ---------- */
  body.student-area .lesson-page-shell,
  body.student-area .lesson-player-grid,
  body.student-area .lesson-action-row,
  body.student-area .lesson-info-cards,
  body.student-area .lesson-modules-section,
  body.student-area .lesson-videos-section{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  body.student-area .lesson-player-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }

  body.student-area .lesson-player-card,
  body.student-area .lesson-transcript-card{
    width:100%!important;
    min-width:0!important;
    padding:11px!important;
  }

  body.student-area .lesson-video-stage,
  body.student-area .lesson-specific-player,
  body.student-area .video-player-wrap{
    width:100%!important;
    max-width:100%!important;
    aspect-ratio:16/9!important;
    height:auto!important;
    border-radius:14px!important;
    overflow:hidden!important;
  }

  body.student-area .lesson-video-stage video,
  body.student-area .lesson-video-stage iframe,
  body.student-area .lesson-specific-player video,
  body.student-area .lesson-specific-player iframe,
  body.student-area .video-player-wrap video,
  body.student-area .video-player-wrap iframe{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    border:0!important;
  }

  body.student-area .lesson-player-meta{
    padding-top:10px!important;
  }

  body.student-area .lesson-player-meta strong{
    font-size:20px!important;
    line-height:1.2!important;
  }

  body.student-area .lesson-player-meta span,
  body.student-area .lesson-player-meta small{
    font-size:9px!important;
  }

  body.student-area .lesson-transcript-head h3{
    font-size:21px!important;
  }

  body.student-area .lesson-transcript-card p{
    font-size:13px!important;
    line-height:1.65!important;
  }

  body.student-area .lesson-info-cards{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
  }

  body.student-area .lesson-info-card{
    min-height:0!important;
    padding:13px!important;
  }

  body.student-area .lesson-info-card strong{
    font-size:14px!important;
  }

  body.student-area .lesson-info-card small{
    font-size:10px!important;
  }

  body.student-area .lesson-specific-videos{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }

  body.student-area .student-module-card,
  body.student-area .nested-module-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  /* ---------- MÓDULOS / ATIVIDADES ---------- */
  body.student-area .student-module-hero,
  body.student-area .assessment-student-hero{
    display:block!important;
    width:100%!important;
    padding:16px!important;
  }

  body.student-area .student-module-hero h2,
  body.student-area .assessment-student-hero h2{
    font-size:23px!important;
  }

  body.student-area .module-complete-bar,
  body.student-area .assessment-submit-bar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }

  body.student-area .module-complete-bar .btn,
  body.student-area .assessment-submit-bar .btn{
    width:100%!important;
  }

  body.student-area .student-download-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  body.student-area .student-download-card{
    grid-template-columns:42px minmax(0,1fr)!important;
  }

  body.student-area .student-download-action{
    grid-column:2!important;
  }

  /* ---------- CERTIFICADOS ---------- */
  body.student-area .certificate-page-head{
    display:block!important;
  }

  body.student-area .certificate-page-head h2{
    font-size:26px!important;
  }

  body.student-area .certificate-filter-bar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    margin-top:11px!important;
  }

  body.student-area .certificate-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }

  body.student-area .certificate-paper{
    padding:9px!important;
  }

  body.student-area .certificate-frame{
    min-height:0!important;
    padding:16px 10px!important;
  }

  body.student-area .certificate-frame h3{
    font-size:27px!important;
  }

  body.student-area .certificate-frame h4{
    font-size:20px!important;
  }

  body.student-area .certificate-sign-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    justify-items:center!important;
  }

  /* ---------- PERFIL ---------- */
  body.student-area .self-profile-hero{
    width:100%!important;
    padding:13px!important;
  }

  body.student-area .self-profile-avatar{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
  }

  body.student-area .self-profile-hero-copy h2{
    font-size:20px!important;
  }

  /* ---------- MODAL "MAIS" ---------- */
  body.student-area .student-more-overlay{
    width:100%!important;
    max-width:100%!important;
  }

  body.student-area .student-more-sheet{
    width:100%!important;
    max-width:100%!important;
    padding:
      8px
      12px
      calc(18px + env(safe-area-inset-bottom))!important;
    border-radius:22px 22px 0 0!important;
  }

  body.student-area .student-more-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  body.student-area .student-more-grid > a{
    min-width:0!important;
    min-height:94px!important;
    padding:11px!important;
  }

  /* ---------- MODAL DE CONCLUSÃO ---------- */
  body.student-area .module-finish-overlay{
    width:100%!important;
    padding:
      12px
      12px
      calc(82px + env(safe-area-inset-bottom))!important;
  }

  body.student-area .module-finish-modal{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - 110px)!important;
    overflow-y:auto!important;
  }

  /* ---------- TABELAS ---------- */
  body.student-area .table-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
}

/* Celulares muito estreitos */
@media(max-width:380px){
  body.student-area .student-app-content,
  body.student-area .ead-app-content,
  body.student-area main.content{
    padding-left:9px!important;
    padding-right:9px!important;
  }

  body.student-area .ead-greeting-block h2{
    font-size:24px!important;
  }

  body.student-area .student-course-summary{
    gap:6px!important;
  }

  body.student-area .student-bottom-nav span{
    font-size:7px!important;
  }

  body.student-area .student-more-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}


/* ============================================================
   V28 — HOME MOBILE COMPLETAMENTE ESTILIZADA
   Corrige os componentes que antes dependiam do CSS desktop.
   ============================================================ */
@media(max-width:700px){

  /* HOME: cada painel mobile tem estilo próprio */
  body.student-area .ead-continue-panel,
  body.student-area .ead-events-panel{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body.student-area .ead-panel-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    margin:0 0 10px!important;
    padding:0!important;
  }

  body.student-area .ead-panel-head h3{
    margin:0!important;
    color:#111827!important;
    font-size:19px!important;
    line-height:1.2!important;
    font-weight:900!important;
    letter-spacing:-.02em!important;
  }

  /* Continue de onde parou */
  body.student-area .continue-feature-card{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    padding:14px!important;
    border:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
    background:
      radial-gradient(circle at 90% 0%,rgba(255,255,255,.17),transparent 30%),
      linear-gradient(135deg,#4f51e8 0%,#8540ff 100%)!important;
    color:#fff!important;
    box-shadow:0 12px 28px rgba(88,65,220,.20)!important;
  }

  body.student-area .continue-feature-content{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    min-width:0!important;
  }

  body.student-area .continue-feature-percent{
    display:block!important;
    margin:0!important;
    color:#fff!important;
    font-size:28px!important;
    line-height:1!important;
    font-weight:500!important;
    letter-spacing:-.04em!important;
  }

  body.student-area .continue-feature-bar{
    display:block!important;
    width:100%!important;
    height:7px!important;
    margin:9px 0 12px!important;
    overflow:hidden!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.25)!important;
  }

  body.student-area .continue-feature-bar > span{
    display:block!important;
    height:100%!important;
    min-width:0!important;
    border-radius:999px!important;
    background:#fff!important;
  }

  body.student-area .continue-feature-content > strong{
    display:block!important;
    margin:0!important;
    color:#fff!important;
    font-size:19px!important;
    line-height:1.22!important;
    font-weight:900!important;
  }

  body.student-area .continue-feature-content > small{
    display:block!important;
    margin:4px 0 12px!important;
    color:#ece9ff!important;
    font-size:10px!important;
    line-height:1.45!important;
  }

  body.student-area .continue-feature-button,
  body.student-area a.continue-feature-button{
    display:flex!important;
    width:100%!important;
    min-height:43px!important;
    margin:0!important;
    padding:10px 12px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    border:0!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#5842dc!important;
    font-size:11px!important;
    font-weight:900!important;
    text-decoration:none!important;
    box-shadow:0 5px 14px rgba(31,26,82,.11)!important;
  }

  body.student-area a.continue-feature-button > span{
    display:inline!important;
    color:#5842dc!important;
    font-size:11px!important;
  }

  /* Próximos eventos */
  body.student-area .ead-event-list{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    width:100%!important;
  }

  body.student-area .ead-event-item{
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:10px 11px!important;
    border:1px solid #e7eaf1!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 5px 16px rgba(15,23,42,.035)!important;
  }

  body.student-area .ead-event-icon{
    display:grid!important;
    place-items:center!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    border-radius:12px!important;
    background:#f0edff!important;
    color:#5948de!important;
    font-size:13px!important;
    font-weight:900!important;
  }

  body.student-area .ead-event-copy{
    min-width:0!important;
  }

  body.student-area .ead-event-copy strong{
    display:block!important;
    margin:0!important;
    color:#1c2434!important;
    font-size:11px!important;
    line-height:1.3!important;
    font-weight:800!important;
  }

  body.student-area .ead-event-copy small{
    display:block!important;
    margin-top:2px!important;
    color:#7c8798!important;
    font-size:8px!important;
    line-height:1.3!important;
  }

  body.student-area .ead-event-meta{
    align-self:center!important;
    padding:5px 7px!important;
    border-radius:999px!important;
    background:#f6f7fa!important;
    color:#5d6675!important;
    font-size:8px!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }

  /* Bloco princípio institucional */
  body.student-area .student-institutional-banner{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 18px!important;
    align-items:center!important;
    gap:9px!important;
    width:100%!important;
    min-width:0!important;
    margin:12px 0 16px!important;
    padding:11px!important;
    border:1px solid #dfe3ff!important;
    border-radius:15px!important;
    background:linear-gradient(135deg,#fff,#f2f4ff)!important;
    box-shadow:0 6px 18px rgba(40,49,104,.045)!important;
  }

  body.student-area .student-institutional-banner-icon{
    width:44px!important;
    height:44px!important;
    border-radius:13px!important;
    font-size:19px!important;
  }

  body.student-area .student-institutional-banner > div:nth-child(2){
    min-width:0!important;
  }

  body.student-area .student-institutional-banner span{
    font-size:7px!important;
  }

  body.student-area .student-institutional-banner strong{
    margin-top:2px!important;
    font-size:11px!important;
    line-height:1.25!important;
  }

  body.student-area .student-institutional-banner small{
    margin-top:2px!important;
    color:#778199!important;
    font-size:8px!important;
    line-height:1.35!important;
  }

  /* Meus cursos na HOME */
  body.student-area .ead-courses-section{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body.student-area .dashboard-section-title{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:10px!important;
    width:100%!important;
    margin:0 0 10px!important;
  }

  body.student-area .dashboard-section-title > div{
    min-width:0!important;
  }

  body.student-area .dashboard-section-title h2{
    margin:0 0 2px!important;
    color:#111827!important;
    font-size:20px!important;
    line-height:1.2!important;
    font-weight:900!important;
    letter-spacing:-.02em!important;
  }

  body.student-area .dashboard-section-title p{
    margin:0!important;
    color:#7c8798!important;
    font-size:9px!important;
    line-height:1.35!important;
  }

  body.student-area .dashboard-section-title > a{
    flex:0 0 auto!important;
    color:#5c4be0!important;
    font-size:9px!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }

  body.student-area .ead-courses-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
    width:100%!important;
    max-width:100%!important;
  }

  body.student-area .ead-course-tile{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:12px!important;
    border:1px solid #e7eaf1!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 5px 17px rgba(15,23,42,.04)!important;
    text-decoration:none!important;
  }

  body.student-area .ead-course-tile-top{
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr)!important;
    align-items:center!important;
    gap:9px!important;
    width:100%!important;
    min-width:0!important;
    margin-bottom:10px!important;
  }

  body.student-area .ead-course-icon{
    display:grid!important;
    place-items:center!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    border-radius:13px!important;
    color:#fff!important;
    font-size:11px!important;
    font-weight:900!important;
  }

  body.student-area .ead-course-icon.color-1{background:#5c6de0!important}
  body.student-area .ead-course-icon.color-2{background:#38a66c!important}
  body.student-area .ead-course-icon.color-3{background:#865ce2!important}
  body.student-area .ead-course-icon.color-4{background:#e29532!important}

  body.student-area .ead-course-titlebox{
    min-width:0!important;
  }

  body.student-area .ead-course-titlebox strong{
    display:block!important;
    color:#1e2637!important;
    font-size:12px!important;
    line-height:1.3!important;
    font-weight:900!important;
  }

  body.student-area .ead-course-titlebox small{
    display:block!important;
    margin-top:3px!important;
    color:#7f8998!important;
    font-size:8px!important;
    line-height:1.3!important;
  }

  body.student-area .ead-course-progress-bar{
    display:block!important;
    width:100%!important;
    height:6px!important;
    overflow:hidden!important;
    border-radius:999px!important;
    background:#ebeef3!important;
  }

  body.student-area .ead-course-progress-bar > span{
    display:block!important;
    height:100%!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,#5d4be1,#8d55f2)!important;
  }

  body.student-area .ead-course-footer{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    margin-top:7px!important;
    color:#778194!important;
    font-size:8px!important;
  }

  body.student-area .ead-course-footer b{
    color:#242c3c!important;
    font-size:9px!important;
  }

  /* Garante espaço correto entre seções da home */
  body.student-area .ead-home-grid{
    gap:18px!important;
  }

  body.student-area .ead-home-grid + .student-institutional-banner{
    margin-top:4px!important;
  }

  /* Corrige os cards de estatísticas que ficam sob o header em telas baixas */
  body.student-area .ead-dashboard-hero{
    padding-top:2px!important;
  }

  /* Não deixa qualquer componente da home virar texto minúsculo herdado */
  body.student-area .ead-home-grid a,
  body.student-area .ead-home-grid div,
  body.student-area .ead-courses-section a,
  body.student-area .ead-courses-section div{
    min-width:0;
  }
}

@media(max-width:380px){
  body.student-area .ead-event-item{
    grid-template-columns:36px minmax(0,1fr) auto!important;
    gap:8px!important;
    padding:9px!important;
  }

  body.student-area .ead-event-icon{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
  }

  body.student-area .continue-feature-card{
    padding:12px!important;
  }
}


/* ============================================================
   V29 — AJUSTE EXCLUSIVO DO MENU MOBILE
   Não altera desktop nem conteúdo das páginas.
   ============================================================ */
@media(max-width:700px){

  /* Mais espaço real para que o menu nunca cubra o conteúdo */
  body.student-area .student-app-content,
  body.student-area .ead-app-content,
  body.student-area main.content{
    padding-bottom:
      calc(108px + env(safe-area-inset-bottom))!important;
  }

  /* Barra inferior */
  body.student-area .student-bottom-nav{
    position:fixed!important;
    z-index:1200!important;
    left:8px!important;
    right:8px!important;
    bottom:
      calc(7px + env(safe-area-inset-bottom))!important;

    width:auto!important;
    max-width:none!important;
    min-height:70px!important;

    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:3px!important;

    padding:6px!important;

    border:1px solid rgba(214,219,229,.96)!important;
    border-radius:20px!important;

    background:rgba(255,255,255,.98)!important;
    box-shadow:
      0 12px 38px rgba(15,23,42,.16),
      0 2px 7px rgba(15,23,42,.05)!important;

    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }

  body.student-area .student-bottom-nav > a,
  body.student-area .student-bottom-nav > button{
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    min-height:56px!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;

    margin:0!important;
    padding:5px 2px!important;

    appearance:none!important;
    -webkit-appearance:none!important;
    border:0!important;
    border-radius:15px!important;

    background:transparent!important;
    color:#7e899a!important;

    font-family:inherit!important;
    text-decoration:none!important;
    cursor:pointer!important;

    overflow:hidden!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  body.student-area .student-bottom-nav > a::before,
  body.student-area .student-bottom-nav > button::before{
    display:none!important;
    content:none!important;
  }

  body.student-area .student-bottom-nav > a:active,
  body.student-area .student-bottom-nav > button:active{
    transform:scale(.97)!important;
  }

  /* Ícones */
  body.student-area .student-bottom-nav svg{
    display:block!important;
    width:21px!important;
    height:21px!important;
    min-width:21px!important;
    flex:0 0 21px!important;

    margin:0!important;

    stroke:currentColor!important;
    stroke-width:1.8!important;
  }

  body.student-area .student-bottom-nav svg circle{
    fill:currentColor!important;
    stroke:none!important;
  }

  /* Texto — nunca mais cortado */
  body.student-area .student-bottom-nav > a > span,
  body.student-area .student-bottom-nav > button > span{
    display:block!important;

    width:100%!important;
    max-width:100%!important;
    min-height:12px!important;

    margin:0!important;
    padding:0 1px!important;

    color:inherit!important;
    font-size:7.6px!important;
    font-weight:800!important;
    line-height:1.15!important;
    letter-spacing:-.01em!important;

    text-align:center!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  /* Item ativo */
  body.student-area .student-bottom-nav > a.active,
  body.student-area .student-bottom-nav > button.active{
    color:#5c49e8!important;
    background:#f0edff!important;
    box-shadow:inset 0 0 0 1px #e3dcff!important;
  }

  body.student-area .student-bottom-nav > a.active svg,
  body.student-area .student-bottom-nav > button.active svg{
    color:#5c49e8!important;
  }

  body.student-area .student-bottom-nav > a.active > span,
  body.student-area .student-bottom-nav > button.active > span{
    color:#5c49e8!important;
    font-weight:900!important;
  }

  /* O botão "Mais" continua ativo quando estiver em páginas secundárias */
  body.student-area .student-bottom-nav > button#studentMoreButton{
    font-size:inherit!important;
  }

  /* Cabeçalho: botão hamburger coerente com o menu */
  body.student-area #studentMoreTop{
    border:1px solid #e6e9ef!important;
    background:#f7f8fb!important;
    color:#536074!important;
  }

  body.student-area #studentMoreTop:active{
    background:#efedff!important;
    color:#5c49e8!important;
  }

  /* Gaveta Mais */
  body.student-area .student-more-overlay{
    z-index:1600!important;
  }

  body.student-area .student-more-backdrop{
    background:rgba(10,18,32,.58)!important;
    backdrop-filter:blur(4px)!important;
    -webkit-backdrop-filter:blur(4px)!important;
  }

  body.student-area .student-more-sheet{
    left:8px!important;
    right:8px!important;
    bottom:
      calc(7px + env(safe-area-inset-bottom))!important;

    width:auto!important;
    max-width:none!important;
    max-height:78dvh!important;

    padding:8px 12px 15px!important;

    border:1px solid rgba(221,225,233,.98)!important;
    border-radius:23px!important;

    background:#fff!important;
    box-shadow:0 24px 70px rgba(5,12,28,.30)!important;
  }

  body.student-area .student-sheet-handle{
    width:39px!important;
    height:4px!important;
    margin:2px auto 12px!important;
    background:#d5dae3!important;
  }

  body.student-area .student-sheet-head{
    margin-bottom:10px!important;
  }

  body.student-area .student-sheet-head h2{
    font-size:20px!important;
    line-height:1.15!important;
  }

  body.student-area .student-sheet-profile{
    margin-bottom:11px!important;
    padding:10px!important;
    border-radius:14px!important;
  }

  body.student-area .student-sheet-avatar{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    border-radius:13px!important;
  }

  body.student-area .student-more-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  body.student-area .student-more-grid > a{
    width:100%!important;
    min-width:0!important;
    min-height:88px!important;

    padding:10px!important;

    border:1px solid #e8ebf1!important;
    border-radius:15px!important;

    background:#fff!important;
    box-shadow:none!important;
  }

  body.student-area .student-more-grid > a:active{
    background:#f7f5ff!important;
    transform:scale(.985)!important;
  }

  body.student-area .sheet-action-icon{
    width:34px!important;
    height:34px!important;
    margin-bottom:7px!important;
    border-radius:10px!important;
  }

  body.student-area .sheet-action-icon svg{
    width:18px!important;
    height:18px!important;
  }

  body.student-area .student-more-grid strong{
    color:#20283a!important;
    font-size:10.5px!important;
    line-height:1.2!important;
  }

  body.student-area .student-more-grid small{
    margin-top:2px!important;
    color:#8791a0!important;
    font-size:7.5px!important;
    line-height:1.25!important;
  }

  body.student-area .student-more-grid .sheet-danger{
    background:#fffafa!important;
    border-color:#f5dedd!important;
  }

  body.student-area .student-more-grid .sheet-danger strong{
    color:#b42318!important;
  }
}

/* Em aparelhos muito estreitos, ainda mantém os 5 botões sem cortar */
@media(max-width:360px){
  body.student-area .student-bottom-nav{
    left:5px!important;
    right:5px!important;
    padding:5px 3px!important;
    gap:1px!important;
  }

  body.student-area .student-bottom-nav > a,
  body.student-area .student-bottom-nav > button{
    padding-left:0!important;
    padding-right:0!important;
  }

  body.student-area .student-bottom-nav > a > span,
  body.student-area .student-bottom-nav > button > span{
    font-size:6.8px!important;
  }

  body.student-area .student-more-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* ============================================================
   V30 — EXPLORAR CURSOS MOBILE
   Corrige os cards da página Explorar no celular.
   ============================================================ */
@media(max-width:700px){

  /* Busca */
  body.student-area .explore-search-panel{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 14px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body.student-area .explore-search-panel input{
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    padding:0 14px!important;
    border:1px solid #dde3ec!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#1f2937!important;
    font-size:12px!important;
    box-shadow:0 3px 10px rgba(15,23,42,.03)!important;
  }

  body.student-area .explore-search-panel input::placeholder{
    color:#7f8898!important;
  }

  body.student-area .explore-search-panel .btn{
    width:100%!important;
    min-height:44px!important;
    border-radius:14px!important;
    font-size:12px!important;
    font-weight:900!important;
  }

  /* Grid */
  body.student-area .ead-courses-grid.course-grid-large{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  /* Card do curso em Explorar */
  body.student-area .ead-course-card{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:13px!important;
    border:1px solid #e5e9f1!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 6px 18px rgba(15,23,42,.04)!important;
    text-decoration:none!important;
    overflow:hidden!important;
  }

  body.student-area .ead-course-card-top{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    align-items:flex-start!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    margin-bottom:10px!important;
  }

  body.student-area .ead-course-icon.big{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    border-radius:14px!important;
    display:grid!important;
    place-items:center!important;
    color:#fff!important;
    font-size:11px!important;
    font-weight:900!important;
  }

  body.student-area .ead-course-card-copy{
    min-width:0!important;
    width:100%!important;
  }

  body.student-area .ead-course-card-copy span{
    display:block!important;
    color:#5c4be0!important;
    font-size:8px!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
  }

  body.student-area .ead-course-card-copy strong{
    display:block!important;
    margin:3px 0 4px!important;
    color:#1d2435!important;
    font-size:15px!important;
    line-height:1.25!important;
    font-weight:900!important;
  }

  body.student-area .ead-course-card-copy small{
    display:block!important;
    color:#748094!important;
    font-size:10px!important;
    line-height:1.45!important;
  }

  body.student-area .ead-course-card-stats{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin-top:10px!important;
  }

  body.student-area .ead-course-card-stats > div{
    min-width:0!important;
    padding:9px 6px!important;
    border-radius:12px!important;
    background:#f7f8fc!important;
    text-align:center!important;
    border:1px solid #edf0f6!important;
  }

  body.student-area .ead-course-card-stats b{
    display:block!important;
    color:#20293a!important;
    font-size:18px!important;
    line-height:1!important;
    font-weight:900!important;
  }

  body.student-area .ead-course-card-stats span{
    display:block!important;
    margin-top:4px!important;
    color:#7d8797!important;
    font-size:8px!important;
    font-weight:800!important;
    line-height:1.2!important;
    text-transform:uppercase!important;
    letter-spacing:.03em!important;
  }

  body.student-area .empty-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:14px!important;
    border-radius:16px!important;
  }
}

@media(max-width:380px){
  body.student-area .ead-course-card{
    padding:12px!important;
  }

  body.student-area .ead-course-card-stats{
    gap:6px!important;
  }

  body.student-area .ead-course-card-stats b{
    font-size:16px!important;
  }

  body.student-area .ead-course-card-copy strong{
    font-size:14px!important;
  }
}


/* ============================================================
   V31 — KIT GLOBAL MOBILE DA ÁREA DO ALUNO
   Corrige componentes que ainda dependiam dos estilos desktop.
   ============================================================ */
@media(max-width:700px){

  /* =========================================================
     FUNDAMENTOS
     ========================================================= */
  body.student-area{
    --mobile-card:#ffffff;
    --mobile-line:#e5e9f0;
    --mobile-muted:#758093;
    --mobile-text:#172033;
    --mobile-soft:#f7f8fb;
  }

  body.student-area .subject-back,
  body.student-area .auth-back{
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    margin:0 0 12px!important;
    color:#52617a!important;
    font-size:9px!important;
    line-height:1.2!important;
    font-weight:900!important;
    text-decoration:none!important;
  }

  body.student-area .eyebrow{
    display:block!important;
    color:var(--primary)!important;
    font-size:8px!important;
    line-height:1.2!important;
    font-weight:900!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
  }

  body.student-area .panel-head{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin-bottom:12px!important;
  }

  body.student-area .panel-head > div{
    min-width:0!important;
  }

  body.student-area .panel-head h2,
  body.student-area .panel-head h3{
    margin:0 0 3px!important;
    color:var(--mobile-text)!important;
    font-size:18px!important;
    line-height:1.2!important;
    font-weight:900!important;
  }

  body.student-area .panel-head p{
    margin:0!important;
    color:var(--mobile-muted)!important;
    font-size:9px!important;
    line-height:1.4!important;
  }

  body.student-area .progress-bar,
  body.student-area .big-progress{
    display:block!important;
    width:100%!important;
    height:7px!important;
    overflow:hidden!important;
    border-radius:999px!important;
    background:#e9edf3!important;
  }

  body.student-area .progress-bar > span,
  body.student-area .big-progress > span{
    display:block!important;
    height:100%!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,#5c4ce4,#8c5cf2)!important;
  }

  /* =========================================================
     DISCIPLINA / CURSO
     ========================================================= */
  body.student-area .subject-hero-banner{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 12px!important;
  }

  body.student-area .subject-hero-banner-box{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    padding:17px!important;
    border:0!important;
    border-radius:18px!important;
    background:
      radial-gradient(circle at top right,rgba(255,255,255,.17),transparent 32%),
      linear-gradient(135deg,#4c4fe0,#8647f5)!important;
    color:#fff!important;
    box-shadow:0 12px 28px rgba(79,64,192,.17)!important;
  }

  body.student-area .subject-hero-main{
    min-width:0!important;
  }

  body.student-area .subject-hero-main h2{
    margin:0 0 7px!important;
    color:#fff!important;
    font-size:24px!important;
    line-height:1.12!important;
    font-weight:900!important;
    letter-spacing:-.03em!important;
  }

  body.student-area .subject-hero-main p{
    margin:0 0 4px!important;
    color:#efecff!important;
    font-size:11px!important;
    line-height:1.4!important;
  }

  body.student-area .subject-hero-main small{
    display:block!important;
    color:#dcd8fb!important;
    font-size:9px!important;
    line-height:1.4!important;
  }

  body.student-area .subject-hero-art{
    display:none!important;
  }

  body.student-area .subject-tabs{
    display:flex!important;
    align-items:center!important;
    gap:15px!important;
    width:calc(100% + 24px)!important;
    max-width:none!important;
    margin:0 -12px 12px!important;
    padding:0 12px 8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    border-bottom:1px solid #e5e9ef!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }

  body.student-area .subject-tabs::-webkit-scrollbar{
    display:none!important;
  }

  body.student-area .subject-tabs a{
    flex:0 0 auto!important;
    padding:8px 0!important;
    color:#647086!important;
    font-size:9px!important;
    line-height:1.2!important;
    font-weight:800!important;
    text-decoration:none!important;
    border-bottom:2px solid transparent!important;
  }

  body.student-area .subject-tabs a.active{
    color:#5c49e8!important;
    border-bottom-color:#5c49e8!important;
  }

  body.student-area .course-detail-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    width:100%!important;
  }

  body.student-area .course-detail-main,
  body.student-area .course-detail-side{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  body.student-area .course-progress-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin:0 0 7px!important;
    color:#1c2536!important;
    font-size:10px!important;
  }

  body.student-area .course-progress-head strong{
    font-size:11px!important;
  }

  body.student-area .course-progress-head span{
    color:#5c49e8!important;
    font-size:10px!important;
    font-weight:900!important;
  }

  body.student-area .course-content-panel{
    display:block!important;
    width:100%!important;
    padding:10px!important;
    margin-top:12px!important;
    border:1px solid var(--mobile-line)!important;
    border-radius:16px!important;
    background:var(--mobile-card)!important;
    box-shadow:0 6px 18px rgba(15,23,42,.035)!important;
  }

  body.student-area .course-module-group{
    display:block!important;
    width:100%!important;
    padding:12px 2px!important;
    border-bottom:1px solid #edf0f4!important;
    background:transparent!important;
  }

  body.student-area .course-module-group:first-child{
    padding-top:2px!important;
  }

  body.student-area .course-module-group:last-child{
    padding-bottom:2px!important;
    border-bottom:0!important;
  }

  body.student-area .course-module-group.locked{
    opacity:.72!important;
  }

  body.student-area .course-module-group-head{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:8px!important;
    width:100%!important;
    margin-bottom:8px!important;
  }

  body.student-area .course-module-group-head > div{
    min-width:0!important;
  }

  body.student-area .course-module-group-head strong{
    display:block!important;
    color:#1b2435!important;
    font-size:12px!important;
    line-height:1.35!important;
    font-weight:900!important;
  }

  body.student-area .course-module-group-head small{
    display:block!important;
    margin-top:3px!important;
    color:#788397!important;
    font-size:8px!important;
    line-height:1.35!important;
  }

  body.student-area .course-row-action,
  body.student-area .course-row-lock{
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:27px!important;
    padding:6px 8px!important;
    border-radius:999px!important;
    font-size:8px!important;
    line-height:1!important;
    font-weight:900!important;
    text-decoration:none!important;
  }

  body.student-area .course-row-action{
    background:#eeebff!important;
    color:#5946e1!important;
  }

  body.student-area .course-row-lock{
    background:#f0f2f5!important;
    color:#7d8795!important;
  }

  body.student-area .course-lesson-line{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    gap:8px!important;
    width:100%!important;
  }

  body.student-area .course-lesson-meta{
    min-width:0!important;
  }

  body.student-area .course-lesson-meta small{
    display:block!important;
    margin-top:6px!important;
    color:#69758a!important;
    font-size:9px!important;
    line-height:1.45!important;
  }

  body.student-area .course-lesson-duration{
    color:#4b5568!important;
    font-size:9px!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }

  body.student-area .progress-pill{
    display:inline-flex!important;
    align-items:center!important;
    min-height:24px!important;
    padding:5px 7px!important;
    border-radius:999px!important;
    font-size:8px!important;
    line-height:1!important;
    font-weight:900!important;
  }

  body.student-area .progress-not_started{
    background:#f4f5f7!important;
    color:#697386!important;
  }

  body.student-area .progress-in_progress{
    background:#fff3d6!important;
    color:#a56800!important;
  }

  body.student-area .progress-completed{
    background:#e5f8ee!important;
    color:#087443!important;
  }

  body.student-area .progress-locked{
    background:#eef0f4!important;
    color:#7d8794!important;
  }

  /* Acompanhamento e laterais */
  body.student-area .course-detail-side{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }

  body.student-area .course-side-card{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:14px!important;
    border:1px solid var(--mobile-line)!important;
    border-radius:16px!important;
    background:var(--mobile-card)!important;
    box-shadow:0 6px 18px rgba(15,23,42,.035)!important;
  }

  body.student-area .course-side-card h3{
    margin:0 0 10px!important;
    color:#172033!important;
    font-size:20px!important;
    line-height:1.2!important;
    font-weight:900!important;
  }

  body.student-area .course-side-card p{
    margin:0!important;
    color:#69758a!important;
    font-size:10px!important;
    line-height:1.55!important;
  }

  body.student-area .course-side-card > small{
    display:block!important;
    margin-top:8px!important;
    color:#8791a0!important;
    font-size:8px!important;
    line-height:1.4!important;
  }

  body.student-area .course-side-metric{
    display:block!important;
    padding:9px 0!important;
    border-bottom:1px solid #edf0f4!important;
  }

  body.student-area .course-side-metric:last-of-type{
    border-bottom:0!important;
  }

  body.student-area .course-side-metric span{
    display:block!important;
    color:#7d8798!important;
    font-size:8px!important;
  }

  body.student-area .course-side-metric strong{
    display:block!important;
    margin-top:3px!important;
    color:#1b2435!important;
    font-size:14px!important;
    line-height:1.3!important;
    font-weight:900!important;
  }

  body.student-area .btn-full{
    display:flex!important;
    width:100%!important;
    justify-content:center!important;
    margin-top:10px!important;
  }

  /* =========================================================
     AULAS
     ========================================================= */
  body.student-area .lesson-subject-group{
    width:100%!important;
    overflow:hidden!important;
    border:1px solid var(--mobile-line)!important;
    border-radius:16px!important;
    background:#fff!important;
  }

  body.student-area .lesson-subject-header{
    display:flex!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding:12px!important;
    background:#fafbfc!important;
    border-bottom:1px solid #edf0f4!important;
  }

  body.student-area .lesson-stack{
    display:grid!important;
    gap:0!important;
  }

  body.student-area .lesson-mini,
  body.student-area .lesson-mini-rich{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:9px!important;
    width:100%!important;
    padding:11px!important;
    border-bottom:1px solid #edf0f4!important;
    background:#fff!important;
    text-decoration:none!important;
  }

  body.student-area .lesson-mini:last-child{
    border-bottom:0!important;
  }

  body.student-area .lesson-mini-number{
    width:34px!important;
    height:34px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:10px!important;
    background:#f0edff!important;
    color:#5d4ce2!important;
    font-size:10px!important;
    font-weight:900!important;
  }

  body.student-area .lesson-mini-copy{
    min-width:0!important;
  }

  body.student-area .lesson-mini-copy strong{
    display:block!important;
    color:#1c2536!important;
    font-size:11px!important;
    line-height:1.35!important;
  }

  body.student-area .lesson-mini-copy small{
    display:block!important;
    margin-top:3px!important;
    color:#7c8798!important;
    font-size:8px!important;
  }

  body.student-area .lesson-mini-progress{
    margin-top:7px!important;
  }

  body.student-area .lesson-mini-lock{
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    margin-top:6px!important;
    color:#8a93a0!important;
    font-size:8px!important;
  }

  /* Player e transcrição */
  body.student-area .lesson-player-card,
  body.student-area .lesson-transcript-card{
    border:1px solid var(--mobile-line)!important;
    background:#fff!important;
    box-shadow:0 6px 18px rgba(15,23,42,.035)!important;
  }

  body.student-area .lesson-transcript-head{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:8px!important;
    margin-bottom:8px!important;
  }

  body.student-area .lesson-transcript-head h3{
    margin:0!important;
    color:#172033!important;
    font-size:19px!important;
    font-weight:900!important;
  }

  /* Cards de recursos */
  body.student-area .lesson-info-card{
    border:1px solid var(--mobile-line)!important;
    background:#fff!important;
    box-shadow:0 5px 15px rgba(15,23,42,.03)!important;
  }

  body.student-area .lesson-info-card.next{
    border-color:#dcd5ff!important;
    background:#faf9ff!important;
  }

  body.student-area .lesson-section-title{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:9px!important;
    margin-bottom:10px!important;
  }

  body.student-area .lesson-section-title > div{
    min-width:0!important;
  }

  body.student-area .lesson-section-title h3{
    margin:3px 0 2px!important;
    color:#172033!important;
    font-size:17px!important;
    line-height:1.25!important;
  }

  body.student-area .lesson-section-title p{
    margin:0!important;
    color:#7b8697!important;
    font-size:8px!important;
    line-height:1.4!important;
  }

  body.student-area .lesson-section-title > span{
    flex:0 0 auto!important;
    color:#5b49e0!important;
    font-size:8px!important;
    font-weight:900!important;
  }

  /* =========================================================
     MÓDULOS E SUBMÓDULOS
     ========================================================= */
  body.student-area .student-module-list,
  body.student-area .nested-module-list{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }

  body.student-area .student-module-card{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 18px!important;
    align-items:center!important;
    gap:9px!important;
    width:100%!important;
    padding:11px!important;
    border:1px solid var(--mobile-line)!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 5px 16px rgba(15,23,42,.03)!important;
  }

  body.student-area .student-module-index{
    width:34px!important;
    height:34px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:10px!important;
    background:#efecff!important;
    color:#5c49e8!important;
    font-size:10px!important;
    font-weight:900!important;
  }

  body.student-area .student-module-copy{
    min-width:0!important;
  }

  body.student-area .student-module-top{
    display:block!important;
  }

  body.student-area .student-module-top strong{
    display:block!important;
    margin-bottom:5px!important;
    color:#1d2637!important;
    font-size:11px!important;
    line-height:1.35!important;
  }

  body.student-area .student-module-copy p{
    margin:5px 0!important;
    color:#7b8596!important;
    font-size:8px!important;
    line-height:1.4!important;
  }

  body.student-area .student-module-meta{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:5px!important;
  }

  body.student-area .student-module-meta span{
    padding:4px 6px!important;
    border-radius:999px!important;
    background:#f5f6f9!important;
    color:#707b8d!important;
    font-size:7px!important;
    font-weight:800!important;
  }

  body.student-area .student-module-arrow{
    color:#9ca5b2!important;
    font-size:20px!important;
  }

  body.student-area .nested-module-card{
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr)!important;
    gap:8px!important;
    width:100%!important;
    padding:10px!important;
    border:1px solid #e8ebf0!important;
    border-radius:14px!important;
    background:#fbfcfd!important;
  }

  body.student-area .nested-module-number{
    width:30px!important;
    height:30px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:9px!important;
    background:#f0edff!important;
    color:#5c49e8!important;
    font-size:9px!important;
    font-weight:900!important;
  }

  body.student-area .nested-module-copy strong{
    color:#1e2737!important;
    font-size:10px!important;
  }

  body.student-area .nested-module-copy small{
    display:block!important;
    margin-top:3px!important;
    color:#7c8797!important;
    font-size:8px!important;
  }

  body.student-area .module-intro,
  body.student-area .module-complete-bar,
  body.student-area .module-auto-next{
    width:100%!important;
    padding:12px!important;
    border:1px solid var(--mobile-line)!important;
    border-radius:15px!important;
    background:#fff!important;
  }

  /* =========================================================
     AVALIAÇÕES / ATIVIDADES
     ========================================================= */
  body.student-area .student-assessment-list{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }

  body.student-area .student-assessment-card{
    display:block!important;
    width:100%!important;
    padding:12px!important;
    border:1px solid var(--mobile-line)!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 5px 16px rgba(15,23,42,.03)!important;
  }

  body.student-area .student-assessment-copy strong{
    display:block!important;
    color:#1c2536!important;
    font-size:11px!important;
  }

  body.student-area .student-assessment-copy small{
    display:block!important;
    margin-top:4px!important;
    color:#7b8697!important;
    font-size:8px!important;
  }

  body.student-area .student-question-form,
  body.student-area .student-upload-form{
    width:100%!important;
  }

  body.student-area .student-question-card,
  body.student-area .student-submission-card,
  body.student-area .student-feedback-box,
  body.student-area .assessment-score-box,
  body.student-area .attempt-history{
    width:100%!important;
    padding:12px!important;
    border:1px solid var(--mobile-line)!important;
    border-radius:15px!important;
    background:#fff!important;
  }

  body.student-area .answer-option{
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr)!important;
    align-items:flex-start!important;
    gap:7px!important;
    width:100%!important;
    padding:9px!important;
    margin-top:6px!important;
    border:1px solid #e7eaf0!important;
    border-radius:12px!important;
    background:#fafbfc!important;
  }

  /* =========================================================
     MATERIAIS
     ========================================================= */
  body.student-area .lesson-content-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
  }

  body.student-area .content-block{
    width:100%!important;
    padding:12px!important;
    border:1px solid var(--mobile-line)!important;
    border-radius:15px!important;
    background:#fff!important;
  }

  body.student-area .content-block h3{
    margin:0 0 7px!important;
    color:#172033!important;
    font-size:14px!important;
  }

  body.student-area .content-block p{
    margin:0!important;
    color:#69758a!important;
    font-size:10px!important;
    line-height:1.55!important;
  }

  body.student-area .materials-section{
    width:100%!important;
    margin-top:12px!important;
    padding:12px!important;
    border:1px solid var(--mobile-line)!important;
    border-radius:15px!important;
    background:#fff!important;
  }

  body.student-area .materials-section h3{
    margin:0 0 10px!important;
    color:#172033!important;
    font-size:15px!important;
  }

  body.student-area .materials-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:7px!important;
  }

  body.student-area .material-card{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    align-items:center!important;
    gap:9px!important;
    width:100%!important;
    padding:9px!important;
    border:1px solid #e7eaf0!important;
    border-radius:12px!important;
    background:#fafbfc!important;
  }

  body.student-area .file-icon{
    width:38px!important;
    height:38px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:10px!important;
    background:#eeebff!important;
    color:#5b49e0!important;
    font-size:8px!important;
    font-weight:900!important;
  }

  body.student-area .material-card strong{
    display:block!important;
    color:#1e2738!important;
    font-size:10px!important;
  }

  body.student-area .material-card small{
    display:block!important;
    margin-top:2px!important;
    color:#7e8998!important;
    font-size:8px!important;
  }

  /* =========================================================
     CALENDÁRIO / FREQUÊNCIA / PROGRESSO
     ========================================================= */
  body.student-area .attendance-summary-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-bottom:10px!important;
  }

  body.student-area .attendance-summary-card,
  body.student-area .subject-progress-card,
  body.student-area .calendar-item,
  body.student-area .notification-body{
    width:100%!important;
    padding:11px!important;
    border:1px solid var(--mobile-line)!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 4px 14px rgba(15,23,42,.025)!important;
  }

  body.student-area .attendance-summary-card strong{
    display:block!important;
    color:#172033!important;
    font-size:20px!important;
  }

  body.student-area .attendance-summary-card span{
    display:block!important;
    margin-top:2px!important;
    color:#7d8796!important;
    font-size:8px!important;
  }

  body.student-area .calendar-list,
  body.student-area .notification-list,
  body.student-area .progress-subjects{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }

  body.student-area .calendar-item{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:9px!important;
    align-items:center!important;
  }

  body.student-area .calendar-date{
    width:48px!important;
    padding:7px 4px!important;
    border-radius:11px!important;
    background:#efecff!important;
    color:#5c49e8!important;
    text-align:center!important;
  }

  body.student-area .calendar-content{
    min-width:0!important;
  }

  body.student-area .calendar-content strong{
    display:block!important;
    color:#1d2637!important;
    font-size:10px!important;
  }

  body.student-area .calendar-content small{
    display:block!important;
    margin-top:2px!important;
    color:#7c8798!important;
    font-size:8px!important;
  }

  body.student-area .notification-list{
    gap:7px!important;
  }

  body.student-area .notification-head{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:8px!important;
  }

  body.student-area .notification-icon{
    width:34px!important;
    height:34px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:10px!important;
    background:#efecff!important;
    color:#5c49e8!important;
  }

  /* =========================================================
     PERFIL / INSTITUCIONAL
     ========================================================= */
  body.student-area .self-profile-panel{
    width:100%!important;
    max-width:100%!important;
  }

  body.student-area .self-profile-password-box{
    padding:12px!important;
    border-radius:14px!important;
  }

  body.student-area .institutional-reading-card,
  body.student-area .institutional-highlight-card,
  body.student-area .institutional-values-grid > div{
    border:1px solid var(--mobile-line)!important;
    background:#fff!important;
  }

  /* =========================================================
     EVITA LAYOUT "TEXTO SOLTO"
     ========================================================= */
  body.student-area .course-content-panel > *,
  body.student-area .course-side-card > *,
  body.student-area .lesson-player-card > *,
  body.student-area .lesson-transcript-card > *,
  body.student-area .student-module-card > *,
  body.student-area .student-assessment-card > *{
    max-width:100%!important;
    min-width:0!important;
  }
}

@media(max-width:380px){
  body.student-area .course-module-group-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
  }

  body.student-area .course-side-card h3{
    font-size:18px!important;
  }

  body.student-area .attendance-summary-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}


/* ============================================================
   V32 — BOTÕES MAIORES NA ÁREA DO ALUNO MOBILE
   Foco em ações principais: abrir curso, aula, continuar, buscar etc.
   ============================================================ */
@media(max-width:700px){

  /* Botão padrão mobile */
  body.student-area .btn{
    min-height:48px!important;
    padding:12px 16px!important;
    border-radius:14px!important;
    font-size:12px!important;
    line-height:1.15!important;
    font-weight:900!important;
  }

  body.student-area .btn-small{
    min-height:42px!important;
    padding:10px 13px!important;
    font-size:10px!important;
    border-radius:12px!important;
  }

  /* Abrir curso */
  body.student-area .student-course-open{
    min-height:58px!important;
    padding:10px 14px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    color:#5b49e0!important;
    font-size:12px!important;
    font-weight:900!important;
  }

  body.student-area .student-course-open span{
    font-size:12px!important;
    font-weight:900!important;
  }

  body.student-area .student-course-open strong{
    font-size:24px!important;
    line-height:1!important;
  }

  /* Cards de curso inteiros ficam mais fáceis de tocar */
  body.student-area .student-course-main-card,
  body.student-area .ead-course-tile,
  body.student-area .ead-course-card,
  body.student-area .course-subject-card{
    min-height:64px!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  body.student-area .student-course-main-card:active,
  body.student-area .ead-course-tile:active,
  body.student-area .ead-course-card:active,
  body.student-area .course-subject-card:active{
    transform:scale(.992)!important;
  }

  /* Botões dentro da disciplina */
  body.student-area .course-row-action,
  body.student-area .course-row-lock{
    min-height:38px!important;
    padding:10px 13px!important;
    border-radius:12px!important;
    font-size:10px!important;
    line-height:1!important;
  }

  body.student-area .course-row-action{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:72px!important;
  }

  /* Continuar assistindo */
  body.student-area .continue-feature-button,
  body.student-area a.continue-feature-button{
    min-height:50px!important;
    padding:12px 15px!important;
    border-radius:14px!important;
    font-size:12px!important;
  }

  body.student-area .continue-feature-button span{
    font-size:13px!important;
  }

  /* Botões da aula */
  body.student-area .lesson-action{
    width:100%!important;
  }

  body.student-area .lesson-action .btn,
  body.student-area .lesson-action button{
    width:100%!important;
    min-height:52px!important;
    padding:13px 16px!important;
    border-radius:14px!important;
    font-size:13px!important;
    font-weight:900!important;
  }

  /* Cards de recursos viram botões de ação grandes */
  body.student-area .lesson-info-card{
    min-height:76px!important;
    padding:15px!important;
  }

  body.student-area .lesson-info-card strong{
    font-size:15px!important;
  }

  body.student-area .lesson-info-card small{
    font-size:10px!important;
  }

  body.student-area .lesson-info-card.next{
    border-width:2px!important;
  }

  /* Módulos */
  body.student-area .student-module-card{
    min-height:76px!important;
    padding:13px!important;
  }

  body.student-area .student-module-arrow{
    font-size:26px!important;
  }

  /* Atividades */
  body.student-area .student-assessment-card{
    min-height:70px!important;
    padding:14px!important;
  }

  /* Buscar */
  body.student-area .explore-search-panel .btn{
    min-height:50px!important;
    padding:12px 16px!important;
    font-size:12px!important;
    border-radius:14px!important;
  }

  body.student-area .explore-search-panel input{
    min-height:50px!important;
    font-size:13px!important;
  }

  /* Acompanhamento */
  body.student-area .course-side-card .btn,
  body.student-area .btn-full{
    width:100%!important;
    min-height:50px!important;
    padding:12px 16px!important;
    border-radius:14px!important;
    font-size:12px!important;
  }

  /* Certificados */
  body.student-area .certificate-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }

  body.student-area .certificate-actions .btn{
    width:100%!important;
    min-height:50px!important;
  }

  body.student-area .certificate-list-download{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    border-radius:12px!important;
    font-size:16px!important;
  }

  /* Perfil / formulários */
  body.student-area .self-profile-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }

  body.student-area .self-profile-actions .btn{
    width:100%!important;
    min-height:50px!important;
  }

  /* Mais opções */
  body.student-area .student-more-grid > a{
    min-height:98px!important;
    padding:12px!important;
  }

  body.student-area .student-more-grid strong{
    font-size:11px!important;
  }

  /* CTA de princípio institucional */
  body.student-area .institutional-back-eaad{
    width:100%!important;
    min-height:50px!important;
    justify-content:center!important;
  }
}

@media(max-width:380px){
  body.student-area .btn{
    min-height:46px!important;
  }

  body.student-area .student-course-open{
    min-height:54px!important;
  }
}


/* V33 — Financeiro do Aluno */
.student-finance-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:24px;border-radius:22px;background:linear-gradient(135deg,#17213c,#4b43bd);color:#fff;box-shadow:0 18px 42px rgba(29,35,76,.16)}
.student-finance-hero h2{margin:5px 0 4px;font-size:34px;color:#fff}.student-finance-hero p{margin:0;color:#d9dff0}.student-finance-hero .eyebrow{color:#bfc9ff}
.student-finance-hero-total{text-align:right}.student-finance-hero-total small,.student-finance-hero-total strong{display:block}.student-finance-hero-total small{color:#cad1e6}.student-finance-hero-total strong{margin-top:4px;font-size:28px}
.student-finance-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.student-finance-stats>div{padding:16px;border:1px solid #e7e9f0;border-radius:16px;background:#fff}.student-finance-stats span,.student-finance-stats strong,.student-finance-stats small{display:block}.student-finance-stats span{font-size:10px;color:#7b8494;text-transform:uppercase;letter-spacing:.05em}.student-finance-stats strong{margin-top:5px;font-size:20px;color:#20283a}.student-finance-stats small{margin-top:3px;color:#8c94a2;font-size:10px}
.student-finance-list{display:grid;gap:10px}.student-finance-invoice-card{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid #e7eaf0;border-radius:15px;background:#fff}.student-finance-invoice-card.is-overdue{border-color:#f2c7c4;background:#fffafa}.student-finance-type{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#eeebff;color:#5d49e2;font-weight:900}.student-finance-type.enrollment{background:#e6f7ef;color:#087443}.student-finance-type.manual{background:#f3f4f6;color:#526072}.student-finance-invoice-copy span,.student-finance-invoice-copy strong,.student-finance-invoice-copy small{display:block}.student-finance-invoice-copy span{color:#5c49e8;font-size:9px;font-weight:900;text-transform:uppercase}.student-finance-invoice-copy strong{margin-top:2px;color:#1c2536}.student-finance-invoice-copy small{margin-top:3px;color:#7b8698}.student-finance-invoice-value{text-align:right}.student-finance-invoice-value strong{display:block;margin-bottom:4px;color:#1d2637;font-size:16px}
.student-invoice-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:22px;border-radius:20px;background:linear-gradient(135deg,#fff,#f6f4ff);border:1px solid #e5e0ff}.student-invoice-hero span,.student-invoice-hero h2,.student-invoice-hero p{display:block}.student-invoice-hero>div:first-child>span{color:#5d49e2;font-size:9px;font-weight:900}.student-invoice-hero h2{margin:5px 0 3px}.student-invoice-hero p{margin:0;color:#788295}.student-invoice-balance{text-align:right}.student-invoice-balance small,.student-invoice-balance strong{display:block}.student-invoice-balance strong{margin:3px 0 5px;font-size:26px}.student-invoice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.student-invoice-values{display:grid;gap:0}.student-invoice-values>div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f4}.student-invoice-values>div:last-child{border-bottom:0}.student-invoice-values .total{font-size:16px;font-weight:900}.student-pix-box{display:grid;gap:10px}.student-pix-box textarea{width:100%;resize:none}.student-payment-list{display:grid}.student-payment-list>div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f4}.student-payment-list>div:last-child{border-bottom:0}
@media(max-width:900px){.student-finance-stats{grid-template-columns:1fr 1fr}.student-invoice-grid{grid-template-columns:1fr}}
@media(max-width:700px){.student-finance-hero{padding:17px;border-radius:18px;align-items:flex-start}.student-finance-hero h2{font-size:24px}.student-finance-hero-total strong{font-size:19px}.student-finance-stats{grid-template-columns:1fr 1fr;gap:8px}.student-finance-stats>div{padding:11px}.student-finance-stats strong{font-size:16px}.student-finance-invoice-card{grid-template-columns:40px minmax(0,1fr);gap:9px;padding:11px}.student-finance-type{width:40px;height:40px}.student-finance-invoice-value{grid-column:2;display:flex;align-items:center;justify-content:space-between;text-align:left}.student-finance-invoice-value strong{margin:0;font-size:14px}.student-invoice-hero{display:block;padding:16px}.student-invoice-balance{text-align:left;margin-top:12px;padding-top:12px;border-top:1px solid #e7e2f7}.student-invoice-balance strong{font-size:22px}.student-pix-box .btn{width:100%}}


/* V33 finance status badges */
.student-area .finance-status-open{background:#eef1ff!important;color:#3758f9!important}
.student-area .finance-status-partial{background:#fff4d8!important;color:#9a6700!important}
.student-area .finance-status-paid{background:#e7f8ef!important;color:#087443!important}
.student-area .finance-status-overdue{background:#feeceb!important;color:#b42318!important}
.student-area .finance-status-cancelled{background:#f0f2f5!important;color:#667085!important}

/* V42 - QR Code PIX */
.pix-payment-layout{display:grid;grid-template-columns:minmax(230px,320px) minmax(0,1fr);gap:18px;align-items:stretch}
.pix-qr-card,.pix-copy-card{padding:16px;border:1px solid #e5e9f0;border-radius:16px;background:#fafbfc}
.pix-qr-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.pix-qr-card strong{margin-top:10px;font-size:12px}
.pix-qr-card small{margin-top:4px;color:#778195}
.pix-qr-target{width:min(100%,280px);aspect-ratio:1/1;padding:10px;background:#fff;border:1px solid #e3e7ed;border-radius:14px;display:grid;place-items:center}
.pix-qr-svg{display:block;width:100%;height:100%}
.pix-copy-card textarea{width:100%;font:11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}
.pix-copy-card .btn{margin-top:10px}
.pix-security-note{display:block;margin-top:10px;color:#7f8997;font-size:9px;line-height:1.4}
.pix-qr-error{padding:14px;text-align:center;color:#a3261b;font-size:10px}
@media(max-width:720px){.pix-payment-layout{grid-template-columns:1fr}.pix-qr-target{width:min(100%,300px)}}


/* V56 — apresentação do curso e chats */
.student-course-presentation,.student-course-materials,.student-course-chat-entry{
    margin-top:16px
}
.student-course-video{
    position:relative;overflow:hidden;
    width:100%;aspect-ratio:16/9;
    border-radius:18px;background:#0a1020
}
.student-course-video video,.student-course-video iframe{
    width:100%;height:100%;border:0;display:block
}
.student-course-file-grid{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px
}
.student-course-file-grid a{
    display:grid;grid-template-columns:40px minmax(0,1fr) auto;
    gap:10px;align-items:center;padding:11px;
    border:1px solid #e7ebf2;border-radius:14px;background:#fff
}
.student-course-file-icon{
    width:38px;height:38px;border-radius:11px;
    display:grid;place-items:center;background:#eef1ff;
    color:var(--primary);font-size:8px;font-weight:900
}
.student-course-file-grid strong,.student-course-file-grid small{display:block}
.student-course-file-grid strong{font-size:10px}
.student-course-file-grid small{margin-top:3px;color:#7c8796;font-size:8px}
.student-course-chat-classes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.student-course-chat-card{
    display:grid;grid-template-columns:38px minmax(0,1fr) auto;
    gap:10px;align-items:center;padding:12px;
    border:1px solid #e6eaf1;border-radius:14px;background:#fff
}
.student-course-chat-card>span{
    width:38px;height:38px;display:grid;place-items:center;
    border-radius:11px;background:#eef1ff
}
.student-course-chat-card strong,.student-course-chat-card small{display:block}
.student-course-chat-card strong{font-size:10px}
.student-course-chat-card small{margin-top:3px;color:#7b8796;font-size:8px}
.student-chat-hero,.teacher-chat-hero{
    padding:20px;margin-bottom:15px;border-radius:18px;
    background:linear-gradient(135deg,var(--school-sidebar),var(--primary));color:#fff
}
.student-chat-hero h2,.teacher-chat-hero h2{margin:7px 0 5px;font-size:25px}
.student-chat-hero p,.teacher-chat-hero p{margin:0;color:rgba(255,255,255,.72)}
.student-chat-class-grid,.teacher-chat-class-grid{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px
}
.student-chat-class-card,.teacher-chat-class-card{
    display:grid;grid-template-columns:46px minmax(0,1fr) auto;
    gap:12px;align-items:center;padding:16px;
    border:1px solid #e3e8f0;border-radius:17px;background:#fff;
    box-shadow:0 8px 24px rgba(20,30,50,.04)
}
.student-chat-class-card>span,.teacher-chat-class-card>span{
    width:44px;height:44px;border-radius:13px;
    display:grid;place-items:center;background:#eef1ff;font-size:18px
}
.student-chat-class-card small,.student-chat-class-card strong,.student-chat-class-card p,
.teacher-chat-class-card small,.teacher-chat-class-card strong,.teacher-chat-class-card p{
    display:block
}
.student-chat-class-card small,.teacher-chat-class-card small{
    color:var(--primary);font-size:8px;font-weight:900
}
.student-chat-class-card strong,.teacher-chat-class-card strong{
    margin-top:3px;font-size:11px
}
.student-chat-class-card p,.teacher-chat-class-card p{
    margin:3px 0 0;color:#7b8796;font-size:8px
}
.student-chat-class-card>b,.teacher-chat-class-card>b{
    color:#637187;font-size:9px
}
@media(max-width:700px){
    .student-course-file-grid,.student-course-chat-classes,
    .student-chat-class-grid,.teacher-chat-class-grid{
        grid-template-columns:1fr
    }
}


/* V58 — vídeo introdutório da disciplina */
.student-subject-intro{
    display:grid;
    grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
    gap:18px;
    align-items:center;
    margin:18px 0;
    padding:20px;
    border:1px solid #e2e7f0;
    border-radius:20px;
    background:linear-gradient(145deg,#fff,#f8faff);
    box-shadow:0 12px 32px rgba(20,30,55,.05)
}
.student-subject-intro-copy h3{
    margin:8px 0 7px;
    font-size:23px;
    line-height:1.08
}
.student-subject-intro-copy p{
    margin:0;
    color:#6f7b8d;
    line-height:1.65
}
.student-subject-intro-teacher{
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid #e8ebf1
}
.student-subject-intro-teacher span,
.student-subject-intro-teacher strong{display:block}
.student-subject-intro-teacher span{
    color:#7b8796;
    font-size:8px;
    text-transform:uppercase;
    font-weight:900
}
.student-subject-intro-teacher strong{margin-top:3px;font-size:10px}
.student-subject-intro-video{
    position:relative;
    overflow:hidden;
    width:100%;
    aspect-ratio:16/9;
    border-radius:17px;
    background:#0a1020;
    box-shadow:0 18px 38px rgba(12,18,32,.16)
}
.student-subject-intro-video video,
.student-subject-intro-video iframe{
    width:100%;height:100%;border:0;display:block
}
.student-subject-intro-summary{
    grid-column:1/-1;
    padding:11px 13px;
    border:1px solid #e6eaf1;
    border-radius:13px;
    background:#fff
}
.student-subject-intro-summary summary{
    cursor:pointer;
    color:var(--primary);
    font-size:9px;
    font-weight:900
}
.student-subject-intro-summary div{
    margin-top:10px;
    color:#687487;
    font-size:9px;
    line-height:1.7
}
@media(max-width:850px){
    .student-subject-intro{grid-template-columns:1fr}
}


/* =========================================================
   V59 — MENU DO ALUNO PADRONIZADO COM ADMIN
   ========================================================= */
.student-v59-shell{
    grid-template-columns:292px minmax(0,1fr);
}

.student-v59-sidebar{
    padding:16px 14px 14px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:linear-gradient(180deg,#0f1728,#111d32 58%,#10213a)!important;
}

.student-v59-brand{
    padding:12px!important;
}

.student-v59-nav{
    margin-top:14px!important;
}

.student-v59-sidebar-footer{
    margin-top:18px!important;
}

.student-v59-content{
    min-width:0;
}

.student-v59-topbar{
    align-items:center!important;
}

.student-v59-topbar .ead-search-form{
    min-width:270px;
}

.student-v59-topbar .school-topbar-actions{
    flex-wrap:wrap;
}

.student-v59-more-sections{
    display:grid;
    gap:18px;
}

.student-v59-more-section{
    display:grid;
    gap:9px;
}

.student-v59-more-title{
    padding:0 3px;
    color:#7a8596;
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

@media(min-width:701px){
    .student-v59-sidebar .school-nav-home,
    .student-v59-sidebar .school-nav-group summary,
    .student-v59-sidebar .school-submenu a{
        font-size:12px!important;
    }
}

@media(max-width:1050px) and (min-width:701px){
    .student-v59-shell{
        grid-template-columns:270px minmax(0,1fr)!important;
    }
}

@media(max-width:700px){
    .student-v59-sidebar{
        display:none!important;
    }

    .student-v59-topbar{
        display:none!important;
    }

    .student-v59-more-section .student-more-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:430px){
    .student-v59-more-section .student-more-grid{
        grid-template-columns:1fr 1fr;
    }
}


/* =========================================================
   V60 - FOTO DO ALUNO E CARTEIRINHA
   ========================================================= */
body.student-area .school-user-avatar.has-image,
body.student-area .student-sheet-avatar.has-image,
body.student-area .self-profile-avatar.has-image,
body.student-area .student-photo-preview.has-image,
body.student-area .student-id-photo.has-image{
  overflow:hidden;
  background:#eef2ff!important;
  color:transparent!important;
  padding:0!important;
}

body.student-area .school-user-avatar.has-image img,
body.student-area .student-sheet-avatar.has-image img,
body.student-area .self-profile-avatar.has-image img,
body.student-area .student-photo-preview.has-image img,
body.student-area .student-id-photo.has-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.student-photo-upload-card{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:18px;
  margin-bottom:18px;
  border:1px solid #ebe7f4;
  border-radius:20px;
  background:linear-gradient(135deg,#fff,#fbf9ff);
}

.student-photo-preview{
  width:132px;
  height:132px;
  border-radius:26px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--primary),#8f74ff);
  color:#fff;
  font-size:48px;
  font-weight:900;
  box-shadow:0 14px 28px rgba(92,67,220,.18);
}

.student-photo-upload-copy strong,
.student-photo-upload-copy p,
.student-photo-upload-copy small{
  display:block;
}

.student-photo-upload-copy strong{
  font-size:17px;
}

.student-photo-upload-copy p{
  margin:6px 0 12px;
  color:#726d86;
  line-height:1.55;
}

.student-photo-upload-copy small{
  margin-top:8px;
  color:#8b849b;
}

.student-photo-upload-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 16px;
  border-radius:14px;
  background:var(--primary);
  color:#fff;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 24px rgba(92,67,220,.16);
}

.student-photo-upload-button input{
  display:none;
}

.student-card-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin:16px 0 22px;
  padding:18px;
  border:1px solid #ebe7f4;
  border-radius:20px;
  background:
    radial-gradient(circle at top right,rgba(109,78,246,.1),transparent 26%),
    linear-gradient(135deg,#fff,#faf8ff);
}

.student-card-panel-copy>span{
  display:block;
  color:var(--primary);
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
}

.student-card-panel-copy h3{
  margin:6px 0 8px;
}

.student-card-panel-copy p{
  margin:0;
  color:#746f86;
  line-height:1.55;
}

.student-card-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.student-card-meta>div{
  padding:12px 13px;
  border:1px solid #ece8f5;
  border-radius:15px;
  background:#fff;
}

.student-card-meta small,
.student-card-meta strong{
  display:block;
}

.student-card-meta small{
  margin-bottom:5px;
  color:#8a8498;
}

.student-card-panel-actions{
  display:grid;
  gap:8px;
  justify-items:end;
  text-align:right;
}

.student-card-panel-actions small{
  color:#8a8498;
}

.student-card-page-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.student-card-page-head span{
  display:block;
  color:var(--primary);
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
}

.student-card-page-head h2{
  margin:5px 0 6px;
}

.student-card-page-head p{
  margin:0;
  color:#746f86;
  max-width:760px;
}

.student-card-page-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.student-id-card-wrap{
  margin-bottom:18px;
}

.student-id-card{
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  border:1px solid #e9e6f2;
  box-shadow:0 18px 42px rgba(31,25,56,.08);
}

.student-id-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:22px;
  color:#fff;
  background:linear-gradient(135deg,var(--primary),#895dff);
}

.student-id-brand{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.student-id-brand-mark{
  width:62px;
  height:62px;
  border-radius:18px;
  background:rgba(255,255,255,.18);
  display:grid;
  place-items:center;
  overflow:hidden;
}

.student-id-brand-mark img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.student-id-brand-mark span{
  font-size:24px;
  font-weight:900;
}

.student-id-brand small,
.student-id-brand strong{
  display:block;
}

.student-id-brand small{
  font-size:10px;
  font-weight:900;
  letter-spacing:.11em;
  opacity:.86;
}

.student-id-brand strong{
  margin-top:4px;
  font-size:20px;
}

.student-id-badge{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  font-size:12px;
  font-weight:900;
}

.student-id-badge.valid{
  background:rgba(13,194,110,.2);
}

.student-id-card-body{
  display:grid;
  grid-template-columns:156px minmax(0,1fr) 170px;
  gap:20px;
  padding:22px;
  align-items:center;
}

.student-id-photo{
  width:156px;
  height:156px;
  border-radius:28px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--primary),#8663ff);
  color:#fff;
  font-size:56px;
  font-weight:900;
  box-shadow:0 16px 30px rgba(91,67,219,.15);
}

.student-id-copy>span{
  display:block;
  color:var(--primary);
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
}

.student-id-copy h3{
  margin:7px 0 14px;
  font-size:30px;
  letter-spacing:-.03em;
}

.student-id-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.student-id-grid>div{
  padding:13px 14px;
  border:1px solid #ece8f5;
  border-radius:16px;
  background:#fbfaff;
}

.student-id-grid small,
.student-id-grid strong{
  display:block;
}

.student-id-grid small{
  margin-bottom:6px;
  color:#8b869c;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.student-id-grid strong{
  color:#1d2230;
  font-size:14px;
  line-height:1.45;
  word-break:break-word;
}

.student-id-qr{
  display:grid;
  justify-items:center;
  gap:8px;
  text-align:center;
}

.student-id-qr-box{
  width:150px;
  height:150px;
  padding:10px;
  border:1px solid #ece8f5;
  border-radius:22px;
  background:#fff;
  display:grid;
  place-items:center;
}

.student-id-qr-box img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.student-id-qr small{
  color:#7b7590;
  font-size:12px;
  font-weight:800;
}

.student-id-card-footer{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:0 22px 22px;
}

.student-id-card-footer>div{
  padding:14px 16px;
  border-radius:16px;
  background:#f8f8fc;
  border:1px solid #ece8f4;
}

.student-id-card-footer small,
.student-id-card-footer strong{
  display:block;
}

.student-id-card-footer small{
  margin-bottom:5px;
  color:#8a849a;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.student-id-card-footer strong{
  font-size:13px;
  line-height:1.45;
  word-break:break-word;
}

.student-card-help-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.student-card-help-panel p{
  margin:8px 0 0;
  color:#746f86;
  line-height:1.55;
}

.student-card-help-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

@media(max-width:900px){
  .student-id-card-body{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }
  .student-id-copy{
    width:100%;
  }
  .student-id-copy h3{
    font-size:26px;
  }
}

@media(max-width:700px){
  .student-photo-upload-card,
  .student-card-panel,
  .student-card-help-panel,
  .student-card-page-head{
    grid-template-columns:1fr;
    display:grid;
  }

  .student-card-panel-actions,
  .student-card-help-links,
  .student-card-page-actions{
    justify-content:flex-start;
    text-align:left;
  }

  .student-photo-preview{
    width:102px;
    height:102px;
    border-radius:22px;
    font-size:36px;
  }

  .student-id-card-top{
    padding:18px;
    align-items:flex-start;
    flex-direction:column;
  }

  .student-id-photo{
    width:124px;
    height:124px;
    border-radius:22px;
    font-size:42px;
  }

  .student-id-grid,
  .student-card-meta,
  .student-id-card-footer{
    grid-template-columns:1fr;
  }

  .student-id-card-body{
    padding:18px;
  }

  .student-id-card-footer{
    padding:0 18px 18px;
  }
}

@media print{
  body.student-area .student-mobile-header,
  body.student-area .student-desktop-sidebar,
  body.student-area .student-desktop-topbar,
  body.student-area .student-bottom-nav,
  body.student-area .student-more-overlay,
  body.student-area .student-card-page-head,
  body.student-area .student-card-help-panel,
  body.student-area .alert{
    display:none!important;
  }

  body.student-area .student-v59-shell{
    display:block!important;
  }

  body.student-area .student-v59-content{
    padding:0!important;
  }

  body.student-area .student-id-card{
    box-shadow:none!important;
    border-color:#ddd!important;
  }
}

/* V69 — fluxo de exercícios, simulados e provas */
.assessment-flow-overlay{
  position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:18px;
  background:rgba(8,15,30,.76);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
}
.assessment-flow-overlay[hidden]{display:none!important}
.assessment-flow-modal{
  width:min(610px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:30px;
  border-radius:26px;background:#fff;box-shadow:0 32px 100px rgba(0,0,0,.36);text-align:center
}
.assessment-flow-icon{
  width:72px;height:72px;margin:0 auto 14px;border-radius:22px;display:grid;place-items:center;
  background:linear-gradient(135deg,#10a36f,#425ee8);color:#fff;font-size:30px;font-weight:900
}
.assessment-flow-icon.exam{background:linear-gradient(135deg,#e28a16,#d84b48)}
.assessment-flow-kicker{display:block;color:var(--primary);font-size:10px;font-weight:900;letter-spacing:.14em;margin-bottom:7px}
.assessment-flow-modal h2{margin:0 0 10px;font-size:27px;line-height:1.18}
.assessment-flow-modal p{color:var(--muted);line-height:1.6;margin:8px auto 18px;max-width:500px}
.assessment-result-big{font-size:48px;font-weight:900;letter-spacing:-.05em;color:var(--text);margin:12px 0}
.assessment-flow-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.assessment-flow-actions .btn{min-height:48px}
.exam-code-box{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;margin:18px 0;border:1px dashed #bcc7df;border-radius:18px;background:#f7f9fd}
.exam-code-box strong{font-size:34px;letter-spacing:.18em;font-variant-numeric:tabular-nums}
.exam-code-box button{border:0;border-radius:10px;background:#e9eef9;padding:10px 13px;font-weight:800;cursor:pointer}
.exam-code-label{display:block;text-align:left;font-weight:800;font-size:12px}
.exam-code-label input{margin-top:8px;text-align:center;font-size:25px;letter-spacing:.2em;font-weight:900}
.exam-code-error{display:block;min-height:20px;margin-top:7px;color:#c93f3f;font-weight:700}
.assessment-grade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.assessment-grade-grid>div{padding:15px 10px;border:1px solid var(--line);border-radius:16px;background:#fafbfe}
.assessment-grade-grid span,.assessment-grade-grid strong{display:block}
.assessment-grade-grid span{font-size:10px;color:var(--muted);font-weight:800}
.assessment-grade-grid strong{margin-top:5px;font-size:18px}
.grade-approved{color:#0a8b5f}.grade-failed{color:#c94747}
.assessment-subject-breakdown{display:grid;gap:8px;text-align:left;margin:12px 0}
.assessment-subject-breakdown>div{display:flex;justify-content:space-between;gap:16px;padding:11px 13px;border-radius:12px;background:#f7f9fc;font-size:12px}
.subject-grade-total{padding:16px;border-radius:16px;margin:14px 0;text-align:center;background:#f6f8fc;border:1px solid var(--line)}
.subject-grade-total.approved{background:#ecfbf5;border-color:#c8edde}
.subject-grade-total span,.subject-grade-total strong,.subject-grade-total small{display:block}
.subject-grade-total span{font-size:10px;color:var(--muted);font-weight:800}
.subject-grade-total strong{font-size:26px;margin:5px 0}
.subject-grade-total.approved strong,.subject-grade-total.approved small{color:#087c58}
.subject-grade-items{display:grid;gap:7px}
.subject-grade-items>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:11px}
@media(max-width:600px){
  .assessment-flow-overlay{padding:10px;align-items:end}
  .assessment-flow-modal{padding:24px 17px 19px;border-radius:24px 24px 16px 16px}
  .assessment-flow-modal h2{font-size:23px}
  .assessment-flow-actions{grid-template-columns:1fr}
  .assessment-grade-grid{grid-template-columns:1fr}
  .exam-code-box{flex-direction:column}.exam-code-box strong{font-size:30px}
}

/* =========================================================
   V70 — Destaque permanente do módulo atual / próximo módulo
   ========================================================= */
body.student-area .student-module-card.is-current,
body.student-area .nested-module-card.is-current{
  position:relative;
  border:2px solid var(--primary);
  background:linear-gradient(135deg,#ffffff 0%,#f2f5ff 56%,#ecebff 100%);
  box-shadow:0 16px 34px rgba(55,65,180,.16),0 0 0 4px rgba(91,78,255,.07);
  transform:translateY(-1px);
}
body.student-area .student-module-card.is-current::before,
body.student-area .nested-module-card.is-current::before{
  content:"";
  position:absolute;
  left:-2px;
  top:16px;
  bottom:16px;
  width:5px;
  border-radius:0 8px 8px 0;
  background:var(--primary);
}
body.student-area .student-module-card.is-current .student-module-index,
body.student-area .nested-module-card.is-current .nested-module-number{
  box-shadow:0 8px 18px rgba(65,58,190,.22);
}
body.student-area .module-focus-badge,
body.student-area .dashboard-module-focus{
  display:inline-flex;
  width:max-content;
  align-items:center;
  gap:6px;
  margin:0 0 7px;
  padding:5px 9px;
  border-radius:999px;
  background:var(--primary);
  color:#fff;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}
body.student-area .module-focus-badge::before,
body.student-area .dashboard-module-focus::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 3px rgba(255,255,255,.22);
}
body.student-area .course-module-group.is-current{
  background:linear-gradient(135deg,#fff,#f5f6ff);
  box-shadow:inset 4px 0 0 var(--primary);
}
body.student-area .course-focus-module{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  margin:12px 0 4px;
  padding:11px 13px;
  border:1px solid #dfe2ff;
  border-radius:13px;
  background:#f8f8ff;
  text-decoration:none;
}
body.student-area .course-focus-module.is-current{
  border-color:var(--primary);
  background:linear-gradient(135deg,#f8f8ff,#eeeeff);
}
body.student-area .course-focus-module span{
  padding:4px 7px;
  border-radius:999px;
  background:var(--primary);
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
}
body.student-area .course-focus-module strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#211b34;
  font-size:13px;
}
body.student-area .course-focus-module b{
  color:var(--primary);
  font-size:11px;
  white-space:nowrap;
}
body.student-area .continue-feature-content .dashboard-module-focus{
  margin-top:10px;
  margin-bottom:0;
  background:#fff;
  color:var(--primary);
}
body.student-area .continue-feature-content .dashboard-module-focus::before{
  background:var(--primary);
  box-shadow:0 0 0 3px rgba(255,255,255,.24);
}
@media(max-width:600px){
  body.student-area .course-focus-module{
    grid-template-columns:1fr auto;
  }
  body.student-area .course-focus-module span{
    grid-column:1 / -1;
    justify-self:start;
  }
  body.student-area .course-focus-module strong{
    white-space:normal;
  }
  body.student-area .student-module-card.is-current,
  body.student-area .nested-module-card.is-current{
    box-shadow:0 10px 24px rgba(55,65,180,.14),0 0 0 3px rgba(91,78,255,.06);
  }
}

/* =========================================================
   V71 — Navegação intuitiva entre módulos
   ========================================================= */
body.student-area .learning-next-step{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  margin:18px 0 22px;
  padding:17px 18px;
  border:1px solid rgba(86,73,214,.18);
  border-radius:20px;
  background:linear-gradient(135deg,#ffffff 0%,#f7f7ff 58%,#efefff 100%);
  box-shadow:0 14px 34px rgba(48,45,120,.09);
}
body.student-area .learning-next-step-icon{
  width:48px;height:48px;border-radius:16px;display:grid;place-items:center;
  background:var(--primary);color:#fff;font-size:16px;box-shadow:0 9px 20px rgba(74,61,210,.22)
}
body.student-area .learning-next-step-copy{min-width:0}
body.student-area .learning-next-step-copy span,
body.student-area .lesson-current-step .eyebrow{
  display:block;margin-bottom:4px;color:var(--primary);font-size:10px;font-weight:900;letter-spacing:.09em
}
body.student-area .learning-next-step-copy strong{display:block;font-size:16px;color:var(--text);line-height:1.25}
body.student-area .learning-next-step-copy small{display:block;margin-top:5px;color:var(--muted);line-height:1.4}
body.student-area .learning-next-step-button{white-space:nowrap;min-height:46px}

body.student-area .lesson-current-step{
  margin:0 0 16px;padding:18px;border:1px solid rgba(83,72,214,.22);border-radius:20px;
  background:linear-gradient(135deg,#fff,#f3f4ff);box-shadow:0 12px 30px rgba(53,48,145,.09)
}
body.student-area .lesson-current-step.is-complete{border-color:#cbe8db;background:#f4fcf8}
body.student-area .lesson-current-step-top{display:flex;align-items:center;justify-content:space-between;gap:18px}
body.student-area .lesson-current-step-top h4{margin:0;color:var(--text);font-size:19px;line-height:1.25}
body.student-area .lesson-current-step-top p{margin:5px 0 0;color:var(--muted);font-size:12px}
body.student-area .lesson-current-step-progress{margin-top:14px;padding-top:13px;border-top:1px solid rgba(80,85,130,.10)}
body.student-area .lesson-current-step-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:11px;color:var(--muted)}
body.student-area .lesson-current-step-progress strong{color:var(--text)}

body.student-area .student-module-card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease}
body.student-area .student-module-card .module-step-hint{
  display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900
}
body.student-area .student-module-card .module-step-hint.done{background:#eaf8f1;color:#087b59}
body.student-area .student-module-card .module-step-hint.current{background:#ecebff;color:var(--primary)}
body.student-area .student-module-card .module-step-hint.upcoming{background:#f1f3f6;color:#758096}
body.student-area .student-module-card.is-completed:not(.is-current),\nbody.student-area .nested-module-card.is-completed:not(.is-current){opacity:.78;background:#fbfcfd}
body.student-area .student-module-card.is-current .student-module-arrow{font-size:30px;color:var(--primary);transform:translateX(2px)}

body.student-area .module-route-guide{
  margin:0 0 20px;padding:16px 17px;border:1px solid var(--line);border-radius:18px;background:#fff;
  box-shadow:0 8px 24px rgba(26,34,64,.06)
}
body.student-area .module-route-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
body.student-area .module-route-guide-head strong{display:block;margin-top:2px;font-size:17px;color:var(--text)}
body.student-area .module-route-you-are-here{
  display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#eeedff;color:var(--primary);font-size:10px;font-weight:900
}
body.student-area .module-route-track{height:7px;margin:13px 0 15px;border-radius:999px;background:#edf0f5;overflow:hidden}
body.student-area .module-route-track span{display:block;height:100%;border-radius:inherit;background:var(--primary)}
body.student-area .module-route-neighbors{display:grid;grid-template-columns:1fr minmax(180px,1.2fr) 1fr;gap:9px;align-items:stretch}
body.student-area .module-route-neighbor,
body.student-area .module-route-current{padding:11px 12px;border-radius:13px;background:#f7f8fb;min-width:0}
body.student-area .module-route-current{background:#eeedff;border:1px solid rgba(78,67,210,.18);text-align:center}
body.student-area .module-route-neighbor small,
body.student-area .module-route-current small{display:block;margin-bottom:4px;font-size:9px;font-weight:900;color:var(--muted);letter-spacing:.06em}
body.student-area .module-route-current small{color:var(--primary)}
body.student-area .module-route-current strong{display:block;font-size:12px;line-height:1.3;color:var(--text)}
body.student-area .module-route-neighbor a,
body.student-area .module-route-neighbor span{display:block;font-size:11px;line-height:1.35;color:var(--text);text-decoration:none;font-weight:700}
body.student-area .module-route-neighbor a:hover{color:var(--primary)}
body.student-area .module-route-neighbor.empty{opacity:.65}

body.student-area .module-guided-footer{
  position:sticky;bottom:78px;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin:18px 0;padding:14px 15px;border:1px solid rgba(71,62,185,.16);border-radius:18px;
  background:rgba(255,255,255,.96);box-shadow:0 16px 36px rgba(25,30,70,.14);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
}
body.student-area .module-guided-footer-copy{min-width:0}
body.student-area .module-guided-footer-copy span{display:block;margin-bottom:4px;font-size:9px;font-weight:900;color:var(--primary);letter-spacing:.08em}
body.student-area .module-guided-footer-copy strong{display:block;font-size:12px;line-height:1.35;color:var(--text)}
body.student-area .module-guided-footer-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto}
body.student-area .module-guided-footer .btn{min-height:42px;padding:10px 14px}

body.student-area .module-transition-modal{width:min(680px,100%)}
body.student-area .module-transition-path{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:12px;margin:20px 0
}
body.student-area .module-transition-step{
  padding:16px;border-radius:17px;border:1px solid var(--line);background:#f8fafc;text-align:left
}
body.student-area .module-transition-step.done{background:#f1fbf6;border-color:#ccebdc}
body.student-area .module-transition-step.next{background:#f2f2ff;border-color:#dcdcff}
body.student-area .module-transition-step-icon{
  width:34px;height:34px;margin-bottom:9px;border-radius:11px;display:grid;place-items:center;font-weight:900;background:#e4f5ec;color:#087c58
}
body.student-area .module-transition-step.next .module-transition-step-icon{background:var(--primary);color:#fff}
body.student-area .module-transition-step small{display:block;margin-bottom:5px;font-size:9px;font-weight:900;color:var(--muted);letter-spacing:.06em}
body.student-area .module-transition-step strong{display:block;font-size:13px;line-height:1.35;color:var(--text)}
body.student-area .module-transition-arrow{display:grid;place-items:center;color:var(--primary);font-size:28px;font-weight:900}
body.student-area .module-transition-tip{
  display:flex;gap:10px;align-items:flex-start;margin:16px 0;padding:12px 13px;border-radius:14px;background:#f7f8fb;text-align:left
}
body.student-area .module-transition-tip>span{font-size:18px}
body.student-area .module-transition-tip strong,
body.student-area .module-transition-tip small{display:block}
body.student-area .module-transition-tip strong{font-size:12px;color:var(--text)}
body.student-area .module-transition-tip small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}
body.student-area .module-transition-modal .module-finish-actions{grid-template-columns:1.3fr 1fr 1fr}

@media(max-width:760px){
  body.student-area .learning-next-step{grid-template-columns:auto 1fr;padding:15px}
  body.student-area .learning-next-step-button{grid-column:1 / -1;width:100%}
  body.student-area .lesson-current-step-top{align-items:stretch;flex-direction:column}
  body.student-area .lesson-current-step-top .btn{width:100%}
  body.student-area .module-route-neighbors{grid-template-columns:1fr;gap:7px}
  body.student-area .module-route-current{order:-1;text-align:left}
  body.student-area .module-route-neighbor.previous,
  body.student-area .module-route-neighbor.next{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center}
  body.student-area .module-route-neighbor small{margin:0}
  body.student-area .module-guided-footer{bottom:70px;align-items:stretch;flex-direction:column;padding:13px}
  body.student-area .module-guided-footer-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  body.student-area .module-guided-footer-actions .btn:only-child{grid-column:1 / -1}
  body.student-area .module-transition-path{grid-template-columns:1fr;gap:8px}
  body.student-area .module-transition-arrow{transform:rotate(90deg);font-size:23px}
  body.student-area .module-transition-modal .module-finish-actions{grid-template-columns:1fr}
}

@media(max-width:480px){
  body.student-area .learning-next-step-icon{width:42px;height:42px;border-radius:14px}
  body.student-area .learning-next-step-copy strong{font-size:14px}
  body.student-area .lesson-current-step{padding:15px}
  body.student-area .module-route-guide{padding:14px}
  body.student-area .module-guided-footer-actions{grid-template-columns:1fr}
}
