.aluno-page {
  min-height: 100vh;
  background: #f3f6f8;
  color: #1c3145;
}

.aluno-page.hidden {
  display: none;
}

.aluno-header {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 30px;
  border-bottom: 1px solid #dde5ea;
  background: #ffffff;
}

.aluno-header-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.aluno-brand-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #183f60;
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
}

.aluno-header-brand span,
.aluno-header-brand strong {
  display: block;
}

.aluno-header-brand span {
  color: #778692;
  font-size: 11px;
}

.aluno-header-brand strong {
  color: #183f60;
  font-size: 15px;
}

.aluno-header-user {
  display: flex;
  align-items: center;
  gap: 18px;
  text-align: right;
}

.aluno-header-user span,
.aluno-header-user strong {
  display: block;
}

.aluno-header-user span {
  margin-bottom: 3px;
  color: #c69234;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
}

.aluno-header-user strong {
  color: #183f60;
  font-size: 13px;
}

.aluno-btn-sair {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid #d6dfe5;
  border-radius: 8px;
  cursor: pointer;
  background: #ffffff;
  color: #183f60;
  font-size: 11px;
  font-weight: 700;
}

.aluno-btn-sair:hover {
  background: #f4f7f9;
}

.aluno-main {
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 40px 30px;
}

.aluno-welcome {
  margin-bottom: 30px;
}

.aluno-eyebrow {
  display: block;
  margin-bottom: 9px;
  color: #c69234;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
}

.aluno-welcome h1 {
  margin: 0 0 9px;
  color: #102d47;
  font-size: 34px;
  letter-spacing: -.025em;
}

.aluno-welcome p {
  margin: 0;
  color: #70808d;
  font-size: 14px;
}

.aluno-resumo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 34px;
}

.aluno-resumo-card {
  min-height: 125px;
  display: flex;
  flex-direction: column;
  padding: 20px;
  border: 1px solid #dde5ea;
  border-radius: 14px;
  background: #ffffff;
}

.aluno-resumo-card span {
  color: #788793;
  font-size: 11px;
  font-weight: 650;
}

.aluno-resumo-card strong {
  margin: 13px 0 6px;
  color: #102d47;
  font-size: 27px;
}

.aluno-resumo-card small {
  color: #96a0a8;
  font-size: 11px;
}

.aluno-turmas-section {
  padding: 28px;
  border: 1px solid #dde5ea;
  border-radius: 16px;
  background: #ffffff;
}

.aluno-section-header {
  margin-bottom: 24px;
}

.aluno-section-header h2 {
  margin: 0;
  color: #102d47;
  font-size: 24px;
}

.aluno-turmas-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.aluno-turma-card {
  min-height: 185px;
  display: flex;
  flex-direction: column;
  padding: 21px;
  border: 1px solid #dce4e9;
  border-radius: 13px;
  cursor: pointer;
  background: #fbfcfd;
  text-align: left;
  transition: transform .15s ease, box-shadow .15s ease;
}

.aluno-turma-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 9px 22px rgba(20,48,72,.08);
}

.aluno-turma-top {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 25px;
}

.aluno-turma-status {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: #edf8f2;
  color: #177245;
  font-size: 9px;
  font-weight: 800;
}

.aluno-turma-periodo {
  color: #8996a0;
  font-size: 10px;
}

.aluno-turma-card h3 {
  margin: 0 0 8px;
  color: #12324d;
  font-size: 17px;
}

.aluno-turma-card p {
  margin: 0;
  color: #75838f;
  font-size: 12px;
  line-height: 1.5;
}

.aluno-turma-footer {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 22px;
  color: #183f60;
  font-size: 11px;
  font-weight: 700;
}

.aluno-empty-state {
  grid-column: 1 / -1;
  padding: 45px 20px;
  text-align: center;
  color: #75838f;
}

.aluno-empty-state strong {
  display: block;
  margin-bottom: 8px;
  color: #183f60;
}

.aluno-empty-state p {
  margin: 0;
  font-size: 12px;
}

