@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0,-50..200&icon_names=add,arrow_back,arrow_forward,auto_awesome,bolt,business,calculate,check_circle,close,delete,description,directions_car,download,eco,edit,electric_car,emoji_events,error,expand_less,expand_more,filter_list,forest,history,info,insert_chart,local_gas_station,local_parking,local_shipping,location_on,lock,login,logout,mail,military_tech,person,phone,receipt,schedule,search,security,share,shield,speed,star,trending_down,trending_up,tune,two_wheeler,visibility,visibility_off,volume_off,warning_amber,workspace_premium");
* {
  margin: 0;
  padding: 0;
  outline: 0;
  box-sizing: border-box;
  list-style: none;
  border-collapse: collapse;
  text-decoration: none; }

html {
  font-size: 62.5%; }

body {
  font-size: 1.5rem;
  font-family: "Plus Jakarta Sans", sans-serif; }

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased; }

.auth-page {
  min-height: 100vh;
  background: #F4FAF4;
  background-image: radial-gradient(circle at 20% 20%, rgba(118, 196, 66, 0.06) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(46, 125, 50, 0.05) 0%, transparent 50%);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  padding-top: 4rem;
  padding-right: 1.6rem;
  padding-bottom: 4rem;
  padding-left: 1.6rem;
  flex-direction: column; }

.auth-card {
  background: #FFFFFF;
  border: 0.1rem solid #E2E8F0;
  border-radius: 2.4rem;
  padding-top: 4rem;
  padding-right: 4rem;
  padding-bottom: 4rem;
  padding-left: 4rem;
  width: 100%;
  max-width: 50rem;
  box-shadow: 0 0.4rem 2.4rem rgba(26, 46, 26, 0.06), 0 0.1rem 0.4rem rgba(26, 46, 26, 0.04); }
  @media (max-width: 560px) {
    .auth-card {
      padding-top: 3.2rem;
      padding-right: 2.4rem;
      padding-bottom: 3.2rem;
      padding-left: 2.4rem;
      border-radius: 2rem; } }
.auth-card__logo {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  margin-bottom: 2.4rem; }
  .auth-card__logo img {
    height: 3.8rem;
    width: auto; }

.auth-card__title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.4rem;
  font-weight: 800;
  color: #1A2E1A;
  text-align: center;
  margin: 0 0 0.6rem;
  line-height: 1.2; }

.auth-card__subtitle {
  font-size: 1.45rem;
  color: #718096;
  text-align: center;
  line-height: 1.6;
  margin: 0 0 3rem; }

.auth-type-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.8rem;
  padding-top: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
  background: #F4FAF4;
  border-radius: 1.4rem;
  border: 0.1rem solid #E2E8F0;
  margin-bottom: 2.8rem; }

