/* ============================================================================
   PITRIO CMS 1.0.0.0 — Student Auth Final UI
   Camada exclusiva para /aluno/login, /aluno/cadastro, /senha/esqueci e
   /senha/redefinir. Arquivo separado para evitar cache de releases anteriores.
   ============================================================================ */

.student-auth-v100,
.student-auth-v100 * { box-sizing: border-box; }

.student-auth-v100 {
  --pa-navy: #0d2142;
  --pa-navy-2: #15395f;
  --pa-blue: #2563eb;
  --pa-blue-soft: #edf5ff;
  --pa-green: #119b67;
  --pa-green-2: #08784f;
  --pa-green-soft: #eefaf4;
  --pa-line: #dce6f0;
  --pa-muted: #76869a;
  --pa-bg: #eef3f8;
}

/* ---- shell compartilhado ------------------------------------------------ */
.student-auth-v100.admin-login-v6583 {
  min-height: 100vh !important;
  width: 100% !important;
  padding: clamp(18px, 3.5vw, 46px) !important;
  background:
    radial-gradient(circle at 7% 10%, rgba(37,99,235,.075), transparent 27rem),
    radial-gradient(circle at 94% 88%, rgba(17,155,103,.055), transparent 24rem),
    var(--pa-bg) !important;
}

.student-auth-v100 .admin-login-v6583__frame {
  width: min(1180px, 100%) !important;
  min-height: 680px !important;
  grid-template-columns: minmax(0, 1.03fr) minmax(390px, .77fr) !important;
  overflow: hidden !important;
  border: 1px solid rgba(194,207,222,.92) !important;
  border-radius: 30px !important;
  background: #fff !important;
  box-shadow: 0 34px 86px rgba(25,48,78,.13) !important;
}