@media (max-width: 900px) {
  .aluno-turmas-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 650px) {
  .aluno-header {
    padding: 12px 16px;
  }

  .aluno-header-user strong {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .aluno-main {
    padding: 28px 16px;
  }

  .aluno-welcome h1 {
    font-size: 29px;
  }

  .aluno-resumo-grid,
  .aluno-turmas-grid {
    grid-template-columns: 1fr;
  }

  .aluno-turmas-section {
    padding: 21px;
  }
}

/* ============================================================
   PAINEL DO ALUNO V2
   ============================================================ */

#telaAluno.aluno-dashboard-v2 {
  min-height:
    100vh;

  background:
    radial-gradient(
      circle at 90% 16%,
      rgba(25, 82, 128, .07),
      transparent 380px
    ),
    #f3f6f8;

  color:
    #17324a;
}


#telaAluno.aluno-dashboard-v2.hidden {
  display:
    none !important;
}


#telaAluno .aluno-v2-header {
  position:
    sticky;

  top:
    0;

  z-index:
    90;

  border-bottom:
    1px solid #dfe7ec;

  background:
    rgba(255, 255, 255, .96);

  backdrop-filter:
    blur(12px);
}


#telaAluno .aluno-v2-header-inner {
  width:
    min(
      calc(100% - 48px),
      1440px
    );

  min-height:
    82px;

  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    24px;

  margin:
    0 auto;
}


#telaAluno .aluno-v2-brand,
#telaAluno .aluno-v2-user {
  display:
    flex;

  align-items:
    center;
}


#telaAluno .aluno-v2-brand {
  gap:
    13px;
}


#telaAluno .aluno-v2-brand-mark {
  width:
    46px;

  height:
    46px;

  display:
    grid;

  place-items:
    center;

  border-radius:
    13px;

  background:
    linear-gradient(
      145deg,
      #123b5d,
      #245f8a
    );

  box-shadow:
    0 8px 22px
    rgba(18, 59, 93, .18);

  color:
    #ffffff;

  font-size:
    14px;

  font-weight:
    850;
}


#telaAluno .aluno-v2-brand-copy span,
#telaAluno .aluno-v2-brand-copy strong,
#telaAluno .aluno-v2-user-copy span,
#telaAluno .aluno-v2-user-copy strong {
  display:
    block;
}


#telaAluno .aluno-v2-brand-copy span {
  color:
    #7b8994;

  font-size:
    11px;
}


#telaAluno .aluno-v2-brand-copy strong {
  margin-top:
    2px;

  color:
    #123b5d;

  font-size:
    16px;
}


#telaAluno .aluno-v2-user {
  gap:
    16px;
}


#telaAluno .aluno-v2-user-copy {
  text-align:
    right;
}


#telaAluno .aluno-v2-user-copy span {
  margin-bottom:
    3px;

  color:
    #c69234;

  font-size:
    9px;

  font-weight:
    850;

  letter-spacing:
    .13em;
}


#telaAluno .aluno-v2-user-copy strong {
  color:
    #17324a;

  font-size:
    13px;
}


#telaAluno .aluno-v2-logout {
  min-height:
    40px;

  padding:
    0 16px;

  border:
    1px solid #d7e1e7;

  border-radius:
    10px;

  cursor:
    pointer;

  background:
    #ffffff;

  color:
    #35546a;

  font:
    inherit;

  font-size:
    12px;

  font-weight:
    750;
}


#telaAluno .aluno-v2-logout:hover {
  background:
    #f4f7f9;
}


#telaAluno .aluno-v2-main {
  width:
    min(
      calc(100% - 48px),
      1440px
    );

  margin:
    0 auto;
}


#telaAluno .aluno-v2-hero {
  position:
    relative;

  min-height:
    320px;

  display:
    grid;

  grid-template-columns:
    minmax(
      0,
      1.15fr
    )
    minmax(
      420px,
      .85fr
    );

  align-items:
    center;

  gap:
    48px;

  margin-top:
    28px;

  padding:
    44px 48px;

  overflow:
    hidden;

  border-radius:
    24px;

  background:
    linear-gradient(
      115deg,
      rgba(12, 47, 75, .99),
      rgba(26, 76, 112, .97)
    );

  box-shadow:
    0 18px 48px
    rgba(16, 53, 81, .14);
}


