@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap');

:root {
  --flr-brand: #6c9378;
  --flr-ink: #1a1d1c;
  --flr-paper: #f7f4ef;
  --flr-night: #252826;
  --flr-grid-line: rgba(0, 0, 0, 0.03);
  --flr-grid-line-dark: rgba(48, 54, 61, 0.38);
  --flr-font-display: 'Lora', serif;
  --flr-font-body: 'Open Sans', sans-serif;
}

body {
  font-family: var(--flr-font-body);
  font-weight: 300;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background: repeating-linear-gradient(
    90deg,
    transparent,
    transparent 2px,
    var(--flr-grid-line) 2px,
    var(--flr-grid-line) 3px
  );
}

.dark body::before {
  background: repeating-linear-gradient(
    90deg,
    transparent,
    transparent 2px,
    var(--flr-grid-line-dark) 2px,
    var(--flr-grid-line-dark) 3px
  );
}

.flr-page-shell {
  position: relative;
  padding: 2rem 1rem 2.25rem;
}

.flr-page-shell::before,
.flr-page-shell::after {
  display: none;
}

.flr-page-shell::before {
  display: none;
}

.flr-page-shell::after {
  display: none;
}

.flr-content {
  position: relative;
  z-index: 1;
}

.flr-glass {
  background: rgba(255, 255, 255, 0.44);
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 1.5rem;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: 0 22px 58px rgba(15, 23, 42, 0.12);
}

.dark .flr-glass {
  background: rgba(37, 40, 38, 0.45);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 26px 66px rgba(0, 0, 0, 0.45);
}

.flr-text-logo {
  display: inline-flex;
  flex-direction: column;
  text-decoration: none;
  line-height: 1;
}

.flr-text-logo-main {
  font-family: var(--flr-font-display);
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--flr-ink);
}

.dark .flr-text-logo-main {
  color: #ffffff;
}

.flr-text-logo-sub {
  font-family: var(--flr-font-display);
  margin-top: 0.2rem;
  padding-left: 1px;
  font-size: 0.57rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--flr-brand);
}

#header {
  background: transparent;
  position: relative;
  z-index: 40;
  padding-top: 0.7rem;
}

#header .kt-container-fixed {
  margin-top: 0;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.42);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.07);
  padding: 0.5rem 1rem;
  min-height: 3.35rem;
  overflow: visible;
}

.dark #header .kt-container-fixed {
  background: rgba(37, 40, 38, 0.46);
  border-color: rgba(255, 255, 255, 0.1);
}

.flr-header-nav {
  min-width: 0;
}

.flr-header-nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 9999px;
  min-height: 2.05rem;
  padding: 0.28rem 0.95rem;
  font-size: 0.86rem;
  font-weight: 500;
  color: rgba(26, 29, 28, 0.66);
  transition: all 0.2s ease;
}

.flr-header-nav-link:hover,
.flr-header-nav-link:focus-visible {
  color: #1a1d1c;
  background: rgba(108, 147, 120, 0.08);
}

.flr-header-nav-link.active {
  background: rgba(108, 147, 120, 0.14);
  border-color: rgba(108, 147, 120, 0.24);
  color: #1a1d1c;
  font-weight: 700;
}

.flr-header-nav-link.compact {
  width: 2.1rem;
  min-width: 2.1rem;
  padding: 0;
}

.flr-header-nav-link.compact i {
  font-size: 0.95rem;
}

.dark .flr-header-nav-link {
  color: rgba(255, 255, 255, 0.72);
}

.dark .flr-header-nav-link:hover,
.dark .flr-header-nav-link:focus-visible {
  color: #fff;
  background: rgba(108, 147, 120, 0.2);
}

.dark .flr-header-nav-link.active {
  color: #fff;
  background: rgba(108, 147, 120, 0.26);
  border-color: rgba(108, 147, 120, 0.42);
}

#navbar {
  margin-top: 0.45rem;
  margin-bottom: 1.2rem;
  background: transparent;
  border: 0;
  position: relative;
  z-index: 35;
}

#navbar .kt-container-fixed {
  border-radius: 9999px;
  border: 1px solid rgba(26, 29, 28, 0.08);
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: 0.18rem 1.35rem 0.18rem 1.55rem;
  overflow: hidden;
}

.dark #navbar .kt-container-fixed {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(37, 40, 38, 0.54);
}