.auth-type-tab {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.7rem;
  padding-top: 1rem;
  padding-right: 1.6rem;
  padding-bottom: 1rem;
  padding-left: 1.6rem;
  border-radius: 1rem;
  border: none;
  background: none;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: #718096;
  cursor: pointer;
  transition-property: all;
  transition-duration: 0.18s;
  transition-timing-function: ease;
  transition-delay: 0s;
  transition-behavior: normal; }
  .auth-type-tab .material-symbols-outlined {
    font-size: 1.8rem;
    flex-shrink: 0; }
  .auth-type-tab:hover:not(.auth-type-tab--active) {
    background: rgba(46, 125, 50, 0.05);
    color: #2E7D32; }
  .auth-type-tab--active {
    background: #FFFFFF;
    color: #1B5E20;
    box-shadow: 0 0.2rem 0.8rem rgba(26, 46, 26, 0.08);
    border: 0.1rem solid #E2E8F0; }
    .auth-type-tab--active .material-symbols-outlined {
      color: #2E7D32; }

.auth-form {
  display: flex;
  flex-direction: column;
  gap: 2rem; }

.form-group {
  display: flex;
  flex-direction: column;
  gap: 0.6rem; }

.form-label {
  font-size: 1.35rem;
  font-weight: 600;
  color: #1A2E1A; }

.form-field {
  position: relative; }
  .form-field__icon {
    position: absolute;
    left: 1.4rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.8rem;
    color: #718096;
    pointer-events: none;
    transition-property: color;
    transition-duration: 0.15s;
    transition-timing-function: ease;
    transition-delay: 0s;
    transition-behavior: normal; }
  .form-field__toggle {
    position: absolute;
    right: 1.2rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    color: #718096;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    transition-property: color;
    transition-duration: 0.15s;
    transition-timing-function: ease;
    transition-delay: 0s;
    transition-behavior: normal;
    line-height: 0;
    padding: 0.4rem; }
    .form-field__toggle:hover {
      color: #2E7D32; }
    .form-field__toggle .material-symbols-outlined {
      font-size: 1.8rem; }

.form-input {
  width: 100%;
  height: 4.8rem;
  padding-top: 0;
  padding-right: 1.6rem;
  padding-bottom: 0;
  padding-left: 4.4rem;
  border-radius: 1rem;
  border: 0.15rem solid #E2E8F0;
  background: #FFFFFF;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.4rem;
  color: #1A2E1A;
  transition-property: all;
  transition-duration: 0.15s;
  transition-timing-function: ease;
  transition-delay: 0s;
  transition-behavior: normal;
  outline: none;
  appearance: none; }
  .form-input::placeholder {
    color: #718096; }
  .form-input:focus {
    border-color: #2E7D32;
    box-shadow: 0 0 0 0.3rem rgba(46, 125, 50, 0.12); }
    .form-input:focus ~ .form-field__icon {
      color: #2E7D32; }
  .form-input--no-icon {
    padding-top: 0;
    padding-right: 1.6rem;
    padding-bottom: 0;
    padding-left: 1.6rem; }
  .form-input--has-toggle {
    padding-right: 4.8rem; }
  .form-input--error {
    border-color: #EF4444; }
    .form-input--error:focus {
      box-shadow: 0 0 0 0.3rem rgba(239, 68, 68, 0.12); }

.form-error {
  font-size: 1.25rem;
  color: #EF4444;
  font-weight: 500;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0.4rem; }
  .form-error .material-symbols-outlined {
    font-size: 1.4rem;
    flex-shrink: 0; }

.auth-alert {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
  padding-top: 1.2rem;
  padding-right: 1.6rem;
  padding-bottom: 1.2rem;
  padding-left: 1.6rem;
  border-radius: 1rem;
  background: rgba(239, 68, 68, 0.07);
  border: 0.1rem solid rgba(239, 68, 68, 0.25); }
  .auth-alert .material-symbols-outlined {
    font-size: 1.8rem;
    color: #EF4444;
    flex-shrink: 0; }
  .auth-alert span {
    font-size: 1.35rem;
    color: #EF4444;
    font-weight: 500; }

.password-strength {
  margin-top: 0.6rem; }
  .password-strength__bars {
    display: flex;
    gap: 0.4rem;
    margin-bottom: 0.5rem; }
  .password-strength__bar {
    flex: 1;
    height: 0.35rem;
    border-radius: 9999px;
    background: #E2E8F0;
    transition-property: background-color;
    transition-duration: 0.2s;
    transition-timing-function: ease;
    transition-delay: 0s;
    transition-behavior: normal; }
    .password-strength__bar--fraca {
      background: #EF4444; }
    .password-strength__bar--media {
      background: #F59E0B; }
    .password-strength__bar--boa {
      background: #4CAF50; }
    .password-strength__bar--forte {
      background: #2E7D32; }
  .password-strength__label {
    font-size: 1.2rem;
    font-weight: 500;
    color: #718096; }
    .password-strength__label--fraca {
      color: #EF4444; }
    .password-strength__label--media {
      color: #92400e; }
    .password-strength__label--boa {
      color: #4CAF50; }
    .password-strength__label--forte {
      color: #1B5E20; }

.auth-btn {
  width: 100%;
  height: 5rem;
  border-radius: 1.2rem;
  border: none;
  background: linear-gradient(135deg, #2E7D32 0%, #76C442 100%);
  color: #FFFFFF;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  box-shadow: 0 0.4rem 1.6rem rgba(46, 125, 50, 0.3);
  transition-property: all;
  transition-duration: 0.18s;
  transition-timing-function: ease;
  transition-delay: 0s;
  transition-behavior: normal; }
  .auth-btn .material-symbols-outlined {
    font-size: 1.8rem; }
  .auth-btn:hover {
    background: linear-gradient(135deg, #1B5E20 0%, #2E7D32 100%);
    box-shadow: 0 0.6rem 2rem rgba(46, 125, 50, 0.4);
    transform: translateY(-0.1rem); }
  .auth-btn:active {
    transform: translateY(0); }
  .auth-btn:disabled {
    background: #E2E8F0;
    color: #718096;
    box-shadow: none;
    cursor: not-allowed;
    transform: none; }

.auth-switch {
  text-align: center;
  font-size: 1.4rem;
  color: #718096;
  margin-top: 1.2rem; }
  .auth-switch a {
    color: #2E7D32;
    font-weight: 600;
    transition-property: color;
    transition-duration: 0.15s;
    transition-timing-function: ease;
    transition-delay: 0s;
    transition-behavior: normal; }
    .auth-switch a:hover {
      color: #1B5E20;
      text-decoration: underline; }

.auth-footer {
  margin-top: 2.8rem;
  text-align: center;
  font-size: 1.25rem;
  color: #718096; }
  .auth-footer a {
    color: #718096;
    transition-property: color;
    transition-duration: 0.15s;
    transition-timing-function: ease;
    transition-delay: 0s;
    transition-behavior: normal; }
    .auth-footer a:hover {
      color: #2E7D32; }
  .auth-footer span {
    margin: 0 0.6rem; }

.form-field:has(.form-input--has-toggle) > .form-field__icon {
  display: none; }

.form-field:has(.form-input--has-toggle) .form-input--has-toggle {
  padding-left: 1.6rem; }

/*# sourceMappingURL=auth.css.map */