.student-auth-v100 .admin-login-v6583__brand {
  min-width: 0 !important;
  background: linear-gradient(145deg,#f8fbff,#edf4fb) !important;
}

.student-auth-v100 .admin-login-v6583__brand-copy h1 {
  max-width: 650px !important;
  color: var(--pa-navy) !important;
  text-wrap: balance;
}

.student-auth-v100 .admin-login-v6583__brand-copy p {
  color: #607086 !important;
}

.student-auth-v100 .admin-login-v6583__features > div {
  min-width: 0 !important;
}

.student-auth-v100 .admin-login-v6583__access {
  min-width: 0 !important;
  background: #fff !important;
}

.student-auth-v100 .admin-login-v6583__card {
  width: min(100%, 440px) !important;
  min-width: 0 !important;
}

.student-auth-v100 .admin-login-v6583__card header {
  margin: 0 0 22px !important;
}

.student-auth-v100 .admin-login-v6583__card header h2 {
  color: #10273f !important;
  margin: 6px 0 7px !important;
}

.student-auth-v100 .admin-login-v6583__card header p {
  color: #7a8798 !important;
  margin: 0 !important;
}

/* ---- campos ------------------------------------------------------------- */
.student-auth-v100 .admin-login-field,
.student-auth-v100 .auth-field-v652 {
  min-width: 0 !important;
}

.student-auth-v100 .admin-login-input,
.student-auth-v100 .auth-input-v652 {
  min-width: 0 !important;
}

.student-auth-v100 .admin-login-input input,
.student-auth-v100 .auth-input-v652 input,
.student-auth-v100 .auth-input-v652 select,
.student-auth-v100 .auth-field-v652 textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* ---- login: recuperação em card ---------------------------------------- */
.student-auth-v100 .student-auth-v100__forgot {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 22px !important;
  grid-template-rows: auto auto !important;
  column-gap: 12px !important;
  align-items: center !important;
  width: 100% !important;
  margin: 14px 0 16px !important;
  padding: 13px 14px !important;
  border: 1px solid #dbe7f4 !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg,#fbfdff,#f4f8fe) !important;
  color: #35506e !important;
  text-decoration: none !important;
  box-shadow: 0 8px 22px rgba(37,99,235,.045) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

.student-auth-v100 .student-auth-v100__forgot > span {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  grid-column: 1 !important;
  min-width: 0 !important;
}

.student-auth-v100 .student-auth-v100__forgot > span > i {
  display: grid !important;
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px !important;
  place-items: center !important;
  border-radius: 9px !important;
  background: var(--pa-blue-soft) !important;
  color: var(--pa-blue) !important;
  font-size: .72rem !important;
}

.student-auth-v100 .student-auth-v100__forgot b {
  color: #27435f !important;
  font-size: .69rem !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

.student-auth-v100 .student-auth-v100__forgot small {
  display: block !important;
  grid-column: 1 !important;
  margin: 2px 0 0 36px !important;
  color: #8292a4 !important;
  font-size: .59rem !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}

.student-auth-v100 .student-auth-v100__forgot > i:last-child {
  grid-column: 2 !important;
  grid-row: 1 / 3 !important;
  color: #7890aa !important;
  font-size: .68rem !important;
}

.student-auth-v100 .student-auth-v100__forgot:hover,
.student-auth-v100 .student-auth-v100__forgot:focus-visible {
  transform: translateY(-1px) !important;
  border-color: #bcd0ea !important;
  box-shadow: 0 12px 26px rgba(37,99,235,.08) !important;
  outline: none !important;
}

/* ---- login: CTA criar conta -------------------------------------------- */
.student-auth-v100 .student-auth-v100__divider {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 19px 0 12px !important;
  color: #8795a5 !important;
  font-size: .6rem !important;
  font-weight: 780 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}

.student-auth-v100 .student-auth-v100__divider::before,
.student-auth-v100 .student-auth-v100__divider::after {
  content: "" !important;
  height: 1px !important;
  flex: 1 !important;
  background: #e6edf4 !important;
}

.student-auth-v100 .student-auth-v100__create {
  display: grid !important;
  grid-template-columns: 46px minmax(0,1fr) 22px !important;
  gap: 12px !important;
  align-items: center !important;
  width: 100% !important;
  padding: 14px !important;
  border: 1px solid #b9e0cb !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg,#f4fcf8,#eaf8f1) !important;
  color: #174b35 !important;
  text-decoration: none !important;
  box-shadow: 0 11px 25px rgba(17,155,103,.08) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

.student-auth-v100 .student-auth-v100__create-icon {
  display: grid !important;
  width: 46px !important;
  height: 46px !important;
  place-items: center !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg,#19ad75,#0f915f) !important;
  color: #fff !important;
  box-shadow: 0 9px 20px rgba(17,155,103,.2) !important;
}

.student-auth-v100 .student-auth-v100__create > span:nth-child(2) {
  min-width: 0 !important;
}

.student-auth-v100 .student-auth-v100__create strong,
.student-auth-v100 .student-auth-v100__create small {
  display: block !important;
  text-decoration: none !important;
}

.student-auth-v100 .student-auth-v100__create strong {
  color: #14583c !important;
  font-size: .78rem !important;
  line-height: 1.25 !important;
}

.student-auth-v100 .student-auth-v100__create small {
  margin-top: 3px !important;
  color: #668879 !important;
  font-size: .59rem !important;
  line-height: 1.45 !important;
}

.student-auth-v100 .student-auth-v100__create > i:last-child {
  color: #148258 !important;
  font-size: .72rem !important;
}

.student-auth-v100 .student-auth-v100__create:hover,
.student-auth-v100 .student-auth-v100__create:focus-visible {
  transform: translateY(-1px) !important;
  border-color: #84caa6 !important;
  box-shadow: 0 16px 32px rgba(17,155,103,.13) !important;
  outline: none !important;
}

/* ---- cadastro ----------------------------------------------------------- */
.student-auth-v100--register .admin-login-v6583__frame {
  width: min(1240px, 100%) !important;
  min-height: 780px !important;
  grid-template-columns: minmax(0,.88fr) minmax(520px,1.12fr) !important;
}

.student-auth-v100--register .admin-login-v6583__access.student-auth-v100__scroll-panel {
  justify-content: flex-start !important;
  overflow: visible !important;
  padding: 38px clamp(28px,4vw,54px) 46px !important;
}

.student-auth-v100--register .student-auth-v100__wide-card {
  width: min(100%, 680px) !important;
  max-width: 680px !important;
}

.student-auth-v100--register .student-register-v100 {
  display: grid !important;
  gap: 18px !important;
  width: 100% !important;
}

.student-auth-v100--register .student-register-v100__section {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.student-auth-v100--register .student-register-v100__section + .student-register-v100__section {
  margin-top: 2px !important;
  padding-top: 20px !important;
  border-top: 1px solid #e8eef5 !important;
}

.student-auth-v100--register .student-register-v100__section-head {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 14px !important;
}

.student-auth-v100--register .student-register-v100__section-head > span {
  display: grid !important;
  width: 31px !important;
  height: 31px !important;
  flex: 0 0 31px !important;
  place-items: center !important;
  border-radius: 10px !important;
  background: #eaf3ff !important;
  color: var(--pa-blue) !important;
  font-size: .67rem !important;
  font-weight: 900 !important;
}

.student-auth-v100--register .student-register-v100__section-head > div {
  min-width: 0 !important;
}

.student-auth-v100--register .student-register-v100__section-head strong,
.student-auth-v100--register .student-register-v100__section-head small {
  display: block !important;
}

.student-auth-v100--register .student-register-v100__section-head strong {
  color: #263d57 !important;
  font-size: .73rem !important;
  line-height: 1.25 !important;
}

.student-auth-v100--register .student-register-v100__section-head small {
  margin-top: 2px !important;
  color: #8391a1 !important;
  font-size: .59rem !important;
  line-height: 1.35 !important;
}

.student-auth-v100--register .student-register-v100__grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 13px 14px !important;
  width: 100% !important;
}

.student-auth-v100--register .student-register-v100__grid > .wide {
  grid-column: 1 / -1 !important;
}

.student-auth-v100--register .student-register-v100 .auth-field-v652 {
  display: grid !important;
  gap: 7px !important;
  margin: 0 !important;
}

.student-auth-v100--register .student-register-v100 .auth-field-v652 > span {
  color: #465b6b !important;
  font-size: .67rem !important;
  font-weight: 800 !important;
}

.student-auth-v100--register .student-register-v100 .auth-input-v652 {
  position: relative !important;
}

.student-auth-v100--register .student-register-v100 .auth-input-v652 > i {
  position: absolute !important;
  left: 15px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #7d91a1 !important;
  font-size: .76rem !important;
  z-index: 2 !important;
}

.student-auth-v100--register .student-register-v100 .auth-input-v652 input,
.student-auth-v100--register .student-register-v100 .auth-input-v652 select {
  min-height: 51px !important;
  padding: 0 46px 0 43px !important;
  border: 1px solid #d7e0ea !important;
  border-radius: 13px !important;
  background: #fbfdff !important;
  color: #173044 !important;
  font: 600 .72rem Poppins,system-ui,sans-serif !important;
  box-shadow: none !important;
  outline: none !important;
}

.student-auth-v100--register .student-register-v100 .auth-input-v652 input:focus,
.student-auth-v100--register .student-register-v100 .auth-input-v652 select:focus {
  border-color: #7da9ec !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(37,99,235,.08) !important;
}

.student-auth-v100--register .student-register-v100 .auth-input-v652__toggle {
  position: absolute !important;
  right: 7px !important;
  top: 7px !important;
}

.student-auth-v100--register .student-register-v100__submit {
  margin-top: 2px !important;
}

.student-auth-v100 .student-auth-v100__login-return {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  margin-top: 18px !important;
  padding-top: 16px !important;
  border-top: 1px solid #e8eef4 !important;
  color: #7c8b9c !important;
  font-size: .65rem !important;
}

.student-auth-v100 .student-auth-v100__login-return a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: var(--pa-blue) !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

/* ---- recuperação e redefinição ----------------------------------------- */
.student-auth-v100.password-request-v100 .admin-login-v6583__card {
  width: min(100%, 440px) !important;
}

.student-auth-v100 .password-request-v100__submit {
  margin-top: 18px !important;
}

.student-auth-v100 .password-request-v100__notice {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 16px 0 !important;
  padding: 12px 13px !important;
  border: 1px solid #e5ecf3 !important;
  border-radius: 12px !important;
  background: #f7f9fc !important;
  color: #748397 !important;
  font-size: .62rem !important;
  line-height: 1.5 !important;
}

.student-auth-v100 .password-request-v100__notice i {
  margin-top: 2px !important;
  color: #59718d !important;
}

.student-auth-v100 .student-auth-v100__back {
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
  margin-top: 14px !important;
  padding: 12px !important;
  border: 1px solid #dfe7f0 !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: #36506d !important;
  text-decoration: none !important;
  transition: border-color .18s ease, background .18s ease !important;
}

.student-auth-v100 .student-auth-v100__back > i {
  display: grid !important;
  width: 34px !important;
  height: 34px !important;
  place-items: center !important;
  border-radius: 10px !important;
  background: #edf4fb !important;
  color: var(--pa-blue) !important;
  font-size: .68rem !important;
}

.student-auth-v100 .student-auth-v100__back strong,
.student-auth-v100 .student-auth-v100__back small {
  display: block !important;
  text-decoration: none !important;
}

.student-auth-v100 .student-auth-v100__back strong {
  color: #36506d !important;
  font-size: .69rem !important;
}

.student-auth-v100 .student-auth-v100__back small {
  margin-top: 2px !important;
  color: #8996a5 !important;
  font-size: .58rem !important;
  line-height: 1.4 !important;
}

.student-auth-v100 .student-auth-v100__back:hover,
.student-auth-v100 .student-auth-v100__back:focus-visible {
  border-color: #c8d8e8 !important;
  background: #f8fbff !important;
  outline: none !important;
}

/* ---- segurança / mensagens --------------------------------------------- */
.student-auth-v100 .auth-security-v652 {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
  margin: 4px 0 0 !important;
  padding: 11px 12px !important;
  border: 1px solid #d9eaf2 !important;
  border-radius: 11px !important;
  background: #eff8fb !important;
  color: #4d6879 !important;
  font-size: .61rem !important;
  line-height: 1.55 !important;
}

.student-auth-v100 .auth-notice-v652 {
  border-radius: 12px !important;
  font-size: .68rem !important;
}

/* ---- responsivo --------------------------------------------------------- */
@media (max-width: 920px) {
  .student-auth-v100.admin-login-v6583 {
    padding: 10px !important;
  }

  .student-auth-v100 .admin-login-v6583__frame,
  .student-auth-v100--register .admin-login-v6583__frame {
    grid-template-columns: 1fr !important;
    width: min(100%, 720px) !important;
    min-height: auto !important;
  }

  .student-auth-v100 .admin-login-v6583__brand {
    display: none !important;
  }

  .student-auth-v100 .admin-login-v6583__access,
  .student-auth-v100--register .admin-login-v6583__access.student-auth-v100__scroll-panel {
    min-height: calc(100vh - 20px) !important;
    padding: 28px 22px 34px !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  .student-auth-v100--register .admin-login-v6583__access.student-auth-v100__scroll-panel {
    justify-content: flex-start !important;
  }

  .student-auth-v100 .admin-login-v6583__card,
  .student-auth-v100--register .student-auth-v100__wide-card {
    width: min(100%, 660px) !important;
    max-width: 660px !important;
  }
}

@media (max-width: 640px) {
  .student-auth-v100--register .student-register-v100__grid {
    grid-template-columns: 1fr !important;
  }

  .student-auth-v100--register .student-register-v100__grid > .wide {
    grid-column: auto !important;
  }

  .student-auth-v100 .student-auth-v100__create {
    grid-template-columns: 42px minmax(0,1fr) 18px !important;
    padding: 12px !important;
  }

  .student-auth-v100 .student-auth-v100__create-icon {
    width: 42px !important;
    height: 42px !important;
  }

  .student-auth-v100 .student-auth-v100__login-return {
    flex-direction: column !important;
    gap: 5px !important;
  }
}

@media (max-width: 420px) {
  .student-auth-v100 .admin-login-v6583__access,
  .student-auth-v100--register .admin-login-v6583__access.student-auth-v100__scroll-panel {
    padding: 24px 16px 30px !important;
  }

  .student-auth-v100 .student-auth-v100__forgot small {
    margin-left: 0 !important;
    grid-column: 1 / -1 !important;
  }
}
