:root {
  --bio-green-950: #062f22;
  --bio-green-900: #073d29;
  --bio-green-800: #0b5638;
  --bio-green-700: #0d6b45;
  --bio-sand: #b6a78c;
  --bio-ivory: #f6f3ea;
  --bio-white: #ffffff;
  --bio-ink: #17342a;
  --bio-shadow: 0 24px 70px rgba(3, 31, 22, 0.32);
}

/* BioProfe campus: base visual shared with Moodle. */
body {
  color: var(--bio-ink);
}

a,
.Button--link {
  color: var(--bio-green-700);
}

a:hover,
a:focus {
  color: var(--bio-green-900);
}

.Button--primary,
.Button--login {
  border-color: var(--bio-green-800) !important;
  background: var(--bio-green-800) !important;
  color: var(--bio-white) !important;
  box-shadow: none !important;
  font-weight: 700;
}

.Button--primary:hover,
.Button--primary:focus,
.Button--login:hover,
.Button--login:focus {
  border-color: var(--bio-green-950) !important;
  background: var(--bio-green-950) !important;
}

.ic-Input:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--bio-green-700) !important;
  box-shadow: 0 0 0 2px rgba(13, 107, 69, 0.2) !important;
}

/* Login: scientific canvas on the left, calm accessible card on the right. */
body.ic-Login-Body {
  min-height: 100vh;
  background:
    linear-gradient(90deg, rgba(6, 47, 34, 0.18), rgba(6, 47, 34, 0.04)),
    url('/bioprofe-assets/science-campus.png') center / cover fixed no-repeat !important;
}

.ic-Login__container,
.ic-Login__content {
  min-height: 100vh;
  background: transparent !important;
}

.ic-Login__content {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 40px clamp(28px, 7vw, 120px);
  box-sizing: border-box;
}

.ic-Login {
  width: min(100%, 470px);
  margin: 0 !important;
}

.ic-Login__innerContent {
  box-sizing: border-box;
  padding: clamp(28px, 4vw, 48px) !important;
  border: 1px solid rgba(182, 167, 140, 0.62);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: var(--bio-shadow);
  backdrop-filter: blur(14px);
}

.ic-Login-header {
  margin-bottom: 22px;
  text-align: center;
}

.ic-Login-header__logo img {
  display: none !important;
}

.ic-Login-header__logo {
  display: block !important;
  width: 138px !important;
  height: 138px !important;
  margin: 0 auto 10px !important;
  background: url('/bioprofe-assets/bioprofe-logo.png') center / contain no-repeat;
}

.ic-Login-header::after {
  display: block;
  content: 'Aprende · Practica · Evalúa';
  color: var(--bio-green-800);
  font-size: 0.96rem;
  font-weight: 750;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.ic-Login__body {
  color: var(--bio-ink);
}

.ic-Label {
  color: var(--bio-green-950) !important;
  font-weight: 700 !important;
}

.ic-Input {
  min-height: 46px;
  border-color: #a9b8b1 !important;
  border-radius: 10px !important;
  background: var(--bio-white) !important;
}

.ic-Login__actions .Button--login {
  min-height: 48px;
  border-radius: 10px !important;
  font-size: 1rem;
}

/* A restrained shared identity inside the application. */
.ic-app-header,
.ic-app-header__main-navigation {
  background: var(--bio-green-950) !important;
}

.ic-app-header__menu-list-link:hover,
.ic-app-header__menu-list-link:focus,
.ic-app-header__menu-list-item.ic-app-header__menu-list-item--active .ic-app-header__menu-list-link {
  background: var(--bio-green-800) !important;
}

.ic-app-header__logomark {
  background: url('/bioprofe-assets/bioprofe-logo.png') center / 46px 46px no-repeat !important;
}

.ic-app-header__logomark svg,
.ic-app-header__logomark img {
  opacity: 0 !important;
}

@media (max-width: 767px) {
  body.ic-Login-Body {
    background-position: 28% center !important;
  }

  .ic-Login__content {
    justify-content: center;
    padding: 22px 16px;
  }

  .ic-Login__innerContent {
    padding: 28px 22px !important;
    border-radius: 18px;
  }

  .ic-Login-header__logo {
    width: 112px !important;
    height: 112px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