#telaAluno .aluno-v2-hero::before {
  content:
    "";

  position:
    absolute;

  width:
    400px;

  height:
    400px;

  right:
    -130px;

  top:
    -220px;

  border:
    1px solid
    rgba(255, 255, 255, .12);

  border-radius:
    50%;
}


#telaAluno .aluno-v2-hero::after {
  content:
    "";

  position:
    absolute;

  width:
    290px;

  height:
    290px;

  left:
    38%;

  bottom:
    -245px;

  border:
    1px solid
    rgba(224, 170, 61, .24);

  border-radius:
    50%;
}


#telaAluno .aluno-v2-hero-decoration {
  position:
    absolute;

  inset:
    auto 0 0;

  height:
    78%;

  pointer-events:
    none;

  color:
    #9bc4e1;

  opacity:
    .86;
}


#telaAluno .aluno-v2-hero-decoration svg {
  width:
    100%;

  height:
    100%;
}


#telaAluno .aluno-v2-hero-content,
#telaAluno .aluno-v2-summary {
  position:
    relative;

  z-index:
    2;
}


#telaAluno .aluno-v2-eyebrow {
  display:
    block;

  margin-bottom:
    10px;

  color:
    #c99638;

  font-size:
    10px;

  font-weight:
    850;

  letter-spacing:
    .15em;
}


#telaAluno .aluno-v2-hero
.aluno-v2-eyebrow {
  color:
    #e1b04c;
}


#telaAluno .aluno-v2-hero h1 {
  margin:
    0 0 14px;

  color:
    #ffffff;

  font-size:
    clamp(
      34px,
      4vw,
      48px
    );

  line-height:
    1.05;

  letter-spacing:
    -.035em;
}


#telaAluno .aluno-v2-hero h1 span {
  color:
    #ffffff;
}


#telaAluno .aluno-v2-hero p {
  max-width:
    650px;

  margin:
    0;

  color:
    rgba(255, 255, 255, .72);

  font-size:
    14px;

  line-height:
    1.7;
}


#telaAluno .aluno-v2-summary {
  display:
    grid;

  grid-template-columns:
    repeat(
      3,
      minmax(
        0,
        1fr
      )
    );

  gap:
    10px;
}


#telaAluno .aluno-v2-summary-card {
  min-height:
    132px;

  display:
    flex;

  flex-direction:
    column;

  padding:
    18px;

  border:
    1px solid
    rgba(255, 255, 255, .14);

  border-radius:
    15px;

  background:
    rgba(255, 255, 255, .09);

  backdrop-filter:
    blur(8px);
}


#telaAluno .aluno-v2-summary-label {
  color:
    #d8a84a;

  font-size:
    8px;

  font-weight:
    850;

  letter-spacing:
    .13em;
}


#telaAluno .aluno-v2-summary-card strong {
  margin:
    16px 0 5px;

  color:
    #ffffff;

  font-size:
    27px;
}


#telaAluno .aluno-v2-summary-card small {
  margin-top:
    auto;

  color:
    rgba(255, 255, 255, .62);

  font-size:
    10px;
}


#telaAluno .aluno-v2-content {
  padding:
    42px 0 56px;
}


#telaAluno .aluno-v2-section-header {
  margin-bottom:
    22px;
}


#telaAluno .aluno-v2-section-header h2 {
  margin:
    0;

  color:
    #12324c;

  font-size:
    28px;

  letter-spacing:
    -.025em;
}


#telaAluno .aluno-v2-section-header p {
  margin:
    8px 0 0;

  color:
    #778792;

  font-size:
    12px;

  line-height:
    1.55;
}


#telaAluno .aluno-turmas-grid {
  display:
    grid;

  grid-template-columns:
    repeat(
      3,
      minmax(
        0,
        1fr
      )
    );

  gap:
    18px;
}


#telaAluno .aluno-turma-card {
  position:
    relative;

  min-height:
    230px;

  display:
    flex;

  flex-direction:
    column;

  padding:
    22px;

  overflow:
    hidden;

  border:
    1px solid #dce5ea;

  border-radius:
    17px;

  cursor:
    pointer;

  background:
    #ffffff;

  box-shadow:
    0 8px 24px
    rgba(17, 48, 72, .045);

  text-align:
    left;

  transition:
    transform .16s ease,
    box-shadow .16s ease,
    border-color .16s ease;
}