#navbar .kt-menu-title {
  letter-spacing: 0.02em;
  font-size: 0.95rem;
}

#navbar .kt-menu-link {
  border: 1px solid transparent !important;
  border-radius: 9999px;
  min-height: 2.05rem;
  padding-left: 1.05rem !important;
  padding-right: 1.05rem !important;
}

#navbar .kt-menu-item.active .kt-menu-link {
  background: rgba(108, 147, 120, 0.12);
  border-color: rgba(108, 147, 120, 0.22) !important;
}

#navbar .kt-menu-item:not(.active) .kt-menu-title {
  font-weight: 500;
  color: rgba(26, 29, 28, 0.6);
}

.dark #navbar .kt-menu-item:not(.active) .kt-menu-title {
  color: rgba(255, 255, 255, 0.62);
}

#navbar .kt-menu-item.active .kt-menu-title {
  font-weight: 700;
  color: #1a1d1c;
}

.dark #navbar .kt-menu-item.active .kt-menu-title {
  color: #fff;
}

.footer .kt-container-fixed {
  border-top: 1px solid rgba(26, 29, 28, 0.08);
  margin-top: 0.75rem;
}

.dark .footer .kt-container-fixed {
  border-top-color: rgba(255, 255, 255, 0.08);
}

.kt-btn,
.kt-input,
.kt-select,
.kt-textarea,
.kt-card {
  border-radius: 1rem;
}

.kt-card {
  overflow: hidden;
}

/* Force a single continuous background across header + main content areas */
.enrollments-page::before,
.enroll-wizard-page::before {
  display: none !important;
}

.enrollments-bg-orb,
.enroll-wizard-orb {
  display: none !important;
}

.flr-create-btn {
  background: #1a1d1c !important;
  color: #fff !important;
  border: 1px solid rgba(26, 29, 28, 0.25) !important;
  border-radius: 9999px !important;
  padding-inline: 0.9rem !important;
  min-height: 2.25rem !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.24);
}

.flr-create-btn:hover,
.flr-create-btn:focus-visible {
  background: #111311 !important;
  color: #fff !important;
  border-color: rgba(26, 29, 28, 0.45) !important;
}

.header-user-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.header-user-dropdown [data-kt-dropdown-menu="true"] {
  position: absolute !important;
  top: calc(100% + 0.55rem) !important;
  right: 0 !important;
  left: auto !important;
  transform: none !important;
  margin-top: 0 !important;
  z-index: 1200 !important;
}

.flr-profile-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: 9999px !important;
  background: rgba(255, 255, 255, 0.42) !important;
  border: 1px solid rgba(26, 29, 28, 0.1) !important;
  min-height: 2.25rem !important;
  padding-inline: 0 0.75rem !important;
  gap: 0.5rem !important;
}

.dark .flr-profile-trigger {
  background: rgba(37, 40, 38, 0.42) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}

.flr-profile-avatar {
  width: 2.25rem !important;
  height: 2.25rem !important;
  min-width: 2.25rem !important;
  border: 0 !important;
  border-radius: 9999px !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 !important;
  display: block !important;
}

.flr-profile-label {
  font-weight: 600;
  font-size: 0.9rem;
  color: #1a1d1c;
}

.dark .flr-profile-label {
  color: #fff;
}

.flr-profile-menu {
  width: 270px !important;
  border-radius: 1.25rem !important;
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid rgba(26, 29, 28, 0.08) !important;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: 0 24px 54px rgba(15, 23, 42, 0.18) !important;
  overflow: hidden;
  font-family: var(--flr-font-body) !important;
}

.dark .flr-profile-menu {
  background: rgba(37, 40, 38, 0.95) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

.flr-profile-menu,
.flr-profile-menu * {
  font-family: var(--flr-font-body) !important;
}

.flr-page-title,
.flr-page-subtitle,
.flr-step-title,
.flr-step-subtitle {
  font-family: var(--flr-font-display);
}

.flr-profile-menu .border-b,
.flr-profile-menu .kt-dropdown-menu-separator {
  border-color: transparent !important;
  background: transparent !important;
}

@media (max-width: 1024px) {
  #header .kt-container-fixed {
    margin-top: 0;
  }

  #header {
    padding-top: 0.45rem;
  }

  #navbar {
    margin-top: 0.35rem;
    margin-bottom: 0.9rem;
  }

  #navbar .kt-container-fixed {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
