/* Student presentation recovered from the approved 8.1 reference. */
/* Evolution: the original dashboard composition, with confirmed account data. */
.student-evolution {
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
}
.student-evolution > * {
  min-width: 0;
}
.student-evolution .evo-card {
  min-width: 0;
}
.evo-exercise-history :is(form, label, select) {
  min-width: 0;
  max-width: 100%;
}
.evo-exercise-history .evolution-table {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}
.evo-full-history {
  min-width: 0;
}
.evo-assessment-values > div {
  overflow-wrap: anywhere;
}
.student-evolution {
  --evo-gold: #f2d039;
  --evo-muted: #aeb1b9;
  display: grid;
  gap: 0;
}
.evo-page-heading {
  margin: 12px 0 22px;
}
.evo-page-heading h1 {
  font-size: 29px !important;
  line-height: 1.15;
  letter-spacing: -0.7px;
  margin: 12px 0 14px;
  max-width: 380px;
}
.evo-period {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--evo-muted);
  font-size: 11px;
  margin: 0;
}
.evo-period > span {
  border: 1px solid #3a3d44;
  border-radius: 20px;
  padding: 6px 10px;
  font-size: 10px;
  letter-spacing: 0.3px;
}
.evo-card {
  background: #1c1e22;
  border: 1px solid #393c43;
  border-radius: 19px;
  padding: 21px;
}
.evo-metric-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin: 0 0 14px;
}
.evo-metric-tabs button {
  margin: 0 !important;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid #383b42 !important;
  background: #202227 !important;
  color: #bfc2c8 !important;
  border-radius: 12px;
  padding: 13px 5px !important;
  font-size: 11px !important;
  min-height: 73px;
}
.evo-metric-tabs button .student-icon {
  width: 20px;
  height: 20px;
}
.evo-metric-tabs button[aria-pressed="true"] {
  background: #332e17 !important;
  border-color: #b59b2c !important;
  color: #ffe05d !important;
}
.evo-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.evo-section-heading h2 {
  font-size: 19px !important;
  line-height: 1.35;
  margin: 0 !important;
}
.evo-section-heading > .student-icon {
  color: #d5bd4e;
  width: 20px;
  height: 20px;
}
.evo-unit {
  font-size: 10px;
  color: #b5b8c0;
  white-space: nowrap;
  max-width: 95px;
  overflow-wrap: normal !important;
}
.evo-chart-card {
  padding: 20px 18px 12px;
}
.evo-chart-card .evo-section-heading {
  margin-bottom: 12px;
}
.student-evolution .evo-chart {
  height: 187px !important;
  margin: 12px 0 8px !important;
  gap: 9px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.student-evolution .evolution-column {
  gap: 7px;
  font-size: 10px;
  color: #aaadb6;
  justify-content: flex-end;
}
.evo-bar-value {
  font-size: 11px;
  color: #e1e2e5;
  font-weight: 500;
  min-height: 16px;
}
.student-evolution .evolution-bar-track {
  height: 130px;
  min-height: 130px;
  background: #2c2f35 !important;
  border-radius: 6px;
  overflow: hidden;
}
.student-evolution svg.evolution-bar {
  height: 130px;
  min-height: 130px;
  display: block;
  border-radius: 0;
}
.student-evolution .evolution-bar rect {
  fill: #ebcb32 !important;
}
.evo-footnote {
  font-size: 11px !important;
  line-height: 1.6;
  color: #9da1ab;
  margin: 12px 0;
}
.evo-chart-card > details {
  border-top: 1px solid #35383f;
  margin-top: 10px;
}
.evo-chart-card summary {
  color: #c0c4cc;
  font-size: 11px;
  min-height: 42px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.student-evolution .evo-stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 15px 0 18px !important;
  padding: 17px 0;
  background: #202227;
  border: 1px solid #373a41;
  border-radius: 15px;
}
.student-evolution .evo-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  padding: 0 5px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-align: center;
}
.student-evolution .evo-stat + .evo-stat {
  border-left: 1px solid #3b3d43 !important;
}
.evo-stat > .student-icon {
  color: #baa855;
  width: 18px;
  height: 18px;
}
.student-evolution .evo-stat strong {
  font-size: 24px !important;
  font-weight: 750;
  color: #f0f1f3;
  line-height: 1.15;
  white-space: nowrap;
}
.evo-stat strong small {
  font-size: 11px;
  color: #c3c6cd;
  font-weight: 500;
  margin-left: 3px;
}
.student-evolution .evo-stat > span {
  font-size: 10px !important;
  color: #aeb2ba !important;
  line-height: 1.4;
}
.student-evolution .student-evolution-filter {
  margin: 0 0 10px;
  border: 0;
}
.student-evolution-filter > summary {
  font-size: 11px !important;
  min-height: 36px !important;
  color: #b8b2a0 !important;
}
.evo-section {
  margin: 22px 0 0;
}
.evo-highlights {
  display: grid;
  gap: 12px;
}
.evo-highlight {
  display: flex;
  gap: 14px;
  padding: 18px;
  background: linear-gradient(120deg, #25251f, #1d1f23);
  border-color: #514c34;
}
.evo-highlight > div {
  flex: 1;
  min-width: 0;
}
.evo-highlight-icon {
  display: grid;
  place-items: center;
  flex: none;
  background: #3a341d;
  color: #edce4d;
  border: 1px solid #5b5028;
  width: 39px;
  height: 39px;
  border-radius: 12px;
}
.evo-highlight h3,
.evo-assessment h3 {
  margin: 0 0 7px;
  font-size: 18px;
  line-height: 1.4;
}
.evo-muted {
  color: #b2b5be;
  font-size: 12px;
  line-height: 1.6;
  margin: 7px 0;
}
.evo-highlight-values {
  color: #f1d45d;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 650;
  margin: 13px 0 0;
}
.evo-highlight button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 14px 0 0 !important;
  text-align: left;
  font-size: 11px !important;
  min-height: 44px;
  background: transparent !important;
  border-color: #53504a !important;
  padding: 10px !important;
}
.evo-highlight button .student-icon {
  width: 17px;
  height: 17px;
}
.evo-empty {
  text-align: center;
  padding: 26px 21px;
}
.evo-empty > .student-icon {
  color: #d7bb46;
  width: 30px;
  height: 30px;
}
.evo-empty h3 {
  font-size: 19px;
}
.evo-assessment {
  border-color: #3e5a47;
  background: linear-gradient(135deg, #1d2b22, #1d1f23);
}
.evo-assessment > .student-state {
  margin-bottom: 16px;
}
.evo-assessment > button {
  width: 100%;
  margin: 14px 0 0 !important;
}
.evo-assessment-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin: 20px 0 14px;
}
.evo-assessment-values > div {
  min-width: 0;
  border: 1px solid #3c4941;
  border-radius: 11px;
  background: #18211c;
  padding: 13px 5px;
  text-align: center;
}
.evo-assessment-values strong {
  display: block;
  font-size: 18px;
  color: #e2ecd9;
  line-height: 1.3;
}
.evo-assessment-values span {
  display: block;
  font-size: 9px;
  color: #b6c3b9;
  margin-top: 7px;
  line-height: 1.5;
}
.evo-photo-link {
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
  width: 100%;
  border-color: #3e4147 !important;
  background: #212328 !important;
  font-size: 12px !important;
  border-radius: 13px;
  margin: 12px 0 0 !important;
  padding: 15px !important;
}
.evo-photo-link > .student-icon:last-child {
  margin-left: auto;
  width: 17px;
}
.evo-calendar-card {
  padding: 18px 14px;
}
.evo-calendar-card .student-calendar-heading {
  margin: 0 0 14px;
}
.evo-calendar-card h3 {
  font-size: 17px;
  margin: 0;
  text-transform: capitalize;
}
.evo-calendar-card .student-calendar-heading button {
  min-width: 42px;
  min-height: 42px;
  padding: 6px !important;
  margin: 0 !important;
  border-radius: 10px;
}
.evo-calendar-legend {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #c0b27c;
  font-size: 9px;
  margin: 12px 0 20px;
}
.evo-calendar-legend > span {
  width: 5px;
  height: 5px;
  background: #ebd05a;
  border-radius: 100%;
}
.student-evolution .evolution-calendar {
  gap: 6px !important;
  margin: 0;
  background: transparent !important;
  border: 0;
}
.student-evolution .evolution-calendar > span:not(.evolution-day) {
  background: transparent;
  color: #949aa5;
  font-size: 9px;
  padding: 7px 0;
}
.student-evolution .evolution-calendar .evolution-day {
  min-height: 46px;
  border-radius: 10px !important;
  border: 1px solid #353941 !important;
  background: #24272d !important;
  color: #b9bec7 !important;
  font-size: 12px;
  position: relative;
  padding: 5px;
  min-width: 0;
  line-height: 1.4;
}
.student-evolution .evolution-calendar .evolution-day[aria-label*="fora do período"] {
  opacity: 0.4;
}
.student-evolution .evolution-calendar button.evolution-day {
  background: #342f17 !important;
  color: #ffe268 !important;
  border-color: #827228 !important;
  min-height: 46px;
}
.student-evolution .evolution-calendar button.evolution-day span {
  font-size: 10px;
  color: #ecce4f;
}
.student-evolution .evolution-calendar button.evolution-day[aria-pressed="true"] {
  outline: 2px solid #f3d14a;
  outline-offset: 2px;
  background: #4b421b !important;
}
.evo-exercise-history,
.evo-program-progress {
  margin: 20px 0 0;
}
.evo-exercise-history > summary,
.evo-program-progress > summary,
.evo-full-history > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  font-size: 15px;
  font-weight: 650;
  cursor: pointer;
}
.evo-exercise-history > summary::after,
.evo-program-progress > summary::after,
.evo-full-history > summary::after {
  content: "＋";
  color: #dac154;
  font-size: 19px;
}
.evo-exercise-history[open] > summary::after,
.evo-program-progress[open] > summary::after,
.evo-full-history[open] > summary::after {
  content: "−";
}
.evo-exercise-history > p,
.evo-program-progress > p {
  color: #abb0bb;
  font-size: 12px;
  line-height: 1.6;
}
.evo-exercise-history :is(label, button) {
  font-size: 12px;
}
.evo-exercise-history .evolution-table {
  font-size: 12px;
}
.evo-calculation {
  margin: 20px 0;
  color: #959ca7;
  font-size: 11px;
  line-height: 1.7;
}
.evo-calculation > summary {
  min-height: 44px;
  cursor: pointer;
  display: flex;
  align-items: center;
}
.evo-full-history {
  margin-top: 16px;
}
.evo-full-history .training-stack .card {
  padding: 16px;
}
.evo-full-history .training-stack h3 {
  font-size: 16px;
}
.evo-full-history .training-stack p {
  font-size: 12px;
}
.evo-full-history .training-stack button {
  font-size: 11px;
}
#training-root[data-training-page="history"] .training-sync {
  background: transparent;
  border: 0;
  padding: 0 0 10px;
  margin-bottom: 0;
}
#training-root[data-training-page="history"] .training-sync > span {
  font-size: 10px;
  color: #929aa5;
}
#training-root[data-training-page="history"] .training-sync button {
  font-size: 10px;
  min-height: 36px;
  border-color: #373c43;
  padding: 8px 10px;
}
@media (max-width: 380px) {
  .evo-page-heading h1 {
    font-size: 27px !important;
  }
  .evo-card {
    padding: 18px 14px;
  }
  .evo-highlight {
    gap: 10px;
  }
  .evo-highlight-icon {
    width: 30px;
    height: 34px;
  }
  .student-evolution .evo-stat strong {
    font-size: 21px !important;
  }
  .evo-assessment-values strong {
    font-size: 16px;
  }
  .student-evolution .evolution-calendar {
    gap: 4px !important;
  }
  .evo-metric-tabs {
    gap: 5px;
  }
  .evo-metric-tabs button {
    font-size: 10px !important;
  }
}
.student-metric-tabs button {
  min-width: 60px;
  overflow-wrap: normal !important;
  font-size: 11px !important;
  padding: 10px 4px !important;
}
.evolution-bar-track {
  background: #34363a !important;
  border-radius: 6px;
}
.evolution-chart {
  gap: 6px !important;
  padding: 12px 4px !important;
}
.student-inline-rest {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #39331e;
  border: 1px solid #7c6f31;
  border-radius: 12px;
  padding: 12px;
  color: #ffe276;
  font-size: 13px;
}
.student-inline-rest[hidden] {
  display: none;
}
.student-evolution-filter {
  margin: 16px 0;
}
.student-evolution-filter summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  color: #e8d16a;
  cursor: pointer;
}
body[data-role="aluno"] main > .notice:not(.offline-notice) {
  display: none;
}
body[data-role="aluno"] .training-app [data-training-message] {
  position: static;
  background: #242b26;
  color: #bce5ca;
  border-color: #3b5b47;
  font-size: 12px;
  padding: 10px;
  margin-bottom: 15px;
}
body[data-role="aluno"] .training-sync {
  flex-direction: row;
  align-items: center;
  padding: 8px 12px;
  background: transparent;
  border-color: #373a40;
}
body[data-role="aluno"] .training-sync button {
  flex: none;
}
.student-tour summary {
  min-height: 44px;
}
.student-exercise-dialog :is(input, select) {
  background: #303238;
  color: #fff;
  border-color: #60646b;
}
.student-exercise-dialog .training-set input:disabled {
  background: #29352d;
  color: #c3dec9;
}
.student-exercise-dialog :is(button, a, input, select, summary):focus-visible {
  outline: 3px solid #8cc6ff;
  outline-offset: 3px;
}
.student-exercise-dialog .training-content a {
  display: block;
  padding: 14px;
  border: 1px solid #75662e;
  border-radius: 12px;
  color: #f4da63;
}
.student-icon {
  width: 23px;
  height: 23px;
  flex: none;
  vertical-align: middle;
}
.student-small {
  font-size: 13px;
}
.student-eyebrow {
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 1.4px;
  color: #c7c7c7;
}
.student-section-title {
  margin: 28px 0 14px;
  font-size: 19px;
}
.student-page-heading {
  margin: 18px 0 24px;
}
.student-page-heading h1 {
  font-size: 29px;
  line-height: 1.2;
  margin: 10px 0;
}
.student-page-heading p {
  margin: 10px 0 18px;
}
.student-pill,
.student-state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 7px;
  padding: 6px 9px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.5px;
  line-height: 1.4;
}
.student-pill {
  background: #f2cc22;
  color: #17191c;
}
.student-pill.subtle,
.student-state.neutral {
  background: #35373c;
  color: #dedee0;
}
.student-state.info {
  background: #39351e;
  color: #ffe168;
}
.student-state.success {
  background: #193c2d;
  color: #a5efc8;
}
.student-progress-label {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: #c7c8ca;
  margin: 18px 0 8px;
}
.student-progress {
  appearance: none;
  width: 100%;
  height: 7px;
  border: 0;
  border-radius: 10px;
  overflow: hidden;
  background: #383a3f;
}
.student-progress::-webkit-progress-bar {
  background: #383a3f;
}
.student-progress::-webkit-progress-value {
  background: #e8c62a;
}
.student-progress::-moz-progress-bar {
  background: #e8c62a;
}
.student-plan-heading,
.student-block-heading,
.student-workout-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.student-plan-heading h2 {
  font-size: 20px;
}
.student-feature {
  padding: 24px !important;
  border-color: #655c2d !important;
  background: linear-gradient(135deg, #2d2c22, #23252a) !important;
}
.student-feature h2 {
  font-size: 26px;
  line-height: 1.2;
  margin: 18px 0 10px;
}
.student-feature > .muted {
  font-size: 14px;
}
.student-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 24px 0;
}
.student-facts > div {
  background: #17191c99;
  border: 1px solid #48463b;
  border-radius: 12px;
  padding: 14px 5px;
  text-align: center;
}
.student-facts strong {
  display: block;
  font-size: 24px;
}
.student-facts small {
  display: block;
  color: #c7c7c4;
  font-size: 10px;
  margin-top: 6px;
}
.student-workout-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 18px;
}
.student-workout-actions button {
  width: 100%;
  margin: 0;
  line-height: 1.35;
}
.student-feature-note {
  font-size: 12px;
  color: #c4c5c2;
  margin: 18px 0 0;
}
.student-shortcuts,
.student-account-menu {
  display: grid;
  gap: 10px;
}
.student-list-button {
  display: flex !important;
  align-items: center;
  gap: 13px;
  width: 100%;
  text-align: left;
  padding: 17px 14px !important;
  border: 1px solid #3c3e44 !important;
  border-radius: 15px !important;
  background: #24262b !important;
  color: #f7f7f5 !important;
}
.student-list-button > span:nth-child(2) {
  flex: 1;
  min-width: 0;
}
.student-list-button strong,
.student-list-button small {
  display: block;
}
.student-list-button strong {
  font-size: 14px;
  font-weight: 650;
}
.student-list-button small {
  font-size: 12px;
  font-weight: 400;
  color: #babdc4;
  margin-top: 6px;
  line-height: 1.45;
}
.student-list-icon {
  display: grid;
  place-items: center;
  color: #e6cb49;
}
.student-list-arrow {
  font-size: 0;
  display: flex;
  align-items: center;
  color: #aaaeb6;
}
.student-workout-card {
  padding: 20px;
  border: 1px solid #45474d;
  border-radius: 18px;
  background: #24262b;
}
.student-workout-card.available {
  border-color: #7d702b;
}
.student-workout-card.done {
  border-color: #366b50;
}
.student-workout-top {
  flex-wrap: wrap;
  justify-content: flex-start;
}
.student-workout-top > div {
  flex: 1;
  min-width: 150px;
}
.student-workout-top h3 {
  font-size: 20px;
  margin: 0 0 6px;
}
.student-workout-top p {
  font-size: 12px;
  margin: 0;
}
.student-workout-code {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid #80702c;
  border-radius: 14px;
  color: #f3d750;
  font-size: 24px;
  font-weight: 800;
}
.student-next-cycle {
  margin-top: 20px;
}
.student-next-cycle h3 {
  font-size: 21px;
}
.student-next-cycle p {
  font-size: 14px;
  line-height: 1.6;
}
.student-back {
  margin: 4px 0 14px !important;
}
.student-session-time {
  font-size: 13px;
  color: #d6d7d9;
}
.student-guidance {
  border-left: 3px solid #e5c32c;
  padding: 12px 16px;
  background: #24262b;
  border-radius: 0 12px 12px 0;
}
.student-exercise-block {
  padding: 18px !important;
}
.student-block-heading h2 {
  font-size: 19px;
  margin: 7px 0 13px;
}
.student-exercise-list {
  display: grid;
  gap: 8px;
}
.student-exercise-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  text-align: left;
  background: #1c1e22 !important;
  color: #f6f6f5 !important;
  border: 1px solid #42454b !important;
  border-radius: 13px !important;
  padding: 16px 12px !important;
}
.student-exercise-row > span:nth-child(2) {
  flex: 1;
  min-width: 0;
}
.student-exercise-row strong,
.student-exercise-row small {
  display: block;
}
.student-exercise-row strong {
  font-size: 15px;
  line-height: 1.4;
}
.student-exercise-row small {
  font-size: 11px;
  line-height: 1.6;
  font-weight: 400;
  margin-top: 4px;
}
.student-exercise-number {
  font-weight: 750;
  color: #f1d44b;
  font-size: 16px;
}
.student-exercise-cue {
  font-size: 0;
}
.student-exercise-row.done {
  border-color: #3b7757 !important;
}
.student-success-text {
  color: #9de3b8;
}
.student-exercise-row.done .student-exercise-number {
  color: #9de3b8;
}
.student-locked-group {
  border-color: #6b6236 !important;
}
.student-icon-button {
  display: grid !important;
  place-items: center;
  width: 46px;
  min-width: 46px;
  height: 46px;
  padding: 10px !important;
  border-radius: 13px !important;
  position: relative;
}
.student-exercise-dialog,
.student-tour {
  background: #202227;
  color: #f7f7f5;
  border: 1px solid #55585e;
  border-radius: 22px;
  width: min(630px, calc(100vw - 28px));
  max-height: 90dvh;
  padding: 24px;
  overflow: auto;
}
.student-exercise-dialog::backdrop,
.student-tour::backdrop {
  background: #000b;
}
.student-dialog-heading {
  position: static;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0;
  background: none;
  border: 0;
  gap: 12px;
  min-height: 0;
}
.student-dialog-heading h2 {
  font-size: 25px;
  margin: 9px 0 16px;
}
.student-prescription-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  font-size: 12px;
  margin: 8px 0 20px;
}
.student-prescription-facts > * {
  background: #303238;
  padding: 9px 12px;
  border-radius: 9px;
}
.student-series-list {
  display: grid;
  gap: 14px;
  margin: 20px 0;
}
.student-exercise-dialog .training-set {
  display: block;
  padding: 18px;
  background: #191b1f;
  border: 1px solid #45474d;
  border-radius: 14px;
}
.student-series-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}
.student-exercise-dialog .training-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  border: 0;
  padding: 0;
}
.student-exercise-dialog label {
  font-size: 12px;
  min-width: 0;
}
.student-exercise-dialog input {
  min-width: 0;
  width: 100%;
}
.student-series-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 15px;
}
.student-series-actions button {
  flex: 1;
  font-size: 12px;
}
.student-exercise-dialog .training-saved {
  border-color: #397153;
  background: #1b2922;
}
.student-dialog-actions {
  display: grid;
  gap: 10px;
  margin: 20px 0;
}
.student-dialog-back {
  width: 100%;
  margin: 20px 0 0 !important;
}
.student-exercise-history {
  padding: 16px;
  border-radius: 12px;
  background: #292b30;
}
.student-exercise-history summary {
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
}
.student-exercise-history article {
  border-top: 1px solid #505158;
  padding: 14px 0;
  font-size: 13px;
}
.student-rest-floating {
  position: fixed;
  bottom: 88px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 80;
  width: min(420px, calc(100vw - 30px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  background: #33301c;
  color: #ffe373;
  border: 1px solid #b39a32;
  border-radius: 16px;
  box-shadow: 0 10px 30px #0008;
}
.student-rest-floating[hidden] {
  display: none;
}
.student-rest-floating > div {
  display: flex;
  align-items: center;
  gap: 12px;
}
.student-tour {
  max-width: 440px;
  padding: 30px;
}
.student-tour > .student-icon-button {
  float: right;
}
.student-tour h2 {
  margin-top: 35px;
  font-size: 28px;
}
.student-tour p {
  color: #c7c8ce;
  line-height: 1.7;
}
.student-tour-dots {
  display: flex;
  gap: 8px;
  margin: 24px 0;
}
.student-tour-dots span {
  width: 9px;
  height: 9px;
  background: #51535a;
  border-radius: 50%;
}
.student-tour-dots .active {
  background: #f2d32a;
}
.student-tour > [data-tour-next] {
  width: 100%;
}
.student-membership-preview h2 {
  font-size: 24px;
}
.student-membership-preview {
  background: linear-gradient(130deg, #323023, #24262b) !important;
  border-color: #635b34 !important;
}
.account-enrollment dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  font-size: 13px;
}
.account-enrollment dd {
  margin: 0;
  text-align: right;
}
.account-enrollment {
  border-bottom: 1px solid #46484e;
  padding: 15px 0;
}
.account-notifications {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 15px;
}
.account-notifications li {
  border: 1px solid #45474d;
  border-radius: 14px;
  padding: 18px;
  background: #1d1f23;
}
.account-notifications h3 {
  font-size: 19px;
}
.account-notice-body {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.student-contact-link {
  display: block;
  overflow-wrap: anywhere;
  padding: 14px 0;
  color: #ffe16a;
}
.student-refresh {
  width: 100%;
  margin-top: 20px !important;
}
.student-account-module {
  margin-top: 18px;
}
.student-account-module .card {
  margin-bottom: 18px;
}
.student-device-panel {
  display: block;
}
body[data-student-account-area]:not([data-student-account-area="device"]) .student-device-panel {
  display: none;
}
body[data-student-account-area="device"] .student-device-panel {
  display: block;
}
.student-metric-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0;
}
.student-metric-tabs button {
  flex: 1;
  padding: 10px;
  font-size: 12px;
}
.student-metric-tabs button[aria-pressed="true"] {
  border-color: #ead046;
  background: #39351e;
  color: #ffe16a;
}
.student-calendar-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.student-calendar-heading h3 {
  text-transform: capitalize;
  text-align: center;
  font-size: 17px;
}
.student-calendar-heading button {
  min-width: 44px;
}
.evolution-calendar {
  margin-top: 18px;
}
.evolution-table th {
  background: #303238 !important;
  color: #fff;
}
.evolution-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.evolution-stat {
  background: #24262b;
  border: 1px solid #40434a;
  border-radius: 14px;
  padding: 18px 12px;
}
.evolution-stat strong {
  font-size: 21px;
}
.evolution-stat span {
  font-size: 11px;
}
.evolution-chart svg.evolution-bar rect {
  fill: #e7c82e;
}
.student-assessment-shortcut {
  margin: 20px 0;
}
body[data-role="aluno"] .account-bar {
  display: none;
}
body[data-role="aluno"] main {
  max-width: 780px;
}
body[data-role="aluno"] main > .notice {
  font-size: 11px;
  padding: 10px 13px;
  background: #24262b;
  color: #c8cad0;
  border-color: #42454b;
}
body[data-role="aluno"] header .brand-name {
  display: none;
}
body[data-role="aluno"] > header {
  position: relative;
  min-height: 92px;
  padding-right: 190px;
}
body[data-role="aluno"] > header .environment {
  position: absolute;
  right: 18px;
  bottom: 7px;
  font-size: 8px;
  max-width: none;
}
body[data-role="aluno"] .brand-logo-crop {
  width: 126px;
  height: 46px;
}
#student-top-actions {
  position: absolute;
  right: max(18px, calc((100vw - 1400px) / 2));
  top: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}
#student-top-actions[hidden] {
  display: none;
}
.student-top-sync {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: #c7c8ce;
}
.student-top-sync::before {
  content: "";
  width: 7px;
  height: 7px;
  background: #b9ab64;
  border-radius: 50%;
}
.student-top-sync[data-state="confirmed"]::before {
  background: #6cd395;
}
#student-top-actions [data-unread] {
  position: absolute;
  right: -3px;
  top: -4px;
  min-width: 17px;
  height: 17px;
  border-radius: 10px;
  background: #e6c52b;
  color: #111;
  font-size: 10px;
  padding: 1px 4px;
}
.training-nav button {
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  justify-content: center;
  min-height: 62px !important;
}
.training-nav button span {
  font-size: 11px;
}
.training-nav button[aria-current="page"] {
  color: #f3d451;
  background: #302e20;
}
.student-account {
  width: 100%;
}
body[data-role="aluno"] :is(button, a, input, select, summary):focus-visible {
  outline: 3px solid #8cc6ff;
  outline-offset: 3px;
}
body[data-role="aluno"] .training-sync {
  font-size: 11px;
  margin-bottom: 18px;
  gap: 9px;
}
body[data-role="aluno"] .training-sync button {
  font-size: 11px;
  padding: 9px;
  min-height: 44px;
}
body[data-role="aluno"] .card {
  border-radius: 18px;
}
body[data-role="aluno"] .training-account {
  display: block;
}
body[data-role="aluno"] .training-account[hidden] {
  display: none;
}
@media (max-width: 480px) {
  .student-page-heading h1 {
    font-size: 27px;
  }
  .student-workout-actions {
    grid-template-columns: 1fr 1fr;
  }
  .student-workout-actions button {
    font-size: 12px;
    padding: 12px 8px;
  }
  .student-feature {
    padding: 21px !important;
  }
  .student-workout-top > .student-state {
    margin-left: 60px;
  }
  .student-exercise-dialog {
    padding: 18px;
  }
  .student-dialog-heading h2 {
    font-size: 23px;
  }
  .student-series-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .evolution-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .student-list-button strong {
    font-size: 13px;
  }
  .student-list-button small {
    font-size: 11px;
  }
}