#telaAluno .aluno-turma-card::before {
  content:
    "";

  position:
    absolute;

  left:
    0;

  top:
    0;

  width:
    100%;

  height:
    4px;

  background:
    linear-gradient(
      90deg,
      #17496c,
      #d0a040
    );
}


#telaAluno .aluno-turma-card::after {
  content:
    "";

  position:
    absolute;

  width:
    92px;

  height:
    92px;

  right:
    -52px;

  top:
    -48px;

  border:
    1px solid #dbe5eb;

  border-radius:
    50%;
}


#telaAluno .aluno-turma-card:hover {
  transform:
    translateY(-3px);

  border-color:
    #c7d7e1;

  box-shadow:
    0 15px 34px
    rgba(17, 48, 72, .09);
}


#telaAluno .aluno-turma-top {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    12px;

  margin-bottom:
    28px;
}


#telaAluno .aluno-turma-status {
  display:
    inline-flex;

  align-items:
    center;

  min-height:
    24px;

  padding:
    0 9px;

  border-radius:
    999px;

  background:
    #eaf7ef;

  color:
    #187245;

  font-size:
    9px;

  font-weight:
    850;
}


#telaAluno .aluno-turma-periodo {
  color:
    #8a98a2;

  font-size:
    10px;
}


#telaAluno .aluno-turma-card h3 {
  margin:
    0 0 8px;

  color:
    #12324c;

  font-size:
    18px;

  line-height:
    1.25;
}


#telaAluno .aluno-turma-card p {
  margin:
    0;

  color:
    #758590;

  font-size:
    11px;

  line-height:
    1.5;
}


#telaAluno .aluno-turma-footer {
  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  margin-top:
    auto;

  padding-top:
    24px;

  color:
    #17496c;

  font-size:
    11px;

  font-weight:
    800;
}


#telaAluno .aluno-turma-footer strong {
  width:
    30px;

  height:
    30px;

  display:
    grid;

  place-items:
    center;

  border-radius:
    9px;

  background:
    #edf3f6;

  font-size:
    15px;
}


#telaAluno .aluno-empty-state {
  grid-column:
    1 / -1;

  padding:
    60px 20px;

  border:
    1px dashed #ccd9e1;

  border-radius:
    17px;

  background:
    rgba(255, 255, 255, .65);

  text-align:
    center;
}


@media (
  max-width: 1080px
) {

  #telaAluno .aluno-v2-hero {
    grid-template-columns:
      1fr;

    gap:
      32px;
  }


  #telaAluno .aluno-v2-summary {
    width:
      min(
        100%,
        620px
      );
  }


  #telaAluno .aluno-turmas-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(
          0,
          1fr
        )
      );
  }

}


@media (
  max-width: 700px
) {

  #telaAluno .aluno-v2-header-inner,
  #telaAluno .aluno-v2-main {
    width:
      calc(100% - 28px);
  }


  #telaAluno .aluno-v2-header-inner {
    min-height:
      72px;
  }


  #telaAluno .aluno-v2-user-copy strong {
    max-width:
      125px;

    overflow:
      hidden;

    text-overflow:
      ellipsis;

    white-space:
      nowrap;
  }


  #telaAluno .aluno-v2-brand-copy span {
    display:
      none;
  }


  #telaAluno .aluno-v2-hero {
    min-height:
      0;

    margin-top:
      14px;

    padding:
      30px 24px;

    border-radius:
      19px;
  }


  #telaAluno .aluno-v2-summary {
    grid-template-columns:
      1fr;
  }


  #telaAluno .aluno-v2-summary-card {
    min-height:
      92px;
  }


  #telaAluno .aluno-v2-content {
    padding:
      32px 0 42px;
  }


  #telaAluno .aluno-turmas-grid {
    grid-template-columns:
      1fr;
  }

}


@media (
  max-width: 440px
) {

  #telaAluno .aluno-v2-brand-copy {
    display:
      none;
  }


  #telaAluno .aluno-v2-hero h1 {
    font-size:
      32px;
  }


  #telaAluno .aluno-v2-logout {
    padding:
      0 12px;
  }

}
